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

http://www2.shaolin.com/wordpress
兩個站點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
https://www2.shaolin.com/wordpress