CentOS7上实现LAMP

实验要求:

CentOS7上实现LAMP(使用rpm安装),功能如下:

httpd上实现三个虚拟主机,

主机名分别为:

Vhosts1:pma.Stud.com ,此虚拟主机支持https,实现PhpMyAdmin

Vhosts2:wp.Stud.com,实现WordPress

Vhosts3:dz.Stud.com,实现Discuz

实验环境:

CentOS7系统一台(IP172.16.99.100),所需的PhpAdminWordPressDiscuz的源码包。

实验步骤:

准备:挂载本地镜像,配置好本地yum源。

一.安装。

1.安装http,安装mysql,安装php

所需的安装包,httpd,php,php-mysql,mariadb mariadb-server

a.安装httpd,安装前检查是否安装过:

]# yum install httpd

b.安装php,安装前检查php是否安装过。

]# yum install php php-mysql

c.安装mariadb

]# yum insall mariadb mariadb-server

检测是否安装成功:

wKiom1YCL8-BqyRPAAIhSozmPlY693.jpg

2.安装完之后,进行测试。

安装完之后,启动各服务,进行相关的测试。

# systemctl start httpd.service

# systemctl start mariadb.service

查看是否已经启动:

wKioL1YCMBjBIiHnAADRWcTivRo989.jpg

进行相关测试:

httpd的网页站点/var/www/html/目录下,编写一个测试文件:index.php内容:

 

            <?php            
                $link = mysql_connect("127.0.0.1","root","");
                if ($link)
                    echo "OK";
                else
                    echo "Failure";
                mysql_close();
                phpinfo();
            ?>

测试前清空防火墙或者编写响应的防火墙规则。

关闭Selinux.

测试结果:

                    wKiom1YCMJeTCU4lAADV6itineE972.jpg

二.进行相关的虚拟主机配置:

1)关于phpmyadmin的虚拟主机的相关配置

1.修改相关的配置文件。(/etc/httpd/conf/httpd/.conf

注释掉中心主机:#DocumentRoot "/var/www/html"

2.在/etc/httpd/conf.d/目录下,添加一个配置虚拟主机的配置文件vhosts.conf,添加内容如:

            <VirtualHost *:80>        
                DocumentRoot /web/vhosts/pma
                ServerName pma.zkchang.com
                ErrorLog /var/log/httpd/pmalog.err
                CustomLog /var/log/httpd/pmalog.access common
                <Directory "/web/vhosts/pma">
                        OPtions None
                        Allowoverride None
                        Require all denied
                        Require ip 172.16.0.0/255.255.0.0
                </Directory>
             </VirtualHost>

            创建响应的站点目录。(一并创建其他目录)

                    wKiom1YCMQiBVfePAABo_GG9VQ8380.jpg

3.在站点目录下创建一个文件进行测试(index.php

# vim /web/vhosts/pma/index.php

<?php

        echo "This Vhost is pma host";

?>

4.在本地创建的DNS服务器(zkchang.com IP172.16.99.1)的正向区域数据库文件和反向区域数据库文件上,添加pma.zkchang.comA记录和PTR记录:

pma             IN      A       172.16.99.100

100             IN      PTR     pma.zkchang.com.

        用本地的DNS服务器来解析客户端的pam.zkchang.com解析请求。

5.测试:本地主机测试:先修改DNS,再测试

wKioL1YCMeng1XMNAAC3dN_Od8E470.jpg

wKioL1YCMfOB6HjvAABukqw6jrc938.jpg

            

6.安装PhpMyAdmin和相关的配置:

a.下载PhpMyAdmin安装包,解压,复制到站点目录下。

]# unzip phpMyAdmin-4.4.5-all-languages.zip

# cp -a phpMyAdmin-4.4.5-all-languages /web/vhosts/pma/pma

b.安装mbstring(本地yum安装mbstring)

yum install php-mbstring

c.在mariadb上创建一个普通用户,并授权

7.给mariadbroot用户设置密码,以便登录PHPMyAdmin

MariaDB [(none)]> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('zkchang');

MariaDB [(none)]> SET PASSWORD FOR 'root'@'127.0.0.1' = PASSWORD('zkchang');

8.测试:进入phpmyadmin登录页面,输入账户和密码:

wKiom1YCMpDgbNgGAAE1E56klAw600.jpg

9.让此虚拟主机支持https:

a.安装mod_ssl模块,使httpd服务支持ssl

# yum install mod_ssl:

查看安装完之后,生成了那些配置文件。

]# rpm -ql mod_ssl

/etc/httpd/conf.d/ssl.conf

/etc/httpd/conf.modules.d/00-ssl.conf

/usr/lib64/httpd/modules/mod_ssl.so

/usr/libexec/httpd-ssl-pass-dialog

/var/cache/httpd/ssl

b.让CA颁发机构给httpd服务器颁发CA证书:

由于此前已经在IP172.16.99.2上创建CA自签证书,在这就不在创建,直接在httpd服务器上生成私钥和颁发证书的请求:如:

httpd上(172.16.99.100

生成私钥:

# (umask 077;openssl genrsa -out /etc/httpd/ssl/httppma.key 2048)

创建证书请求:

# openssl req -new -key /etc/httpd/ssl/httppma.key  -out /etc/httpd/ssl/httppma.csr -days 365

将证书请求发给CA颁发机构(172.16.99.2

# scp ssl/httppma.csr root@172.16.99.2:/tmp

c.CA颁发机构给httpd服务器创建证书:

CA]# openssl ca -in /tmp/httppma.csr -out /etc/pki/CA/certs/httppma.crt -days 365

将证书发给httpd服务器:

CA]# scp certs/httppma.crt  root@172.16.99.100:/etc/httpd/ssl

