| 添加到收藏夹 | 返回目录页 | 上一篇:用PHP写的MD5加密函数 |
linux下apache+mysql+php开发环境纯源代码编译搭建
记录一下我在fedora core 1下通过源代码编译出来的apache+mysql+php开发环境的全部过程
通常安装一台服务器当然使用rpm是最方便的,不需要考虑太多配置的问题,就可以轻松获得需要的环境了。不过rpm包互相关联的问题也不是这么容易解决。 apache,mysql,php这三个应用从源代码编译安装还是比较简单的,配置参数不算复杂,而且没有太多的依赖关系,从源码编译出来的系统也比较稳定一些,方便未来打补丁和升级工作。
编译安装的前提是,系统已经安装了相应的编译工具,一般我的习惯是在安装系统的时候,选择自定义系统并且只选择开发工具包这一项,其他所有软件包均不安装。如果您没有选择安装所有的开发工具,那么之前您至少需要安装下面的rpm包
autoconf-2.57-3.noarch.rpm
automake-1.7.8-1.noarch.rpm
binutils-2.14.90.0.6-3.i386.rpm
bison-1.875-5.i386.rpm
byacc-1.9-26.i386.rpm
cpp-3.3.2-1.i386.rpm
flex-2.5.4a-30.i386.rpm
gcc-3.3.2-1.i386.rpm
gcc-c++-3.3.2-1.i386.rpm
glibc-devel-2.3.2-101.i386.rpm
glibc-headers-2.3.2-101.i386.rpm
glibc-kernheaders-2.4-8.36.i386.rpm
libstdc++-devel-3.3.2-1.i386.rpm
m4-1.4.1-14.i386.rpm
下面介绍步骤
1、mysql安装
下载一个目标版本
tar -xzvf mysql-4.0.xx.tar.gz
cd mysql-4.0.xx
./configure --prefix=/usr/local/mysql <--这个路径是我比较习惯的,您也可以选择其它安装路径
make
make install
在support-files目录中,选择一个适当的.cnf文件,cp到/etc/my.cnf
cd /usr/local/mysql/bin
./mysql_install_db
../share/mysql/mysql.server start
./mysqladmin -uroot password @#xxxx@# <--修改默认的密码
./mysql -uroot -p 尝试登陆mysql,应该是没有问题的了
mysql.server这个文件可以copy到/etc/rc.d/init.d目录下,设置系统启动的时候自动启动mysql服务
2、apache安装
下载一个目标版本
tar -xzvf httpd-2.0.xx.tar.gz
cd httpd-2.0.xx
./configure --prefix=/usr/local/apache --enable-so <--模块化
make
make install
cd /usr/local/apache/conf
修改httpd.conf,因为一会儿还要配置php,这里可以暂时简单设置一下,主要配置User,Group,ServerName,DocumentRoot,DirectoryIndex这些参数就可以了
cd /usr/local/apache/bin
./apachectl start 启动apache服务,这时候在客户端浏览器里面输入ip,因该可以看到apache默认的页面出现
apachectl这个文件也可以copy到/etc/rc.d/init.d目录下,设置系统启动的时候自动启动apache服务
3、php安装
下载一个目标版本
tar -xzvf php-4.3.xx.tar.gz
cd php-4.3.xx
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs <--这里需要找到apache安装路径的apxs这个文件,如果是apache 1.3版本的话,参数是--with-apxs=
make
make install
将源码目录中php.ini-recommended这个文件copy到/usr/local/php/lib/下,改名为php.ini
回到apache的配置文件中,确认是否自动添加了LoadModule php4_module modules/libphp4.so这一行。然后再添加下面的代码,我一般习惯添加在#AddHandler cgi-script .cgi这一行后面。
AddType application/x-httpd-php .php
使用apachectl重新启动apache服务
./apachectl restart
在设置的DocumentRoot目录下,添加一个phpinfo.php的文件来测试系统,程序代码如下:
<?
//filename: phpinfo.php
phpinfo();
?>
这时候在客户端浏览器中访问http://serverip/phpinfo.php应该出现php的参数表,至此所有系统安装完毕。
当然还有一些细节需要考虑,比如将
/usr/local/mysql/bin
/usr/local/apache/bin
/usr/local/php/bin
三个目录加入到系统的PATH里面,这样所有的操作指令在任何路径都可以执行了
配置php.ini文件,将include_path设置成include_path = ".:/usr/local/php/lib/php",这样就可以在代码里面使用pear代码库了。
上述是这三个应用的基本最简配置,如果需要额外的扩展功能,就要在./configure后面的参数中进行配置了,具体配置的格式可以参考各自的./configure --help帮助菜单。
建议保留源代码的目录,这样在需要添加扩展的时候,只需要修改configure参数,并且make, make install一下,重新启动服务,就可以更新了。
- · 在php中输出html代码
- · php的pconnect()
- · PHP/ASP上传漏洞探究
- · 做个站内搜索引擎
- · heapsort(PHP)
- · 一个塑料期货交易程序分析图程序(PHP+JAVA)
- · 计算排列组合的php代码
- · 对页面的源代码进行加密,使源代码变成乱码,没法读取
- · 用phpUnit帮你调试php程序
- · PHP下对缓冲区的控制
- · PHP实现文件下载
- · 用PHP实现windows资源管理器风格的树型菜单
- · BS结构中使用PHP访问ORACLE LOB
- · 使用PHP 5.0 轻松解析XML文档(5)
- · 使用PHP 5.0 轻松解析XML文档(3)
- · 使用PHP 5.0 轻松解析XML文档(1)
- · PHP中实现面向对象编程(上)
- · PHP中接收复选框信息的方法
- · PHP操作IMAP服务器的类
- · PHP中时间和日期函数总结
- · PHP应用分页显示制作详细讲解(2)
- · PHP5中使用Web服务访问J2EE应用程序(4)
- · PHP5中使用Web服务访问J2EE应用程序(2)
- · PHP中通过Web执行C/C++应用程序
- · 用PHP编程开发“虚拟域名”系统
- · PHP中创建并处理图象
- · 用php编写的日历
- · PHP中的面向对象和面向过程
- · php如何更好更有效的实现-----用户注册页面
- · 上传多个文件的PHP脚本
- · php注入4
- · php注入2
- · PHP中类的理解和应用[二]
- · PHP计数器
- · 实例学习PHP之FastTemplate 模板篇
- · 关于PHP操作文件的一些FAQ总结
- · PHP 5/Zend Engine 2.0的改进
- · 解决RHAS3中Apache2的PHP上传文件大小的限制
- · PHP巧获服务器端信息
- · 利用php和js实现页面数据刷新
- · 用PHP生成PDF文件 with FPDF
- · 用PHP画一个可以更换文字的按纽
- · 一段php加密解密的代码
- · PHP Security Consortium
- · 在WEB页面上将EXCEL文件导入、导出到数据库中

