一、安裝httpd服務器Apache網站服務
1、準備工作
? ? ? ? 為了避免發送端口沖突,程序沖突等現象,卸載使用rpm方式安裝的httpd
#使用命令檢查是否下載了httpd
[root@server ~]# rpm -qa httpd
#如果有則使用
[root@server ~]# rpm -e httpd --nodeps
????????Apache的配置及運行需要apr 、 pcre等軟件包的支持.因此應從系統光盤鏡像中預先安裝這些軟件及其開發包(devel),以便提供相應的庫和頭文件.確保Apache 的安裝順利完成。
#先將光盤掛載到mnt目錄
[root@localhost ~]# mount /dev/cdrom /mnt/
mount: /dev/sr0 寫保護,將以只讀方式掛載[root@localhost ~]# rpm -ivh /mnt/Packages/apr-1.4.8-3.el7_4.1.x86_64.rpm
[root@localhost ~]# rpm -ivh /mnt/Packages/apr-devel-1.4.8-3.el7_4.1.x86_64.rpm
[root@localhost ~]# rpm -ivh /mnt/Packages/cyrus-sasl-devel-2.1.26-23.el7.x86_64.rpm
[root@localhost ~]# rpm -ivh /mnt/Packages/expat-devel-2.1.0-10.el7_3.x86_64.rpm
[root@localhost ~]# rpm -ivh /mnt/Packages/libdb-devel-5.3.21-24.el7.x86_64.rpm
[root@localhost ~]# rpm -ivh /mnt/Packages/openldap-devel-2.4.44-20.el7.x86_64.rpm
[root@localhost ~]# rpm -ivh /mnt/Packages/apr-util-devel-1.5.2-6.el7.x86_64.rpm
[root@localhost ~]# rpm -ivh /mnt/Packages/apr-util-1.5.2-6.el7.x86_64.rpm
[root@localhost ~]# rpm -ivh /mnt/Packages/pcre-devel-8.32-17.el7.x86_64.rpm
[root@localhost ~]# rpm -ivh /mnt/Packages/pcre-8.32-17.el7.x86_64.rpm
2、源碼編譯及安裝
????????源碼編譯安裝httpd 服務的過程主要包含解包、配置.編譯及安裝。
#進入ftp獲取httpd壓縮包
[root@localhost ~]# wget --ftp-user=135 --ftp-password=123.123 ftp://172.16.37.13/軟件下載/y2/y2c/httpd-2.4.25.tar.gz
?1)解包
?????????將下載獲得的httpd源碼包解壓并釋放到/usr /src目錄下,且切換到展開后的源碼目錄中。
[root@localhost ~]# tar zxf httpd-2.4.25.tar.gz -C /usr/src
2)配置
????????根據服務器的實際應用需要,可以靈活設置不同的定制選項.如指定安裝路徑.啟用字符集支持等。
[root@localhost httpd-2.4.25]# ./configure --prefix=/usr/local/httpd --enable-so --enable-rewrit --enable-charset-lite --enable-cgi
3)編譯及安裝
????????完成配置以后.執行"mnake"命令進行編譯.將源代碼轉換為可執行的程序;然后執行"make install"命令完成最后的安裝過程;將編譯完的httpd程序及相關目錄、文件復制到預設的安裝目錄(由配置時的“一―prefix”選項指定)。其中“make”的過程可能會需要較長的時間。
[root@localhost httpd-2.4.25]# make
[root@localhost httpd-2.4.25]# make install
3、確認安裝結果
????????由于指定的安裝目錄為/usr /local/httpd,因此 httpd服務的各種程序.模塊.幫助文件等都將復制到此目錄下。
[root@localhost httpd-2.4.25]# cd /usr/local/httpd/
[root@localhost httpd]# ls
bin build cgi-bin conf error htdocs icons include logs man manual modules
4、優化執行路徑
????????通過源碼編譯安裝的 httpd 服務.程序路徑并不在默認的搜索路徑中,為了使該服務在使用時更加方便,可以為相關程序添加符號鏈接
#為bin目錄創建軟鏈接
[root@localhost httpd-2.4.25]# ln -s /usr/local/httpd/bin/* /usr/local/bin
[root@localhost httpd-2.4.25]# ls -l /usr/local/bin/httpd /usr/local/apachectl
ls: 無法訪問/usr/local/apachectl: 沒有那個文件或目錄
lrwxrwxrwx. 1 root root 26 12月 9 00:57 /usr/local/bin/httpd -> /usr/local/httpd/bin/httpd
[root@localhost httpd-2.4.25]#
?5、添加httpd系統服務
????????CentOS 7系統下.將編譯安裝的程序添加為系統服務有兩種方式:①通過chkconfig命令添加為系統服務,然后由systemctl進行管理,②在/lib/systemd/systern/目錄下,手動編寫以.service結尾的單元(unit)配置文件。
????????1)使用chkconfig添加系統服務
若希望將httpd添加為系統服務,以便通過chkconfig進行管理.需要建立可控的服務腳本。例如,可將apachectl腳本復制為/etc/init ,d/httpd,并在文件開頭添加chkconfig識別配置,然后將其添加為標準的Linux系統服務。
#將apachectl腳本復制為etc/init.d/httpd
[root@localhost ~]# cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
#進入httpd配置文件
[root@localhost ~]# vim /etc/init.d/httpd #chkconfig:35 85 31 //服務識別參數,在級別3、5啟動:啟動和關閉的順序分別為85/21
#description:Startup script for the Apache HTTP Server //服務描述信息[root@localhost ~]# chkconfig --add httpd //將http添加為系統服務
????????2)建立[service].service 配置文件
在/lib/systemd/system/目錄下,建立一個以.service結尾的單元(unit)配置文件.用于控制由systemd控制或監控的httpd服務。配置文件主要分為三個部分.控制單元[Lhit]的定義、服務[Service]的定義以及安裝部分[Install],具體內容如下
[Unit]
Description=The Apache HTTP Server
After=network.target[Service]
Type=forking
PIDFile=/usr/local/httpd/logs/httpd.pid
ExecStart=/usr/local/bin/apachectl $OPTIONS
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
RestartSec=42s[Intall]
WantedBy=graphical.target`
?httpd.service文件編寫完成后,執行如下命令設置httpd服務開機啟動
[root@localhost ~]# systemctl start httpd.service
[root@localhost ~]# systemctl is-enabled httpd.service //查看httpd服務的自啟動狀態
?6、配置并啟動http服務
?1)配置http服務
? ? ? ?????????編輯httpd 服務的主配置文件httpd , conf,查找配置項“ServerName”,在附近添加一行內容"ServiceName www, bdqn. com”,用于設置網站名稱。
[root@localhost ~]# vim /usr/local/httpd/conf/httpd.conf
//更改第200行內容#ServerName www.bdqn.com:80
????????修改httpd . conf 文件的配置內容以后,建議使用帶“一t”選項的apachectl命令對配置內容進行語法檢查〈或使用“httpd -t”命令)。如果沒有語法錯誤.將會顯示“Syntax OK”的信息,否則需要根據錯誤提示信息來修正配置。
[root@localhost ~]# apachectl -t
Syntax OK
2)啟動httpd服務
?????????使用腳本文件/usr/local/httpd/bin/apachectl,分別通過“start""stop”"restart”選項進行控制,可用來啟動.終止.重啟httpd服務。或者使用systemctl命令控制/lib/systernd/system/ttpd , service配置文件.從而實現對httpd 服務進行控制。正常啟動httpd 服務以后,默認將監聽TCP協議的8O端口。
[root@localhost ~]# netstat -anpt | grep httpd
tcp6 0 0 :::80 :::* LISTEN 27321/httpd
[root@localhost ~]#
3)部署網頁文檔
????????對于新編譯安裝的httpd 服務,網站根目錄位于/usr /local /httpd/htdocs 下,需要將Web站點的網頁文檔復制或上傳到此目錄下。httpd服務器默認已提供了一個名為index, html的測試網頁作為訪問網站時的默認首頁。
????????