[原创]LAMP的搭建-apache和php的安装配置 (二)

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
回复
墨尘
帖子: 129
注册时间: 2007-11-22 17:25

[原创]LAMP的搭建-apache和php的安装配置 (二)

#1

帖子 墨尘 » 2008-09-02 13:06

偶闲来无事,就随便搭建下LAMP玩玩,特意写了些过程。偶的百度空间:http://hi.baidu.com/god_86

下载apache软件包,我的apache是:httpd-2.2.9.tar.gz,用tar zxvf httpd-2.2.9.tar.gz开始解压。解压后进入软件目录,这个目录里也有个INSTALL 文件,这个就是安装说明文件,用vi打开看看,这个文件就很小啦,不像mysql软件包里的INSTALL文件那么长,这个文件很短的,有时间可以仔细看下。这个文件也给出啦unix下quick install的步骤,如下:
$ ./configure --prefix=PREFIX
$ make
$ make install
$ PREFIX/bin/apachectl start
当然啦,这个步骤很简单啦,只是给出单独安装apache时的步骤,若要安装php还要有其他的参数,这些参数可以在php软件包里找到。我的php软件包是:php-5.2.6.tar.gz。同样的解压开这个软件包,进入软件目录,同样的这个软件包里也有个INSTALL安装说明文件,我们打开看看吧。这里介绍的有php在Apache 1.3.x on Unix systems和 Apache 2.0 on Unix systems上的安装方法。我的apache版本是2.2.9,当然属于apache2.0系列啦 ,我们去看看吧。安装步骤如下:
1. gzip -d httpd-2_0_NN.tar.gz
2. tar xvf httpd-2_0_NN.tar
3. gunzip php-NN.tar.gz
4. tar -xvf php-NN.tar
5. cd httpd-2_0_NN
6. ./configure --enable-so
7. make
8. make install
我们发现只是在6步中多啦个参数:--enable-so,按照步骤来就很顺利的把apache安装上啦。安装完apache后,在apache目录下的modules目录里只有一个文件:httpd.exp。等我们把php也编译安装完后,这个目录就会多出个php模块来:libphp5.so这个文件大概10几M左右。好啦,接下来该说明安装php的方法啦,步骤如下:
9. cd ../php-NN
10.
./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql (没有指定安装目录啊)
11. make
12. make install
我们要注意的是底10步,--with-apxs2=的内容为你apache安装的实际目录下的apxs文件路径啊,还有就是这个--with-mysql,这里是默认安装mysql时的参数,由于我们上次是手动安装的mysql,指定的安装目录为:/opt/mysql5.0,所以我们要指定他的位置:--with-mysql=/opt/mysql5.0。好啦,就是这里注意下就可以啦,其他的简单按照步骤来就可以啦。
顺便说下,偶在安装php,configure出现啦个错误,代码:
configure: error: xml2-config not found. Please check your libxml2 installation.
偶又搜索,解决办法如下:
说了上面这就话, 安装下面这个包就好了
libxml2-dev
When compiling php 5.1.2 on Debian 3.1 (Sarge) with Apache 2.2.0, I ran into problems with libxml2 and libxml2-config not found errors. After checking the base install, Debian leaves out the libxml2 headers, they can be downloaded using apt-get:
apt-get install libxml2 libxml2-dev
PHP should then compile fine.
好啦,很顺利的继续下去啦
安装完php后,apache的conf配置文件目录里多啦份httpd.conf的备份文件httpd.conf.bak
接下来步骤继续配置
13. Setup your php.ini

cp php.ini-dist /usr/local/lib/php.ini
14. Edit your httpd.conf to load the PHP module. The make install from above may have already
added this for you, but be sure to check.
For PHP 4:
LoadModule php4_module modules/libphp4.so
For PHP 5:
LoadModule php5_module modules/libphp5.so
(编辑apache的主配置文件:httpd.conf,确定有没有加载libphp5.so模块,一般安装啦php后就会自动加上的,若没有就加上就自己添加 LoadModule php5_module modules/libphp5.so这句就行啦)
15. Tell Apache to parse certain extensions as PHP.
AddType application/x-httpd-php .php .phtml
It's also common to setup the .phps extension to show highlighted PHP source, this can be done with:
AddType application/x-httpd-php-source .phps
(这一步大家要小心啊,我配置时就忘啦添加: AddType application/x-httpd-php .php .phtml 结果下面的测试就不正常啦,亏啦偶好久才检查出来,不过还好,最终还是检查出来啦)
好啦,一切顺利的完成啦。哈哈,apache还没启动呢,cd到apache的bin目录下执行:./apachectl start |stop |restart 可以启动|关闭|重启 httpd服务啦
(偶这一步刚开始又出现啦问题,执行:./apachectl start显示如下:httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName 呵呵,别急,我们修改下apache的主配置文件:httpd.conf,定位到ServerName这一行,去掉全面的#,在把后面的改成自己的主机名即可,就是用hostname命令显示的主机名字,再执行./apachectl start这个命令,一切正常啦)
我们可以用这条命令验证httpd是不是真的启动啦:ps -ef |grep httpd

好啦,我们来测试下吧,再apache安装目录下的htdocs目录里建立个test.php文件,内容为:
<? php
phpinfo();
?>
好啦,本地主机在浏览器中输入:http://127.0.0.1/test.php 远程主机可以在浏览器中输入:http://IP/test.php,若一切配置正常,浏览器中就会显示:
附件
.jpg
回复