Debian默认用apt-get方式安装的php版本已经是5.3以上的了,若是需要安装像shopex这类只支持php5.2.x的程序就没有办法用,因此只能手动编译php5.2.17(5.2的最新版本)了。
这边把安装的过程记录下来,以留后用。
用apt-get的方式安装nginx/mysql等
apt-get install nginx
apt-get install mysql-server libmysqlclient15-dev
aptitude install libgd2-noxpm-dev libxml2-dev libcurl3-dev libmhash-dev libmcrypt-dev libxslt-dev libpspell-dev libbz2-dev libglobus-openssl-dev
apt-get install build-essential
安装libpng
#下载libpng
wget http://www.45files.com/dnmp/libpng-1.6.7.tar.gz
tar -zxf libpng-1.6.7.tar.gz
cd libpng-1.6.7
cp scripts/makefile.std makefile
make install
安装libjpeg
#下载libjpeg
wget http://www.45files.com/dnmp/jpegsrc.v9.tar.gz
tar xvfz jpegsrc.v9.tar.gz
cd jpeg-9
./configure
make
make install
安装freetype
#下载freetype
wget http://www.45files.com/dnmp/freetype-2.5.0.1.tar.bz2
tar xvfj freetype-2.5.0.1.tar.bz2
cd freetype-2.5.0.1/
./configure --without-png
make
make install
libgd
#下载libgd
wget http://www.45files.com/dnmp/libgd-2.1.0.tar.gz
tar -zxf libgd-2.1.0.tar.gz
cd libgd-2.1.0
./configure
make
make install
安装openssl
#下载openssl
wget http://www.45files.com/dnmp/openssl-1.0.1e.tar.gz
tar zxf openssl-1.0.1e.tar.gz
cd ./openssl-1.0.1e
./config enable-tlsext --prefix=/usr shared
make && make install
ln -sf /usr/include/openssl/*.h /usr/include/
ln -sf /usr/lib/ssl/engines/*.so /usr/lib/
ldconfig -v
安装libltd
apt-get install libltdl-dev
安装php
#下载php5.2.17
wget http://www.45files.com/dnmp/php-5.2.17.tar.gz
#下载fpm补丁
wget http://www.45files.com/dnmp/php-5.2.17-fpm-0.5.14.diff.gz
#下载openssl补丁
wget http://www.45files.com/dnmp/debian_patches_disable_SSLv2_for_openssl_1_0_0.patch
tar -zxf php-5.2.17.tar.gz
#应用fpm补丁
gzip -cd php-5.2.17-fpm-0.5.14.diff.gz | patch -d php-5.2.17 -p1
cd php-5.2.17
#应用openssl补丁
cd ext/openssl
patch -p3 < debian_patches_disable_SSLv2_for_openssl_1_0_0.patch
cd -
./configure --prefix=/usr/local/php5 --enable-force-cgi-redirect --with-config-file-path=/usr/local/php5/etc --enable-fastcgi --enable-fpm --with-mysql --with-mysqli --with-mcrypt --enable-mbstring --enable-inline-optimization --with-zlib --enable-sockets --with-gd --with-png-dir --with-jpeg-dir --enable-gd-native-ttf --with-freetype-dir
make
make install
#成功后将php.ini-dist复制至/usr/local/php5/etc/php.ini
cp php.ini-dist /usr/local/php5/etc/php.ini
接下来
编辑/usr/local/php5/etc/php-fpm.conf
,修改用户和用户组为自己需要设定的值。然后将php-fpm加入/etc/init.d/
中:
ln -s /usr/local/php5/sbin/php-fpm /etc/init.d/php-fpm
#重启一下php-fpm和nginx
/etc/init.d/php-fpm start
/etc/init.d/nginx restart
噢,No!编译php时忘了开启curl支持……得,小问题,先把autoconf和m4安装起来。
apt-get install autoconf m4
然后进入php源代码目录
cd php-5.2.17/ext/curl/
/usr/local/php5/bin/phpize
./configure --with-php-config=/usr/local/php5/bin/php-config
make
#建立modules目录
mkdir /usr/local/php5/modules
把curl.so拷贝进去
cp modules/curl.so /usr/local/php5/modules/
随后要修改php.ini
中的extension_dir
并开启curl支持。
vi php.ini
#修改extension_dir
extension_dir=/usr/local/php5/modules/
#开启curl,添加curl.so
extension=curl.so
安装ZendOptimizer
#下载ZendOptimizer 3.3.9
wget http://www.45files.com/dnmp/ZendOptimizer-3.3.9-linux-glibc23-i386.tar.gz
tar -zxf ZendOptimizer-3.3.9-linux-glibc23-i386.tar.gz
cd ZendOptimizer-3.3.9-linux-glibc23-i386
#建立一个目录存放
mkdir /usr/local/zend
cp data/5_2_x_comp/ZendOptimizer.so /usr/local/zend/
vi /usr/local/php5/etc/php.ini
zend_extension=/usr/local/zend/ZendOptimizer.so
#应该也可以一起放到刚才建立的modules中
#重启php-fpm和nginx
/etc/init.d/php-fpm restart
/etc/init.d/nginx restart
至此,Nginx+PHP5.2.17+MySQL环境已经搭建成功,Nginx虚拟主机的配置下回分解。