天天看點

LAMP綜合應用

  CentOS 7, apm + xcache, rpm包, php module;

    a) 一個虛拟主機提供phpMyAdmin,另一個虛拟主機提供wordpress;

    b) 為phpMyAdmim提供https服務;

   主機IP:172.16.72.5

   關閉該主機防火牆:

     iptables -F

     setenforce 0

   安裝php,mariadb,httpd

   啟動服務:

  配置wordpress:

   使用mysql指令:

   進入資料庫,建立資料庫wpdb,并給該資料庫建立使用者,給使用者給予操作權限

  将wordpress中的wp-config-sample.php複制為wp-config.php并修改其配置檔案為:

  在/myweb/vhosts/www1中建構index.php測試php是否能連接配接

  結果可連接配接:

   通路wordpress

  wordpress配置成功;

 配置phpMyAdmin:

  在/etc/httpd/conf.d/ssl.conf下配置phpMyAdmin與其https

  在本台主機上生成私鑰與證書請求檔案,并将證書請求檔案發往私人CA處:

  #(umask 077;openssl genrsa -out /etc/httpd/conf/ssl/httpd.key 4096)

  #openssl req -new -key /etc/httpd/conf/ssl/httpd.key -out /etc/httpd/conf/ssl/httpd.csr

 -days 365

  #scp /etc/httpd/conf/ssl/httpd.csr 172.16.72.1:/tmp

  172.16.72.1私人CA處:

  生成私人CA:

  #(umask 077;openssl genrsa -out /etc/pki/CA/private/cakey.pem 4096)

  #openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -out /etc/pki/CA/cacert.pem

  -days 365

  #openssl ca -in /tmp/httpd.csr -out /tmp/httpd.crt

  注意:私人CA的位址要與用戶端證書請求檔案一緻;

  https通路靜态頁面,測試php連通性:

  将phpMyAdmin導入/myweb/vhosts/www2下

  直接通路:

  xcache安裝:

   可以編譯安裝,也可以聯網使用yum源安裝

   yum install php-xcache

   編輯/etc/php.d/xcache.ini

  CentOS 7, amp + xcache, rpm包,php-fpm;

    a) httpd, php, mariadb分别部署在一個單獨的主機上;

    b) 一個虛拟主機提供phpMyAdmin,另一個虛拟主機提供wordpress;

    c) 為phpMyAdmim提供https服務;

   httpd的主機:172.16.72.5

   php-fpm的主機:172.16.72.2

   Mariadb的主機:172.16.72.9

   ①部署httpd

    關閉該主機防火牆:

      iptables -F

      setenforce 0

    使用本地CD光牒中的安裝包安裝httpd

    yum install httpd

   httpd配置如上,開啟反向代理,設定過濾器match過濾,将php的動态頁面由172.16.72.2的主機

   通路;

   重新加載httpd服務systemctl reload httpd.service

   ②部署php-fpm

    iptables -F

    setenforce 0

   安裝php-fpm

     yum install php-fpm 

   安裝php與mysql互動的php-mysql

     yum install php-mysql

   在該php-fpm主機上,建構在httpd配置檔案中對應的映射路徑/myweb/vhosts/www1

     mkdir -pv /myweb/vhosts/www1

   listen = 172.16.72.2:9000    (監控本機IP位址)

   listen.allowed_clients = 172.16.72.5 (監控httpd用戶端傳來的請求)

  映射路徑下建構index.php,并将wordpress導入

   index.php:測試httpd主機與php主機的連通性

   測試結果:通路httpd主機,可以通路到php主機

  安裝wordpress:

    #cd wordpress

    #cp wp-config-sample.php wp-config.php

    #vim wp-config.php

    設定wordpress資料庫資訊

  172.16.72.9為第三個Mariadb主機的IP位址

   ③部署Mariadb

   關閉防火牆:

   安裝Mariadb

     #yum install mariadb-server

     #mysql (進入mysql界面)

   給使用者設定通路權限:

  通路結果:

 安裝phpMyAdmin:

   設定https:

   在/etc/httpd/conf.d/ssl.conf中設定

  www2中的靜态資源:

  關閉防火牆:

   iptables -F

   setenforce 0

  重載httpd:

   systemctl reload httpd.service

  httpd主機中的phpadmin虛拟主機通路自身靜态資源結果:

  将phpMyAdmin導入到第二台主機的/etc/myweb/www2目錄下

   通路phpMyAdmin

   CentOS 7, amp + xcache,編譯安裝,php-fpm;

     a) httpd, php, mariadb分别部署在一個單獨的主機上,以及都在同一主機;

