linux中Apache服務的基本配置

1.Apache
Apache是世界使用排名第一的Web服務器軟件。它能夠運行在幾乎全部普遍使用的計算機平臺上,因爲其跨平臺和安全性被普遍使用,是最流行的Web服務器端軟件之一。它快速、可靠而且可經過簡單的API擴充,將Perl/Python等解釋器編譯到服務器中。同時Apache音譯爲阿帕奇,是北美印第安人的一個部落,叫阿帕奇族,在美國的西南部。
2.Apache的環境部署
yum install httpd -y 安裝apache服務軟件
sysctmctl start httpd 開啓服務
systemctl enable httpd 設置開機自啓動
systemctl status httpd 查看服務狀態
linux中Apache服務的基本配置
linux中Apache服務的基本配置
進行防火牆設置:html

firewall-cmd --add-service=http --permanent 防火牆永久添加http服務
firewall-cmd --reload 從新加載防火牆
firewall-cmd --list-all 查看服務添加狀況
linux中Apache服務的基本配置linux

vim /var/www/html/index.html 編寫默認發佈文件(/var/www/html是默認發佈目錄 新建的index.html 是默認發佈文件)
linux中Apache服務的基本配置
curl 192.168.152.131查看更改內容apache

三、修改默認端口
apache的默認發佈端口爲80
netstat -antlupe |grep http #查看服務所開放的端口
linux中Apache服務的基本配置
vim /etc/httpd/conf/httpd.conf #修改主配置文件,在其中對默認端口進行修改
linux中Apache服務的基本配置 修改默認端口爲8080vim

更改防火牆策略
systemctl restart httpd 重啓服務
firewall-cmd --add-port=8080/tcp 防火牆添加端口8080
firewall-cmd --reload 從新加載防火牆
firewall-cmd --list-all 查看端口添加狀況
linux中Apache服務的基本配置
linux中Apache服務的基本配置
curl 192.168.152.131:8080訪問修改端口後的發佈文件
linux中Apache服務的基本配置 之前的默認端口被更改安全

系統selinux爲Enforcing強制時候,當默認端口被修改爲沒有被selinux所容許的端口的時候,會致使服務沒法啓動,須要在selinux所容許的端口中添加所更改的端口。服務器

semanage port -l | grep http #查看selinux容許服務使用的端口
因爲selinux不容許使用8080端口,須要進行添加:
semanage port -a -t http_port_t -p tcp 8080 #強制添加8080端口curl

四、修改默認發佈文件以及默認發佈目錄tcp

默認發佈文件就是當訪問apache時沒有指定文件名稱,服務默認訪問的文件。
這個文件能夠指定多個,有訪問順序,按照其在配置文件中的順序進行訪問。
vim /var/www/html/bruce.html #編寫新的發佈文件 bruce
vim /etc/httpd/conf/httpd.conf #修改主配置文件164行,將新寫文件添加後後
systemctl reload httpd 重啓加載服務
linux中Apache服務的基本配置ide

五、修改默認發佈目錄測試

新建一個目錄做爲發佈目錄 mkdir -p /bruce/www/html
在目錄html下新建發佈文件index.html寫入內容
linux中Apache服務的基本配置
編輯/etc/httpd/conf/httpd.conf
linux中Apache服務的基本配置
DocumentRoot "/bruce/www/html" #指定更改後的發佈目錄
<Directory "/bruce/www/html"> #對發佈目錄進行受權
Require all granted #全部人均可以訪問該目錄
</Directory>
systemctl reload httpd 從新加載服務
curl 192.168.152.131:8080 測試
linux中Apache服務的基本配置

若是selinux的模式是強制級 則須要
semanage fcontext -a -t httpd_sys_content_t '/bruce(/.*)?' #因爲selinux開啓,須要更改將做爲發佈目錄的新建目錄的安全上下文。
restorecon -FvvR /bruce/ # 修改以後進行刷新 ,不刷新其安全上下文不會改變。

六、apache內部的訪問控制
1.針對主機的訪問
vim /etc/httpd/conf/httpd.conf 修改配置文件

linux中Apache服務的基本配置
systemctl reload httpd.service 從新加載服務

在192.168.152.128下測試 curl 192.168.152.131:8080
linux中Apache服務的基本配置 訪問不到目錄 該主機被添加到黑名單中因此訪問不到 如今咱們把他移除黑名單
在配置文件中移除後訪問到文件
linux中Apache服務的基本配置

