###############################################################################

环境准备:

一台服务器启用三个虚拟主机实现不同的功能:

vhost1:用于连接后端数据库;

vhost2:提供博客

vhost3:提供论坛

 

各个主机名规划:

IP:10.76.249.150

vhost1: www.pma.zrd.com,  phpMyAdmin, 同时提供https服务

vhost2: www.wp.zrd.com,    wordpress

vhost3: www.dz.zrd.com,    Discuz

 

主目录:

vhost1:/www/pma/phpmyadmin

vhost2:/www/wp/wordpress

vhost3:/www/dz

 

 

#########################设置防火墙主机名 IP HOST #########################################

 

主机状态:

[root@zrd ~]# cat /etc/redhat-release   #版本

CentOS Linux release7.1.1503 (Core)

停用禁用防火墙

#停用防火墙#

[root@zrd ~]# systemctl stop fiewalld 

#禁用防火墙#

[root@zrd ~]# systemctl disable fiewalld 

#查看防火墙状态#

[root@zrd~]# systemctl status firewalld #防火墙状态

firewalld.service -firewalld - dynamic firewall daemon

   Loaded: loaded(/usr/lib/systemd/system/firewalld.service; disabled)

   Active: inactive (dead)

 

#设置主机名#

[root@zrd ~]# hostnamectl set-hostname zrd

#查看主机名#

[root@zrd ~]# hostnamectl

   Static hostname: zrd #静态主机名

         Icon name: computer-vm

           Chassis: vm

        Machine ID:099c7bc54ae14b75ad480d1c740cea6a

           Boot ID:cd2612a4c67d4a04a6907ff0ef926649

    Virtualization: vmware

  Operating System: CentOS Linux 7 (Core)

       CPE OS Name: cpe:/o:centos:centos:7

            Kernel: Linux 3.10.0-229.el7.x86_64

      Architecture: x86_64                              #架构

 

 

设置静态IP

[root@zrd ~]# nmtui

wKiom1YOAWDhjspaAAHYjA3nEQQ856.jpg

 

wKioL1YOAYfBhKhqAAJFL2Z32Vc880.jpg

 

wKiom1YOAZHzpQLXAApbf6yYaiM155.jpg

重启网络服务

[root@zrd ~]# systemctl restart network

查看IP

[root@zrd~]# ip a   #IP

1: lo:<LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN

    link/loopback 00:00:00:00:00:00 brd00:00:00:00:00:00

    inet 127.0.0.1/8 scope host lo

       valid_lft forever preferred_lft forever

    inet6 ::1/128 scope host

       valid_lft forever preferred_lft forever

2: eno16777736:<BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen1000

    link/ether 00:0c:29:2e:11:d9 brdff:ff:ff:ff:ff:ff

    inet 10.76.249.150/24 brd 10.76.249.255scope global eno16777736

       valid_lft forever preferred_lft forever

    inet6 fe80::20c:29ff:fe2e:11d9/64 scopelink

       valid_lft forever preferred_lft forever

修改HOST文件

[root@zrd ~]# vim /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4localhost4.localdomain4

::1         localhost localhost.localdomainlocalhost6 localhost6.localdomain6

#前两行不要删除

10.76.249.150zrd

10.76.249.150 www.pma.zrd.com

10.76.249.150 www.wp.zrd.com

10.76.249.150 www.dz.zrd.com

下载phpMyAdmin-4.4.15-all-languages.tar.xz (注意:phpMyAdmin版本不能高于php所支持的版本)

https://files.phpmyadmin.net/phpMyAdmin/4.4.15/phpMyAdmin-4.4.15-all-languages.tar.xz

################################ 全局配置文件 #######################################

 

软件安装:

[root@zrd ~]# yum install httpd  mariadb mariadb-server php php-mbstring php-mysqlmod_ssl  -y

 

备份配置文件

[root@zrd ~]# mkdir /tmp/httpd_bakup_dir