b) 一個虛拟主機提供phpMyAdmin,另一個虛拟主機提供wordpress;

c) 為phpMyAdmim提供https服務;

   編譯安裝httpd,php,mariadb在同一主機上:

    關閉防火牆:

    确定在該主機上沒有使用rpm包的形式安裝過php,php-fpm,mariadb-server,mysql-server,    httpd

    安裝編譯環境:

     yum groupinstall "Development Tools" "Server Platform Development"

    編譯安裝apr-1.5.2:

     将apr-1.5.2,apr-util-1.5.4,httpd-2.4.27導入到主機中,并解壓

     #cd apr-1.5.2

     #./configure --prefix=/usr/local/apr152

     #make -j 4

     #make install

    編譯安裝apr-util-1.5.4:

     #tar xf apr-util-1.5.4.tar.gz

     #cd apr-util-1.5.4

     #./configure --prefix=/usr/local/apr-util154 --with-apr=/usr/local/apr152

     #make -j #

    編譯安裝httpd-2.4.27:

     #tar xf httpd-2.4.27.tar.gz

     #cd httpd-2.4.27

     #./configure --prefix=/usr/local/apache24 --with-apr=/usr/local/apr152 --with-apr-      util=/usr/local/apr-util154 --sysconfdir=/etc/httpd24 --enable-so --enable-ssl --      enable-cgi --enable-rewrite --enable-modules=most --enable-mpms-shared=all --with-      mpm=prefork --with-pcre --with-zlib

     # make install

     注意:需要實作安裝pcre-devel,當時用--with-pcre時

         yum install pcre-devel

         若出現mod_ssl缺失,則安裝openssl-devel

         yum install openssl-devel

    導出二進制檔案:在/etc/profile.d下

     . /etc/profile.d/httpd24.sh

     使檔案生效,并檢視

     輸出PATH變量,可看出,該檔案中的環境變量已生效

    因為在/usr/local/apache24下沒有lib等庫檔案,是以不需要導出庫檔案;

    導出頭檔案:

   啟動httpd:

   編譯安裝MariaDB:

    将mariadb-5.5.57-linux-x86_64.tar.gz導入

    #tar -xf mariadb-5.5.57-linux-x86_64.tar.gz -C /usr/local

    #cd /usr/local

    #ln -sv mariadb-5.5.57-linux-x86_64 mysql

    #cd mysql

    #groupadd -r -g 306 mysql

    #useradd -r -u 306 mysql

    #chown -R mysql:mysql *

    #mkdir -pv /mydata/data

    #chown mysql:mysql /mydata/data

    #cp support-file/my-large.cnf /etc/my.cnf

    #cp support-file/mysql-server /etc/init.d/mysqld

   修改/etc/my.cnf配置檔案

   導出二進制檔案:/etc/profile.d/mariadb5557.sh

   export PATH=/usr/local/mysql/bin:$PATH

   導出庫檔案:/etc/ld.so.conf.d/mariadb5557.conf

   /usr/local/mysql/lib

   ldconfig -v

   并将/etc/ld.so.conf.d/中的mariadb-x86_64.conf改成不以conf結尾的;

   初始化資料庫:

    scripts/mysql_install_db --user=mysql --datadir=/mydata/data

   啟動資料庫:

    service mysqld start

  編譯php:

    将php-5.6.31.tar.bz2導入

    #tar -xf php-5.6.31.tar.bz2

    #cd php-5.6.31

    #./configure --prefix=/usr/local/php56 --enable-fpm --with-mysql=/usr/local/mysql --     with-mysqli=/usr/local/mysql/bin/mysql_config --with-openssl --enable-mbstring --       enable-xml --enable-sockets --with-freetype-dir --with-libxml-dir=/usr --with-zlib --     with-apxs2=/usr/local/apache24/bin/apxs --with-config-file-path=/etc/php56.ini --       with-config-file-scan-dir=/etc/php56.d

    #make -j 4

    #make install

    #cp php.ini-production /etc/php56.ini

    #mkdir /etc/php56.d

    #cp sapi/fpm/php-fpm.conf /etc/php56.d

    #vim /etc/profile.d/php56.sh

    導出二進制檔案

      export PATH=/usr/local/php56/bin:/usr/local/php56/sbin:$PATH

    #. /etc/profile.d/php56.sh将其寫入

    導出庫檔案

    #vim /etc/ld.so.conf.d/php56.conf

      /usr/local/php56/lib

    #ldconfig -v

    導出頭檔案

    #ln -sv /usr/local/php56/include /usr/include/php-fpm

    到這步php-fpm就可以執行了;

    使用#php-fpm -y /etc/php56.d/php-fpm.conf start

    注意:在啟動前,務必将程序php-fpm關閉,否則啟動會失敗

  為php-fpm提供SysV風格腳本,并将其添加至服務清單:

    # cp sapi/fpm/init.d.php-fpm  /etc/rc.d/init.d/php-fpm

    # chmod +x /etc/rc.d/init.d/php-fpm

    # chkconfig --add php-fpm

    # chkconfig php-fpm on

   在/etc/rc.d/init.d/php-fpm下寫入:

   執行:

   至此httpd,mariadb,php-fpm全部編譯完成;

 在編譯環境下安裝wordpress:

 将wordpress安裝包導入,解壓

 httpd配置

  虛拟主機配置,将虛拟主機寫入/etc/httpd24/extra/httpd-vhostsconf

  如果直接這麼寫,httpd會報文法錯誤proxy,需要将/etc/httpd24/httpd.conf主配置檔案中的

 proxy_module和proxy_http的注釋消除,使其執行

  mariadb配置:

   建立wordpress資料庫,并設定使用者權限;

  将wordpress中的wp-config-sample.php備份改名;

  #cp wp-config-sample.php wp-config.php

  修改wp-config.php的配置

 在/myweb/vhosts/www1中寫入一個index.php檔案測試php,httpd,mariadb的連通性

 連通性沒有問題,通路wordpress進行安裝;

  通路成功

  安裝phpMyAdmin:

   配置https:

    生成私人CA:這裡就不過多闡述了,上面都說過很多次了;

    将證書請求檔案返還到用戶端:

    修改主配置檔案/etc/httpd/httpd.conf

    将https相關代碼寫在/etc/httpd/extra/httpd-ssl.conf

    重新開機httpd服務

    apachectl restart

    将私人CA的公鑰導入浏覽器

    通路phpMyAdmin

 将httpd,mariadb,php-fpm分别便宜到三台主機上,第一台虛拟主機實作wordpress,第二台主機實作phpMyAdmin和其https功能;

  編譯httpd在172.16.72.4主機上:

     yum install pcre-devel zlib-devel openssldevel apr-devel apr-util-devel 

    在httpd中的/etc/httpd24/extra/httpd-vhosts.conf中

    wordpress相關配置檔案

    phpMyAdmin相關配置在/etc/httpd24/httpd.ssl.conf

   編譯php-fpm在172.16.72.5主機上,該主機上已經編譯了httpd,mariadb,編譯方式如上;

   修改編譯後的php-fpm的主配置檔案,讓其能夠接收到172.16.72.4主機上發過來的httpd請求;

   在/etc/php56.d/php-fpm.conf中

   監聽172.16.72.4主機發來的請求:

   測試172.16.72.4主機是否能通路到172.16.72.5主機中的index.php

   172.16.72.5中:

   測試結果:

   編譯Mariadb在172.16.72.9主機上:

   編譯方法如上;

   編譯成功後建立wordpress的資料庫,以及使用該資料庫的使用者和密碼,使用者的權限;

   在172.16.72.5主機上導入wordpress安裝包,修改其配置檔案

     cp wp-config-sample.php wp-config.php

   修改wp-config.php

    将MySQL主機指向172.16.72.9主機中的mariadb;

   到此wordpress配置結束;

   重載三個主機的相關配置;

   通路wordpress進行安裝:

   www.wujunqi.com/wordpress/index.php

  設定https的phpMyAdmin

  将phpMyAdmin導入172.16.72.5主機中

  之前已經在httpd的172.16.72.4主機中的httpd-ssl.conf中設定https相關代碼;以之前從私人CA,即172.16.72.9主機上擷取的請求證書,将其導入浏覽器中;直接通路即可;

  谷歌浏覽器中的證書導入:

  直接通路即可:

   本文轉自 wujunqi1996 51CTO部落格,原文連結:http://blog.51cto.com/12480612/1965834