三、安装Apache
# tar zxf httpd-2.2.11.tar.gz
# cd httpd-2.2.11
# cd httpd-2.2.11
# ./configure --prefix=/usr/local/apache --enable-so --enable-rewrite --enable-mods-shared=most
说明:
--enable-so选项:让Apache可以支持DSO模式,注意,这里采用的是Apache2.0的语法。如果你的Apache是1.3版本,应改为--enable-module=so。
--enable-mods-shared=most选项:告诉编译器将所有标准模块都编译为DSO模块。你要是用的是Apache1.3,改为--enable-shared=max就可以。
--enable-rewrite选项:支持地址重写功能,使用1.3版本的朋友请将它改为--enable-module=rewrite。
说明:
--enable-so选项:让Apache可以支持DSO模式,注意,这里采用的是Apache2.0的语法。如果你的Apache是1.3版本,应改为--enable-module=so。
--enable-mods-shared=most选项:告诉编译器将所有标准模块都编译为DSO模块。你要是用的是Apache1.3,改为--enable-shared=max就可以。
--enable-rewrite选项:支持地址重写功能,使用1.3版本的朋友请将它改为--enable-module=rewrite。
# make
# make install
# vi /usr/local/apache/conf/httpd.conf #启动Apache中的php选项,找到下面两行
DirectoryIndex index.php #修改默认启动页
DocumentRoot #指定主目录(/usr/local/apache2/htdocs)
ServerName 127.0.0.1:80
# /usr/local/apache/bin/apachectl stop/start
# make install
# vi /usr/local/apache/conf/httpd.conf #启动Apache中的php选项,找到下面两行
DirectoryIndex index.php #修改默认启动页
DocumentRoot #指定主目录(/usr/local/apache2/htdocs)
ServerName 127.0.0.1:80
# /usr/local/apache/bin/apachectl stop/start
———————————————————————————————————————
开机启动方法
1、在/etc/rc.d/rc.local中增加启动apache的命令
例如:/usr/local/httpd/bin/apachectl start
2、注册服务
# cp /usr/local/apache/bin/apachectl /etc/rc.d/init.d/httpd目录下,改名为httpd
# vi /etc/rc.d/init.d/httpd文件,并在第一行#!/bin/sh下增加两行文字如下
# chkconfig: 35 70 30
# description: Apache
接着注册该服务 chkconfig --add httpd
service httpd start
———————————————————————————————————————
开机启动方法
1、在/etc/rc.d/rc.local中增加启动apache的命令
例如:/usr/local/httpd/bin/apachectl start
2、注册服务
# cp /usr/local/apache/bin/apachectl /etc/rc.d/init.d/httpd目录下,改名为httpd
# vi /etc/rc.d/init.d/httpd文件,并在第一行#!/bin/sh下增加两行文字如下
# chkconfig: 35 70 30
# description: Apache
接着注册该服务 chkconfig --add httpd
service httpd start
———————————————————————————————————————
四、
安装相关库文件
1、安装 jpeg6
建立目录
# 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
# tar -zxvf jpegsrc.v6b.tar.gz
# cd jpeg-6b
# ./configure --prefix=/usr/local/jpeg6/ --enable-shared --enable-static
# make; make install
建立目录
# 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
# tar -zxvf jpegsrc.v6b.tar.gz
# cd jpeg-6b
# ./configure --prefix=/usr/local/jpeg6/ --enable-shared --enable-static
# make; make install
2、安装libpng
# tar -zxvf libpng-1.2.8.tar.gz
# cd libpng-1.2.8
# cp scripts/makefile.std makefile
# make; make install
# tar -zxvf libpng-1.2.8.tar.gz
# cd libpng-1.2.8
# cp scripts/makefile.std makefile
# make; make install
3、
安装 freetype
# tar -zxvf freetype-2.1.10.tar.gz
# cd freetype-2.1.10
# ./configure --prefix=/usr/local/freetype
# make;make install
# tar -zxvf freetype-2.1.10.tar.gz
# cd freetype-2.1.10
# ./configure --prefix=/usr/local/freetype
# make;make install
4、
install zlib
tar xzvf zlib-1.2.3.tar.gz
cd zlib-1.2.3
./configure
make
make install
tar xzvf zlib-1.2.3.tar.gz
cd zlib-1.2.3
./configure
make
make install
5、
安装最新的Curl库
# tar -zxvf curl-7.15.0.tar.gz
# ./configure --prefix=/usr/local/curl
# make; make install
# tar -zxvf curl-7.15.0.tar.gz
# ./configure --prefix=/usr/local/curl
# make; make install
6、安装最新的GD库
# 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 --with-freetype=/usr/local/freetype/
# make; make install
# 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 --with-freetype=/usr/local/freetype/
# make; make install
7、由于php5需libxml2的支持, 所以先下载并安装libxml2
# tar -zxvf libxml2-2.6.19.tar.gz
# cd libxml2-2.6.19
# ./configure --prefix=/usr/local/libxml2
# make; make install
8、 安装 libxslt
# tar -zxvf libxslt-1.1.15.tar.gz
# cd libxslt-1.1.15
# ./configure --prefix=/usr/local/libxslt --with-libxml-prefix=/usr/local/libxml2
# make; make install
# tar -zxvf libxml2-2.6.19.tar.gz
# cd libxml2-2.6.19
# ./configure --prefix=/usr/local/libxml2
# make; make install
8、 安装 libxslt
# tar -zxvf libxslt-1.1.15.tar.gz
# cd libxslt-1.1.15
# ./configure --prefix=/usr/local/libxslt --with-libxml-prefix=/usr/local/libxml2
# make; make install
五、
安装PHP
# tar -zxvf php-5.0.5.tar.gz
# cd php-5.05
# ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql/ --with-curl=/usr/local/curl --enable-ftp--with-libxml-dir=/usr/local/libxml2 --with-expat-dir=/usr/lib --enable-soap --with-xsl=/usr/local/libxslt --enable-xslt --with-gd=/usr/local/gd2/ --with-jpeg-dir=/usr/local/jpeg6/ --with-zlib-dir=/usr/lib --with-png --with-freetype-dir=/usr/local/freetype --enable-mbstring --with-mcryp(编译先看第九项)
# make
# cd php-5.05
# ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql/ --with-curl=/usr/local/curl --enable-ftp--with-libxml-dir=/usr/local/libxml2 --with-expat-dir=/usr/lib --enable-soap --with-xsl=/usr/local/libxslt --enable-xslt --with-gd=/usr/local/gd2/ --with-jpeg-dir=/usr/local/jpeg6/ --with-zlib-dir=/usr/lib --with-png --with-freetype-dir=/usr/local/freetype --enable-mbstring --with-mcryp(编译先看第九项)
# make
# make test
# make install
其中./configure 后的是必要的选项
--prefix=/usr/local/php
--with-apxs2=/usr/local/apache/bin/apxs
--with-mysql=/usr/local/mysql/
--with-libxml-dir=/usr/local/libxml2
这是让PHP支持GD库的配置选项
--with-gd=/usr/local/gd2/
--with-jpeg-dir=/usr/local/jpeg6/
--with-png
--with-zlib-dir=/usr/lib
--with-freetype-dir=/usr/local/freetype
--with-curl=/usr/local/curl 支持CURL库
--enable-ftp 打开FTP库函数支持
--enable-soap --with-xsl=/usr/local/libxslt --enable-xslt
# make install
其中./configure 后的是必要的选项
--prefix=/usr/local/php
--with-apxs2=/usr/local/apache/bin/apxs
--with-mysql=/usr/local/mysql/
--with-libxml-dir=/usr/local/libxml2
这是让PHP支持GD库的配置选项
--with-gd=/usr/local/gd2/
--with-jpeg-dir=/usr/local/jpeg6/
--with-png
--with-zlib-dir=/usr/lib
--with-freetype-dir=/usr/local/freetype
--with-curl=/usr/local/curl 支持CURL库
--enable-ftp 打开FTP库函数支持
--enable-soap --with-xsl=/usr/local/libxslt --enable-xslt
让PHP支持SOAP, 上面这些一般用得少, 可以去掉!
# cp php.ini-dist /usr/local/php/lib/php.Ini
——————————————————————————————————————
# vi php.ini 修改配置文件
register_globals = On 一般在414行
max_execution_time = 30 ; // 改为600 (增加处理脚本的时间限制)
max_input_time = 600 ; //最大输出时间600秒
memory_limit = 8M ; //改为40M (这样才能发10M的附件)
register_global =On
post_max_size = 2M ; //php可接受的 post 方法大小 2M
file_uploads = On ; //允许上载文件
upload_max_filesize = 2M ; //最大上载文件2M
session.auto_start = 1 ; //session自动启动
register_globals = On 一般在414行
max_execution_time = 30 ; // 改为600 (增加处理脚本的时间限制)
max_input_time = 600 ; //最大输出时间600秒
memory_limit = 8M ; //改为40M (这样才能发10M的附件)
register_global =On
post_max_size = 2M ; //php可接受的 post 方法大小 2M
file_uploads = On ; //允许上载文件
upload_max_filesize = 2M ; //最大上载文件2M
session.auto_start = 1 ; //session自动启动
———————————————————————————————————————
整合PHP与Apache
# vi /usr/local/apache/conf/httpd.conf 修改apache的配置文件
添加: AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps //注意将这两行添加在其它AddType后面
确保文件中有下面一段,如果没有的话就添加在所有LoadModule之后
LoadModule php5_module modules/libphp5.so
*****************************************************************
添加: AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps //注意将这两行添加在其它AddType后面
确保文件中有下面一段,如果没有的话就添加在所有LoadModule之后
LoadModule php5_module modules/libphp5.so
*****************************************************************
由于我装的版本较高所以是php5,如果是LoadModule php4_module modules/libphp4.so的话也可以
# /usr/local/apache/bin/apachectl start //如果这地方报如下错
httpd: Syntax error on line 53 of /usr/local/apache/conf/httpd.conf: Cannot load /usr/local/apache/modules/libphp5.so into server: /usr/local/apache/modules/libphp5.so: cannot restore segment prot after reloc: Permission denied
原因:是Linux有一个SELinux保护模式引起的。
解决办法:
1关闭SELINUX的方法:
vi /etc/selinux/config 将SELINUX=enforcing 改成SELINUX=disabled 需要重启
这个方法可能会对服务器带来风险。
2不关闭SELINUX的方法:
# setenforce 0
# chcon -c -v -R -u system_u -r object_r -t textrel_shlib_t /usr/local/apache/modules/libphp5.so
# service httpd restart
# setenforce 1
server httpd start 报错:启动 httpd:[Wed May 07 02:17:20 2008] [warn] module php4_module is already loaded, skipping
解决办法:查看# vi /usr/local/apache/conf/httpd.conf
是否有二条相同指令LoadModule php4_module modules/libphp4.so 删除一条,即可
# /usr/local/apache/bin/apachectl start //如果这地方报如下错
httpd: Syntax error on line 53 of /usr/local/apache/conf/httpd.conf: Cannot load /usr/local/apache/modules/libphp5.so into server: /usr/local/apache/modules/libphp5.so: cannot restore segment prot after reloc: Permission denied
原因:是Linux有一个SELinux保护模式引起的。
解决办法:
1关闭SELINUX的方法:
vi /etc/selinux/config 将SELINUX=enforcing 改成SELINUX=disabled 需要重启
这个方法可能会对服务器带来风险。
2不关闭SELINUX的方法:
# setenforce 0
# chcon -c -v -R -u system_u -r object_r -t textrel_shlib_t /usr/local/apache/modules/libphp5.so
# service httpd restart
# setenforce 1
server httpd start 报错:启动 httpd:[Wed May 07 02:17:20 2008] [warn] module php4_module is already loaded, skipping
解决办法:查看# vi /usr/local/apache/conf/httpd.conf
是否有二条相同指令LoadModule php4_module modules/libphp4.so 删除一条,即可
****************************************************************************
# vi /usr/local/apache/conf/httpd.conf
AddType application/x-httpd-php .php #x-httpd-php .php 注意有空格
AddType application/x-httpd-php-source .phps # x-httpd-php-source .phps注意有空格
# vi /usr/local/apache/conf/httpd.conf
AddType application/x-httpd-php .php #x-httpd-php .php 注意有空格
AddType application/x-httpd-php-source .phps # x-httpd-php-source .phps注意有空格
六、
安装ZendOptimizer
1.执行 cd /usr/down
回到 ZendOptimizer 源码所在目录。
2.执行 tar -zxvf ZendOptimizer-3.3.0a-linux-glibc21-i386.tar.gz
3.执行 cd ZendOptimizer-3.3.0a-linux-glibc21-i386
4.执行 ./install
5.进入ZendOptimizer安装界面.点击回车
6.回车
7.yes 上点回车。(使用Tab切换)
8.填写ZendOptimizer安装路径.我们将它安装在 /usr/local/zend下.填点击回车。
9.这里选择php.ini所在位置。/usr/local/php/lib/ 在ok上点击回车。
10.是否使用apache。选yes
11.这里填写apachectl的位置.在/server/apache/bin/apachectl
输入 /usr/local/apache/bin/apachectl 后,点击 Tab 键移动光标到 OK 上.然后点击回车
如果安装成功,在php的信息,可以找到Zend Optimizer的相关参数
回到 ZendOptimizer 源码所在目录。
2.执行 tar -zxvf ZendOptimizer-3.3.0a-linux-glibc21-i386.tar.gz
3.执行 cd ZendOptimizer-3.3.0a-linux-glibc21-i386
4.执行 ./install
5.进入ZendOptimizer安装界面.点击回车
6.回车
7.yes 上点回车。(使用Tab切换)
8.填写ZendOptimizer安装路径.我们将它安装在 /usr/local/zend下.填点击回车。
9.这里选择php.ini所在位置。/usr/local/php/lib/ 在ok上点击回车。
10.是否使用apache。选yes
11.这里填写apachectl的位置.在/server/apache/bin/apachectl
输入 /usr/local/apache/bin/apachectl 后,点击 Tab 键移动光标到 OK 上.然后点击回车
如果安装成功,在php的信息,可以找到Zend Optimizer的相关参数
七、
安装phpMyAdmin
# tar -zxf phpMyAdmin-2.8.2-pl3.tar.gz
# mv phpMyAdmin-2.8.2-pl3.tar.gz /opt/apache/htdocs/phpmyadmin
# mv phpMyAdmin-2.8.2-pl3.tar.gz /opt/apache/htdocs/phpmyadmin
# cd /opt/apache/htdocs/phpmyadmin
# vi config.inc.php 修改这个文件
$cfg['Servers'][$i]['auth_type'] = 'cookie'; #表示,需要输入密码
$cfg['Servers'][$i]['host'] = 'localhost'; //改成你数据库服务器的主机名或IP地址;
$cfg['Servers'][$i]['auth_type'] = 'cookie'; #表示,需要输入密码
$cfg['Servers'][$i]['host'] = 'localhost'; //改成你数据库服务器的主机名或IP地址;
http://IP/phpmyadmin
看能否显示,输入mysql的用户名、密码登陆 (root 123456)
如果提示:202错误,看mysql是否没有启动,用/opt/mysql/bin/
mysqld_safe --user=mysql &启动mysql
八、
环境测试
1、
测试php与apache
在apache/htdoc/目录下写个php测试页phpinfo.php:内容如下
phpinfo();
?>
在浏览器中输入http://IP/phpinfo.php 看能否显示php的信息。如果正常显示说明没有问题。
2、
测试PHP是否和mysql关联
在/apache/htdoc/下新建网页test.php输入:
$conn = mysql_connect("localhost","root","填上你的密码");
if($conn) echo "
succeed
";else echo "
fail
";?>
打开浏览器,如果显示succeed则表示成功,显示fail表示失败
九、
问题
1、
phpadmin 中出现的红字“
无法加载 mcrypt 扩展,请检查您的 PHP 配置。
”
解决: 安装libmcrypt后,再重新编译php时加上--with-mcrypt后,此错误已解决。
解决: 安装libmcrypt后,再重新编译php时加上--with-mcrypt后,此错误已解决。
2、
进入phpadmin ,下方出现红字“
没有找到 PHP 扩展 mbstring,而您现在好像在使用多字节字符集。没有 mbstring 扩展的 phpMyAdmin 不能正确分割字符串,可能产生意想不到的结果
”
解决:安装 php-mbstring ,编译的时候加上--enable-mbstring (网上没有正确的解决办法)
解决:安装 php-mbstring ,编译的时候加上--enable-mbstring (网上没有正确的解决办法)
3、配置文件现在需要一个短语密码。
解决:在phpmyadmin中打开config.inc.php 找到
解决:在phpmyadmin中打开config.inc.php 找到
$cfg['blowfish_secret']
在 $cfg['blowfish_secret'] = ' ' 里随便填个字符串即可
在 $cfg['blowfish_secret'] = ' ' 里随便填个字符串即可
改完后重启apache就可以了