lamper571 发表于 2013-1-28 09:36:28

Linux系统自动安装apache+php+mysql脚本

可选模块安装还是CGI方式,以后有时间在增强功能,计划可选web服务器

#!/bin/shcurPath=$(cd "$(dirname "$0")"; pwd)/ampmkdir -p $curPathcd $curPathcd ..printf "mysql version:"read mysqlVersionif [ ! -n "$mysqlVersion" ]; then      mysqlVersion=5.1.57fi;printf "Please enter your mysql port:"readMYSQL_PORTif [ ! -n "$MYSQL_PORT" ]then      MYSQL_PORT=3306fiprintf "apache version:"read apacheVersionif [ ! -n "$apacheVersion" ]; then      apacheVersion=2.2.13fi;printf "php version:"read phpVersionif [ ! -n "$phpVersion" ]; then      phpVersion=5.3.6fi;printf "php install mode:"read phpmodemysqlTar="mysql-$mysqlVersion.tar.gz"mysqlDownSite="http://mysql.dataphone.se/Downloads/MySQL-5.1/$mysqlTar"apacheDownSite="http://archive.apache.org/dist/httpd/"apacheTar="httpd-$apacheVersion.tar.gz"phpDownSite="http://cn.php.net/get/php-$phpVersion.tar.gz/from/this/mirror"phpTar="php-$phpVersion.tar.gz"if [ -f $mysqlTar ];then      echo "$mysqlTar exists"else      echo "Download $mysqlTar......"         wget "$mysqlDownSite"if [ -f $mysqlTar ];thenecho "Download Mysql ok......"else      echo "can't download $mysqlTar from $mysqlDownSite"      exitfi;fi;tar zxvf $mysqlTarif [ -f $apacheTar ];thenecho "$apacheTar exists"elseecho "Download $apacheTar......" wget "$apacheDownSite/$apacheTar"if [ -f $apacheTar ];thenecho "download apache ok......"elseecho "can't download $apacheTar from $apacheDownSite$apacheTar"exitfi;fi;tar zxvf $apacheTarsleep 1#down load phpif [ -f $phpTar ];then      echo "$phpTar exists"else      echo "Download $phpTar......"         wget "$phpDownSite"if [ -f $phpTar ];thenecho "download php ok"else      echo "can't download $phpTar from $phpDownSite"      exitfi;fitar zxvf $phpTarsleep 1 cd $curPathcd ..cd `echo ${mysqlTar%.tar*}`useradd mysql./configure --prefix=$curPath/mysql --with-unix-socket-path=/tmp/mysql$MYSQL_PORT.sock --with-tcp-port=$MYSQL_PORT --with-plugins=innobase,innodb_plugin,partition --with-mysqld-user=mysql --with-charset=gbk --without-man --without-docs --with-big-tables --with-pthread makemake installmkdir -p $curPath/mysql/varcp support-files/my-medium.cnf $curPath/mysql/var/my.cnfsed -i -e /3306/s/3306/${MYSQL_PORT}/g $curPath/mysql/var/my.cnfsed -i -e /mysql.sock/s/mysql.sock/mysql${MYSQL_PORT}.sock/g $curPath/mysql/var/my.cnf $curPath/mysql/bin/mysql_install_dbchown -R mysql:mysql $curPath/mysql/varcp support-files/mysql.server $curPath/mysql/bin/chmod +x $curPath/mysql/bin/mysql.server$curPath/mysql/bin/mysql.server startecho "$curPath/mysql/bin/mysql.server start">>/etc/rc.localecho "**************************************"echo "MySQL install done."echo "**************************************"cd $curPathcd ..cd `echo ${apacheTar%.tar*}`./configure --prefix=$curPath/apache2 --enable-rewrite --enable-so --enable-expires --enable-headers --enable-ssl --with-included-apr makemake installecho "$curPath/apache2/bin/apachectl start">>/etc/rc.localecho "**************************************"echo "Apache install done."echo "**************************************"cd $curPathcd ..cd `echo ${phpTar%.tar*}`if [ "$phpmode" -eq "module" ] ;then./configure --prefix=$curPath/php --with-apxs2=$curPath/apache2/bin/apxs --with-openssl --with-mysql=$curPath/mysql --with-mysqli=$curPath/mysql/bin/mysql_config --enable-soap --with-libxml-dir --enable-wddx --enable-zip--enable-shmop --enable-sysvmsg--enable-sysvsem --enable-sysvshm --enable-pcntl --enable-mbstring --with-curl --with-zlibelse./configure --prefix=$curPath/php --with-openssl --disable-cli --with-mysql=$curPath/mysql --with-mysqli=$curPath/mysql/bin/mysql_config --enable-soap --with-libxml-dir --enable-wddx --enable-zip--enable-shmop --enable-sysvmsg--enable-sysvsem --enable-sysvshm --enable-pcntl --enable-mbstring --with-curl --with-zlibfi;makemake installcp php.ini-production $curPath/php/lib/php.inised -i -e '/;date.timezone/s/;date.timezone =/date.timezone = Asia\/Shanghai/g' $curPath/php/lib/php.inised -i -e '/;error_log = php_errors.log/s/;error_log = php_errors.log/error_log = \/tmp\/php_errors.log/g' $curPath/php/lib/php.inised -i -e '/short_open_tag = Off/s/short_open_tag = Off/short_open_tag = On/g' $curPath/php/lib/php.inised -i -e '/register_argc_argv = Off/s/register_argc_argv = Off/register_argc_argv = On/g' $curPath/php/lib/php.inised -i -e '/; extension_dir = \".\/\"/s/; extension_dir = \".\/\"/extension_dir = \"\/usr\/lib\"/g' $curPath/php/lib/php.iniif [ "$phpmode" -eq "module" ] ;thenecho "AddType application/x-httpd-php .php .phtml">>$curPath/apache2/conf/httpd.confelsesed -i -e '/;cgi.force_redirect = 1/s/;cgi.force_redirect = 1/cgi.force_redirect = 0/g' $curPath/php/lib/php.inifi;echo "**************************************"echo "php install done."echo "**************************************"
页: [1]
查看完整版本: Linux系统自动安装apache+php+mysql脚本