linux 布署php环境,linux下自动化部署apache + php环境

自动化部署脚本

#!/bin/sh

#####################################################################安装软件#####################################################################

#安装apr#

tar xvzf apr-1.5.2.tar.gz

cd apr-1.5.2

./configure --prefix=/usr/local/cp-apr-1.5.2

make && make install

make clean && make distclean

cd ..

rm -rf apr-1.5.2

#安装apr-util#

tar xvzf apr-util-1.5.4.tar.gz

cd apr-util-1.5.4

./configure --prefix=/usr/local/cp-apr-util-1.5.4 --with-apr=/usr/local/cp-apr-1.5.2/

make && make install

make clean && make distclean

cd ..

rm -rf apr-util-1.5.4

#安装apr-iconv#

tar xvzf apr-iconv-1.2.1.tar.gz

cd apr-iconv-1.2.1

./configure --prefix=/usr/local/cp-apr-iconv-1.2.1 --with-apr=/usr/local/cp-apr-1.5.2/

make && make install

make clean && make distclean

cd ..

rm -rf apr-iconv-1.2.1

#安装pcre

wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre2-10.20.tar.gz

tar -xzvf pcre2-10.20.tar.gz

cd pcre2-10.20

./configure --prefix=/usr/local/pcre2

make && make install

make clean && make distclean

#安装openssl#

tar -xzvf openssl-1.0.2h.tar.gz

cd openssl-1.0.2h

./config -fPIC enable-shared

make depend

make && make install

make clean && make distclean

cd ../

#openssl类库做软连接

ln -s /usr/local/ssl//lib/*.so.* /usr/lib64

ln -s /usr/local/ssl//lib/*.so.* /usr/lib

rm openssl-1.0.1t

#安装apache,同时绑定编译apr, apr-util, apr-iconv, ssl模块,后续加上--with-pcre=/usr/local/bin/pcre-config #

tar xvzf httpd-2.4.18.tar.gz

cd httpd-2.4.18

./configure \

--prefix=/usr/local/cp-httpd-2.4.18 \

--with-apr=/usr/local/cp-apr-1.5.2 \

--with-apr-util=/usr/local/cp-apr-util-1.5.4 \

--with-apr-iconv=/usr/local/cp-apr-iconv-1.2.1 \

--with-ssl=/usr/local/ssl \

--with-pcre=/usr/bin/pcre-config

--enable-mods-shared=reallyall

make && make install

make clean && make distclean

cd ..

rm -rf httpd-2.4.18

#安装php

tar xvzf php-5.6.19.tar.gz

cd php-5.6.19

./configure \

--prefix=/usr/local/cp-php-5.6.19 \

--with-apxs2=/usr/local/cp-httpd-2.4.18/bin/apxs \

--with-mysql=mysqlnd \

--with-mysqli=mysqlnd \

--with-pdo-mysql=mysqlnd \

--with-gd \

--with-png-dir \

--with-jpeg-dir \

--with-freetype-dir \

--with-curl \

--with-config-file-path=/usr/local/cp-php-5.6.19/lib \

--enable-calendar \

--enable-mbstring \

--enable-track-vars \

--with-xml \

--with-zlib-dir=/usr/lib

make && make install

make clean && make distclean

#拷贝php.ini 到指定路径

cp php.ini-production /usr/local/cp-php-5.6.19/lib/php.ini

cd ..

rm -rf php-5.6.19

#安装xdebug

tar -xzvf xdebug-2.4.0.tgz

cd xdebug-2.4.0

locate phpize #查找出phpize位置 /usr/local/php-7.0.9/bin/phpize

locate php-config #查找出php-config位置/usr/local/php-7.0.9/bin/php-config

./configure --enable-xdebug --with-php-config=/usr/local/php-7.0.9/bin/php-config

make && make test

make test

make clean && make distclean

#配置xdebug

locate xdebug.so #查找出在/usr/local/php-7.0.9/lib/php/extensions/no-debug-zts-20151012/xdebug.so

在php.ini中添加

zend_extension=/usr/local/php-7.0.9/lib/php/extensions/no-debug-zts-20151012/xdebug.so

#保存配置,并重启apache

service httpd restart

#通过phpinfo可以看到是否配置成功。

##############################################################apache配置############################################################################

