`
liujun58love
  • 浏览: 14856 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

linux下使用源码包搭建php环境

阅读更多
最近工作,需要对服务器进行进行系统监控,在网上搜了一下,发现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,内容很简单

  <?php

  phpinfo();
?>

通过http://ip:port/test.php访问页面,如果成功,则会打印当前php所有的运行环境

  配置完成!

 



 
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics