天天看點

  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

   ServerName www2.shaolin.com

   DocumentRoot /data/web2

   ErrorLog logs/www2_error_log

   CustomLog logs/www2_access_log  combined

   <Directory /data/web2/>

下載下傳  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

  Lamp

http://www2.shaolin.com/wordpress

  Lamp

兩個站點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

   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>

   DocumentRoot "/data/web1/"

   ServerName www1.wudang.com:443

   ErrorLog logs/www1_ssl_error_log

   SSLCertificateFIle /etc/httpd/web1/php.crt

   SSLCertificateKeyFile  /etc/httpd/web1/php.key

  <Directory /data/web1/>

Options Indexes FollowSymLinks

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

https測試:

https://www1.wudang.com/mpa

  Lamp

https://www2.shaolin.com/wordpress

  Lamp

繼續閱讀