LAMP指的是Linux(操作系统)、ApacheHTTP 服务器,MySQL数据库(有时也指MariaDB) 和Php(有时也是指perlpython) ,他们共同组成了一个强大的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 

                    

wKioL1cZvM3gUbI2AAAVlTaHpEA253.png

     

              2、安装完成后可查看php的相关列表

                    

wKiom1cZvgPQQTMqAAAqw-qCkmY682.png

                注意:httpd的MPM分别对应不同的php模块,可输入httpd -M命令查看httpd当前使用的模块

                     prefork:libphp5.so

                     event:libphp5-zts.so

                     worker:libphp5-zts.so 

                     如果php模块对应的MPM不对,可更改相应的文件

 

      wKiom1cZwfiiflijAABtgUp-0vQ115.png


                

               3、随后可以编写php代码进行测试

wKiom1cZxOriUXfhAAAunx3p0Lc999.png

            4、随后在网页上查看结果;出现以下内容则为测试成功

                

wKiom1cZxdzgUOlkAAAKOSAX_wg171.png

                  

wKiom1cZxoHzHr3FAABzIzu0xNw533.png


         二、在虚拟机2实现php和mariadb连接

            1、在虚拟机2上安装mariadb-server

                 

wKiom1cZzD_j8fyiAAAWtYLbxzM948.png



            2、启动mariadb,给虚拟机1授权,让虚拟机1有登录mariadb的权限,并尝试虚拟机1是否能够登录虚拟机2的mariadb

                图一:               

wKioL1cZzvOCa_RXAABNmy1Hqis406.png

              图二:

             

wKioL1cZ0Gywg_3OAAA5tUZbFRU217.png

               图一是虚拟机2给虚拟机1授权成功,图二是测试虚拟机1是否能登录mariadb


            3、编写php连接mysql的测试代码;随后yum安装php-mysql,并在页面上进行测试

                 

wKiom1cZ0qbjxaiQAABIjxuUX7I775.png

              图一:

                

wKiom1cZ00vwe65mAAAvPs6Q-Yc410.png

               图二:

wKiom1cZ08ugWYFlAAA5xMOpdhw380.png

                当虚拟机2的mariadb的服务开启或关闭的时候,基于虚拟机1的ip访问页面会有不同的结果;这样,一个简单的LAMP平台就搭建好了


            三、在虚拟机主机上安装wordpress

                1、在虚拟机1上的指定目录下编辑一个文件;文件名可随意,但必须要以.conf结尾

                                图一:

wKiom1cZ7cTjr7XzAACIbDmS25I838.png

                                图二:

wKiom1cZ2v-h1BaRAAAV5H9hjR0550.png

                  图一为编辑文件路径、内容;图二为当基于虚拟机主机的主机名访问时,需要注释掉httpd的主配置文件里面的DocumentRoot

                          

                2、随后cd到wordpress所在目录;cp wp-config-sample.php wp-config.php,随后编辑wp-config.php

                    图一:

                        

wKioL1cZ3n7TQrfCAABJNmrNWLA229.png

                  由图一可知,需要虚拟机2给虚拟机1创建用户并授权

                    图二:

                        

wKiom1cZ32vgTi75AABYqW7Knsk517.png

                   图三:

                       

wKiom1cZ4qrS6pzTAABqUocSKsI834.png

                  授权后填上对应的信息,随后在Web页面输入“www.a.com”

                 

                  图四:

                         

wKiom1cZ5uOSKzN4AAAmynHnEeM211.png

                     

                出现图四内容,说明安装wordpress成功


            四、在虚拟机主机上安装phpmyadmin

                1、在虚拟主机vma.conf添加内容

                     

wKioL1cZ78CxQ60sAABzmUMkuXI055.png

                 2、使用openssl生成一个15为的随机数

                          wKiom1cZ8d3A7A_6AAAbAMVdPyc072.png

                 3、cp目录pma下的config.sample.inc.php为config.inc.php,随后将15位随机数添加到后者文件中,并将host改为虚拟机2的IP

                    

wKioL1cZ9JTD4fYyAABuVDg4jqo583.png

                  

                  4、yum安装php-mbstring,然后重启httpd,随后在页面输入“www.b.com“

                     

wKioL1cZ-NnzsPDQAAB8pL0lqng781.png

                     出现上图内容,说明phpmadmin安装成功

               

            五、安装xcache,使用ab测试php

                 1、先将虚拟主机改为基于不同端口访问

                        

wKiom1cZ_PjTWysiAABoIccvic4375.png

 

                    

                    2、在不安装xcache,做一次ab测试

                     

wKioL1cZ_nrTv0SPAAAipdzev8o596.png

                   测试结果:

                            

wKioL1caA8qg0jGEAAAxvWiFra8608.png

                     3、yum安装xcache后做一次ab测试

                        

wKioL1caBMmCIMq6AAA2hYqZgeY816.png


             

            六、httpd支持ssl协议(虚拟机2作为CA机构;虚拟机1作为客户端签署证书)

                1、在虚拟机2创建CA秘钥(一定要放在/etc/pki/CA/private目录下)

                   

wKioL1caHFvCmAIpAAB_OX2bfrc690.png

               2、CA生成自签证书

                    

wKiom1caE4OTwZlnAABWAKSAe_4078.png

                  

                     填写CA的步骤:国家、哪个省、那个市、公司名称、部门、主机名、mail地址

    

                3、随后创建两个文件,并生成序列号

                       

wKioL1caFq6ArBjbAAAzznvlgho972.png

                     注意:如果CA目下没有certs、crl、newcerts等目录,则需创建


                 4、在虚拟机1上让httpd生成秘钥

                        wKiom1caF47RPUjdAAAtkL7b7Xs424.png

                5、让httpd生成需要签署的证书

                          

wKioL1caHUzhhSyQAAAziRZZabc857.png

               

                6、随后将客户端(虚拟机1)httpd生成的签署证书发送给CA机构(虚拟机2)进行签证

                        

wKiom1caIGORr33aAABOKEFaG3Y162.png

                7、以上步骤配置完后,yum安装mod_ssl,编辑配置文件ssl.conf

                      图一:

                        

wKioL1caNOnxR-mKAABV1JmKbys512.png

                      图二:

                        

wKiom1caNNKgkvLHAABitf8IS5o214.png


                8、随后更改httpd的主配置文件

                        图一:

                            

wKiom1caNgaAdSzwAAAnCg8_JNI293.png


                        图二:

                            

wKiom1caNoDQWdNdAAAlz9IlP04908.png

              

                9、随后找一浏览器载入证书,输入“https://www.b.com"

                        

wKioL1caOGGhLkCiAAA-iHVufwA792.png


            

wKiom1caN7KzP4piAACYVPQTUyM770.png

                就这样,phpmyadmin就能基于https访问了



                常见问题:在修改ssl.conf文件中的DocumentRoot时,要记得把路径更改,以及添加Directory几行;同时在修改httpd的主配置文件时,要在DirectoryIndex后面添加index.php,以及在AddType下添加AddType  application/x-httpd-php  .php;同样,在进行测试时,记得要把相关程序的主配置文件备份一下