我的linux学习之旅: (3)编译安装php5.4

编译安装php5.4

技术分享 

目标:编译完成php5.4,并安装xcache。配合http2.4实现一个虚拟主机

操作系统CentOS6.6 x32_64

 

安装中使用的文件

技术分享 

/etc/sysconfig/network-scripts/ifcfg-eth0 配置

技术分享


技术分享技术分享技术分享技术分享技术分享开始编译安装

技术分享

安装完毕启动服务

技术分享

按惯例上脚本php.sh

#!/bin/bash
php=php-5.4.31
xcache=xcache-3.1.0
# 本机IP
ip=172.16.32.231
# php安装路径
path=/usr/local/php5
# php页面文件的存放位置
webdire=/web
[ -d $webdire ] || mkdir -p $webdire
yum groupinstall -y "Development tools" "Server Platform Development"
yum install -y bzip2-devel libmcrypt-devel libxml2-devel
tar xf $php.tar.gz
tar xf $xcache.tar.bz2
[ -d /etc/php.d ] || mkdir -p /etc/php.d
cd $php
./configure --prefix=$path --with-mysql=mysqlnd --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-openssl --enable-mbstring --with-freetype-dir --with-jpeg-dir--with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml--enable-sockets --enable-fpm --with-mcrypt--with-config-file-path=/etc/php --with-config-file-scan-dir=/etc/php/php.d --with-bz
make && make install
# 配置文件
cp php.ini-production /etc/php.ini
# 开机启动文件
cp sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm
chmod +x /etc/rc.d/init.d/php-fpm
chkconfig --add php-fpm
chkconfig php-fpm on

cp $path/etc/php-fpm.conf.default $path/etc/php-fpm.conf 
sed -i "s/listen.*9000/listen = $ip:9000/" $path/etc/php-fpm.conf
# xcache install
cd $xcache
/usr/local/php5/bin/phpize
./configure --enable-xcache --with-php-config=$path/bin/php-config
make && make install > tmp.txt
xca=`grep -o ‘/.*$‘ tmp.txt`
sed -i "s@\(xcache.so\)@$xca/\1@" xcache.ini
cp xcache.ini /etc/php.d/
cd -
service php-fpm star

在/web目录下创建一个php文件 index.php


技术分享

配置www1主机

web.sh

#!/bin/bash
# 开启ssl
rpm -ql mod_ssl &>>/dev/null || yum install -y mod_ssl
confile=/etc/httpd24/httpd.conf
[ -f $confile.bak ] && cp $confile.bak $confile
# 加载模块
sed -i ‘s@#*\(LoadModule ssl_module modules/mod_ssl.so\)@\1@‘ $confile
sed -i "s@#*ServerName www.example.com:80@ServerName `echo $HOSTNAME`@" $confile
# php
sed -i ‘s/DirectoryIndex index.html/DirectoryIndex index.php index.html/‘ $confile
sed -i "s@#\(LoadModule proxy_module modules/mod_proxy.so\)@\1@" $confile
sed -i "s@#\(LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so\)@\1@" $confile
grep ‘x-httpd-php‘ $confile || sed -i "s@\(AddType application/x-gzip .gz .tgz\)@\1\n    AddType application/x-httpd-php  .php\n    AddType application/x-httpd-php-source  .phps@" $confile

# 虚拟主机目录
docroot=/web/vhosts
# 日志目录
logpath=/var/log/httpd
# php服务器的ip地址
phpip=172.16.32.231
# 虚拟主机名
web1=vul.test.com

cat >> $confile <<EOF
<VirtualHost *:80>
	DocumentRoot $docroot/www1
	ServerName $web1
	ErrorLog $logpath/www1.err
	CustomLog $logpath/www1.access combined
	<Directory $docroot/www1 >
		Options None
		Require ip 172.16
	</Directory>
	ProxyRequests Off
  	ProxyPassMatch ^/(.*\.php)$ fcgi://$phpip:9000/web/$1
</VirtualHost>
EOF

[ -d $docroot/www1 ] || mkdir -p $docroot/www1
[ -d $logpath ] || mkdir -p $logpath 
cat > $docroot/www1/index.html <<EOF
this is $web1
EOF

# 如果开启selinux的话运行下面的语句
#chcon -R -u system_u -r object_r -t httpd_sts_content_t /web
service httpd24 restart

在DNSMaster添加vul=172.16.32.241 并将序列号+1

修改脚本dns.sh

技术分享

/var/named/test.com.zone 

技术分享


ok,已正常工作。

技术分享


本文出自 “ttqq” 博客,请务必保留此出处http://473008.blog.51cto.com/463008/1596065

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。