CentOS 7.4搭建Apache網站服務

博文目錄
1、Apache是什麼?
一、Apache的起源
二、Apache的主要特色
2、Apache的主要版本
3、安裝httpd服務器
一、掛載光盤
二、源碼編譯及安裝
三、Apache全局配置項
四、安裝DNS域名解析服務html

1、Apache是什麼?

Apache HTTP Server是普遍應用的Web應用系統之一,要運用好它,必須先了解它的特色及其編譯安裝過程。apache

Apache HTTP Server是來源軟件項目的傑出表明,基於標準的HTTP網絡協議提供網頁瀏覽服務,在Web服務器領域中長期保持着超過半數的份額。Apache服務器能夠運行在Linux、UNIX、Windows等多種操做系統平臺中。編程

一、Apache的起源

Apache服務器是針對以前出現的若干個Web服務器程序進行整合、完善後造成的軟件,其名稱來源於「A Patchy Server」,意思是「基於原有Web服務程序的代碼進行修改(補丁)後造成的服務器程序」。
Apache是由ASF負責管理和維護的,ASF是非營利性質的組織,最初只負責「Apache Web」服務器項目的管理,隨着Web應用需求的不斷擴大,ASF逐漸增長了許多與Web技術相關的開源軟件項目。所以,Apache如今不只表明着Web服務器,並且更普遍地表明着ASF管理的衆多開源軟件項目。ASF的官方網站是ASF官方網站
「Apache HTTP Server」是ASF旗下著名的軟件項目之一,其正式名稱是「Httpd」,也就是歷史上的Apache網站服務器。vim

二、Apache的主要特色

Apache服務器在功能、性能和安全性等方面的表現都是比較突出的,能夠較好地知足Web服務器用戶的應用需求。其主要特色包括如下幾方面:
開放源代碼:這是Apache服務器的重要特性之一,也是其餘特性的基礎。centos

  • 跨平臺應用:這個特性得益於Apache的源代碼開放。Apache服務器能夠運行在絕大多數軟硬件上,因此UNIX操做系統均可以運行Apache服務器,還能夠運行在大多數Windows系統平臺中。瀏覽器

  • 支持各類Web編程語言:Apache服務器可支持的網頁編程語言包括Perl、PHP、Python、Java等,甚至微軟的ASP技術也能夠在Apache服務器中使用。安全

  • 模塊化設計:Apache並無將全部的功能集中在單一的服務程序內部,而是儘量地經過標準的模塊實現專有的功能,這爲Apache服務器帶來了良好的擴展性。服務器

  • 運行很是穩定:Apache服務器可用於構建具備大負載訪問量的Web站點,不少知名的企業網站都使用Apache做爲Web服務軟件。網絡

  • 良好的安全性:Apache服務器具備相對較好的安全性,這是開源軟件共同具備的特性。而且,Apache的維護團隊會及時對已發現的漏洞提供修補程序,爲Apache的全部使用者提供儘量安全的服務器程序。

2、Apache的主要版本

Apache服務器目前包括1.x和2.x兩個版本,而且對其分別進行維護。兩個版本具備必定的差別,也具備各自的特性。tcp

  • 1.x系列的最高版本是1.3,該版本繼承了Apache服務器1.0版本以來的優秀特性和配置管理風格,具備很是好的兼容性、穩定性。

  • 從2.0版開始,Apache服務器加入了許多新的功能,使用的配置語法和管理風格也有所改變。

3、安裝httpd服務器

ISO提取位置:https://pan.baidu.com/s/1Cuy1NrdpQrnQkVZEmECS3g
提取碼:b6qd

此環境若是有不明白的能夠參考博文:製做Centos 7.4操做系統模板機

一、掛載光盤

CentOS 7.4搭建Apache網站服務

開啓虛擬機
CentOS 7.4搭建Apache網站服務

配置IP地址

