Linux服務管理之httpd-2.4經常使用配置及phpMyAdmin的安裝配置

1、何爲httpdphp

    httpd是Apache超文本傳輸協議(HTTP)服務器的主程序。被設計爲一個獨立運行的後臺進程,它會創建一個處理請求的子進程或線程的池。html

    Apache是世界使用排名第一的Web服務器軟件。它能夠運行在幾乎全部普遍使用的計算機平臺上,因爲其跨平臺和安全性被普遍使用,是最流行的Web服務器端軟件之一。它快速、可靠而且可經過簡單的API擴充,將Perl/Python等解釋器編譯到服務器中。mysql


2、httpd-2.4較httpd-2.2sql

新特性:數據庫

    (1) MPM支持運行DSO機制;以模塊形式按需加載;apache

    (2) 支持event MPM;vim

    (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以上的版本


3、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:錯誤日誌


4、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 host wlw.com
        Require not host 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組合的編譯安裝(httpd 2.4+mysql 5.5+php 5.4)並下載相關的源代碼,下面是個源代碼官網連接。

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

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

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


5、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.conf
IncludeOptional conf.d/VirtualHost/*.conf
#在主配置文件中添加上面語句。而後在/etc/httpd/conf.d/建立VirtualHost來存放個人虛擬主機文件

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

vim /etc/httpd/conf.d/VirtualHost/wlw.com.conf
<VirtualHost 192.168.0.108:80>
    ServerName pma.wlw.com
    DocumentRoot "/var/www/html/phpMyAdmin"
    DirectoryIndex index.php
    <Directory "/var/www/html/phpMyAdmin">
        Options FollowSymLinks
        AllowOverride None
    </Directory>
</VirtualHost>

(4) 修改phpMyAdmin的配置文件和初始化配置

[root@localhost ~]# cd /var/www/html/phpMyAdmin/
[root@localhost phpMyAdmin]# cp config.sample.inc.php config.inc.php
#默認狀況下配置文件爲重命名的,因此咱們把名字改會phpmyadmin識別的配置文件config.inc.php
[root@localhost phpMyAdmin]# tr -dc A-Za-z0-9_</dev/urandom | head -c 30 | xargs
BrsXH6_YnXbm1pDazDYOsHzQv2WnD1
#由於在配置文件中等一下要用到隨機數,咱們使用此命令先生成一個隨機數
[root@localhost phpMyAdmin]# vim config.inc.php 
$cfg['blowfish_secret'] = 'BrsXH6_YnXbm1pDazDYOsHzQv2WnD1'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
#將隨機數填入便可,其餘暫時保持默認
[root@localhost phpMyAdmin]# mysql
MariaDB [(none)]> SET PASSWORD FOR 'root'@'127.0.0.1'=PASSWORD('wlw');
MariaDB [(none)]> SET PASSWORD FOR 'root'@'localhost'=PASSWORD('wlw');
FLUSH PRIVILEGES;
#默認安裝完的mysql,默認是沒有密碼的,若是建議爲配置數據庫密碼

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

wKiom1X_NWOSHK2oAAHHHpC7aqE029.jpg

    打開後發現登陸框沒有了。千萬不要有奔潰的心,其實IT不少東西都是這樣,你照着別人作,別人成功了,你失敗了。並且仍是各類緣由的失敗。幸福的家庭老是類似的,不幸的家庭各有各的不幸。其實這些問題大多數在谷歌都能找到解決方法。因此。不要谷歌走起。

[root@localhost 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去掉便可。

wKioL1X_Oc-g2S5_AAIk-QxKZCg200.jpg


輸入帳號密碼,登陸成功,爲了安全,建議root管理員不要容許遠程登陸,由於管理員權限之大,是很危險的。這裏咱們還能夠基於用戶的訪問控制的basic認證添加多一層認證。Linux服務管理之httpd-2.2經常使用配置文件 ,中有詳細配置,能夠參考,這裏不作詳細說明


wKioL1X_PPfjUIlBAAPQ1p80SkA104.jpg



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

wKioL1X_PZSjC-ZBAARXcQBt-mU100.jpg

相關文章
相關標籤/搜索