搭建PHP Linux开发环境

【更新说明】2012-5-10,增加使Apache支持CGI

【软件列表】

(1) zlib.

zlib-1.2.5.tar.gz

(2) mysql

mysql-5.0.83.tar.gz

(3) php

php-5.3.8.tar.gz

(4) http(Apache)

httpd-2.2.21.tar.gz

(5) libpng

libpng-1.5.6.tar.gz

(6) freetype

freetype-2.4.5.tar.gz

(7) jpegsrc

jpegsrc.v8.tar.gz

(8) gd

gd-2.0.33.tar.gz

(9) libxml

libxml2-2.6.30.tar.gz

 

【安装步骤】

说明:所有的包都安装在/data目录下。

1 安装zlib

(1) 解压安装包

  tar zxvf zlib-1.2.5.tar.gz

(2) 安装zlib

  cd zlib-1.2.5

  ./configure --prefix=/data/zlib

   make

   make install

(3) 加载动态链接库

   然后在/etc/ld.so.conf中添加/data/zlib/lib保存,执行ldconfig –v重新加载动态链接库。

【注意】步骤3加载动态链接库可以不做,不影响使用。在Fedora 10虚拟机上实验时,发现加载新的动态链接库,重启后出现不能登录系统的问题。Red Hat 9还没有尝试。

2 安装mysql

(1) 创建mysql工作组

 #groupadd mysql

 #useradd -g mysql mysql

 # vi /home/mysql/.bash_profile

 添加export PATH=$PATH:/data/mysql/bin ,保存。

【注意】若系统已安装mysql,会自动建立一个mysql的组群和mysql的用户,此时,本步骤可以省略。

(2) 安装mysql

tar -zxvf mysql-5.0.83.tar.gz

cd mysql-5.0.83

接着要进行configure配置,在以前我只是制定了prefix没有设置字体编码,结果PHP后来不支持汉字编码,只好重新安装。才发现这个问题要注意,而且我们已经安装了zlib,就可以给mysql来指明zlib的位置。

 

[root@tandesir mysql-5.0.83]# ./configure --prefix=/data/mysql --with-zlib-dir=/data/zlib/  --with-charset=utf8  --with-extra-charsets=gbk,gb2312,utf8

 

make

 

make install

(3) 加载动态链接库(可省略)

同样,在/etc/ld.so.conf中添加一行/data/mysql/lib/mysql,保存。执行ldconfig –v重新加载动态链接库。

【注意】步骤3加载动态链接库可以不做,不影响使用。在Fedora 10虚拟机上实验时,发现加载新的动态链接库,重启后出现不能登录系统的问题。Red Hat 9还没有尝试。

 

(4) 程序运行

在/data/mysql目录建立一个var目录,并执行

#chown -R mysql /data/mysql

#chgrp -R mysql /data/mysql

# cp support-files/my-medium.cnf /etc/my.cnf

#./scripts/mysql_install_db

此时,var目录会生成对应的文件。

执行

#/data/mysql/bin/mysqld_safe &

运行程序。

 

(5) mysql的自启动。

# cp support-files/mysql.server /etc/init.d/mysql

cd /etc/rc3.d

ln -s ../init.d/mysql S85mysql

ln -s ../init.d/mysql K85mysql

 

cd ../rc5.d/

ln -s ../init.d/mysql S85mysql

ln -s ../init.d/mysql K85mysql

 

cd ../init.d

chmod 777 mysql

 

然后reboot查看mysql是否启动。

 

3 安装apache

(1)

tar -zxvf httpd-2.2.21.tar.gz

cd httpd-2.2.21

./configure --prefix=/data/httpd/ --enable-so --enable-cgi --with-z=/data/zlib

make

make install

(2)

cp /data/httpd/bin/apachectl /etc/init.d/httpd

(3)

cd /etc/rc3.d

rm -fr S85httpd

ln -s ../init.d/httpd  K85httpd

ln -s ../init.d/httpd  S85httpd

 

cd /etc/rc5.d

rm -fr S85httpd

ln -s ../init.d/httpd  K85httpd

ln -s ../init.d/httpd  S85httpd

 

chmod 777 /etc/init.d/httpd

 

4 安装GD库

首先,我们要安装各个图形库的支持,包括libpng, libjpeg,ttf等。

(1)

1) libpng

    tar -zxvf libpng-1.5.6.tar.gz

     ./configure --prefix=/data/libpng

     make

     make install

2) 加载动态链接库

     然后,将libpng的路径(/data/libpng/lib)加到/etc/ld.so.conf下,执行ldconfig -v

能看到

/data/libpng/lib:

        libpng.so.3 -> libpng.so.3.23.0

        libpng12.so.0 -> libpng12.so.0.23.0

这一项。说明安装成功。

【注意】加载动态链接库可以不做,不影响使用。在Fedora 10虚拟机上实验时,发现加载新的动态链接库,重启后出现不能登录系统的问题。Red Hat 9还没有尝试。

 

(2)     freetype

1)

     tar -zxvf freetype-2.4.5.tar.gz

     cd freetype-2.4.5

     ./configure --prefix=/data/freetype

      make

      make install