[root@centos01 ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens32   <!--編輯網卡-->
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static  
DEFROUTE=yes    
NAME=ens32
DEVICE=ens32
ONBOOT=yes
IPADDR=192.168.100.10    <!--配置爲100.10-->
NATEMASK=255.255.255.0    <!--子網掩碼-->

二、源碼編譯及安裝

源碼編譯安裝httpd服務的過程主要包含解包、配置、編輯及安裝。

[root@centos01 mnt]# mount /dev/cdrom /mnt/   <!--掛載光盤 -->
[root@centos01 mnt]# cd /mnt/   <!--進入mnt目錄-->
[root@centos01 mnt]# cp httpd-2.2.17.tar.gz /usr/src/     <!--備份httpd到/usr/src/ -->
[root@centos01 mnt]# tar zxvf httpd-2.2.17.tar.gz -C /usr/src/ <!--解壓縮httpd到/usr/src/-->
[root@centos01 httpd-2.2.17]# ./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi      <!--配置Apache-->

上述配置命令中,各選項的含義以下:

  • --prefix:指定將httpd服務程序安裝到那個目錄下,如/usr/local/httpd。
  • --enable-so:啓用動態加載模塊支持,使用httpd具有進一步擴展功能的能力。
  • --enable-rewrite:啓用網頁地址重寫功能,用於網站優化及目錄遷移維護。
  • --enable-charset-lite:啓動字符集支持,以便支持使用各類字符集編碼的網頁。
  • --enable-cgi:啓用CGI腳本程序支持,便於擴展網站的應用訪問能力。
[root@centos01 httpd-2.2.17]# make        <!--編譯Apache-->
[root@centos01 httpd-2.2.17]# make install      <!--安裝Apache-->
[root@centos01 ~]# ls /usr/local/httpd/       <!--確認安裝結果-->
bin  build  cgi-bin  conf  error  htdocs  icons  include  lib  logs  man  manual  modules

在安裝後的/usr/local/httpd目錄下,主要子目錄的用途以下:

  • /usr/local/httpd/bin:存放httpd服務的各類執行程序文件,包括主程序httpd、服務控制工具apachectl等。
  • /usr/local/httpd/cgi-bin:存放各類CGI程序文件。
  • /usr/local/httpd/logs:存放httpd服務的日誌文件。
  • /usr/local/httpd/conf:存放httpd服務的各類配置文件,包括主配置文件httpd.conf、加強配置子目錄extra等。
  • /usr/local/httpd/htdocs:存放網頁文檔,包括默認首頁文件index.html等。
  • /usr/local/httpd/modules:存放httpd服務的各類模塊文件。
[root@centos01 ~]# ln -s /usr/local/httpd/bin/* /usr/local/bin/       <!--優化執行路徑-->
[root@centos01 ~]# cp /usr/local/httpd/bin/apachectl  /etc/init.d/httpd<!--添加Apache系統服務-->
[root@centos01 ~]# chmod +x /etc/init.d/httpd         <!--/etc/init.d/httpd添加執行權限-->
[root@centos01 ~]# vim /etc/init.d/httpd       <!--修改Apache服務-->
#!/bin/sh             
#chkconfig: 35 85 21 <!--服務識別參數,在級別三、5中啓動;啓動和關閉的順序分別爲8五、21-->
#description:apache server       <!--服務描述信息-->
......             <!--省略部份內容-->
[root@centos01 ~]# chkconfig --add httpd   <!--將httpd添加系統服務-->
[root@centos01 ~]# systemctl start httpd    <!--啓動httpd服務-->
[root@centos01 ~]# systemctl enable httpd <!--設置httpd服務開機自啓-->
httpd.service is not a native service, redirecting to /sbin/chkconfig. 
Executing /sbin/chkconfig httpd on 
[root@centos01 ~]# systemctl is-enabled httpd.service <!--查看httpd服務開機自動啓動狀態-->
[root@centos01 ~]# apachectl -t            <!--檢查apache服務配置文件是否有錯誤-->
[root@centos01 ~]# netstat -anptu | grep 80           <!--監聽80端口號查看是否正常監聽-->
tcp        0      0 127.0.0.1:25            0.0.0.0:*        LISTEN     980/master         
tcp6       0      0 :::80                   :::*            LISTEN      54014/httpd         
tcp6       0      0 ::1:25                  :::*            LISTEN      980/master

Apache服務搭建完成,如今開啓一臺客戶端設置同一塊網卡同網段用瀏覽器進行訪問

開啓客戶端(網卡設置和Centos同一塊網卡)
CentOS 7.4搭建Apache網站服務

客戶端設置IP地址
CentOS 7.4搭建Apache網站服務

打開瀏覽器訪問http://192.168.100.10
CentOS 7.4搭建Apache網站服務

修改網站主頁內容
[root@centos01 ~]# vim /usr/local/httpd/htdocs/index.html <!--修改網頁首頁內容-->
<html><body><h1>www.bdqn.com</h1></body></html>

客戶端從新訪問
CentOS 7.4搭建Apache網站服務

三、Apache全局配置項

CentOS 7.4搭建Apache網站服務
在上述設置行中,各全局配置項的含義以下:

  • ServerRoot:設置httpd服務器的根目錄,該目錄下包括了容許Web站點必需的子目錄和文件。默認狀況下,httpd服務器的根目錄爲httpd的安裝目錄。默認的根目錄爲/usr/local/httpd,與編譯安裝時所指定的httpd安裝目錄相同。在httpd.conf配置文件中,若是指定目錄或文件位置時不使用絕對路徑,則該目錄或文件位置都認爲是在服務器的根目錄下。
  • Listen:設置httpd服務器監聽的網絡端口號,默認爲80。
  • User:設置運行httpd進程時的用戶身份,默認爲daemon。
  • Group:設置運行httpd進程時的組身份,默認爲daemon。
  • ServerAdmin:設置httpd服務器的管理員E-mail地址,能夠經過此E-mail地址及時聯繫Web站點的管理員。
  • ServerName:設置Web站點的完整主機名(主機名+域名)。
  • DocumentRoot:設置網站根目錄,即網頁文檔在系統中的實際存放路徑。
  • Directoryindex:設置網站的默認索引頁(首頁),能夠設置多個首頁文件,以空格分開,默認的首頁文件爲index.html。
  • ErrorLog:設置錯誤日誌文件的路徑,默認路徑爲logs/error_log。
  • LogLevel:設置記錄日誌的級別,默認級別爲warn(警告)。
  • GustomLog:設置訪問日誌文件的路徑、日誌類型,默認路徑爲logs/access_log,使用的類型爲common(通用格式)。
  • PidFile:設置用於保存httpd進程號(PID)的文件,默認保持地址爲logs/httpd.pid,logs目錄位於Apache的服務器根目錄下。
  • AddDefaultCharset:設置站點中的網頁默認使用的字符集編碼,如utf-8,gb2312等。
  • Include:包含另外一個配置文件的內容,能夠實現將一些特殊功能的配置放到一個單獨的文件中,再使用Include配置項將其包含到httpd.conf文件中,這樣便於獨立進行配置功能的維護而不影響主配置文件。

以上配置項是httpd.conf文件中主要的全局配置項。

四、安裝DNS域名解析服務

[root@centos01 ~]# umount /mnt/          <!--卸載光盤-->

切換光盤
CentOS 7.4搭建Apache網站服務

[root@centos01 ~]# mount /dev/cdrom /mnt/         <!--掛載光盤-->
[root@centos01 ~]# mkdir /etc/yum.repos.d/bak/          <!--在yum根目錄下建立一個bak目錄-->
[root@centos01 ~]# mv /etc/yum.repos.d/CentOS-* /etc/yum.repos.d/bak/     
       <!--將yum目錄裏以Centos開頭的文件剪切到bak目錄-->
[root@centos01 ~]# rm -rf /etc/yum.repos.d/Centos-*       <!--刪除以Centos開頭的因此文件-->
[root@centos01 ~]# yum -y install bind bind-chroot<!--安裝DNS-->
[root@centos01 ~]# cp /etc/named.conf /etc/named.conf.bak        <!--備份DNS主配置文件-->
[root@centos01 ~]# vim /etc/named.conf   <!--編輯主配置文件-->
options {                      <!--全局配置文件-->
        listen-on port 53 { 192.168.100.10; };   <!--53號端口監聽IP地址-->
        directory "/var/named";                   <!--區域配置文件位置-->
        allow-query { 192.168.100.0/24; };  <!--容許100.0網段使用DNS-->
};
zone "bdqn.com" IN     {      <!--正向解析區域名字爲bdqn.com-->
        type master;                  <!--主DNS服務器-->
        file "bdqn.com.zone";        <!--正向解析區域配置文件名字-->
};
[root@centos01 ~]# named-checkconf -z /etc/named.conf            <!--檢查DNS主配置文件是否錯誤-->
[root@centos01 ~]# vim /var/named/bdqn.com.zone  <!--編輯正向解析區域配置文件-->
$TTL            86400             <!--解析資源記錄有效時間24小時-->
@               SOA               bdqn.com.      root.bdqn.com (       <!--域名爲bdqn.com-->
                2019081610              <!--更新序列號-->
                1H                             <!--刷新時間1小時-->
                15M                           <!--重試時間15分鐘-->
                1W                            <!--失效時間爲1周-->
                1D                             <!--無效解析記錄保持時間1天-->
)
@               NS      centos01.bdqn.com.        <!--權威服務器是DNS的徹底合格域名-->
centos01        A       192.168.100.10      
www             A       192.168.100.10
[root@centos01 ~]# named-checkzone bdqn.com /var/named/bdqn.com,zone   <!--檢查正向解析區域配置是否有錯誤-->
[root@centos01 ~]# chown named:named /var/named/bdqn.com.zone    <!--修改屬主屬組-->
[root@centos01 ~]# chmod +x /var/named/bdqn.com.zone     <!--添加執行權限-->
[root@centos01 ~]# systemctl start named          <!--啓動DNS服務-->
[root@centos01 ~]# systemctl enable named.service      <!--設置爲開機自動啓動-->
[root@centos01 ~]# vim /usr/local/httpd/conf/httpd.conf <!--修改Apache主配置文件-->
#ServerName www.bdqn.com:80    <!--修改Web站點的完整主機名(主機名+域名)-->
[root@centos01 ~]# systemctl restart httpd           <!--重啓Apache服務-->

客戶端添加DNS
CentOS 7.4搭建Apache網站服務

運行cmd,輸入nslookup bdqn.com是否正常解析
CentOS 7.4搭建Apache網站服務

打開瀏覽器經過域名訪問
CentOS 7.4搭建Apache網站服務

至此客戶端能夠經過IP地址訪問也能夠經過域名進行訪問。

—————— 本文至此結束,感謝閱讀 ——————

相關文章
相關標籤/搜索