注意:Order Allow,Deny 服務在讀去限制名單的時候,按照此處的前後順序,先讀取白名單中的內容,而後再讀取黑名單中的內容,當先後中存在對同一主機的指定時,後讀取的內容會覆蓋以前的內容。上面上面配置中,先讀取白名單容許全部主機進行訪問,後讀取黑名單限制192.168.152.128進行訪問,因此後讀取的限制訪問覆蓋了白名單中對與192.168.152.128主機容許訪問的設定。

2)針對用戶方式的訪問控制
生成用戶認證文件:
htpasswd -cm /etc/httpd/bruce laoli 第一次生成該文件 使用參數 -cm
linux中Apache服務的基本配置
htpasswd -m /etc/httpd/bruce laoli1 生成文件以後須要添加用戶 使用參數 -m
linux中Apache服務的基本配置
cat /etc/httpd/totofile 查看認證文件信息 顯示用戶信息
linux中Apache服務的基本配置
對配置文件進行修改:
vim /etc/httpd/conf/httpd.conf
linux中Apache服務的基本配置

DocumentRoot "/bruce/www/html"
<Directory "/bruce/www/html">
AuthUserFile "/etc/httpd/totofile" #受權文件位置
AuthType basic #認證方式Basic
AuthName "please input username and password" #認證說明
Require user laoli #容許訪問的用戶

Require valid-user

</Directory>
參數 Require user toto1 與 Require valid-user 都是對容許訪問的用戶進行說明的語句。`Require user laoli 表示只容許laoli用戶進行訪問; Require valid-user表示容許受權文件中全部的用戶進行訪問。這兩種只能同時存在一個。
systemctl reload httpd.service 從新加載服務
測試
linux中Apache服務的基本配置
linux中Apache服務的基本配置

七、apache的虛擬主機

虛擬主機指的是在單一機器上運行多個網站(例如www.bruce.com; music.bruce.com; news.bruce.com)。虛擬主機能夠「基於 IP」,即每一個 IP 一個站點; 或者「基於名稱」,
演示使用192.168.152.131 該一個ip對應 www.bruce.com; music.bruce.com; news.bruce.com三個站點。

建立發佈目錄以及發佈文件

mkdir -p /virtdir/music/html
mkdir -p /virtdir/news/html
#建立不一樣域名的發佈目錄
vim /virtdir/music/html/index.html #建立發佈文件
vim /virtdir/news/html/index.html #建立發佈文件
*semanage fcontext -a -t httpd_sys_content_t '/virtdir(/.)?' # 修改發佈目錄安全上下文
restorecon -RvvF /virtdir/ #刷新發布目錄安全上下文 若是selinux是強制級的話須要這樣作
**
linux中Apache服務的基本配置

vim /etc/httpd/conf.d/virthost.conf 編寫虛擬主機的配置文件

<VirtualHost default:80> #建立默認虛擬主機,找不到虛擬主機的域名訪問也由此主機提供服務。
DocumentRoot /var/www/html #指定發佈目錄
CustomLog logs/default.log combined #指定日誌文件以及日誌類型(全部 日誌)
</VirtualHost>

<VirtualHost *:80>
DocumentRoot /virtdir/music/html #指定發佈目錄
ServerName music.bruce.com #虛擬主機指定域名 music.bruce.com
CustomLog logs/music.log combined #指定日誌文件以及日誌類型(全部 日誌)
</VirtualHost>

<VirtualHost *:80>
DocumentRoot /virtdir/news/html #指定發佈目錄
ServerName news.bruce.com #虛擬主機指定域名 news.bruce.com
CustomLog logs/news.log combined #指定日誌文件以及日誌類型(全部 日誌)
</VirtualHost>

<Directory "/virtdir"> #對新建的發佈目錄進行認證
Require all granted #容許全部人能夠訪問該目錄
</Directory>

linux中Apache服務的基本配置

systemctl restart httpd 重啓服務

測試
在測試端的主機本地解析文件/etc/hosts中,對www.bruce.com; music.bruce.com; news.bruce.com 三個域名進行解析記錄,而後經過域名進行訪問,顯示不一樣的發佈文件:
vim /etc/hosts
linux中Apache服務的基本配置

linux中Apache服務的基本配置

相關文章
相關標籤/搜索