在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条目)
创建虚拟主机配置文件及网页文件
]# mkdir -pv /web/vhost/{www1,www2}
]# vim /web/vhost/www1/index.php
]# vim /web/vhost/www2/index.php
]# vim /etc/httpd/conf.d/vhost.conf
虚机1网址:www1.stu11.com
虚机2网址:www2.stu11.com
在物理主机中测试httpd是否能正常加载php模块
首先更改物理主机的hosts文件,添加解析条目
C:\Windows\System32\drivers\etc
在物理机打开浏览器测试2个虚拟主机名称是否能正常工作
在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
编辑两个虚拟主机中的网页测试代码
打开浏览器测试
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地址
在浏览器测试
安装中文字符集,php-mbsting包
]# yum -y install php-mbstring
]# systemctl restart httpd.service
浏览器测试,输入在mysql数据库的用户名密码即可登录
登录后的phpMyAdmin页面
下载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
在浏览器测试
输入自定义信息,点击安装wordpress;
输入刚才设定wordpress的用户名和密码,登录即可:
为phpMyAdmin提供https虚拟主机:
把mysql数据库所在主机当做CA主机,创建私有CA:
创建CA的私钥:
]# cd /etc/pki/CA/
]# (umask 077;openssl genrsa -out private/cakey.pem 2048)
创建CA自签证书:
]# touch serial index.txt
]# echo 01 > seria
注意:CA目录下要有固定目录及文件:目录有certs、crl、newcerts,文件index.txt、serial。
把CA证书发送到web服务器主机上:
在web服务器主机操作:
创建服务器私钥:
创建服务器请求认证的文件:
]# openssl req -new -key httpd.key -out httpd.csr
输入服务器证书内容:
在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
在web服务器上操作:
安装支持httpd的ssl的模块
]# yum -y install mod_ssl
]# vim /etc/httpd/conf.d/ssl.conf
把CA证书导入浏览器(步骤略)
在浏览器上测试:
安装想xcahe测试