Linux笔记:安装apache和php

最近有一个测试机,打算安装个服务器环境,以便可以在本地做测试用。想的就是下载回来之后,安装说明安装就可以了,只是没有想像中的容易,ftp软件安装了一直不知道怎么可以上传以及配置,mysql安装了,也还没办法启动,不知道啥问题。

幸好,apache安装好了,php也刚好今天可以OK,笔记笔记:

阿权的系统是 Red Hat Linux release 9 (Shrike)

首先是下载文件了,到官方网站下载就容易了:
我下载的是 httpd-2.2.6.tar.gz 和 php-5.2.0.tar.gz
.tar.gz文件是tar打包gunzip压缩的文件,一般这样解压 tar -zxvf ***.tar.gz
解压到当前文件夹,然后到文件夹后
./configure -> make -> make install

一般是这个步骤就完成一个软件的安装,但还需要些参数来做细节的调整

先安装apache:

$ ./configure --prefix=/usr/local/apache2
$ make
$ make install
$ /usr/local/apache2/bin/apachectl start

apache2就安装到/usr/local/apache2目录了,并且启动,如果这个过程出错,那就需要调整一下了
顺利安装完后,可以配置一下apache的文档路径
DocumentRoot "/var/www/www.aslibra.com"
然后重启一下apache就可以了

阿权的机器随便配置了一下,发现第一步就出错了
细看了一下提示,看似是没法编译
于是想起来好像没有安装编译环境,汗死,赶紧在删除添加程序里面找:
添加开发工具和内核开发的软件包应该就可以了

apache2还算顺利,php的安装就困难了些
configure的步骤就提示我需要高版本的 libxml2-2.6 以上
于是去找相应的文件,建议可以到这个网站找一下缺少的文件:
http://download.chinaunix.net/

安装libxml的时候,又提示我需要 autoconf-2.60 ,于是又去找
幸好都能够找到,否则我就不玩了,哈哈

安装好autoconf,然后安装好libxml,就可以编译php啦
好不容易编译完毕,安装php文档里面的 INSTALL 做就可以了
谁知道启动的时候提示加载php5的模块的时候出错:

引用undefined symbol: _zend_list_delete的错误

按操作都出错,还真的郁闷,菜鸟就是这样了,不过还是可以求救于网络的:

引用许多朋友在装apache并使其支持php时,可能会遇到undefined symbol: _zend_list_delete的错误。

这是装了apache和php后,apache的配置文件httpd.conf中有启动php模块的语句

LoadModule php5_module         modules/libphp5.so

而libphp5.so运行时找不到zend_list函数相关的库导致的。我从国外网站查了一些解决办法。我自己的办法是:装php时configure 加上--libdir=/usr/lib形如:

./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-pear --with-mysql=/usr/local/mysql --libdir=/usr/lib

赶紧试试,发现还是出错,该文章说还有别的方法,我看了一下,可能是编译的时候没有清理的缘故:

引用there may be some problem with the path to libc and other libs on your system.
per default php5 s configure script uses /usr/local/lib.
you might want to add some --libdir=/usr/lib to your ./configure
like
./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-pear --with-mcrypt --with-mysql --libdir=/usr/lib

to be sure it uses the new path do some
make clean
make distclean
before recompiling.

先运行这两个命令清理一下:
make clean
make distclean

然后重新编译,于是PHP5也就OK啦。