一、需要的软件包:
主要软件:
mysql-5.1.30     httpd-2.2.8      php-5.2.5
suhosin-patch-5.2.5-0.9.6.2.patch.gz
gd库相关软件:
zlib-1.2.3.tar.gz              libpng-1.2.23.tar.gz           freetype-2.3.5.tar.gz
jpegsrc.v6b.tar.gz             gd-2.0.33.tar.gz
php相关软件:
curl-7.17.1.tar.gz             libxml2-2.6.30.tar.gz          libxslt-1.1.22.tar.gz
二、安装MySQL
安装MySQL的时候,如果不指定编码,则系统默认编码为latin1,为了兼容中文,建议在编译时指定编码字符集为UTF-8
./configure --prefix=/usr/ --with-charset=utf8
可以使用的字符集还有如下所示:
`big5', `cp1251', `cp1257', `czech', `danish', `dec8', `dos', `euc_kr', `gb2312', `gbk', `german1', `hebrew', `hp8', `hungarian', `koi8_ru', `koi8_ukr', `latin1', `latin2', `sjis', `swe7', `tis620', `ujis', `usa7', `win1251ukr'。
设置用户组信息
# groupadd mysql
# useradd -g mysql mysql
# ./configure --prefix=/usr/local/mysql --with-charset=utf8
# make
# make install
# cp support-files/my-medium.cnf /etc/my.cnf
# cd /usr/local/mysql
# bin/mysql_install_db --user=mysql
# chown -R root  .
# chown -R mysql var
# chgrp -R mysql .
# bin/mysqld_safe --user=mysql &(这里指定启动用户很重要)
# bin/mysql -uroot -p
(输入密码,默认密码为空,直接回车即可)
# Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
如果出现上面的提示,说明mysql服务没有正常启动,因为mysql服务启动的话,会自动生成mysql.sock文件
# killall mysql
杀掉所有mysql进程,重新启动
# bin/mysql_install_db --user=mysql
重新启动
# bin/mysql -uroot –p
修改MySQL配置文件:
vi /etc/my.cnf
在后面加上
max_connections = 1500  //  允许的最大连接数
log-slow-queries              //  打开低速查询日志
long_query_time = 5        //  低速查询的秒数(运行一句sql达到此时间记录在日志里)
测试mysql的参数设置:
/usr/local/mysql/bin/mysqladmin -u root password 'password'
/usr/local/mysql/bin/mysql  -u root -ppassword
mysql>SHOW VARIABLES;
显示max_connections为 1500,这里我的计算机设置是1500大家可以根据自己的机器性能进行调整
添加到启动文件中
echo '/usr/local/mysql/bin/mysqld_safe --user=mysql --basedir=/usr/local/mysql &' >> /etc/rc.local
三、编译安装apache
# ./configure --prefix=/usr/local/apache2 --enable-MODULE=shared --enable-mods-shared=most \
> --enable-so  --enable-rewrite --enable-vhost-alias  --enable-ssl --enable-authn-dbm \
> --enable-static-support --enable-static-htpasswd --enable-static-logresolve \
> --enable-static-rotatelogs --enable-static-htdbm \
--with-ssl=/usr/include/openssl  --with-mysql=/usr/local/mysql
# make
# make install
注意:这里的configure后面跟的目录参数,最后不要跟/,否则有的地方目录会出现//的子目录问题
四、安装zlib、libpng、freetype、jpeg、GD库等(让PHP支持GIF,PNG,JPEG)
1、安装zlib (安装libpng和gd前需要先安装zlib)
cd /usr/local/src
tar zxvf zlib-1.2.3.tar.gz
cd zlib-1.2.3
./configure --prefix=/usr/local/zlib
make;make install
2. 安装libpng
cd /usr/local/src
# tar zxvf libpng-1.2.23.tar.gz
# cd libpng-1.2.23
# cp scripts/makefile.std makefile
# make;make install
3. 安装freetype
cd /usr/local/src
# tar zxvf freetype-2.3.5.tar.gz
# cd freetype-2.3.5
./configure --prefix=/usr/local/freetype
make;make install
4. 安装jpeg
cd /usr/local/src
# tar zxvf jpegsrc.v6b.tar.gz
# cd jpeg-6b
mkdir /usr/local/jpeg6
mkdir /usr/local/jpeg6/bin
mkdir /usr/local/jpeg6/lib
mkdir /usr/local/jpeg6/include
mkdir /usr/local/jpeg6/man
mkdir /usr/local/jpeg6/man/man1
./configure --prefix=/usr/local/jpeg6 --enable-shared --enable-static
make;make install
5. 安装gd
cd /usr/local/src
tar zxvf gd-2.0.33.tar.gz
cd gd-2.0.33
./configure --prefix=/usr/local/gd2 --with-jpeg=/usr/local/jpeg6 --with-png \
--with-zlib=/usr/local/zlib --with-freetype=/usr/local/freetype
make; make install
五、编译安装PHP
1、安装最新的Curl库
# ./configure --prefix=/usr/local/curl
# make
# make install
curl是一个利用URL语法在命令行方式下工作的文件传输工具。
2、由于php5需libxml2的支持, 所以先下载并安装libxml2
# ./configure --prefix=/usr/local/libxml2
# make
# make install
3、安装 libxslt
# ./configure --prefix=/usr/local/libxslt --with-libxml-prefix=/usr/local/libxml2
# make
# make install
4、php安装
# patch -p1 < ../suhosin-patch-5.2.5-0.9.6.2.patch
# ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs \
> --with-mysql=/usr/local/mysql --with-curl=/usr/local/curl --enable-ftp \
> --with-libxml-dir=/usr/local/libxml2 --enable-soap --with-xsl=/usr/local/libxslt \
> --with-gd=/usr/local/gd2  --with-jpeg-dir=/usr/local/jpeg6  \
> --with-zlib-dir=/usr/local/zlib --with-freetype-dir=/usr/local/freetype \
> --enable-mbstring –with-iconv –disable-ipv6
# make
# make install
# cp php.ini-dist /usr/local/php/lib/php.ini
这里注意:
(1)、这里的configure后面跟的目录参数,最后不要跟/,否则有的地方目录会出现//的子目录问题
(2)、编译安装后会提示以下内容:表明php.ini的路径是/usr/local/php/lib/php,但安装完毕后使用phpinfo()看到的路径是/usr/local/php,根据测试/usr/local/php这个路径是正确的!所以我们要:
# cp php.ini-dist /usr/local/php/lib/php.ini
下面是在make install后出现的提示内容
PEAR system config file at: /usr/local/php/etc/pear.conf
You may want to add: /usr/local/php/lib/php to your php.ini include_path
Installing PDO headers:          /usr/local/php/include/php/ext/pdo/
5、配置httpd.conf使支持 php
1.httpd.conf配置
(1)、以上全都正确后,会自动加入对php模块支持
# vi /usr/local/apache2/conf/httpd.conf
LoadModule php5_module modules/libphp5.so
(2)、添加默认的文件格式
# vi /usr/local/apache2/conf/httpd.conf
找到 AddType application/x-gzip .gz .tgz 在其下添加如下内容
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
(3)、添加默认的首页
DirectoryIndex index.html index.htm index.php
编写index.php
# vi /usr/local/apache2/htdocs/index.php
<?php
phpinfo();
?>
rm /usr/local/apache2/htdocs/index.html
同时移除原来的index.html
重启http服务
/usr/local/apache2/bin/apachectl restart
测试  [url]http://192.168.1.51[/url]
出现php的内容
本文出自 “玄武·巴依” 博客,请务必保留此出处