d.修改/etc/httpd/conf.d/ssl.conf配置文件,修改内容为:

<VirtualHost _default_:443>做以下修改:

                DocumentRoot "/web/vhosts/pma"                
                ServerName pma.zkchang.com:443
                SSLCertificateFile /etc/httpd/ssl/httppma.crt
                SSLCertificateKeyFile /etc/httpd/ssl/httppma.key

e.重新启动服务进行测试

首先把CA颁发机构的CA自签证书拷贝到本地主机上,在本地主机上的浏览器上导入证书。

# systemctl restart httpd.service

10.测试:使用https://pma.zkchang.com/pma进行测试

wKioL1YCM_qRHjT9AACNUnahld0298.jpg

        

2)关于WordPress的虚拟主机的相关配置

1.在/etc/httpd/conf.d/vhosts文件中添加如下内容:

            <VirtualHost *:80>            
                    DocumentRoot /web/vhosts/wp
                    ServerName wp.zkchang.com
                    ErrorLog /var/log/httpd/wplog.err
                    CustomLog /var/log/httpd/wp.access common
                    <Directory "/web/vhosts/wp">
                            Options None
                            AllowOverride None
                            Require all denied
                            Require ip 172.16.0.0/16
                    </Directory>
            </VirtualHost>

2.在站点目录/web/vhosts/wp目录下创建一文件index.php进行测试:

在测试之前在在本地创建的DNS服务器(zkchang.com IP172.16.99.1)的正向区域数据库文件和反向区域数据库文件上,添加wp.zkchang.comA记录和PTR记录:

wp             IN      A       172.16.99.100

100             IN      PTR     wp.zkchang.com.

                    wKioL1YCNG2gm9_AAABPVoVt66o057.jpg

3.下载安装WordPress,解压,复制到站点目录:

# unzip wordpress-4.3.1-zh_CN.zip

# cp -a wordpress /web/vhosts/wp/wp

修改/web/vhosts/wp/wp目录下的一个配置文件:

# mv wp-config-sample.php  wp-config.php

修改内容如下:

# vim wp-config.php

define('DB_NAME', 'wpdb');

define('DB_USER', 'wpuser');

define('DB_PASSWORD', 'wpuser');

wKioL1YCPOiBgnXsAACqbC6TMI8538.jpg

4.创建上述的数据库,数据库用户名,和密码:

创建数据库:MariaDB [(none)]> CREATE DATABASE wpdb;

创建用户wpuser和密码:

MariaDB [(none)]> CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'wpuser';

MariaDB [(none)]> CREATE USER 'wpuser'@'l27.0.0.1' IDENTIFIED BY 'wpuser';

给用户授权:

MariaDB [(none)]> GRANT ALL  ON wpdb.* TO 'wpuser'@'localhost';

              MariaDB [(none)]> GRANT ALL  ON wpdb.* TO 'wpuser'@'127.0.0.1';

5.测试:

wKiom1YCPVOxCqDeAAChU0NT578837.jpg

(3)关于Discuz的虚拟主机的相关配置

1.在/etc/httpd/conf.d/vhosts文件中添加如下内容:

        <VirtualHost *:80>        
                DocumentRoot /web/vhosts/dz
                ServerName dz.zkchang.com
                ErrorLog /var/log/httpd/dzlog.err
                CustomLog /var/log/httpd/dzlog.access common
                <Directory "/web/vhosts/dz">
                        Options None
                        AllowOverride None
                        Require all denied
                        Require ip 172.16.0.0/16
                </Directory>
        </VirtualHost>

2.在站点目录/web/vhosts/dz目录下创建一文件index.php进行测试:

在测试之前在在本地创建的DNS服务器(zkchang.com IP172.16.99.1)的正向区域数据库文件和反向区域数据库文件上,添加wp.zkchang.comA记录和PTR记录:

dz              IN      A       172.16.99.100

100             IN      PTR     dz.zkchang.com.

wKioL1YCPeCQRe2oAABnh7atI9E895.jpg

3.下载安装Discuz,解压,复制到站点目录;

# unzip Discuz_X3.2_SC_GBK.zip

解压之后会产生三个目录文件:

upload  utility  readme

upload 这个目录复制到/web/vhosts/dz/zd目录下:

# cp -a upload/  /web/vhosts/dz/dz

打开浏览器测试:http://dz.zkchang.com/dz

打开之后会出现页面乱码,修改httpd配置文件:

AddDefaultCharset  GBK即可。

wKiom1YCPivjDPlTAAEKM7CZkoY614.jpg

在安装过程中会出现上述过程,此时需要创建数据库,用户和密码

4.创建数据库,用户和密码:

创建数据库:MariaDB [(none)]> CREATE DATABASE forumdb;

创建用户:

MariaDB [(none)]> CREATE USER 'forumuser'@'localhost' IDENTIFIED BY 'forumuser';

MariaDB [(none)]> CREATE USER 'forumuser'@'127.0.0.1' IDENTIFIED BY 'forumuser';

授权:

MariaDB [(none)]> GRANT ALL ON forumdb.* TO 'forumuser'@'localhost';

MariaDB [(none)]> GRANT ALL ON forumdb.* TO 'forumuser'@'127.0.0.1';

5.填入相应的值,一步步安装,最终结果:

wKiom1YCPrGi5i1BAAEAQLG9Z4w341.jpg