#添加php解析文件头

echo 'AddType application/x-httpd-php .php' >> /usr/local/cp-httpd-2.4.18/conf/httpd.conf

#启用重写模块

sed -i 's:#LoadModule rewrite_module modules/mod_rewrite.so:LoadModule rewrite_module modules/mod_rewrite.so:' /usr/local/cp-httpd-2.4.18/conf/httpd.conf

#配置访问权限

sed -i 's/AllowOverride None/AllowOverride All/' /usr/local/cp-httpd-2.4.18/conf/httpd.conf

#提供默认页面

sed -i 's/DirectoryIndex index.html/DirectoryIndex index.php/' /usr/local/cp-httpd-2.4.18/conf/httpd.conf

#设定

serverNamesed -i 's/#ServerName www.example.com:80/ServerName 127.0.0.1:80/' /usr/local/cp-httpd-2.4.18/conf/httpd.conf

#提供默认初始页

cp ../index.php /usr/local/cp-httpd-2.4.18/htdocs/

##############################################################ssl模块启用############################################################################

#启用ssl模块

sed -i 's:#LoadModule ssl_module modules/mod_ssl.so:LoadModule ssl_module modules/mod_ssl.so:' /usr/local/cp-httpd-2.4.18/conf/httpd.conf

sed -i 's:#LoadModule socache_shmcb_module modules/mod_socache_shmcb.so:LoadModule socache_shmcb_module modules/mod_socache_shmcb.so:' /usr/local/cp-httpd-2.4.18/conf/httpd.conf

sed -i 's:#Include conf/extra/httpd-ssl.conf:Include conf/extra/httpd-ssl.conf:' /usr/local/cp-httpd-2.4.18/conf/httpd.conf

##############################################################ssl证书配置和虚拟主机域名配置############################################################################

#拷贝证书到apache指定目录

sed -i 's:#SSLCertificateChainFile "/usr/local/cp-httpd-2.4.18/conf/server-ca.crt":SSLCertificateChainFile "/usr/local/cp-httpd-2.4.18/conf/server-ca.crt":' /usr/local/cp-httpd-2.4.18/conf/extra/httpd-ssl.conf

cd ../ssl

cp server.key /usr/local/cp-httpd-2.4.18/conf/server.key

cp server.crt /usr/local/cp-httpd-2.4.18/conf/server.crt

cp server-ca.crt /usr/local/cp-httpd-2.4.18/conf/server-ca.crt

#设定ssl虚拟主机的域名

sed -i 's/ServerName www.example.com:443/ServerName ioa.cn:443"/' /usr/local/cp-httpd-2.4.18/conf/extra/httpd-ssl.conf

##############################################################设置apache环境变量#######################################################################

echo 'APACHE_HOME=/usr/local/cp-httpd-2.4.18' >> /etc/profileecho 'PATH=$PATH:$APACHE_HOME/bin/' >> /etc/profileecho 'CLASSPATH=$CLASSPATH:$APACHE_HOME/lib' >> /etc/profilesource /etc/profile

##############################################################apache服务自启动配置#######################################################################

#设置apache 服务自启动

cp /usr/local/cp-httpd-2.4.18/bin/apachectl /etc/init.d/httpd

cd /etc/init.d

chmod 755 httpd

sed -i '2 i #chkconfig: 2345 10 90\n#description: chkconfig httpd service' /etc/init.d/httpd

chkconfig --add httpdchkconfig httpd on

##############################################################配置php.ini参数#######################################################################

#配置响应时间

sed -i 's/max_execution_time = 30/max_execution_time = 0/' /usr/local/cp-php-5.6.19/lib/php.ini

#配置post大小

sed -i 's/post_max_size = 8M/post_max_size = 150M/' /usr/local/cp-php-5.6.19/lib/php.ini

#配置上传文件大小

sed -i 's/upload_max_filesize = 2M/upload_max_filesize = 100M/' /usr/local/cp-php-5.6.19/lib/php.ini

#设定错误输出级别

sed -i 's:error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT:error_reporting = E_ALL:' /usr/local/cp-php-5.6.19/lib/php.ini

#重启后才能生效

service httpd restart

##############################################################iptables配置,启用80端口、443端口#######################################################################

iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPTiptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT

service iptables save

service iptables restart

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值