天天看点

使用VMware虚拟机,分别部署2台centos7主机实现,httpd(php模块)+mysql,

在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条目)

<a href="http://s4.51cto.com/wyfs02/M02/7F/5D/wKioL1ccK0TC8cAhAABGcTtQo4o819.png" target="_blank"></a>

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

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

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

<a href="http://s3.51cto.com/wyfs02/M01/7F/60/wKiom1ccK0_xoH2BAAAVmOdeeR8750.png" target="_blank"></a>

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

<a href="http://s2.51cto.com/wyfs02/M01/7F/5D/wKioL1ccLEfTQLtUAAAcLO68oJ0277.png" target="_blank"></a>

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

虚机1网址:www1.stu11.com

虚机2网址:www2.stu11.com

<a href="http://s2.51cto.com/wyfs02/M02/7F/60/wKiom1ccLRaQR3NOAABaQEKywvk202.png" target="_blank"></a>

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

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

C:\Windows\System32\drivers\etc

<a href="http://s5.51cto.com/wyfs02/M00/7F/5E/wKioL1ccL4bDBG-EAABXsZGE_U8473.png" target="_blank"></a>

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

<a href="http://s3.51cto.com/wyfs02/M01/7F/5E/wKioL1ccMBTDkRwCAAC0-IvpYc8915.png" target="_blank"></a>

<a href="http://s3.51cto.com/wyfs02/M02/7F/60/wKiom1ccL06iw2VJAADHiYNGxpY517.png" target="_blank"></a>

在mysql数据库主机操作:

]# yum -y install mariadb-server

加固数据库安全设置

]# mysql_secure_installation

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

]# mysql -uroot -proot

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

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

&gt; CREATE DATABASE pmadb;

&gt; CREATE DATABASE wpdb;

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

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

在web主机操作:

测试php正常连接mysql服务器

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

]# yum -y install php-mysql 

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

<a href="http://s5.51cto.com/wyfs02/M00/7F/61/wKiom1ccTUvg8CmUAAA1aGDvwpc520.png" target="_blank"></a>

<a href="http://s1.51cto.com/wyfs02/M00/7F/5E/wKioL1ccThHjSEfSAAAw3XhxEwM450.png" target="_blank"></a>

打开浏览器测试

<a href="http://s3.51cto.com/wyfs02/M01/7F/5E/wKioL1ccTqTxelFbAABYVTgLiIc736.png" target="_blank"></a>

<a href="http://s2.51cto.com/wyfs02/M01/7F/5E/wKioL1ccTqTC1I29AABF3qASrXY159.png" target="_blank"></a>

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地址

<a href="http://s5.51cto.com/wyfs02/M02/7F/61/wKiom1ccT02BP3_GAABcCEC0LE0472.png" target="_blank"></a>

在浏览器测试

<a href="http://s3.51cto.com/wyfs02/M02/7F/5E/wKioL1ccUfHyHzqDAABvYwlsdTc711.png" target="_blank"></a>

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

]# yum -y install php-mbstring

]# systemctl restart httpd.service

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

<a href="http://s3.51cto.com/wyfs02/M00/7F/61/wKiom1ccUd-QkBMRAAC4xRuav6g006.png" target="_blank"></a>

登录后的phpMyAdmin页面

<a href="http://s1.51cto.com/wyfs02/M01/7F/5E/wKioL1ccUySxQ_gcAAG_paxKk_M656.png" target="_blank"></a>

下载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地址

<a href="http://s2.51cto.com/wyfs02/M00/7F/61/wKiom1ccVLTALyHQAABrB3_UkYs650.png" target="_blank"></a>

<a href="http://s3.51cto.com/wyfs02/M00/7F/5E/wKioL1ccVizSaDWhAACz9QlY_T4749.png" target="_blank"></a>

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

<a href="http://s3.51cto.com/wyfs02/M00/7F/5E/wKioL1ccVvrDy4eoAADidXSknhU880.png" target="_blank"></a>

<a href="http://s2.51cto.com/wyfs02/M01/7F/61/wKiom1ccVu2z_8ORAACeJMhirDc664.png" target="_blank"></a>

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

<a href="http://s2.51cto.com/wyfs02/M01/7F/5E/wKioL1ccV7OwM8xBAAB84oQisDY206.png" target="_blank"></a>

<a href="http://s2.51cto.com/wyfs02/M01/7F/5F/wKioL1ccV7TCvHUPAAD_quMZjso249.png" target="_blank"></a>

为phpMyAdmin提供https虚拟主机:

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

创建CA的私钥:

]# cd /etc/pki/CA/

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

创建CA自签证书:

<a href="http://s5.51cto.com/wyfs02/M02/7F/5F/wKioL1ccWdiiTLuRAACSoq9afDc022.png" target="_blank"></a>

]# touch serial index.txt

]# echo 01 &gt; seria

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

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

<a href="http://s5.51cto.com/wyfs02/M01/7F/5F/wKioL1ccWpaQZ9abAAA80kYZz4Q091.png" target="_blank"></a>

在web服务器主机操作:

创建服务器私钥:

<a href="http://s4.51cto.com/wyfs02/M02/7F/61/wKiom1ccW1zhgEMcAAAj1niQM2I579.png" target="_blank"></a>

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

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

输入服务器证书内容:

<a href="http://s1.51cto.com/wyfs02/M02/7F/61/wKiom1ccXBWyDDPlAABFggN3P0I030.png" target="_blank"></a>

在CA主机上操作:

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

]# scp [email protected]:/etc/httpd/ssl/httpd.csr /tmp

给web服务器签证:

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

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

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

]# scp certs/httpd.crt [email protected]:/etc/httpd/ssl

安装支持httpd的ssl的模块

]# yum -y install mod_ssl

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

<a href="http://s4.51cto.com/wyfs02/M02/7F/5F/wKioL1ccbQWAwteiAAA7ZnnsMq8134.png" target="_blank"></a>

<a href="http://s3.51cto.com/wyfs02/M01/7F/5F/wKioL1ccbTejIqq3AAAvBJBTnFY726.png" target="_blank"></a>

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

在浏览器上测试:

<a href="http://s3.51cto.com/wyfs02/M00/7F/61/wKiom1ccbObSxDGlAABQRep128Q924.png" target="_blank"></a>

<a href="http://s3.51cto.com/wyfs02/M02/7F/61/wKiom1ccbOfB-jGuAAGB4yYBaBI400.png" target="_blank"></a>

安装想xcahe测试

本文转自 crystaleone 51CTO博客,原文链接:http://blog.51cto.com/linsj/1767224,如需转载请自行联系原作者