LAMP指的是Linux(操作系统)、ApacheHTTP 服务器,MySQL数据库(有时也指MariaDB) 和Php(有时也是指perl或python) ,他们共同组成了一个强大的Web应用程序平台。
https全称为Hyper Text Transfer Protocol over Secure Socket Layer;基于http支持ssl协议,主要作用是用于安全的传输数据;http是超文本的传输协议,信息是明文的,安全性很低;而https则是具有安全性的ssl加密传输协议,具有极高的安全保障;http和https使用的端口也不同,前者监听于tcp协议的80端口,后者监听于tcp协议的443端口;同时使用https需要向CA签署证书,而http不需要;
Xcache是一个php的加速器,它能够提高php性能,提高读取动态资源时的生成速率
例如三者分离于两台主机;
(2) 一个虚拟主机用于提供phpMyAdmin;另一个虚拟主机用于提供wordpress;
(3) xcache
(4) 为phpMyAdmin提供https虚拟主机;
虚拟机1的IP:172.18.42.200
虚拟机2的IP:172.18.42.201
一、在虚拟机1上实现httpd和php连接
1、在虚拟机1上安装httpd、php
2、安装完成后可查看php的相关列表
注意:httpd的MPM分别对应不同的php模块,可输入httpd -M命令查看httpd当前使用的模块
prefork:libphp5.so
event:libphp5-zts.so
worker:libphp5-zts.so
如果php模块对应的MPM不对,可更改相应的文件
3、随后可以编写php代码进行测试
4、随后在网页上查看结果;出现以下内容则为测试成功
二、在虚拟机2实现php和mariadb连接
1、在虚拟机2上安装mariadb-server
2、启动mariadb,给虚拟机1授权,让虚拟机1有登录mariadb的权限,并尝试虚拟机1是否能够登录虚拟机2的mariadb
图一:
图二:
图一是虚拟机2给虚拟机1授权成功,图二是测试虚拟机1是否能登录mariadb
3、编写php连接mysql的测试代码;随后yum安装php-mysql,并在页面上进行测试
图一:
图二:
当虚拟机2的mariadb的服务开启或关闭的时候,基于虚拟机1的ip访问页面会有不同的结果;这样,一个简单的LAMP平台就搭建好了
三、在虚拟机主机上安装wordpress
1、在虚拟机1上的指定目录下编辑一个文件;文件名可随意,但必须要以.conf结尾
图一:
图二:
图一为编辑文件路径、内容;图二为当基于虚拟机主机的主机名访问时,需要注释掉httpd的主配置文件里面的DocumentRoot
2、随后cd到wordpress所在目录;cp wp-config-sample.php wp-config.php,随后编辑wp-config.php
图一:
由图一可知,需要虚拟机2给虚拟机1创建用户并授权
图二:
图三:
授权后填上对应的信息,随后在Web页面输入“www.a.com”
图四:
出现图四内容,说明安装wordpress成功
四、在虚拟机主机上安装phpmyadmin
1、在虚拟主机vma.conf添加内容
2、使用openssl生成一个15为的随机数
3、cp目录pma下的config.sample.inc.php为config.inc.php,随后将15位随机数添加到后者文件中,并将host改为虚拟机2的IP
4、yum安装php-mbstring,然后重启httpd,随后在页面输入“www.b.com“
出现上图内容,说明phpmadmin安装成功
五、安装xcache,使用ab测试php
1、先将虚拟主机改为基于不同端口访问
2、在不安装xcache,做一次ab测试
测试结果:
3、yum安装xcache后做一次ab测试
六、httpd支持ssl协议(虚拟机2作为CA机构;虚拟机1作为客户端签署证书)
1、在虚拟机2创建CA秘钥(一定要放在/etc/pki/CA/private目录下)
2、CA生成自签证书
填写CA的步骤:国家、哪个省、那个市、公司名称、部门、主机名、mail地址
3、随后创建两个文件,并生成序列号
注意:如果CA目下没有certs、crl、newcerts等目录,则需创建
4、在虚拟机1上让httpd生成秘钥
5、让httpd生成需要签署的证书
6、随后将客户端(虚拟机1)httpd生成的签署证书发送给CA机构(虚拟机2)进行签证
7、以上步骤配置完后,yum安装mod_ssl,编辑配置文件ssl.conf
图一:
图二:
8、随后更改httpd的主配置文件
图一:
图二:
9、随后找一浏览器载入证书,输入“https://www.b.com"
就这样,phpmyadmin就能基于https访问了
常见问题:在修改ssl.conf文件中的DocumentRoot时,要记得把路径更改,以及添加Directory几行;同时在修改httpd的主配置文件时,要在DirectoryIndex后面添加index.php,以及在AddType下添加AddType application/x-httpd-php .php;同样,在进行测试时,记得要把相关程序的主配置文件备份一下