Apache服務

(1) 安裝Apache

  <1> 下載Apache源碼文件

    wget  http://mirror.bit.edu.cn/apache//httpd/httpd-2.2.34.tar.gz

    註釋:

               如果提示-bash: wget : command  not found  請安裝 yum install wget


(2) 解壓httpd文件

   <1> 下載的壓縮文件,默認存放在Linux的根目錄下

   <2> tar -xzf   解壓tar.gz的文件       tar -xjf   解壓tar.bz2的文件


(3) ./configure(預編譯)

  <1> 進入Apache安裝目錄  cd   httpd-2.2.34

  <2>  ./configure --prefix=/usr/local/apache2/ --enable-rewrite  --enable-so  --enable-ssl

 註釋:

        預編譯過程中,如果出現

              configure:error: in `/usr/local/src/httpd-2.2.21/srclib/apr':

              configure:error:              no acceptable C compiler found in $PATH

 解決辦法是安裝 yum  install gcc -y


       預編譯的過程中,如果出現,no SSL-C headers found
configure: error: ...No recognized SSL/TLS toolkit detected

解決辦法是 yum install  openssl-devel   -y

<4> make  (編譯)


<5>  make  install (安裝)



(4) 預編譯時,Apache被安裝在 /usr/local/Apache2目錄下

  <1> Apache的主配置文件

     ①   [root@localhost apache2]# cd conf

      ②  [root@localhost apache2]# cat httpd.conf

   註釋: httpd.conf是Apache的主配置文件


 ★ apache配置文件解析:

    ServerRoot "/usr/local/apache2/"   apache服務的根目錄

    Listen 80  apache監聽的是80端口

    ServerAdmin [email protected] 管理員郵箱

    DocumentRoot "/usr/local/apache2//htdocs" 網站根目錄

     對apache根目錄做的權限設置

    <Directory />
           Options FollowSymLinks
           AllowOverride None
           Order deny,allow
           Deny from all
</Directory>


  對網站根目錄做的權限設置

<Directory "/usr/local/apache2//htdocs">

        Options Indexes FollowSymLinks

         註釋:

                   如果網站根目錄下沒有默認首頁,會把網站根目錄下所有的文件都羅列出來

                   如果沒有Indexes,會報權限被拒絕

        AllowOverride None

        Order allow,deny

        Allow from all      

</Directory>


設置網站的默認首頁

<IfModule dir_module>
    DirectoryIndex index.html
</IfModule>


對.htaccess做的權限設置

<FilesMatch "^\.ht">
    Order allow,deny
    Deny from all
    Satisfy All
</FilesMatch>


ErrorLog "logs/error_log"  錯誤日誌路徑

LogLevel warn  日誌記錄的級別

Include conf/extra/httpd-vhosts.conf  Include文件設置

對ssl的配置

<IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
</IfModule>

   <2> Apache的啓動文件

    ① [root@localhost apache2]# cd bin

  註釋: httpd  apachectl 是apache的啓動文件


(5) Apache監聽的是80端口

 wKioL1nXRFLSNEmbAAB7bmEPVBg208.png-wh_50


(6) Apache發佈網站的根目錄

   /usr/local/apache2/htdocs


(7) 啓動Apache

  ① /usr/local/apache2/bin/apachectl start

  ② /usr/local/apache2/bin/httpd -k start  | graceful (平滑重啓)

  ③

        重啓apache進行檢查 /usr/local/apache2/bin/apachectl -t

        如果出現Syntax ok  表示apache配置沒有錯誤

 註釋:

        Apache啓動遇到的錯誤總結       

apache2: Could not reliably determine the server's fully qualified domain name 解決方法

 在 vim  httpd.conf  配置文件中, 加入ServerName localhost:80


(8) 訪問服務器ip ,查看訪問是否成功


(9) 過濾 http.conf配置文件中的空格和#號

   ① grep -v "#" httpd.conf | grep -v "^$" >> httpd.conf.bak

   ② mv httpd.conf.bak  httpd.conf


(10) 查看Apache進程是否啓動    ps -ef | grep  httpd  


(11) 查看Apache端口是否監聽  netstat -ntl  | grep 80


------------------------------  apache虛擬主機配置-----------------------------------------------


(1) apache虛擬主機就是在一個ip地址上配置了多個域名,我們通過域名來訪問,域名訪問的前提是要進行DNS解析,把ip地址和域名對應起來。操作系統規定,在進行DNS請求以前,先檢查自己的hosts文件中是否有ip地址的映射關係,如果沒有,在像DNS發出解析請求


(2) hosts文件路徑 c:\\windows\System32\drivers\etc


(3) 把ip地址和要解析的域名放到hosts文件中即可實現解析


(4) 配置虛擬主機

   ① 進入虛擬主機配置目錄(httpd-vhosts.conf是虛擬主機配置文件)

      [root@localhost apache2]# cd conf


      [root@localhost conf]# cd extra


      [root@localhost extra]# cat httpd-vhosts.conf


  ② 修改配置文件

  NameVirtualHost *:80  虛擬主機監聽本地網卡的80端口
<VirtualHost *:80>        虛擬主機配置開始
    ServerAdmin [email protected]   管理員郵箱
    DocumentRoot "/usr/local/apache2/htdocs/jf1"  網站發佈的根目錄
    ServerName www.jf1.com      虛擬主機的域名
    ErrorLog "logs/www.jf1.com-error_log"     錯誤日誌的路徑及文件名
    CustomLog "logs/www.jf1.com-access_log" common  日誌的路徑及文件名
</VirtualHost> 虛擬主機配置結束


③ 創建www.jf1.com  和  www.jf2.com的發佈目錄

  mkdir -p /usr/local/apache2/htdocs/jf1     mkdir -p /usr/local/apache2/htdocs/jf2


④ 在2個發佈目錄下,分別創建index.html文件


⑤ 在httpd.conf配置文件中引入httpd-vhosts.conf配置文件

   Include conf/extra/httpd-vhosts.conf


⑥ 重啓網卡,驗證配置結果

  /usr/local/apache2/bin/httpd -k start


--------------------------------- apache虛擬主機企業配置方式------------------------------------


① 在htppd.conf配置文件中,引入 Include conf/vhosts/*


② 創建vhosts目錄  mkdir vhosts


③ 在vhosts目錄下把虛擬主機配置文件拷貝過來


④ 拷貝的虛擬主機配置文件,去掉NameVirtualHost *:80


⑤ 在httpd.conf配置文件中,把NameVirtualHost *:80添加上


⑥ 重啓apache驗證配置結果


註釋:

              虛擬主機被拆分成多個,有利於進行管理,一個虛擬主機出現問題,不會影響到其它虛擬主機的運行


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章