[root@zrd ~]# cp -a /etc/httpd  /tmp/httpd_bakup_dir

[root@zrd~]# ls /tmp/httpd_bakup_dir

httpd

 

创建虚拟主机配置文件:

[root@www~]# vim/etc/httpd/conf.d/vhostpam.conf

#-------------------------------------------------------

# Vhost 1

### www.pma.zrd.com #Start##

# www.pma.zrd.com

#提供phpadmin 连接mariadb

#

<VirtualHost  10.76.249.150:80>

ServerName www.pma.zrd.com

 

# 注意下面这行末尾不要带 /

DocumentRoot  "/www/pma/phpmyadmin"

<Directory  "/www/pma/phpmyadmin">

    Options None

    # 下一行这样设置就可以在网站文件的目录中使用 .htaccess

    AllowOverride All

    # 下一行是替代 Allow from all 的新机制

    Require all granted  

</Directory>

    ErrorLog  /var/log/httpd/pma.zrd.com.error.log

    CustomLog  /var/log/httpd/pma.zrd.com.access.log combined

</VirtualHost>

######### www.pma.zrd.com #End##

#------------------------------分割线---------------------------------------#

# Vhost 2

######### www.wp.zrd.com #start##

#

#提供 wordpress论坛

#

<VirtualHost  10.76.249.150:80>

ServerName www.wp.zrd.com

DocumentRoot  "/www/wp/wordpress"

<Directory  "/www/wp/wordpress/">

    Options None

    AllowOverride All

    Require all granted  

</Directory>

    ErrorLog  /var/log/httpd/wp.zrd.com.error.log

    CustomLog  /var/log/httpd/wp.zrd.com.access.log combined

</VirtualHost>

######### www.wp.zrd.com #END##

 

#------------------------------分割线---------------------------------------#

# Vhost 3

######### www.dz.zrd.com #start##

#

#提供 Discuz论坛

#

<VirtualHost  10.76.249.150:80>

ServerName www.dz.zrd.com

DocumentRoot  "/www/dz"

DirectoryIndex  index.html index.htm

<Directory  "/www/dz/">

    Options None

    AllowOverride All

    Require all granted 

</Directory>

    ErrorLog  /var/log/httpd/dz.zrd.com.error.log

    CustomLog  /var/log/httpd/dz.zrd.com.access.log combined

</VirtualHost>

######### www.dz.zrd.com #END##

 

创建各个网站目录:

[root@zrd~]# mkdir /www/{pma,wp,dz}     -pv

mkdir: createddirectory ‘/www’

mkdir: createddirectory ‘/www/pma’

mkdir: createddirectory ‘/www/wp’

mkdir: createddirectory ‘/www/dz’

[root@zrd ~]# chmod 650 -R /www

 

####################phpMyAdmin配置####################

#下载好的phpMyAdmin-4.4.15-all-languages.tar.xz  上传到/www/pma目录下

 

1.解压

[root@www pma]# ls

phpMyAdmin-4.4.15-all-languages.tar.xz

[root@www pma]#  pwd

/www/pma

[root@www pma]#  tar xf phpMyAdmin-4.4.15-all-languages.tar.xz

[root@www pma]# ls

phpMyAdmin-4.4.15-all-languages  phpMyAdmin-4.4.15-all-languages.tar.xz

[root@www pma]# mv  phpMyAdmin-4.4.15-all-languages phpmyadmin

[root@www pma]# cd  phpmyadmin

[root@www  phpmyadmin]#

 

2.编辑PHP初始配置文件

 

[root@zrd  phpmyadmin]# pwd

/www/pma/phpmyadmin

[root@zrd  phpmyadmin]# cp config.sample.inc.php config.inc.php  #拷贝配置文件

 

[root@zrd  phpmyadmin]# vim config.inc.php

$cfg['blowfish_secret'] = 'adsfasdfasdfasasdfasdfjoijewrg'; /* 填入随机字符YOU MUST FILL IN THIS FOR COOKIE AUTH! */

 

 

