Linux服務管理之httpd-2.4常用配置及phpMyAdmin、wordpress、Discuz安裝

來源:互聯網
上載者:User

標籤:wordpress   電腦   虛擬機器主機   伺服器   解譯器   

一、何為httpd

    httpd是Apache超文字傳輸通訊協定 (HTTP)(HTTP)伺服器的主程式。被設計為一個獨立啟動並執行後台進程,它會建立一個處理請求的子進程或線程的池。

    Apache是世界使用排名第一的Web伺服器軟體。它可以運行在幾乎所有廣泛使用的電腦平台上,由於其跨平台和安全性被廣泛使用,是最流行的Web伺服器端軟體之一。它快速、可靠並且可通過簡單的API擴充,將Perl/Python等解譯器編譯到伺服器中。


二、httpd-2.4較httpd-2.2

新特性:

    (1) MPM支援運行DSO機制;以模組形式按需載入;

    (2) 支援event MPM;

    (3) 支援非同步讀寫;

    (4) 支援每模組及每個目錄分別使用各自的記錄層級;

    (5) 每請求配置;<If>

    (6) 增強版的運算式分析器;

    (7) 支援毫秒級的keepalive timeout;

    (8) 基於FQDN的虛擬機器主機不再需要NameVirtualHost指令;

    (9) 支援使用者自訂變數

    (10)不再支援使用Order, Deny, Allow來做基於IP的存取控制機制

新增的模組:

    (1) mod_proxy_fcgi:  支援用fastcgi的方式串連後端的php

    (2) mode_ratelimit:  速率限定,限制使用者訪問時傳輸的速率

    (3) mod_request:  對使用者請求做更強的過濾功能

    (4) mod_remoteip: 對使用者訪問的IP地址有更強的控制能力

apache portable runtime(Apache可移植運行庫):

    (1) httpd-2.4需求apr-1.4以上的版本

    (2) httpd-2.4需求apr-util-1.4以上的版本


三、httpd-2.4的設定檔

    主設定檔:

        /etc/httpd/conf/httpd.conf

    服務指令碼:

        /usr/lib/systemd/system/httpd.service

    模組設定檔:

        /etc/httpd/conf.modules.d/*.conf

    輔助設定檔:

        /etc/httpd/conf.d/*.conf

     記錄檔目錄:

        /var/log/httpd

            access_log: 訪問日誌

            error_log:錯誤記錄檔


四、httpd-2.4的常用配置

①、切換使用MPM

vim /etc/httpd/conf.modules.d/00-mpm.conf LoadModule mpm_prefork_module modules/mod_mpm_prefork.so#LoadModule mpm_worker_module modules/mod_mpm_worker.so#LoadModule mpm_event_module modules/mod_mpm_event.so#httpd2.4把對應的功能的設定檔模組化管理。這樣既簡潔又方便。需要使用那個MPM直接開啟對應的即可


②、基於IP的存取控制法則(不再支援使用Order, Deny, Allow來做基於IP的存取控制機制)

        允許所有主機訪問:Require all granted

        拒絕所有主機訪問:Require all denied

<Directory />    AllowOverride none    Require all denied#   Require all granted</Directory>


    控制特定IP訪問:

        Require ip IPADDR:授權指定來源地址的主機訪問

        Require not ip IPADDR:拒絕指定來源地址的主機訪問

            IPADDR:(1)IP: 192.168.0.113,(2) Network: 172.16.0.0/16

<Directory />    <RequireAll>        Require all granted        Require not ip 192.168.0.113        Require not ip 192.168.1.0/24    </RequireAll></Directory>#這個需要特別注意,在控制特定的IP或主機時候。如果定義了Require not ip/host的時候需要用<RequireAll>Require not ip/host</RequireAll>標籤,不然會報錯。



    控制特定主機(HOSTNAME)訪問

        Require host HOSTNAME

        Require not host HOSTNAME

            HOSTNAME:(1)FQDN: 特定主機,(2)DOMAIN:指定域內的所有主機

<Directory />    <RequireAll>        Require all granted        Require not ip wlw.com        Require not ip www.wlwtest.com    </RequireAll></Directory>


④、虛擬機器主機

    基於IP、Port和FQDN都支援;基於FQDN的不再需要NameVirtualHost指令;

    為了以後的擴充和模組化管理,我們可以在/etc/httpd/conf.d/建立一個VirtualHost目錄,當然,目錄名你可以自己起,我這裡建立一個VirtualHost以後再裡面建立一個又一個單獨的虛擬機器主機,命令為host.conf。然後在/etc/httpd/conf/httpd.conf中添加IncludeOptional conf.d/VirtualHost/*.conf。然後重啟伺服器。這樣的話就可以每個虛擬機器主機建立一個設定檔,以後需要刪除某個虛擬機器主機直接改名或刪除即可。這個在以後的自動化營運有很好的作用。


⑤、啟用模組:

LoadModule ssl_module modules/mod_ssl.so#LoadModule asis_module modules/mod_asis.so#需要開啟某個模組只需要把注釋的#號去掉然後重新載入設定檔即可。這裡我們可以看到,模組路徑使用的是相對路徑,#相對於ServerRoot(/etc/httpd)指向的路徑而言。


這裡只列出有別與httpd-2.2的一些設定項目,其他的配置基本與httpd-2.2一樣,如果需要跟多的詳細配置,可以查看另一篇部落格:Linux服務管理之httpd-2.2常用設定檔

    接下來我們開始安裝phpMyAdmin、wordpress、Discuz,因為上面的程式包都是基於lamp環境啟動並執行。所以請自行搭建好lamp環境。並下載相關的原始碼,下面是個原始碼官網連結,後續會在此連結搭建lamp環境的相關部落格。

phpMyAdmin: http://www.phpmyadmin.net/

wordpress : https://cn.wordpress.org/

Discuz    : http://www.discuz.net/forum-10-1.html


五、phpMyAdmin的安裝

①、phpMyAdmin簡介

    phpMyAdmin 是一個以PHP為基礎,以Web-Base方式架構在網站主機上的MySQL的資料庫管理工具,讓管理者可用Web介面管理MySQL資料庫。藉由此Web介面可以成為一個簡易方式輸入繁雜SQL文法的較佳途徑,尤其要處理大量資料的匯入及匯出更為方便。其中一個更大的優勢在於由於phpMyAdmin跟其他PHP程式一樣在網頁伺服器上執行,但是您可以在任何地方使用這些程式產生的HTML頁面,也就是於遠端管理MySQL資料庫,方便的建立、修改、刪除資料庫及資料表。也可藉由phpMyAdmin建立常用的php文法,方便編寫網頁時所需要的sql文法正確性。

②、phpMyAdmin的搭建

(1) 因為使用虛擬機器主機,所以注釋主設定檔中的#DocumentRoot

#DocumentRoot "/var/www/html"

(2) 為了模組化管理,我這裡使用獨立的目錄來存放虛擬機器主機的配置

vim /etc/httpd/conf/httpd.confIncludeOptional conf.d/VirtualHost/*.conf#在主設定檔中添加上面語句。然後在/etc/httpd/conf.d/建立VirtualHost來存放我的虛擬機器主機檔案

(3) 建立並配置虛擬機器主機,並把代碼copy到對應的虛擬機器主機目錄中

vim /etc/httpd/conf.d/VirtualHost/wlw.com.confServerName pma.wlw.comDocumentRoot "/var/www/html/phpMyAdmin"DirectoryIndex index.php<Directory "/var/www/html/phpMyAdmin">    Options FollowSymLinks    AllowOverride None</Directory>

(4) 修改phpMyAdmin的設定檔和初始化配置

[[email protected] ~]# cd /var/www/html/phpMyAdmin/[[email protected] phpMyAdmin]# cp config.sample.inc.php config.inc.php#預設情況下設定檔為重新命名的,所以我們把名字改會phpmyadmin識別的設定檔config.inc.php[[email protected] phpMyAdmin]# tr -dc A-Za-z0-9_</dev/urandom | head -c 30 | xargsBrsXH6_YnXbm1pDazDYOsHzQv2WnD1#因為在設定檔中等一下要用到隨機數,我們使用此命令先產生一個隨機數[[email protected] phpMyAdmin]# vim config.inc.php $cfg[‘blowfish_secret‘] = ‘BrsXH6_YnXbm1pDazDYOsHzQv2WnD1‘; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */#將隨機數填入即可,其他暫時保持預設[[email protected] phpMyAdmin]# mysqlMariaDB [(none)]> SET PASSWORD FOR ‘root‘@‘127.0.0.1‘=PASSWORD(‘wlw‘);MariaDB [(none)]> SET PASSWORD FOR ‘root‘@‘localhost‘=PASSWORD(‘wlwsldya‘);FLUSH PRIVILEGES;#預設安裝完的mysql,預設是沒有密碼的,如果建議為設定資料庫密碼

