LAMP安装日常中十分常见。在CentOS 6中默认的php5.3.0以下的版本不支持fpm fastCGI机制;需要自行打补丁或编译安装;默认安装的httpd 2.2没有对fasCGI的支持模块,所以在CentOS 6 中只能编译安装httpd2.4和php5.3.3+;在CentOS 7中默认安装的httpd 2.4新特性中加入了fastCGI的支持模块,php可以独立安装安装php-fpm包即可。今天就弄下三种模式下的LAMP搭建:
(1)CentOS 7, lamp (module);
要求: (1) 三者分离于两台主机;httpd(php(module)) +mariadb-server
(2) 一个虚拟主机用于提供phpMyAdmin;另一个虚拟主机用于提供wordpress;
(3) xcache
(4) 为phpMyAdmin提供https虚拟主机;
(2)CentOS 7, lamp (php-fpm);
要求:(1) 三者分离于三台主机;phpfpm httpd mariadb
(2) 一个虚拟主机用于提供phpMyAdmin;另一个虚拟主机用于提供wordpress;
(3) xcache
(3)CentOS 6, lamp (编译安装,模块或php-fpm);
要求:(1) 三者分离于两台或三台主机;
(2) 一个虚拟主机用于提供phpMyAdmin;另一个虚拟主机用于提供wordpress;
(3) xcache
(4) 尝试mpm为非prefork机制;
说明:由于总是需要域名解析,所以将172.18.20.12作为DNS解析服务器;
lamp整合一
一、实验内容
实验要求: 三者分离于两台主机;httpd(php(module)) +mariadb-server
(2) 一个虚拟主机用于提供phpMyAdmin;另一个虚拟主机用于提供wordpress;
(3) xcache
(4) 为phpMyAdmin提供https虚拟主机;
试验环境:172.18.20.10:httpd主机(包含php 模块支持php) ;
172.18.20.11:mariadb-server
说明:1.这里由于实在CentOS 7 上完成,httpd模块支持php,没什么费事的,直接安装软件,另一台安装mariadb-server就可以了。
2.环境中需要私建CA,CA环境搭建于172.18.20.12 主机上。
二、httpd主机设置
httpd主机上:yum -y install httpd
mkdir /webs/{admin,wordpress}
echo "index page @www.admin10.net" >/webs/admin/index.html
echo "index page @www.wordpress10.com" >/webs/wordpress/index.html
vim /etc/httpd/conf.d/vhost.conf
<VirtualHost *:80>
ServerName
DocumentRoot "/webs/admin"
<Directory "/webs/admin">
Options None
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerName
DocumentRoot "/webs/wordpress"
<Directory "/webs/wordpress">
Options None
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
systemctl start httpd
分别访问http://www.admin10.net和http://www.wordpress10.com 服务器可以了。
三、安装php环境
yum -用install php php-mbstring php-mysql
# rpm -ql php
/etc/httpd/conf.d/php.conf
/etc/httpd/conf.modules.d/10-php.conf
/usr/lib64/httpd/modules/libphp5.so
/usr/share/httpd/icons/php.gif
/var/lib/php/session
可以看到安装php已经把模块放到了httpd的目录中,这个模块是支持prefork并发处理模式的:
做两个域名路径中的index.php试试!
cat "www.admin10.net
<?php
phpinfo();
?>" > /webs/admin/index.php
cat "www.wrodpress10.net
<?php
phpinfo();
?>" > /webs/wordpress/index.php
OK了!
下载phpmyadmin、wordpress安装包;
四、安装phpmyadmin和wordpress
1.在数据库172.18.29.11上安装对应数据库:
yum -y install mariadb-server
systemctl start mariadb
mysql -uroot
2.建立对应数据库和管理员:
create database pmdb;
grant all on pmdb.* to ‘pmad‘@‘172.18.%.%‘ identified by ‘123456‘;
create database wpdb;
grant all on wpad.* to ‘pmad‘@‘172.18.%.%‘ identified by ‘123456‘;
flush privileges;
3.解压phpmyadmin到/webs/admin/pms并修改配置文件。
vim pms/libraries/config.default.php ,将其中的四个内容替换掉
查找$cfg[‘PmaAbsoluteUri‘],将其值设置为http://172.18.20.10/pms
查找$cfg[‘Servers‘][$i][‘host‘],将其值设置为172.18.20.11
查找$cfg[‘Servers‘][$i][‘user‘],将其值设置为pmad
查找$cfg[‘Servers‘][$i][‘password‘],将其值设置为123456
访问成功!
解压wordpress到/webs/admin/wp
拷贝wp-config-sample.php为wp-config.php,修改其中的数据库配置项。
访问成功!
到这里phpmyadmin和wordpress已经搞定了。
五、编译安装xcache:
xcache是php一款加速器,利用进程共享内存空间,并设置缓存空间,默认大小为60M大小。
提前看看,当前的访问情况,ab测试下:
看来动态资源和静态资源大约慢了6倍左右。
下载对应的源码包,yum -y install php-devel
tar xf xcache-3.2.0.tar.bz2 -C /root
cd /root/xcache
./phpize
./configure --enable-xcache --with-php-config=/etc/httpd/conf.d/php.conf
安装成功!
六、为phpmyadmin提供https虚拟主机
建立CA主机:
客户端生成密钥和证书请求:
# cd /etc/pki/CA/
# (umask 077;openssl genrsa -out private/cakey.pem 2048 )
Generating RSA private key, 2048 bit long modulus
................................................................................... ..........+++
...........................+++
e is 65537 (0x10001)
# openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 365
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter ‘.‘, the field will be left blank.
-----
Country Name (2 letter code) [XX]:CN
State or Province Name (full name) []:beijing
Locality Name (eg, city) [Default City]:beijing
Organization Name (eg, company) [Default Company Ltd]:admin10.net
Organizational Unit Name (eg, section) []:ops
Common Name (eg, your name or your server‘s hostname) []:ca.admin10.net
Email Address []:
将 admin10.csr发送到CA服务器端签署证书:
scp admin10.csr 172.18.20.12:/opt
CA服务器端签署证书:
# openssl ca -in /opt/admin10.csr -out certs/admin10.cert -days 365
敲两个Y,签署好了,签好的证书发给httpd服务器端:
# scpo certs/admin10.cert 172.18.20.10:/etc/httpd/ssl
httpd服务器端修改/etc/httpd/conf.d/ssl.conf 文件主要下面的定义:
<VirtualHost www.admin10.net:443>
# General setup for the virtual host, inherited from global configuration
DocumentRoot "/webs/admin"
ServerName www.admin10.net
<Directory "/webs/admin">
Options None
AllowOverride None
Require all granted
</Directory>
SSLCertificateFile /etc/httpd/ssl/admin10.cert
SSLCertificateKeyFile /etc/httpd/ssl/admin10.private
这样 https://www.admin10.net/pms/就可以用https协议访问了。
如果其中有问题,请不吝赐教!
51cto博客写代码嵌入代码语言十分麻烦,可以参考该文自己搭建个LAMP,脱离此地。
下一篇《lamp整合三连发(2)》演示下一个LAMP环境搭建。
本文出自 “君临城” 博客,谢绝转载!
原文:http://kingslanding.blog.51cto.com/9130940/1766028