在centos7上实现,搭建httpd+php+mariadb三个服务:

物理主机使用win7系统;

本次实验使用2台虚拟机,web服务器安装httpd和php程序包,web服务器使用192.168.255.2,mysql数据库服务器安装mariadb程序包,mysql数据库服务器使用192.168.255.3。

要求:

(1)httpd与php的结合方式:php以模块形式结合httpd,三个服务部署在2台服务器上。

(2)一个虚拟主机用于提供phpMyAdmin;另一个虚拟主机用于提供wordpress。

(3)为phpMyAdmin提供https虚拟主机。

(4)使用xcache实现php加速。


在web服务器上操作:

]# yum -y install httpd

]# yum -y install php

]# vim /etc/httpd/conf/httpd.conf

注释httpd主配置文件中的主页(即注释掉DocumentRoot条目)

wKioL1ccK0TC8cAhAABGcTtQo4o819.png


创建虚拟主机配置文件及网页文件

]# mkdir -pv /web/vhost/{www1,www2}

]# vim /web/vhost/www1/index.php

wKiom1ccK0_xoH2BAAAVmOdeeR8750.png

]# vim /web/vhost/www2/index.php

wKioL1ccLEfTQLtUAAAcLO68oJ0277.png


]# vim /etc/httpd/conf.d/vhost.conf

虚机1网址:www1.stu11.com

虚机2网址:www2.stu11.com

wKiom1ccLRaQR3NOAABaQEKywvk202.png


在物理主机中测试httpd是否能正常加载php模块

首先更改物理主机的hosts文件,添加解析条目

C:\Windows\System32\drivers\etc

wKioL1ccL4bDBG-EAABXsZGE_U8473.png


在物理机打开浏览器测试2个虚拟主机名称是否能正常工作

wKioL1ccMBTDkRwCAAC0-IvpYc8915.png

wKiom1ccL06iw2VJAADHiYNGxpY517.png


在mysql数据库主机操作:

]# yum -y install mariadb-server

加固数据库安全设置

]# mysql_secure_installation

设置连接数据库的root用户密码为root,其它设置可根据提示自行设置。

]# mysql -uroot -proot

> CREATE USER 'testuser'@'192.168.%.%' IDENTIFIED BY 'testpass';

> CREATE USER 'pmauser'@'192.168.%.%' IDENTIFIED BY 'pmapass';

> CREATE DATABASE pmadb;

> CREATE DATABASE wpdb;

> GRANT ALL ON wpdb.* TO 'wpuser'@'192.168.%.%';

> GRANT ALL ON phpdb.* TO 'pmauser'@'192.168.%.%';


在web主机操作:

测试php正常连接mysql服务器

测试需要使用php连接数据库的函数,安装php-mysql

]# yum -y install php-mysql 


编辑两个虚拟主机中的网页测试代码

wKiom1ccTUvg8CmUAAA1aGDvwpc520.png

wKioL1ccThHjSEfSAAAw3XhxEwM450.png


打开浏览器测试

wKioL1ccTqTxelFbAABYVTgLiIc736.png

wKioL1ccTqTC1I29AABF3qASrXY159.png

php连接mysql数据库ok,成功连接。


分别在虚机1上部署phpMyAdmin,在虚机2上部署wordpress:


下载phpMyAdmin-4.4.14.1-all-languages.zip,并解压在/web/vhost/www1目录下

]# unzip phpMyAdmin-4.4.14.1-all-languages.zip


解压后把文件名改为pma即文件名改短了使用起来方便

]# mv phpMyAdmin-4.4.14.1-all-languages pma


生成的随机数复制在下面的config.inc.php配置文件中

]# openssl rand -base64 -15


添加phpMyAdmin的配置文件:

]# cd pma


复制样例配置文件并修改

]# cp config.sample.inc.php config.inc.php

]# vim config.inc.php

添加随机数、指定mysql数据库IP地址

wKiom1ccT02BP3_GAABcCEC0LE0472.png


在浏览器测试

wKioL1ccUfHyHzqDAABvYwlsdTc711.png


安装中文字符集,php-mbsting包

]# yum -y install php-mbstring

]# systemctl restart httpd.service


浏览器测试,输入在mysql数据库的用户名密码即可登录


wKiom1ccUd-QkBMRAAC4xRuav6g006.png

登录后的phpMyAdmin页面

wKioL1ccUySxQ_gcAAG_paxKk_M656.png


下载wordpress-4.3.1-zh_CN.zip,解压在/web/vhost/www2目录下

]# unzip wordpress-4.3.1-zh_CN.zip

]# cd wordpress/

复制样例配置文件并修改

]# cp wp-config-sample.php wp-config.php


输入mysql中的库名、用户、密码及mysql主机的IP地址

]# vim config.inc.php

wKiom1ccVLTALyHQAABrB3_UkYs650.png


在浏览器测试

wKioL1ccVizSaDWhAACz9QlY_T4749.png


输入自定义信息,点击安装wordpress;

wKioL1ccVvrDy4eoAADidXSknhU880.png

wKiom1ccVu2z_8ORAACeJMhirDc664.png


输入刚才设定wordpress的用户名和密码,登录即可:

wKioL1ccV7OwM8xBAAB84oQisDY206.png

wKioL1ccV7TCvHUPAAD_quMZjso249.png


为phpMyAdmin提供https虚拟主机:


把mysql数据库所在主机当做CA主机,创建私有CA:


创建CA的私钥:

]# cd /etc/pki/CA/

]# (umask 077;openssl genrsa -out private/cakey.pem 2048)

创建CA自签证书:

wKioL1ccWdiiTLuRAACSoq9afDc022.png


]# touch serial index.txt

]# echo 01 > seria

注意:CA目录下要有固定目录及文件:目录有certs、crl、newcerts,文件index.txt、serial。


把CA证书发送到web服务器主机上:

wKioL1ccWpaQZ9abAAA80kYZz4Q091.png


在web服务器主机操作:

创建服务器私钥:

wKiom1ccW1zhgEMcAAAj1niQM2I579.png


创建服务器请求认证的文件:

]# openssl req -new -key httpd.key -out httpd.csr

输入服务器证书内容:

wKiom1ccXBWyDDPlAABFggN3P0I030.png


在CA主机上操作:

把web服务器请求文件发送给CA:

]# scp root@192.168.255.2:/etc/httpd/ssl/httpd.csr /tmp


给web服务器签证:

]# openssl ca -in /tmp/httpd.csr -out certs/httpd.crt

输入两次y,确认签署即可;


CA返回web服务器证书文件:

]# scp certs/httpd.crt root@192.168.255.2:/etc/httpd/ssl


在web服务器上操作:

安装支持httpd的ssl的模块

]# yum -y install mod_ssl

]# vim /etc/httpd/conf.d/ssl.conf

wKioL1ccbQWAwteiAAA7ZnnsMq8134.png


wKioL1ccbTejIqq3AAAvBJBTnFY726.png


把CA证书导入浏览器(步骤略)

在浏览器上测试:

wKiom1ccbObSxDGlAABQRep128Q924.png



wKiom1ccbOfB-jGuAAGB4yYBaBI400.png


安装想xcahe测试