################ mysql部分#############################

[root@zrd  phpmyadmin]# mysql

Welcome to the  MariaDB monitor.  Commands end with ;  or \g.

Your MariaDB  connection id is 13

Server version:  5.5.41-MariaDB MariaDB Server

 

Copyright (c)  2000, 2014, Oracle, MariaDB Corporation Ab and others.

 

Type 'help;' or  '\h' for help. Type '\c' to clear the current input statement.

 

MariaDB  [(none)]>

MariaDB  [(none)]> use mysql;

Reading table  information for completion of table and column names

You can turn off  this feature to get a quicker startup with -A

 

Database changed

MariaDB  [mysql]> UPDATE user set  password=PASSWORD('changan') WHERE User='root';

Query OK, 0 rows  affected (0.00 sec)

Rows matched:  4  Changed: 0  Warnings: 0

MariaDB  [mysql]> SELECT  User,Host,Password FROM user;

+------+-----------+-------------------------------------------+

| User | Host      | Password                                  |

+------+-----------+-------------------------------------------+

| root | localhost  | *14E84A13D0A9FCEDFA436122589D79EDCE3D637F |

| root | wordpress  | *14E84A13D0A9FCEDFA436122589D79EDCE3D637F |

| root | 127.0.0.1  | *14E84A13D0A9FCEDFA436122589D79EDCE3D637F |

| root | ::1       |  *14E84A13D0A9FCEDFA436122589D79EDCE3D637F |

+------+-----------+-------------------------------------------+

4 rows in set  (0.00 sec)

MariaDB  [mysql]> FLUSH  PRIVILEGES;

Query OK, 0 rows  affected (0.00 sec)

 

##############################################

[root@zrd  phpmyadmin]# pwd

/www/pma/phpmyadmin

[root@zrd  phpmyadmin]# chmod 650 -R .

[root@zrd  phpmyadmin]# chown :apache -R .

 

重启httpd服务

[root@www  phpmyadmin]# systemctl restart httpd

##############测试 ###############################

http://www.pma.zrd.com/phpmyadmin/

windowshost需要修改

wKioL1YOAcTguG3oAANqEadTrf0273.jpg

浏览器测试输入数据库账号密码

wKiom1YOAdOTsB4cAAF3C-JPr64910.jpg

 

wKioL1YOAfzReMfPAAPjGC2vzDc744.jpg

 

 

 

##################################################################################

配置https 配置Https时将原来定义的此主机的配置/etc/httpd/conf.d/vhostpam.conf  vhost1

内容删去(如果不做https功能此步骤可以略过)

##################################################################################

 

#### 以下步骤 CA服务器和客户端都是同一台服务器,所以客户端不需要

####单独发送证书签署请求到CA服务

##CA  自签证书

[root@ca ~]# cd  /etc/pki/CA

[root@zrd  CA]# (umask 077; openssl genrsa -out private/cakey.pem 2048) #生成私钥

Generating RSA  private key, 2048 bit long modulus

...............................................+++

.......................+++

e is 65537  (0x10001)

[root@zrd  CA]# (umask 077; openssl genrsa -out private/cakey.pem 2048) #提取公钥

Generating RSA  private key, 2048 bit long modulus

...............................................+++

.......................+++

e is 65537  (0x10001)

[root@zrd  CA]# openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 365  #对公钥进行签证

You are about to  be asked to enter information that will be incorporated

into your  certificate request.

What you are about  to enter is what is called a Distinguished Name or a DN.

There are quite a  few fields but you can leave some blank

For some fields  there will be a default value,

If you enter '.',  the field will be left blank.

-----

Country Name (2  letter code) [XX]:CN

State or Province  Name (full name) []:China

Locality Name (eg,  city) [Default City]:bei jing

Organization Name  (eg, company) [Default Company Ltd]:zrd company

Organizational  Unit Name (eg, section) []:IT

