1. 程式人生 > >apache的基本使用

apache的基本使用

一、認識apache

       apache企業中常用的web服務,也是世界上使用排名第一的web伺服器,用來提供http://(超文字傳輸協議)。

二、apache的安裝部署

        1、yum install httpd -y   :下載並安裝apache伺服器(在linux系統的映象中有安裝包)

              

              

2、systemctl start httpd :開啟http服務

3、為了方便使用,需要將其設定為開機自動啟動:systemctl enable httpd

4、如果其他主機通過apache訪問時,需要關掉防火牆:systemctl stop firewalld

5、安裝部署好後即可使用:在瀏覽器中輸入http://主機id進行訪問

6、apache有手冊可以使用,需要自行下載:yum install httpd-manual

7、手冊也可以通過apache訪問,但如果該手冊的檔案不在/var/www/html下就不能被訪問,此時需要將其放置該目錄下

訪問:http://主機ip/manual

三、apache基本資訊

1、主配置目錄:/etc/httpd/conf
2、主配置檔案:/etc/httpd/conf/httpd.conf
3、子配置目錄:/etc/httpd/conf.d
4、子配置目錄:/etc/httpd/conf.d/*.conf    ##*表示所有##
5、預設釋出目錄:/var/www/html

6、預設釋出檔案:index.html ##在被訪問時,若未指定訪問位置,則預設訪問該檔案內容

如:先建立一個index.html檔案 :vim /var/www/html/index.html


然後再通過http訪問該主機時就會讀取該檔案的內容

7、預設埠:80
8、預設安全上下文:httpd_sys_content_t
9、程式開啟預設使用者:apache
10、apache
日誌:/etc/httpd/logs/*

四、apache基本資訊的更改

1、修改預設埠:在主配置檔案/etc/httpd/conf/httpd.conf中更改

預設為80,可以直接修改為隨意正常埠,如8080。修改後需要重啟服務才能生效

   

  更改後在訪問時必須在地址後加上“:8080”,否則無法訪問

   

        加上8080以後便可以訪問!!!

             

    注意:更改實驗後建議重新更改回去,便於使用!!!

2、修改預設釋出檔案

              apache的預設檔案可以有多個,需要在主配置檔案中增加!!

              

       注意:預設檔案的訪問順序為從前到後,如果前面的檔案沒有,則訪問後面的檔案

     測試:先建立一個test.html檔案並輸入內容

             

      然後刪除原有的index.html檔案再訪問該主機

            

            

          如上圖,沒有index.html檔案時訪問test.html檔案!!!!

3、修改預設釋出目錄

              在主配置檔案中可修改預設釋出目錄

              

             將預設釋出目錄修改為/www/html,其中Directory模組是賦予新的釋出目錄的許可權!!

             注意:修改的釋出目錄必須系統存在,如果不存在需要手動建立,否則訪問不到!!

              測試:在釋出目錄下建立一個釋出檔案並輸入內容,然後用瀏覽器訪問測試

              

      

             

    注意:在測試完成後,為了在以後的使用中不出錯,需要將設定恢復!!!

    注意:在修改後如果無法訪問時,需要將目錄的安全上下文進行修改

                       semanage fcontext -a -t httpd_sys_content_t'/www(/.*)?'

                       restorecon -RevvF /www/

                       如果selinux中設定為disabled,則無需進行安全上下文的設定

            注意:所有對配置檔案的更改操作後,需要重新啟動服務才能生效!!!!!

四、apache站點的建立

       1、先建立各站點的預設釋出目錄

              

2、然後在子配置目錄中建立各站點的配置檔案:檔案必須以.conf結尾!!!

              未指定訪問站點時的配置檔案:vim adfault.conf

              

              

             內容解釋:

 <VirtualHost _default_:80>    ##名稱及訪問介面
         DocumentRoot"/var/www/html"   ##預設釋出目錄   
          CustomLog   "logs/www.westos.com.log"combined##報錯檔案,combined表示四種報錯級別
</VirtualHost> 

           指定站點linux.westos.com的配置檔案:vim linux.conf

    

            

           ServerName表示站點名稱,Directory模組為設定許可權!!

           指定站點c.westos.com的配置檔案:vim c.conf

            

    

   注:內容和linux的配置檔案內容幾乎相同,在建立時可以先複製再更改名稱即可!!

3、在各站點的釋出目錄下建立釋出檔案

              

      

      

      

4、測試:

              測試前需要在測試主機上設定站點的本地解析:vim /etc/hosts

              

            

              訪問www.westos.com時應該訪問/var/www/html下的釋出檔案

               

      訪問linux.westos.com時應該訪問/var/www/virtual/linux.westos.com/html下的釋出檔案

               

      訪問c.westos.com時應該訪問/var/www/virtual/c.westos.com/html下的釋出檔案

       

五、apache的訪問控制

1、針對於主機的訪問:在配置檔案中寫入控制模組,允許訪問和不允許訪問的主機均可以設定!!

               

       

              模組解釋: 

             <Directory "/var/www/html/test">      ##被控制的目錄
                        Order allow,deny                    #
讀取的順序#
                        Allow from 172.25.20.250                          #
允許誰訪問
                        Deny from all    #不允許誰訪問    

            </Directory>

           注意:系統在讀取檔案時,Order後的順序決定了讀取順序,先讀取的內容會被後讀取的內容中相同的內容覆蓋掉!!

           按上圖設定,後讀取的Deny內容為全部主機,則會將先讀取的allow中的172.25.20.250主機覆蓋掉,則該主機不能訪問,如下:

              

 如果改變了讀取順序,先讀Deny,後讀Allow則可以訪問:

             

             

2、以使用者的方式訪問的控制

             先建立使用者的目錄

             

     建立使用者的密碼檔案:htpasswd -cm /etc/httpd/userpass admin

             

             新增新的使用者密碼檔案:htpasswd -m /etc/httpd/userpass admin1

              

     注意:在新新增時,命令的引數中不能有“c”,否則會將之前建立的內容全部覆蓋

      

     在配置檔案中寫入模組進行設定,與apache聯絡起來

               

              模組內容解釋:

      <Directory "/var/www/html/admin">   #管理的檔案目錄
                        AuthUserFile /etc/httpd/userpass       #
密碼檔案
                           AuthName "Please input your nameand passwd"  #
訪問時的提示語
                           AuthType basic    #
最基本的驗證方式
                          #Require user admin   #
只允許admin使用者通過驗證進行訪問
                          Require valid-user    #
允許所有有效使用者通過驗證後進行訪問
              </Directory>

             測試:只允許admin2使用者進行訪問:

       

       

       

   

         允許所有使用者進行訪問:

          

 

 

六、apache支援的語言

1、html語言,之前apache的預設釋出檔案就是html語言的指令碼,所有在此不進行驗證!!

2、php語言

      在使用php語言的指令碼作為釋出檔案時,需要先下載php服務:yum install php -y

               

      編輯php語言指令碼放在/var/www/html目錄下:

                

                 

        此內容為php語言;用http可以訪問該檔案並顯示語句的輸出

                

3、cgi語言

              先建立一個cgi語言指令碼的目錄:mkdir /var/www/html/cgi 

              

      用cgi語言編輯一個指令碼檔案

              

     內容表示動態顯示系統當前的時間,此指令碼應該放在/var/www/html/cgi目錄下

              

    需要給指令碼加上執行許可權才能執行:chmod +x /var/www/html/cgi/index.cgi

    然後再執行一下檢測指令碼是否正確:

            

    然後在配置檔案中寫入該模組:

    

            

     確保該檔案可以被訪問到,該模組的內容可以在apache手冊中檢視

              

      此時可用http訪問cgi指令碼:

             

七、https

        https是使用者在通過http訪問時資料不會被破解,簡單來說就是http的安全版。

        httos的預設訪問埠為443

        部署https:

         yum install mod_ssl -y :生成443埠以及https服務

         

yum install crypto-utils -y :生成產生加密證書的命令

安裝完成後即可執行產生證書的命令:genkey 網站名稱

         執行後會產生如下介面進行生成:

         

        畫圈部分分別為加密的key和加密證書的檔案及其位置,用tab鍵選擇Next進行下一步

        

       此步為選擇key檔案的大小,建議選擇1024適中,太大速度較慢!!然後選擇Next下一步

       

此步為收集資料,速度較慢,此時需要開啟一個新的shell並在shell命令列隨機輸入內容,速度會迅速加快!!

         

該步驟為是否向CA機構傳送,選擇NO,不傳送!!!!

         

建議不寫入內容,直接選擇Next進行下一步,否則會很慢!!!

填寫網站的基本資訊,依次為國家、省份、所在城市、公司名稱!!

         Next即可建立成功!!!

 建立成功後,系統會顯示https的基本資訊

         

https的配置檔案會自動在/var/httpd/conf.d/下生成,為ssl.conf檔案

        vim /etc/httpd/conf.d/ssl.conf

       此為https的服務埠

        

此為https的密碼證書檔案和key檔案!!

證書和key生成後,即可在瀏覽器中通過https訪問該主機

         

    如上,第一次訪問時需要下載安全證書才能進行訪問,選擇I Understand the Risks

               

選擇Add Exception進行新增

                        

先點選Get Certificate再點選Confirm即可進入

                        

點選這個小鎖子可以檢視證書

                        

                        點選View

                        

八、設定https虛擬主機

        1、建立虛擬主機發布目錄及檔案

              

      

2、建立虛擬主機的配置檔案

              

其中:

               

這三行內容可以在ssl.conf檔案中找到,可以直接複製過來!!表示服務開啟!!!

 設定好配置檔案後需要重啟網路才能生效!!

                 

然後用https訪問該虛擬主機,測試搭建是否成功

介面表示可以訪問到,下載證書即可檢視到釋出檔案的內容

為了使使用者用http訪問時自動轉換成https訪問,需要在配置檔案中寫入轉換模組,即將80埠訪問該主機轉化為443埠訪問!!

                

      第12至16行為轉化模組。

                      第15行語句含義:

                      

 重啟服務才能生效

                  

測試:用http訪問該站點,自動轉換為https訪問: