我的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 "[email protected]\(xcache.so\)@$xca/\[email protected]" 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 ‘[email protected]#*\(LoadModule ssl_module modules/mod_ssl.so\)@\[email protected]‘ $confile
sed -i "[email protected]#*ServerName www.example.com:[email protected] `echo $HOSTNAME`@" $confile
# php
sed -i ‘s/DirectoryIndex index.html/DirectoryIndex index.php index.html/‘ $confile
sed -i "[email protected]#\(LoadModule proxy_module modules/mod_proxy.so\)@\[email protected]" $confile
sed -i "[email protected]#\(LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so\)@\[email protected]" $confile
grep ‘x-httpd-php‘ $confile || sed -i "[email protected]\(AddType application/x-gzip .gz .tgz\)@\1\n    AddType application/x-httpd-php  .php\n    AddType application/x-httpd-php-source  [email protected]" $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,已正常工作。

时间: 2024-10-13 07:27:48

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

linux学习笔记——源码编译安装Mysql

#######Redhat6.5源码编译安装Mysql########实验环境:1.IP:172.25.8.32.磁盘要大于20G先添加一块大于20G的磁盘fdisk /dev/vdb        ##得到/dev/vdb1 8e linuxpvcreate /dev/vdb1    ##把物理分区做成物理卷vgextend vg_server1 /dev/vdb1    ##把新建立的/dev/vdb1添加到vg_server1中lvextend -L 20G /dev/vg_server1

linux学习笔记——源码编译安装PHP

#######Redhat6.5源码编译安装php########实验环境:IP:172.25.8.3(已经安装了nginx.mysql服务并能正常使用) 实验内容:1.安装包php-5.6.20.tar.bz2re2c-0.13.5-1.el6.x86_64.rpm   ##PHP的词法解释器re2clibmcrypt-2.5.8-9.el6.x86_64.rpm   ##提供mcrypt,mcrypt是php中重要的加密支持扩展库libmcrypt-devel-2.5.8-9.el6.x86

【Linux学习之旅】之Ubuntu14.04 Docky无法锁定Chrome解决之道

1) Install gconf-editor (sudo apt-get install gconf-editor). 2) Press ALT+F2 and type gconf-editor. 3) Navigate to /apps/docky-2 - note that Docky should not be running (or it may override your changes) and that any changes made require a restart of

【Linux学习之旅】之Ubuntu14.04虚拟机VirtualBox的上网和USB问题

无法上网问题: sudo subl /etc/network/interfaces 增加以下内容: # The primary network interface auto eth0 iface eth0 inet dhcp 无法使用USB问题: sudo /usr/sbin/usermod -G vboxusers -a username [Linux学习之旅]之Ubuntu14.04虚拟机VirtualBox的上网和USB问题,布布扣,bubuko.com

【Linux学习之旅】之Ubuntu14.04字体难看解决之道

安装Ubuntu14.04后使用中文作为本地语言,更新系统后会安装2个字体(fonts-arphic-ukai,fonts-arphic-uming),应该是楷体,非常难看,而且无法更改,在终端执行以下命令删除即可: sudo apt-get remove fonts-arphic-ukai fonts-arphic-uming 嘿嘿,是不是可以更改字体了. [Linux学习之旅]之Ubuntu14.04字体难看解决之道,布布扣,bubuko.com

【Linux学习之旅】之Ubuntu14.04安装及美化之后要做的事

以上是我的Ubuntu里安装的一些软件. 1)卸载不需要的软件,在启动器里右键单击要卸载的软件即可. 2)升级你的软件版本 sudo apt-get update && sudo apt-get upgrade 3)安装Fcitx sudo apt-get install fcitx fcitx-googlepinyin 4) 安装samba samba服务器安装后,就可以与你所在的网络中的其他用户共享文件了. sudo apt-get install samba 5)安装媒体工具 sud

【Linux学习之旅】[转]度娘的云:百度云Linux客户端Bcloud

云时代,各种网盘.云同步层出不穷.薄荷开源网从 Linux 桌面的角度也对此关注颇多,先后测试.使用过云诺.Wuala.金山快盘.坚果云等对 Linux 支持良好的网盘.作为业界大佬,百度云网盘容量大.用户多.速度快.不限流量,可惜没有 Linux 客户端. 如今,曾开发 Linux 下的酷我播放器 KWplayer 的作者 Liulang,写了一款百度云 Linux 客户端–Bcloud.薄荷开源网还魂草深感敬佩!当然,我们要做的就是加大宣传推介力度,让人们知道如今的 Linux 早已不是昔日

【Linux学习之旅】之Ubuntu/Linux打造中文版man帮助手册

一.如何安装中文的man包 本项目的主页为: http://code.google.com/p/manpages-zh/ 本项目(manpages-zh)为 i18n-zh 项目[1]的子项,从 CMPP (中文 Man Pages 计 划) 分支而来. [1] http://code.google.com/p/i18n-zh CMPP 项目现在可能已经死亡,原主页(cmpp.linuxforum.net)已不能访问. 本项目的目的是维护 CMPP 遗留下的成果,并对其错误/漏洞进行修改. 本项

linux架构学习第二十七天 编译安装LAMP(php-fpm)

内容: 第一部分:编译安装LAMP(php以模块的方式工作) 第二部分:编译安装LAMP(php以fpm的方式工作) 第一部分: 前面介绍我们知道, apache + php结合的方式大概几种: 第一种:把php编译时直接编译成apache的模块.module模块化的方式进行工作 第二种:CGI.通用网关接口.apache基于CGI跟hph通信 第三种:fastcgi方式,他也是一种协议,在这种模块下他们两个是这样结合的: 本来php是做为一个模块或都是php解析器运行的,不是监听在某个套接字上