Common Name (eg,  your name or your server's hostname) []:www.ca.com

Email Address  []:ca@server.com

 

[root@zrd CA]#  touch index.txt serial crlnumber

[root@zrd CA]# echo 01 >serial    #创建证书序列号,只有第一次时需要,以后都不需要设置!!

 

 

####服务器申请证书

#创建放置证书目录

[root@zrd ~]# cd  /etc/httpd/conf

[root@zrd conf]#  mkdir ssl

[root@zrd conf]#  cd ssl

[root@zrd  ssl]#  (umask 077; openssl genrsa -out  httpd.key 1024) #生成私钥

Generating RSA  private key, 1024 bit long modulus

.....++++++

......................................................++++++

e is 65537  (0x10001)

[root@zrd ssl]# openssl req -new -key httpd.key -out  httpd.csr  #从私钥提取公钥,创建CA申请证书请求,将生成httpd.csr证书发往服务器进行签证

You are about to  be asked to enter information that will be incorporated

into your  certificate request.

What you are about  to enter is what is called a Distinguished Name or a DN.

There are quite a  few fields but you can leave some blank

For some fields  there will be a default value,

If you enter '.',  the field will be left blank.

-----

Country Name (2  letter code) [XX]:CN

State or Province  Name (full name) []:China

Locality Name (eg,  city) [Default City]:bei jing

Organization Name  (eg, company) [Default Company Ltd]:zrd company

Organizational  Unit Name (eg, section) []:DATA OPS

Common Name (eg,  your name or your server's hostname) []:www.pma.zrd.com

Email Address  []:data@server.com

 

Please enter the  following 'extra' attributes

to be sent with  your certificate request

A challenge  password []:

An optional  company name []:

 

###########

CA服务器签证

[root@zrd ssl]#  openssl ca -in httpd.csr -out httpd.crt -days 365

Using  configuration from /etc/pki/tls/openssl.cnf

Check that the  request matches the signature

Signature ok

Certificate  Details:

        Serial Number: 1 (0x1)

        Validity

            Not Before: Oct  1 13:36:18 2015 GMT

            Not After : Sep 30 13:36:18 2016  GMT

        Subject:

            countryName               = CN

            stateOrProvinceName       = China

            organizationName          = zrd company

            organizationalUnitName    = \E6\95\B0DATA OPS

            commonName                = www.pma.zrd.com

            emailAddress              = data@server.com

        X509v3 extensions:

            X509v3 Basic Constraints:

                CA:FALSE

            Netscape Comment:

                OpenSSL Generated Certificate

            X509v3 Subject Key Identifier:

                 2A:4B:D4:AF:19:5F:40:54:7E:6B:1F:DE:3A:B2:43:17:DC:67:FB:B3

            X509v3 Authority Key Identifier:

                 keyid:23:DB:C3:3F:FB:30:1C:2B:64:EC:88:A7:F4:0E:5D:C6:97:C6:04:43

 

Certificate is to  be certified until Sep 30 13:36:18 2016 GMT (365 days)

Sign the  certificate? [y/n]:y

 

 

1 out of 1  certificate requests certified, commit? [y/n]y

Write out database  with 1 new entries

Data Base Updated

 

服务器将httpd.crt 盖章好的证书发给客户端

 

######

客户端将httpd.crt放在对应的目录下

[root@zrd ssl]#  pwd

/etc/httpd/conf/ssl

[root@zrd ssl]# ls

httpd.crt  httpd.csr   httpd.key

######

ssl配置

[root@zrd ssl]#  vim /etc/httpd/conf.d/ssl.conf

###########################

 56 #配置监听端口

 57

 58 <VirtualHost www.pma.zrd.com:443>

 59 # 配置网站主目录

 60 # 配置主机名

 61 DocumentRoot "/www/pma/phpmyadmin"

 62

 63 ServerName www.pma.zrd.com

 64 <Directory "/www/pma/phpmyadmin/">

 65

 66      Options None

 67     # 下一行这样设置就可以在网站文件的目录中使用 .htaccess

 68      AllowOverride All

 69     # 下一行是替代 Allow  from all 的新机制

 70      Require all granted

 71

 72 </Directory>

 

 ####配置私钥证书私钥路径

 102 #    Server Certificate:

103 # Point  SSLCertificateFile at a PEM encoded certificate.  If

104 # the  certificate is encrypted, then you will be prompted for a

105 # pass  phrase.  Note that a kill -HUP will  prompt again.  A new

106 # certificate  can be generated using the genkey(1) command.

107 SSLCertificateFile  /etc/httpd/conf/ssl/httpd.crt #私钥所在的目录

108

109 #   Server Private Key:

110 #   If the key is not combined with the  certificate, use this

111 #   directive to point at the key file.  Keep in mind that if

112 #   you've both a RSA and a DSA private key  you can configure

113 #   both in parallel (to also allow the use of  DSA ciphers, etc.)

114 SSLCertificateKeyFile  /etc/httpd/conf/ssl/httpd.key #证书私钥

。。。。。。。。  。。。。。。。。。。。。  。。。。

 

#重启服务查看443端口是否已经监听

[root@zrd ssl]#  systemctl restart httpd

[root@zrd ssl]# ss  -tln

State       Recv-Q Send-Q                       Local  Address:Port                          Peer Address:Port

LISTEN      0       50                                        *:3306                                    *:*    

LISTEN      0       128                                       *:22                                      *:*    

LISTEN      0       100                               127.0.0.1:25                                      *:*    

LISTEN      0       128                                      :::80                                     :::*    

LISTEN      0       128                                      :::22                                     :::*    

LISTEN      0       100                                     ::1:25                                     :::*    

LISTEN      0       128                                      :::443                                    :::*    

#CA的证书导入浏览器

[root@zrd CA]# pwd

/etc/pki/CA

[root@zrd CA]# sz cacert.pem   #CA   cacert.pem(需要重命名为cacert.crt)证书导入浏览器

[root@zrd pma]#  pwd

/www/pma

[root@zrd  pma]# chmod 650 -R .

[root@zrd pma]#  systemctl reload httpd

 

浏览器导入CA证书  测试:

 

wKiom1YOAhbgSY28AAZA2vqIQhc354.jpg

 

wKiom1YOAi_wqDb9AAGLgA2l15c967.jpg

 

wKioL1YOAlfwz_AmAASVkOUNFt0749.jpg

 

 

######################################wordpress博客配置#####################################

1.下载wordpress

https://cn.wordpress.org/wordpress-4.3.1-zh_CN.zip

[root@zrd wp]# pwd   #wordpress-4.3.1-zh_CN.zip上传到此目录下

/www/wp

[root@zrd wp]# ls

wordpress-4.3.1-zh_CN.zip

[root@zrd wp]# unzipwordpress-4.3.1-zh_CN.zip

[root@zrd wp]# chown:apache -R wordpress

[root@zrd wp]# chmod650 -R wordpress

[root@zrd wp]# cdwordpress

[root@zrdwordpress]#

[root@zrdwordpress]# mv wp-config-sample.php wp-config.php

[root@zrdwordpress]# vim wp-config.php

// ** MySQL 设置 - 具体信息来自您正在使用的主机** //

/** WordPress数据库的名称 */

define('DB_NAME', 'wordpressdb');  #数据库库名

 

/** MySQL数据库用户名 */

define('DB_USER', 'wordpressuser');  #数据库用户

 

/** MySQL数据库密码 */

define('DB_PASSWORD', 'changan');  #密码

 

/** MySQL主机 */

define('DB_HOST', 'localhost');  ###本地

 

 

 

2.创建wordpress数据库

[root@zrd wp]# mysql-u root -p

Enter password:

Welcome to theMariaDB monitor.  Commands end with ; or\g.

Your MariaDBconnection id is 20

Server version:5.5.41-MariaDB MariaDB Server

 

Copyright (c) 2000,2014, Oracle, MariaDB Corporation Ab and others.

 

Type 'help;' or '\h'for help. Type '\c' to clear the current input statement.

 

MariaDB [(none)]>

MariaDB [(none)]>CREATE DATABASE wordpressdb;

Query OK, 1 rowaffected (0.00 sec)

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

Query OK, 0 rowsaffected (0.00 sec)

MariaDB [(none)]>GRANT ALL PRIVILEGES ON wordpressdb.* TO wordpressuser@localhost;

Query OK, 0 rowsaffected (0.00 sec)

MariaDB [(none)]>show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema|

| mysql              |

| performance_schema|

| test               |

| wordpressdb        |

+--------------------+

5 rows in set (0.01sec)

 

MariaDB [(none)]>FLUSH PRIVILEGES;

Query OK, 0 rowsaffected (0.00 sec)

 

3.浏览器登入安装

www.wp.zrd.com

 

wKioL1YOAnix1EVcAAIyx8i1KQU243.jpg

 

wKioL1YOAp6znN_xAAC8c649d7I412.jpg

 

wKiom1YOAqeAKVH7AAM7XEoJsmA724.jpg

 

 

######################################Discuz论坛配置#####################################

下载:Discuz

http://download.comsenz.com/DiscuzX/3.2/Discuz_X3.2_SC_GBK.zip

将下载的Discuz_X3.2_SC_GBK.zip放到对应目录后解压授权

[root@zrd dz]# pwd

/www/dz

[root@zrd dz]# ls

Discuz_X3.2_SC_UTF8.zip

[root@zrd dz]# unzipDiscuz_X3.2_SC_UTF8.zip

[root@zrd dz]# rmDiscuz_X3.2_SC_UTF8.zip -f

[root@zrd dz]# ls

readme  upload utility

[root@zrd dz]# cp -aupload/* ./

[root@zrd dz]# rm-rf upload

[root@zrd dz]# ls

admin.php  config           data         home.php    misc.php   robots.txt  template     utility

api        connect.php      favicon.ico  index.php  plugin.php  search.php  uc_client

api.php    cp.php           forum.php    install    portal.php  source      uc_server

archiver   crossdomain.xml  group.php   member.php  readme      static      userapp.php

[root@zrd dz]#chmod777 config data data/cache data/avatardata/plugindata data/download data/addonmd5 data/template data/threadcachedata/p_w_upload data/p_w_upload/album data/p_w_upload/forumdata/p_w_upload/group data/log uc_client/data/cache uc_server/data/uc_server/data/cache uc_server/data/avatar uc_server/data/backupuc_server/data/logs uc_server/data/tmp uc_server/data/view

[root@zrd dz]#systemctl reload httpd

 

浏览器登入:

www.dz.zrd.com

wKioL1YOAtaAU2chAAPkVo3aLEM932.jpg

 wKioL1YOAvvx-GWuAAKjw30agLg174.jpg 

wKiom1YOAwagfwtDAAHlD4vfKbU905.jpg

 

wKiom1YOAxvSYdvCAAKjlIfQ-r0269.jpg

 

wKiom1YOAzLyxp-4AALAgjYfsoI863.jpg

 

wKioL1YOA13jv_ikAAFep3IIISE214.jpg

 

wKiom1YOA2iDWBnWAAN9CkGxzTc517.jpg

########################################

# 最后

#######################################

开机自动启动服务

[root@zrd ~]# systemctl enable httpd  #自启动httpd服务

ln -s'/usr/lib/systemd/system/httpd.service''/etc/systemd/system/multi-user.target.wants/httpd.service'

 

[root@zrd ~]# systemctl enable mariadb # 自启动数据库服务

ln -s'/usr/lib/systemd/system/mariadb.service''/etc/systemd/system/multi-user.target.wants/mariadb.service'