(5) 萬事俱備只欠東風,現在我們在瀏覽器中輸入http://pma.wlw.com/測試

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/73/7A/wKiom1X_NWOSHK2oAAHHHpC7aqE029.jpg" title="QQ20150921063654.png" alt="wKiom1X_NWOSHK2oAAHHHpC7aqE029.jpg" />

    開啟後發現登入框沒有了。千萬不要有奔潰的心,其實IT很多東西都是這樣,你照著別人做,別人成功了,你失敗了。而且還是各種原因的失敗。幸福的家庭總是相似的,不幸的家庭各有各的不幸。其實這些問題大多數在Google都能找到解決方案。所以。不要Google走起。

[[email protected] phpMyAdmin]# vim libraries/plugins/auth/AuthenticationCookie.class.php  <!-- Login form -->    <form method="post" action="index.php" name="login_form"‘ . $autocomplete .            ‘ class="disableAjax login hide js-show">#開啟此設定檔後把hide去掉即可。

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/73/77/wKioL1X_Oc-g2S5_AAIk-QxKZCg200.jpg" title="111.png" alt="wKioL1X_Oc-g2S5_AAIk-QxKZCg200.jpg" />


輸入帳號密碼,登入成功,為了安全,建議root管理員不要允許遠程登入,因為管理員權限之大,是很危險的。這裡我們還可以基於使用者的存取控制的basic認證添加多一層認證。Linux服務管理之httpd-2.2常用設定檔 ,中有詳細配置,可以參考,這裡不做詳細說明


650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/73/77/wKioL1X_PPfjUIlBAAPQ1p80SkA104.jpg" title="111.png" alt="wKioL1X_PPfjUIlBAAPQ1p80SkA104.jpg" />



雙重認證後我們進入了phpMyAdmin,雖然有雙重認證,但是重要事情說三遍,root管理員不建議開啟遠程。

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/73/77/wKioL1X_PZSjC-ZBAARXcQBt-mU100.jpg" title="111.png" alt="wKioL1X_PZSjC-ZBAARXcQBt-mU100.jpg" />



本文出自 “馬爾高” 部落格,請務必保留此出處http://kgdbfmwfn.blog.51cto.com/5062471/1696616

Linux服務管理之httpd-2.4常用配置及phpMyAdmin、wordpress、Discuz安裝

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.