三台主機部署lamp(fast-cgi)
實驗要求:
建立兩個虛拟主機web1,web2,分别跑phpMyadmin、wordpress ,且為phpMyadmin提供https服務。
三台主機:
1.Cehtos7.2 跑httpd.2-4 一塊網卡 eno16777728 橋接模式 ip 172.16.254.79/16
2.centos7.2 跑php-fpm 一塊網卡eno16777728 橋接模式 ip 172.16.250.205/16
3.centos7.2 跑mariadb-server 一塊網卡 eno16777728 橋接模式 ip 172.16.252.180/16
三台主機安裝所需的軟體包:
1.yum -y install httpd samba mod-ssl
2.Yum -y install php-fpm php-mysql cifs-utils php-mbstring
3.Yum -y install mariadb-server
Httpd主機的配置:
建立兩個虛拟站點的根目錄:
Mkdir /data/web{1,2} -pv
Chown apache:apache /data/web{1,2}
把這兩個目錄/data/web1,/data/web2 通過samba共享出去。
Vim /etc/samba/smb.conf[php]
comment=php data
path=/data/web1
browseable=yes
write list=apache
[wordpress]
comment=wordpress data
path=/data/web2
Pdbedit -a -u apache
Passwdord 123456
啟動samba server
Systemctl start smb.service
Systemctl start nmb.service
建立兩個虛拟主機web1,web2的配置檔案:
<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
ProxyRequests Off
ProxyPassMatch ^/(.*\.php)$ fcgi://172.16.250.205:9000/data/web1/$1
<Directory /data/web1/>
Options Indexes FollowSymLinks
AllowOverride none
Require all granted
</Directory>
</VirtualHost>
ServerName www2.shaolin.com
DocumentRoot /data/web2
ErrorLog logs/www2_error_log
CustomLog logs/www2_access_log combined
ProxyPassMatch ^/(.*\.php)$ fcgi://172.16.250.205:9000/data/web2/$1
<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
Mariadb-server 主機的配置:
Systemctl strart mariadb.service
連接配接資料庫
Mysql
建立一個資料庫使用者:
Grant all on *.* to ‘jack’@’%’ identified by ‘123456’ ;
Flush privileges;
啟動httpd
Systemctl start httpd
Php-fpm主機的配置:
mkdir /data/web{1,2}
mkdir /data/web{1,2} -pv
mount.cifs -o username=apache //172.16.254.79/php /data/web
mount.cifs -o username=apache //172.16.254.79/wordpress /data/web2
mkdir /var/lib/php/session
chown apache:apache /var/lib/php/session
Vim /etc/php-fpm.d/www.conf
listen = 172.16.250.205:9000
; Default Value: any
#listen.allowed_clients = 127.0.0.1-----允許任何主機反代通路
啟動php-fpm
Systemctl start php-fpm
http服務測試:測試機win7 hosts檔案添加一條記錄
172.16.254.79 www1.wudang.com www2.shaolin.com
http://www1.wudang.com/mpa

http://www2.shaolin.com/wordpress
建立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
Listen 443 httpsi
<VirtualHost 172.16.254.79:443>
DocumentRoot "/data/web1/"
ServerName www1.wudang.com:443
ProxyRequests Off
SSLProtocol All -SSLv2
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 all
Require all granted
</Directory>
把CA的證書導入到浏覽器中的受信任的根證書機構。
https測試:
https://www1.wudang.com/mpa