more setup.sh
#!/bin/sh #this is a script about *nix installing apache,php with gd2.write by sery(),in 2009-12-03
#define some variables http_prefix=/usr/local/apache2 php_prefix=/usr/local/php
#need root install is_root=`id |awk ‘{print $1}’|awk -F’[=(]‘ ‘{print $2}’` if [ $is_root != 0 ] then echo “please use root install this program!!!” exit 1 fi
#Os is ? Os_is=`uname`
if [ "$Os_is" = "FreeBSD" ] then
## install apache if [ ! -d "$http_prefix" ] then tar zxvf httpd-2.2.14.tar.gz cd httpd-2.2.14 ./configure –prefix=$http_prefix –enable-so –enable-write –with-mpm=worker make make install cd .. if [ ! -f "$http_prefix/htdocs/test.php" ] then cp test.php $http_prefix/htdocs fi rm -rf httpd-2.2.14 echo “apache install is ok!” sleep 2 fi
#install mysql client is_inst_mysql=`find /usr/local/bin -name mysql | wc -l` if [ "$is_inst_mysql" = 0 ] then tar zxvf mysql-5.1.41.tar.gz cd mysql-5.1.41 ./configure –without-server –with-extra-charsets=gbk,gb2312,utf8 –enable-thread-safe-client make make install cd .. echo “/usr/local/lib”>>/etc/ld.so.conf ldconfig rm -rf mysql-5.1.41 echo “mysql client install ok!” sleep 2 fi
#install gd2 if [ ! -d /usr/local/gd2 ] then tar zxvf gd-2.0.35.tar.gz cd gd-2.0.35 ./configure –prefix=/usr/local/gd2 make make install cd .. rm -rf gd-2.0.35 echo “gd2 install is ok!” sleep 2 fi
#install php.apache must be installed in /usr/local/apache2 if [ ! -d /usr/local/php ] then tar zxvf php-5.2.11.tar.gz cd php-5.2.11 ./configure –prefix=$php_prefix –with-gd=/usr/local/gd2 –with-apxs2=$http_prefix/bin/apxs –enable-mbregex –enable-bcmath –with-mysql –with-zlib-dir –enable-mbstring=all –with-freetype-dir –with-pdo-mysql make make install cp php.ini-dist $php_prefix/lib/php.ini cd .. rm -rf php-5.2.11 echo “php with gd2 install is ok!” sleep 2 fi
# setting apache configuration file sed -f httpd.sed $http_prefix/conf/httpd.conf>$http_prefix/conf/httpd.conf.temp cd $http_prefix/conf mv httpd.conf httpd.conf.old cat httpd.conf.temp>httpd.conf $http_prefix/bin/apachectl -t cd echo “It is very ok!”
elif [ "$Os_is" = "Linux" ] then echo “this linux” ## install apache if [ ! -d "$http_prefix" ] then tar zxvf httpd-2.2.14.tar.gz cd httpd-2.2.14 ./configure –prefix=$http_prefix –enable-so –enable-write –with-mpm=worker make make install cd .. if [ ! -f "$http_prefix/htdocs/test.php" ] then cp test.php $http_prefix/htdocs fi rm -rf httpd-2.2.14 echo “apache install is ok!” sleep 2 fi
#install mysql client is_inst_mysql=`find /usr/local/bin -name mysql | wc -l` if [ "$is_inst_mysql" = 0 ] then tar zxvf mysql-5.1.41.tar.gz cd mysql-5.1.41 ./configure –without-server –with-extra-charsets=gbk,gb2312,utf8 –enable-thread-safe-client make make install cd .. echo “/usr/local/lib”>>/etc/ld.so.conf ldconfig rm -rf mysql-5.1.41 echo “mysql client install ok!” sleep 2 fi
#install freetype if [ ! -d /usr/local/freetype ] then tar zxvf freetype-2.3.10.tar.gz cd freetype-2.3.10 ./configure –prefix=/usr/local/freetype make make install cd .. rm -rf freetype-2.3.10 echo “freetype install is ok!” sleep 2 fi
#install jpeg if [ ! -d /usr/local/jpeg ] then tar zxvf jpegsrc.v7.tar.gz cd jpeg-7 ./configure –prefix=/usr/local/jpeg make make install cd .. rm -rf jpeg-7 echo “gpeg install is ok!” fi
#install libpng if [ ! -d /usr/local/libpng ] then tar zxvf libpng-1.2.41.tar.gz cd libpng-1.2.41 ./configure –prefix=/usr/local/libpng make make install cd .. rm -rf libpng-1.2.41 echo “libpng install is ok!” sleep 5 fi
#link header file if [ ! -f /usr/include/pngconf.h ] then ln -s /usr/local/libpng/include/pngconf.h /usr/include fi
if [ ! -f /usr/include/png.h ] then ln -s /usr/local/libpng/include/png.h /usr/include fi
#install gd2 if [ ! -d /usr/local/gd2 ] then tar zxvf gd-2.0.35.tar.gz cd gd-2.0.35 ./configure –prefix=/usr/local/gd2 –with-freetype=/usr/local/freetype –with-png=/usr/local/libpng –with-jpeg=/usr/local/ jpeg make make install cd .. rm -rf gd-2.0.35 echo “gd2 install is ok!” sleep 2 fi
#install php.apache must be installed in /usr/local/apache2 if [ ! -d /usr/local/php ] then tar zxvf php-5.2.11.tar.gz cd php-5.2.11 ./configure –prefix=$php_prefix –with-gd=/usr/local/gd2 –with-apxs2=$http_prefix/bin/apxs –enable-mbregex –enable-bcmath –with-mysql –with-zlib-dir –enable-mbstring=all –with-pdo-mysql –with-freetype=/usr/local/freetype make make install cp php.ini-dist $php_prefix/lib/php.ini cd .. rm -rf php-5.2.11 echo “php with gd2 install is ok!” sleep 2 fi
# setting apache configuration file sed -f httpd.sed $http_prefix/conf/httpd.conf>$http_prefix/conf/httpd.conf.temp cd $http_prefix/conf mv httpd.conf httpd.conf.old cat httpd.conf.temp>httpd.conf $http_prefix/bin/apachectl -t cd echo “It is very ok!”
else echo “this is other os,please modify the script” exit 1
fi
文件 httpd.sed内容:
/application\/x-compress .Z/a\ \ AddType application/x-httpd-php .php
说明:
1、除mysql客户端而外,其他的安装路径皆为 /usr/local(如/usr/local/apache2)2、所有的版本皆为当前最稳定版3、自动生成apache配置文件的php环境,不需要再手动添加 AddType …x-hhtpd-php .php 这样的行。4、自动生成php测试脚本修订:新增系统判断,安装gd2相关工具 |
使用的都是当前最新稳定版本
包下载处
下载后,tar zxvf apmg_install.tar.gz ; cd apmg_install; ./setup.sh 自动完成安装,时间大概10多分钟