目錄
1.下載源碼包
2.配置httpd運行環(huán)境
3.編譯源碼包安裝apache軟件
4.優(yōu)化執(zhí)行路徑
5.添加httpd系統(tǒng)服務(wù)
#正文
1.httpd服務(wù)器的基本配置
2.Linux命令行訪問網(wǎng)站
3. 網(wǎng)站日志
4.控制網(wǎng)站訪問?
5.創(chuàng)建用戶認證數(shù)據(jù)庫
#構(gòu)建虛擬web主機
1.構(gòu)建虛擬主機——基于域名
2.構(gòu)建虛擬主機——基于ip
?3.構(gòu)建虛擬主機——基于端口
我的服務(wù)器為centos7系統(tǒng)
1.下載源碼包
訪問官方網(wǎng)站↓↓↓
Welcome! - The Apache HTTP Server Project
↑↑↑
選擇? ?Download?
?你可以選擇
httpd-2.4.57.tar.bz2
也可以選擇
httpd-2.4.57.tar.gz
他倆只是歸檔壓縮的方式不一樣,使用解歸檔的命令也有點差別外就沒什么了
我這里選擇的是httpd-2.4.57.tar.bz2
直接點擊httpd-2.4.57.tar.bz2就會自動下載
?將這個文件傳入Linux中
2.配置httpd運行環(huán)境
現(xiàn)在httpd-2.4.57.tar.bz2已經(jīng)傳入當前工作目錄
tar xfj httpd-2.4.57.tar.bz2 -C /usr/src/
# 將他解歸檔解入/usr/src/
在開始配置編譯他之前我們還要做一些準備工作!??!
?rpm -e httpd --nodeps
# 如果系統(tǒng)自帶httpd這個軟件要刪除掉,兩個軟件不能同時運行
yum -y install apr apr-devel cyrus-sasl-devel expat-devel libdb-devel openldap-devel apr-util-devel apr-util pcre-devel pcre gcc make
# 安裝一下需要的環(huán)境
?現(xiàn)在運行環(huán)境準備完成了 就可以去編譯安裝了
3.編譯源碼包安裝apache軟件
cd /usr/src/httpd-2.4.57/
在?/usr/src/httpd-2.4.57目錄下使用
./configure --prefix=/usr/local/httpd --enable-so ?--enable-rewrite ?--enable-charset-lite ?--enable-cgi
中途千萬別切換目錄,中途千萬別切換目錄,中途千萬別切換目錄?
# 把他安裝到/usr/local/httpd 后面的參數(shù)意思如下
--prefix:指定將httpd服務(wù)程序安裝到哪個目錄,如/usr/local/httpd。
--enable-so:啟用動態(tài)加載模塊支持,使httpd具備進一步擴展功能的能力。
--enable-rewrite:啟用網(wǎng)頁地址重寫功能,用于網(wǎng)站優(yōu)化及目錄遷移維護。
--enable-charset-lite:啟動字符集支持,以便支持使用各種字符集編碼的網(wǎng)頁。
--enable-cgi:啟用CGI腳本程序支持,便于擴展網(wǎng)站的應(yīng)用訪問能力。
?到這里還沒完?。。?! 接著使用make繼續(xù)編譯安裝
make
?需要耐心等待
等到結(jié)束 還沒有結(jié)束 ?。。?!中途千萬別切換目錄?使用make install繼續(xù)安裝
make install
?還需耐心等待? 這次編譯安裝完成? 就是真正的完成了
?
?現(xiàn)在就編譯安裝完成了
但是現(xiàn)在如果要開啟服務(wù)還要跑到很遠的路徑下開啟服務(wù),別急,看下面的優(yōu)化
4.優(yōu)化執(zhí)行路徑
現(xiàn)在他只是安裝到了系統(tǒng)上了,也是可以去啟動他,去配置文件也能實現(xiàn)效果
但是啟動他還是十分的費勁,總感覺他不是系統(tǒng)的一部分
而且他還沒有寫入環(huán)境變量所以直接輸入
?在系統(tǒng)的bin環(huán)境里并沒有他的東西
ln -s /usr/local/httpd/bin/* /usr/local/bin/
# 把他的bin文件鏈接到bin下,這時再去 httpd -v
讓他真正變成系統(tǒng)的一部分
5.添加httpd系統(tǒng)服務(wù)
cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd?
# 把他啟動程序復制到 init.d 下實現(xiàn)開機自啟
?
?vi /etc/init.d/httpd
# 配置一下他?只需要修改他的前三行
?這個是他默認文檔,修改為
#!/bin/bash # chkconfig: 35 85 15 # description: Startup script for the Apache HTTP Server
# chkconfig--- 服務(wù)識別參數(shù),在運行級別3,5中啟動。服務(wù)啟動和關(guān)閉順序分別為85、15.
# description----服務(wù)描述信息
chkconfig --add httpd
#將其改為開機自啟
?開機自啟
正文
1.httpd服務(wù)器的基本配置
修改你的主機名,因為等會配置文件要用(默認的也可以,只要不輸入錯誤就行)
我這里使用的永久修改的命令,配文件也是一樣的效果
hostnamectl set-hostname + 你的主機名
hostname
查看當前主機名
?vim /usr/local/httpd/conf/httpd.conf
201 行 (如果你的版本是以前的,可以:200 跳轉(zhuǎn)到第200行,基本就離200不是很遠)
在202行寫入
ServerName 你的主機名
我的主機名是 www.tarro.com所以寫入
ServerName www.tarro.com
/usr/local/httpd/bin/apachectl -t?
檢測文件是否出錯
?/etc/init.d/httpd start
開啟成功?
?這里如果沒有訪問成功。那就要關(guān)閉你系統(tǒng)的防火墻和selinux
systemctl stop firewalld
setenforce 0
?你可以對html進行簡易的編輯查看效果
vi /usr/local/httpd/htdocs/index.html
2.Linux命令行訪問網(wǎng)站
curl
curl http://192.168.254.1
# curl + 域名
elinks
yum -y install elinks
# 先用yum安裝一下elinks http://192.168.254.1
elinks + 域名
第一次進可以回車 或者esc再次進入? ?退出就用 ctrl + c
3. 網(wǎng)站日志
?/usr/local/httpd/logs
里面的連接日志是access_log
4.控制網(wǎng)站訪問?
?vim /usr/local/httpd/conf/httpd.conf
跳轉(zhuǎn)到251行
?默認的是允許全部人去訪問
Require ?ip?+允許的ip
這個是 只 允許192.168.254.100訪問
現(xiàn)在允許192.168.254.100 去訪問
?除了255.100其他的成功攔截
這個是允許所有人訪問? ?但是拒絕 192.168.254.100 和 192.168.1.0的網(wǎng)段全部主機?
?這個是只允許8.100訪問? 不允許192.168.254.100 和整個1網(wǎng)段
這個意義不大但是要知道一下
5.創(chuàng)建用戶認證數(shù)據(jù)庫
cd /usr/local/httpd/?
bin/htpasswd -c /usr/local/httpd/conf/.awspwd tarro1
bin/htpasswd -c /usr/local/httpd/conf/.awspwd 用戶名
# 新建一個用戶用于登錄
?htpasswd conf/.awspwd tarro2
# 新增第二個用戶
?vi /usr/local/httpd/conf/httpd.conf
# 進入之后到251行左右(新版舊版有幾行差距但是不大)
Require all granted? ?注釋掉 變成
#?Require all granted
然后添加
? ? ? ? AuthName "shu ru mi ma"
? ? ? ? AuthType Basic
? ? ? ? AuthUserFile /usr/local/httpd/conf/.awspwd
? ? ? ? Require valid-user
?
構(gòu)建虛擬web主機
1.構(gòu)建虛擬主機——基于域名
www.tarro1.com,IP地址為 192.168.254.10
www.tarro2.com,IP地址為 192.168.254.10
由于dns需要去搭建可以通過主機的hosts也可以
如果想搭建可以去另外一個博客學習
Linux:DNS服務(wù)(bind)_鮑海超-GNUBHCkalitarro的博客-CSDN博客
mkdir -p /var/www/html/tarrocom
mkdir -p /var/www/html/tarro1com
echo "<h1>www.tarro1.com</h1>" > /var/www/html/tarrocom/index.html
echo "<h1>www.tarro2.com</h1>" > /var/www/html/tarro1com/index.html
# 這個是往那倆目錄里放index.html
# 然后往里編寫不同的內(nèi)容
?vim /usr/local/httpd/conf/extra/vhosts.conf
寫入?
<VirtualHost *:80>
ServerName www.tarro.com
DocumentRoot /var/www/html/tarrocom
ErrorLog logs/www.tarro.com.error_log
CustomLog logs/www.tarro.com.access_log common
<Directory "/var/www/html">
Require all granted
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerName www.tarro1.com
DocumentRoot /var/www/html/tarro1com
ErrorLog logs/www.tarro1.com.error_log
CustomLog logs/www.tarro1.com.access_log common
<Directory "/var/www/html">
Require all granted
</Directory>
</VirtualHost>
vim /usr/local/httpd/conf/httpd.conf
# 跳轉(zhuǎn)到486行(新版舊版可能會有差別,但是差別不大)插入
Include conf/extra/vhosts.conf
這里你如果做的dns那就把dns指向dns服務(wù)器,如果要是沒做那就修改本地默認hosts文件?
?去改主機的hosts文件
C:\Windows\System32\drivers\etc\hosts
??
2.構(gòu)建虛擬主機——基于ip
我們可以有多個網(wǎng)卡配置ip或者一個網(wǎng)卡上配置子接口有多個ip
ifconfig
?可以看到已經(jīng)有一個ip為192.168.254.10了
再在本網(wǎng)卡上添加一個子接口ip為:192.168.254.11
ifconfig ens33:0 192.168.254.11/24
?vim /usr/local/httpd/conf/extra/vhosts.conf
在剛剛的基礎(chǔ)上修改ip?
然后就可以正常訪問了
?3.構(gòu)建虛擬主機——基于端口號
如果你剛剛做了上一個區(qū)分ip訪問不同網(wǎng)頁現(xiàn)在就要重啟一下網(wǎng)卡
讓他去掉子接口
systemctl restart network
vim /usr/local/httpd/conf/extra/vhosts.conf?
?下面有幾個上面就要寫幾個? (這樣一部分主機可以還有一部分主機自動已經(jīng)監(jiān)聽80了)?
報錯的話改為
?
?文章來源:http://www.zghlxwxcb.cn/news/detail-605607.html
訪問成功?文章來源地址http://www.zghlxwxcb.cn/news/detail-605607.html
到了這里,關(guān)于Linux:http服務(wù)(Apache 2.4.57)源碼編譯——配置網(wǎng)站 || 入門到入土的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!