LAMP(1)——CentOS-7 两台主机module模型

要求:

  • (1) 三者分离于两台主机;

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

  • (3) xcache

  • (4) 为phpMyAdmin提供https虚拟主机;

环境规划:

  host       IP      software        平台  
  主机1   172.18.77.84   httpd+php       CentOS 7  
  主机2   172.18.77.205   mariadb       CentOS 7

配置准备

1.实验前先将 iptables 和 SELinux 均设置为关闭状态,避免影响实验结果。
2.首先配置 mariadb的后端服务器主机2,再配置 httpd+php的前端服务器主机1,按照从后到前的顺序。

主机2配置

  • 安装MariaDB

yum -y install mariadb-server

wKiom1caHbqTVF1AAABM8zsWtNg342.jpg

  • 启动MariaDB

systemctl start mariadb.service

wKioL1caIRHgiXKkAAAUCYGMHts362.png

  • 初始化数据库安全设置

mysql_secure_installation

wKioL1caImOABrGqAAE7qWsVw64891.jpg

  • 配置MariaDB

GRANT ALL ON wpdb.* TO wpuser@'172.18.%.%' IDENTIFIED BY 'wppass';
FLUSH PRIVILEGES;
CREATE DATABASE wpdb;
use wpdb;
SHOW TABLES;

wKioL1caJdbQVoWJAABnvzw8oG0622.png

主机1配置

  • 测试连接MariaDB

yum -y install mariadb
mysql -uwpuser -h172.18.77.205 -pwppass

wKiom1caM6bR3vD3AAAfKRdjRY4906.png

  • 安装http+php

yum -y install httpd php php-mysql
  • 配置httpd

vim /etc/httpd/conf/httpd.conf
注释#DocumentRoot "/var/www/html"
ServerName www.mage.com
mv /etc/httpd/conf.d/welcome.conf{,.bak}
注意:由于 [root@localhost conf.d]# vim /etc/httpd/conf.d/php.conf 下自带
AddType text/html .php
DirectoryIndex index.php
可以解析php类型的主页和MIME,所以这里不需要手动添加,但编译安装php的时候记得手动添加
php.conf文件到/etc/httpd/conf.d/目录下

wKioL1caQv3xIL9jAAAEja14wzU375.png

wKioL1caOwmgFAmHAAAEqIIcxoE409.png

  • 安装wordpress(本处提供安装方法,安装包自行下载)

wKioL1caPdrws4g9AACYyVQ64os514.png

wKioL1cciDTA92w8AAAG04_-USQ235.png

  • 安装phpMyAdmin(本处提供安装方法,安装包自行下载)

cp phpMyAdmin-4.4.14.1-all-language.zip /webcom/c.org/pma
unzip phpMyAdmin-4.4.14.1-all-language.zip
ln -sv phpMyAdmin-4.4.14.1-all-language phpadmin
cd phpadmin/
cp config.sample.inc.php config.inc.php
openssl rand -base64 15
vim config.inc.phpsystemctl restart httpd.service

wKioL1caQDTTYz5fAAA-0qACVDc211.png

  • 配置虚拟主机1

[root@localhost ~]# vim /etc/httpd/conf.d/virtualhost1.conf
<VirtualHost *:80>
        ServerName www.b.net
        DocumentRoot "/webcom/b.net/wp"
        <Directory "/webcom/b.net/wp">
                Options None
                AllowOverride None
                Require all granted
        </Directory>
</VirtualHost>
[root@localhost ~]# mkdir -pv /webcom/b.net/wp
mkdir: created directory ‘/webcom/b.net’
mkdir: created directory ‘/webcom/b.net/wp’
  • 配置虚拟主机2

[root@localhost ~]# vim /etc/httpd/conf.d/virtualhost2.conf
<VirtualHost *:80>
        ServerName www.c.org
        DocumentRoot "/webcom/c.org/pma"
        <Directory "/webcom/c.org/">
                Options None
                AllowOverride None
                Require all granted
        </Directory>
</VirtualHost>
[root@localhost ~]# mkdir -pv /webcom/c.org/pma
mkdir: created directory ‘/webcom/c.org’
mkdir: created directory ‘/webcom/c.org/pma’


  • 安装xcache(本处提供安装方法,安装包自行下载)

[root@localhost ~]# yum install -y php-xcache
[root@localhost ~]# vim /etc/php.d/xcache.ini
xcache.admin.enable_auth=ON   【打开xcache并要求进行认证】

wKioL1cci76QCq7-AAES5fxRWZE440.png


可以通过ab命令压力测试下 安装xcache后的变化

[root@localhost ~]# systemctl restart httpd
[root@localhost ~]# ab -n 1000 -c 100 https://www.c.org/config.inc.php
[root@localhost ~]# ab -n 1000 -c 100 https://www.b.net/wp-config.php

注意参数Requests per second(每次请求需要的时间),启用xcache后的速度应该是没启用xcache的3~5倍。

配置httpd支持https

  • (1) 为服务器申请数字证书;  
      测试:通过私建CA发证书  

    • (a)创建私有CA

    • (b) 在服务器创建证书签署请求

    • (c) CA签证

wKiom1ccmhDTP__dAACKNPJTRvk790.png

wKiom1ccmreA4mxKAAAN7hYzzjE223.png

wKioL1ccm5-BeH7jAAFWZd0LhAw516.jpg

wKiom1ccmvyBI50-AAA78m0SH-k514.png

wKioL1ccnB7RGZQpAACmgzL6kOA185.png


  • (2) 配置httpd支持使用ssl,及使用的证书;

# yum -y install mod_ssl

wKioL1ccnFaAWrb6AACAOfWYGMU188.png

wKiom1ccm7HwbHRXAACXXmGkPhA178.png

  • (3) 测试基于https(只能用openssl)访问相应的主机;

# openssl s_client [-connect host:port](指明主机名和端口)
 [-cert filename](指明证书)
 [-CApath directory](指明CA证书所在的目录)
 [-CAfile filename](指明CA证书文件) 【用来验证客户端发出的请求】

wKiom1ccnFOz-ieaAAGBysxbZ74991.jpg

wKioL1ccngPQEPxNAABZUZfC86c134.png

wKiom1ccnVrRRnLvAABjiRMi4ww003.png


至此,实验完成!