Lamp

                     Lamp

實驗要求:

在同一臺linux主機上部署Lamp,實現兩個虛擬主機web1,web2,分別跑phpMyadmin,wordpress應用,且提供https服務。

Linux主機:centos7.2 一塊網卡 eno16777728 橋接模式 ip 172.16.254.79/16

首先關閉selinux setenforce 0,避免影響實驗。

安裝所需軟件包:

 Yum -y install httpd php php-mysql php-mbstring mariadb-server

創建虛擬主機web1 web2站點的根目錄:

Mkidr /data/web1/

Mkdir /data/web2/

httpd.2-4上配置虛擬主機web1,web2的配置文件

 

[root@localhost CA]# cat /etc/httpd/conf.d/web1.conf

<VirtualHost 172.16.254.79>

   ServerName www1.wudang.com

   DocumentRoot /data/web1

   DirectoryIndex index.php

   ErrorLog logs/www1_error_log

   CustomLog logs/www1_access_log  combined

   <Directory /data/web1/mpa>

      Options Indexes FollowSymLinks

      AllowOverride none

      Require all granted

  </Directory>

</VirtualHost>

 

[root@localhost CA]# cat /etc/httpd/conf.d/web2.conf

<VirtualHost 172.16.254.79>

   ServerName www2.shaolin.com

   DocumentRoot /data/web2

   DirectoryIndex index.php

   ErrorLog logs/www2_error_log

   CustomLog logs/www2_access_log  combined

   <Directory /data/web2/>

      Options Indexes FollowSymLinks

      AllowOverride none

      Require all granted

  </Directory>

</VirtualHost>

下載  phpMyAdmin-4.4.14.1-all-languages.zip wordpress-4.3.1-zh_CN.zip

解壓兩個應用程序包到站點根目錄:

Unzip  phpMyAdmin-4.4.14.1-all-languages.zip  

Unzip  wordpress-4.3.1-zh_CN.zip   

創建兩個應用程序根目錄的軟連接文件:

Ln -svf /data/web1/ phpMyAdmin-4.4.14.1-all-languages /data/web1/mpa

Ln -svf /data/web2/wordpress  /data/web2/wordpress

配置兩個應用程序與數據庫mariadb的連接:

 cp /data/web1/mpa/config.sample.inc.php /data/web1/mpa/config.inc.php

Vim /data/web1/mpa/config.inc.php

   $cfg['blowfish_secret'] = '1rnbfOvowLY6GA'; ----生成密鑰的隨機數

   $cfg['Servers'][$i]['host'] = 'localhost';-------------mariadb主機地址

Cp  /data/web2/wordpress/wp-config-sample.php /data/web2/wordpress/wp-config.php

Vim /data/web2/wordpress/wp-config.php

 define('DB_NAME', 'wordpress');-------事先創建好的數據庫

 

/** MySQL數據庫用戶名 */

define('DB_USER', 'jack');-------- 管理數據庫的用戶名

 

/** MySQL數據庫密碼 */-----Jack用戶連接數據庫的密碼

define('DB_PASSWORD', '123456');

 

/** MySQL主機 */

define('DB_HOST', '172.16.254.79');-------mariadb數據庫的地址

啓動mariadb

  Systemctl strart mariadb.service

連接數據庫

 Mysql

 創建一個數據庫用戶:

  Grant all on *.* to jack@%  identified by 123456 ;

  Flush privileges;

啓動httpd

Systemctl start httpd

http服務測試:測試機win7  hosts文件添加一條記錄

172.16.254.79   www1.wudang.com  www2.shaolin.com

http://www1.wudang.com/mpa

wKiom1ejSFugtbNSAABTNLRGe5o709.jpg-wh_50 

http://www2.shaolin.com/wordpress

wKiom1ejSGuDbqr2AABmbqq0qzc659.jpg-wh_50 

 

兩個站點phpMyadmi,wordpress 提供https服務

httpd.2-4安裝mod_ssl 模塊

Yum -y install mod_ssl

創建CA證書:

 (umask 066; openssl genrsa -out private/cakey.pem 1024)

 openssl req -new -x509 -key private/cakey.pem -days 3650 -out cacert.pem

創建站點phpMyadmin私鑰和證書:

(umask 066;openssl genrsa -out /etc/httpd/web1/php.key 1024)  openssl req -new -key /etc/httpd/web1/php.key -days 365 -out /etc/httpd/web1/php.csr

openssl ca -in /etc/httpd/web1/php.csr -out certs/php.crt

創建站點wordpress私鑰和證書:

 mkdir /etc/httpd/web2

   (umask 066; openssl genrsa -out /etc/httpd/web2/wordpress.key 1024)

   openssl req -new -key /etc/httpd/web2/wordpress.key  -days 365 -out /etc/httpd/web2/wordpress.csr

    openssl ca -in /etc/httpd/web2/wordpress.csr -days 365 -out certs/wordpress.crt

   cp certs/wordpress.crt /etc/httpd/web2/

配置ssl模塊配置文件即httpd的配置文件:

Listen 443  httpsi

<VirtualHost 172.16.254.79:443>

   DocumentRoot "/data/web2/"

   ServerName www2.shaolin.com:443

   SSLProtocol All  -SSLv2

   DirectoryIndex index.php

   SSLEngine on

   ErrorLog logs/www2_ssl_error_log

   LogLevel warn

   SSLCertificateFIle /etc/httpd/web2/wordpress.crt

   SSLCertificateKeyFile  /etc/httpd/web2/wordpress.key

  <Directory /data/web2/>

Options Indexes

          AllowOverride none

          Require all granted

 </Directory>

</VirtualHost>

Listen 443  httpsi

<VirtualHost 172.16.254.79:443>

   DocumentRoot "/data/web1/"

   ServerName www1.wudang.com:443

   SSLProtocol All  -SSLv2

   DirectoryIndex index.php

   SSLEngine on

   ErrorLog logs/www1_ssl_error_log

   LogLevel warn

   SSLCertificateFIle /etc/httpd/web1/php.crt

   SSLCertificateKeyFile  /etc/httpd/web1/php.key

  <Directory /data/web1/>

Options Indexes FollowSymLinks

          AllowOverride none

          Require all granted

 </Directory>

</VirtualHost>

CA的證書導入到瀏覽器中的受信任的根證書機構。

https測試:

https://www1.wudang.com/mpa

wKioL1ejSICBb59jAABhblu2S9w016.jpg-wh_50 

https://www2.shaolin.com/wordpress

wKiom1ejSKKzp2-0AABjl3Gfu_g960.jpg-wh_50 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章