阅读更多
最近工作,需要对服务器进行进行系统监控,在网上搜了一下,发现cacti这个开源软件做的挺好,里边的监控功能基本能够满足当前的业务需求,于是在公司的服务器上安装了一套,由于安装cacti是使用php语言进行开发的,因此需要搭建一个php环境,这里主要将我安装php整个环境的过程记录下来,便于后续能够再次使用。
linux版本: centos 5.3
安装需要的软件包:
php需要的软件包
php-5.2.6.tar.gz
curl-7.15.0.tar.gz
freetype-2.1.9.tar.gz
gettext-0.16.1.tar.gz
gd-2.0.35.tar.gz
jpegsrc.v6b.tar.gz
libart_lgpl-2.3.17.tar.gz
libpng-1.2.18.tar.gz
libxml2-2.6.32.tar.gz
zlib-1.2.3.tar.gz
libxml2-2.6.32.tar.gz
mysql需要的软件包
mysql-5.0.75.tar.gz
Apache使用的软件包
httpd-2.2.15.tar
1.这里先安装Apache软件包
tar -zxvf httpd-2.2.15.tar
cd httpd-2.2.15
./configure --prefix=/usr/local/apache --enable-module=so --enable-module=rewrite
将apache安装目录放到/usr/local/apache下面
make && make install
这样apache就安装完成了
这里我们起一下apache,看看是否安装成功(注:apache默认是80端口,如果你的服务器80端口被占用,则需要更改apache的端口,vi /usr/local/apache/apache2/conf/httpd.conf)
将Listen 80 改为 Listen 9999(9999为我指定的端口,你也可以改成别的也行)
使用 /usr/local/apache/apache2/bin/apachectl start
使用 netstat -nuptl 查看进程当中你指定的端口是否存在;
或者直接打开流量器 :http://(ip)xxx.xxx.xx.x:port(apache端口)访问看看
是否能够看到网页显示apache成功的提示
如果你进程中看到你apache配置的端口存在,但是页面无法显示,有可能是防火墙开启的
原因,你可以先 service iptables stop,暂时关闭防火墙,然后在进行访问。
2.安装mysql
mysql这块,我之前有文章记录,访问url:
http://liujun58love.iteye.com/admin/blogs/1488188这里边有详细的说明
3.安装php环境
编译安装libxml
tar -zxvf libxml2-2.6.32.tar.gz
cd libxml2-2.6.32.tar.gz
./configure --prefix=/usr/local/libxml2/
make && make install
编译安装zlib
tar zxvf zlib-1.2.3.tar.gz
cd zlib-1.2.3
./configure --prefix=/usr/local/zlib2/
make && make install
编译安装jpeg支持
tar -zxf jpegsrc.v6b.tar.gz
cd jpeg-6b/
./configure --prefix=/usr/local/jpeg6
make
make install-lib
make install
(该版本的 jpeg 在实际安装过程中,make install 的时候会出现好几个找不到目录,或目录不存在的 error 。只需按照提示人手创建缺失目录,然后再令其 make install 直到无任何错误提示且顺利完成为止。)
编译安装 libpng
tar -zxvf libpng-1.2.18.tar.gz
cd libpng-1.2.18.tar.gz
cp scripts/makefile.gcmmx makefile
./configure --disable-shared --prefix=/usr/local/libpng2/
make && make install
编译安装 freetype
tar -zxvf freetype-2.1.9.tar.gz
cd freetype-2.1.9
./configure --disable-shared --prefix=/usr/local/freetype2/
make && make install
编译安装 libart_lgpl
tar -zxvf libart_lgpl-2.3.17.tar.gz
cd ibart_lgpl-2.3.17
./configure --disable-shared --prefix=/usr/local/libart/
make && make install
编译安装 gettext
tar -zxvf gettext-0.16.1.tar.gz
cd gettext-0.16.1
./configure --prefix=/usr/local/gettext/
make && make install
编译安装 gd 库 :
tar zxvf gd-2.0.35.tar.gz
cd gd-2.0.35
./configure --prefix=/usr/local/gd2 --with-zlib=/usr/local/zlib2/ -- with-png=/usr/local/libpng2/ --with-jpeg=/usr/local/jpeg6/ --with- freetype=/usr/local/freetype2/ --with-libart=/usr/local/libart/ -- with-gettext=/usr/local/gettext/ --with-libxml=/usr/local/libxml2
make && make install
tar -zxvf curl-7.15.0.tar.gz
cd curl-7.15.0
./configure --prefix=/usr/local/curl
make && make install
编译安装 PHP
tar -zxvf php-5.2.6.tar.gz
cd php-5.2.6
./configure --prefix=/usr/local/php --with- apxs2=/usr/local/apache26/bin/apxs --with-jpeg-dir=/usr/local/jpeg6/ --with-png-dir=/usr/local/libpng2/ --with-gd=/usr/local/gd2/ --with-freetype-dir=/usr/local/freetype2/ --with-zlib-dir=/usr/local/zlib2/ --with-mysql=/usr/local/mysql --with-curl=/usr/local/curl --with-gettext=/usr/local/gettext
make && make install
注:其中--with-mysql=/usr/local/mysql 是我安装mysql的安装路径,这里mysql应该起动起来了,你可以通过netstat -nuptl 查看3306端口是否存在,如果存在则说明mysql已经启动起来了。
完成后,做如见操作
cp php.ini-dist /usr/local/php/lib/php.ini ( 拷贝 PHP 配置文件至安装目
录)
vi /usr/local/apach/apache2/conf/httpd.conf ( 修改 apache 配置文件并加载 PHP 支持 )
要改的有如下几处
查找 php5_module这个模块是否有,如果
#LoadModule php5_module modules/libphp5.so
将上边的#号去掉
如果你搜索其它地方没有以下这行 :
LoadModule php5_module modules/libphp5.so
则需要添加上去,然后在查看是否存在下边这句
AddType application/x-httpd-php .php
如果没有也要添加上去
到这,php+apache+mysql就已经安装完成,我们在对应的apache默认的web目录
/usr/local/apache/apache2/htdocs中写入test.php,内容很简单
phpinfo();
?>
通过http://ip:port/test.php访问页面,如果成功,则会打印当前php所有的运行环境
配置完成!