2)

      then add the path of freetype(/data/freetype/lib) to /etc/ld.so.conf and run command "ldconfig -v",we can get the output

        /data/freetype/lib:

        libfreetype.so.6 -> libfreetype.so.6.3.8

【注意】加载动态链接库可以不做,不影响使用。在Fedora 10虚拟机上实验时,发现加载新的动态链接库,重启后出现不能登录系统的问题。Red Hat 9还没有尝试。

 

(3)jpeg

1)

      tar -zxvf jpegsrc.v8.tar.gz

      ./configure --prefix=/data/jpeg --enable--shared

      make

     make install

2)

   然后在/etc/ld.so.conf中添加一行 /data/jpeg/lib,执行命令 ldconfig -v,可以看到

    /data/jpeg/lib:

        libjpeg.so.62 -> libjpeg.so.62.0.0

 

【注意】加载动态链接库可以不做,不影响使用。在Fedora 10虚拟机上实验时,发现加载新的动态链接库,重启后出现不能登录系统的问题。Red Hat 9还没有尝试。

 

(4) 安装GD

   tar -zxvf gd-2.0.33.tar.gz

   ./configure --prefix=/data/gd --with-png=/data/libpng --with-freetype=/data/freetype --with-jpeg=/data/jpeg

   make

   make install

 

5 安装libxml

(1)

    tar -zxvf libxml2-2.6.11.tar.gz

    ./configure --prefix=/data/xml --with-zlib=/data/zlib

    make

 

   make install

(2) 加载动态链接库

   然后把xml的库路径【 /data/xml/lib/】添加到/etc/ld.so.conf文件中保存后执行ldconfig -v

   看到

     /data/xml/lib:

        libxml2.so.2 -> libxml2.so.2.6.11

添加gd的库路径[/data/gd/lib]到etc/ld.so.conf文件,执行ldconfig -v

【注意】加载动态链接库可以不做,不影响使用。在Fedora 10虚拟机上实验时,发现加载新的动态链接库,重启后出现不能登录系统的问题。Red Hat 9还没有尝试。

 

6 安装php

     tar -zxvf php-5.3.8.tar.gz

      ./configure --prefix=/data/php --with-zlib-dir=/data/zlib --with-mysql=/data/mysql --with-apxs2=/data/httpd/bin/apxs  --with-config-file-path=/data/php --with-gd --enable-sysvmsg --enable-sockets --enable-sysvshm --enable-sysvsem --enable-gd-native-ttf --with-ttf=/usr/lib  --with-jpeg-dir=/data/jpeg --with-png-dir=/data/libpng --with-iconv --with-libxml-dir=/data/xml

make

make install

 

7 在http.conf中设置php支持。

(1)

vi /data/httpd/conf/http.conf

# Example:

# LoadModule foo_module modules/mod_foo.so

LoadModule php5_module        modules/libphp5.so

 

下添加一行

AddType application/x-httpd-php .php

并将

<IfModule dir_module>

    DirectoryIndex index.html

</IfModule>

修改为

<IfModule dir_module>

    DirectoryIndex index.php index.html

</IfModule>

设置默认主页为index.php

(2)

#cd php-5.3.8

#cp php.ini-production /data/php/php.ini

然后在/data/php/php.ini中添加一行

default_charset = "gb2312"

保存

 

8 测试运行

(1)

执行

service httpd restart

进行测试。

(2)

在 /data/httpd/htdocs/下建立index.php

写入内容为 <?php phpinfo();?>保存

打开页面输入url地址

http://192.168.x.x/

 

就能看到phpinfo的输出了。

(3)

如果想修改http的默认根目录,或者说你不想把自己的文件放在/data/httpd/htdoc目录下

可以修改httpd.conf中的

DocumentRoot "/data/httpd/htdoc"为

DocumentRoot   "/cme/web"

和<Directory "/data/httpd/htdoc">为

<Directory "/cme/web">

然后还要给新的目录加上能执行的权限

chmod +x /cme

chmod +x /cme/web

重启服务 service httpd restart

就OK了。

 

【更新】如何使Apache支持CGI?

Apache的默认配置是支持CGI的,下面做适当修改,更改Apache的CGI目录。

(1) 修改 /data/httpd/conf/http.conf

将 ScriptAlias /cgi-bin/ "/data/httpd//cgi-bin/"

改为ScriptAlias /cgi-bin/ "/data/httpd/htdocs/cgi-bin/"

 

将<Directory "/data/httpd//cgi-bin">

改为<Directory "/data/httpd/htdocs/cgi-bin">

 

执行sudo service httpd restart使配置生效

 

(2) 测试

默认的Apache的CGI目录为"/data/httpd/cgi-bin",下面有一个cgi-test文件。执行

sudo cp /data/httpd/cgi-bin/cgi-test "/data/httpd/htdocs/cgi-bin/cgi-test

sudo chmod 777 cgi-test

在浏览器中输入127.0.0.1/cgi-bin/cgi-test

 

转载请标明出处,仅供学习交流,勿用于商业目的

Copyright @ http://blog.csdn.net/tandesir

 

 

 

 

 

你可能感兴趣的:(搭建PHP Linux开发环境)