34323 发表于 2016-8-5 08:59:06

三台主机部署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
comment=php data
path=/data/web1
browseable=yes
write list=apache

comment=wordpress data
path=/data/web2
browseable=yes
write list=apache
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_logcombined
   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>
<VirtualHost 172.16.254.79>
   ServerName www2.shaolin.com
   DocumentRoot /data/web2
   DirectoryIndex index.php
   ErrorLog logs/www2_error_log
   CustomLog logs/www2_access_logcombined
   ProxyRequests Off
ProxyPassMatch^/(.*\.php)$   fcgi://172.16.250.205:9000/data/web2/$1
   <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
解压两个应用程序包到站点根目录:
UnzipphpMyAdmin-4.4.14.1-all-languages.zip
Unzipwordpress-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服务测试:测试机win7hosts文件添加一条记录
172.16.254.79   www1.wudang.comwww2.shaolin.comhttp://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 443httpsi
<VirtualHost 172.16.254.79:443>
   DocumentRoot "/data/web1/"
   ServerName www1.wudang.com:443
ProxyRequests Off
   ProxyPassMatch^/(.*\.php)$   fcgi://172.16.250.205:9000/data/web1/$1
   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

页: [1]
查看完整版本: 三台主机部署lamp(fast-cgi)