[菜鳥學Linux]11-部署網站

幾種中間件:
IIS、Apache、Nginx

幾種架構:
LAMP、LNMP、LNMPA

yum倉庫的格式

[ ]
name=
baseurl=
enable=
gpgcheck=

多個源的情況下,網絡源以速度優先,本地源以字母優先,混合的情況下,最新版本優先,都是最新的情況下,本地爲主

下載軟件包:httpd

下載完成後,需要啓動該服務,並加入開機啓動項

出現默認頁面的可能性:

  • 網站目錄內無文件
  • 無權限

網絡默認路徑:/var/www/html

編輯index.html

更換網站默認路徑,如/home/wwwroot(home目錄下是用戶的私有文件,正常來說一般服務不能訪問到)

  • 找到主配置文件:/etc/httpd/conf/httpd.conf
  • DocumentRoot
  • <Directory>
  • 新建文件夾
  • 重啓服務(此時還是出席默認頁面)
  • 編輯index.html
  • 刷新(此時出現報錯,因爲SELinux)

SELinux功能:

  • 管理SELinux域:對服務功能進行限制
  • 管理SELinux安全上下文:限制文件權限

查看SELinux上下文:ls -ldZ /var/www/html
SELinux主配置文件:/etc/selinux/config

  • 狀態:enforce/permissive/disable(強制開啓/警告/禁用)

SELinux命令:

  • setenforce:0/1—臨時關閉/開啓SELinux
  • setsebool:設置SE布爾值
  • getsebool:獲取SE布爾值(需要加-a參數)
  • semanage:管理SELinux上下文(semanage fcontext -a -t XXXXX /dir)(後面沒有斜槓)
  • restorecon:讓SELinux值立即生效(restorecon -Rv /dir)

批量新建網站:

  • 用戶目錄:/etc/httpd/conf.d/userdir.conf
  • UserDir XXXXX(每個用戶在自己的家目錄中新建XXX目錄,然後就有自己的網站功能了)
  • 更改目錄讀寫權限:chmod -Rf 777 XXXX
  • 重啓httpd
  • 訪問:http://XX.XX.XX.XX/~(用戶名)—SELinux阻斷訪問
  • 修改SELinux域:setsebool -P httpd_enable_homedirs=on

需要密碼訪問:

  • htpasswd -c /etc/httpd/passwd xiaoqi
  • xiaoqi是專門用來做網站驗證的
  • 開啓密碼訪問:/etc/httpd/conf.d/userdir.conf
  • 最末行添加
  • 重啓服務
<Directory "/home/*/public_html">
allowoverride all  #是否允許僞靜態(默認允許)
authuserfile /etc/httpd/passwd  #密碼存放位置
authname xxxxxxxxx   #描述信息
authtype basic   #驗證類型
require user xiaoqi   #用戶名稱

虛擬網站主機(在一個主機內部署多個網站)

  • 主機上配置多個IP
  • 網站主目錄下新建多個目錄
  • 目錄中新建index.html
  • 在httpd主配置文件中啓用虛擬主機功能(A)
  • 重啓服務
  • 設置SELinux(semanger,沒有-R遞歸參數)
  • 生效(restorecon -Rv /XXXXX)
(A)
<Virtualhost 192.168.10.10 #虛擬網站主機IP>
Documentroot /XXXXX  #虛擬網站主機主目錄
servername www.xxxx.com #虛擬網站主機域名
<directory /XXXXX>  #設置虛擬網站主機目錄權限
allowoverride none   #是否允許僞靜態
require all granted   #允許所有人的請求
</directory>
</Virtualhost>

hosts文件

  • 存在路徑/etc/hosts
  • 強制解析
  • 192.168.10.10 www.xxxxx.com

開啓端口訪問

  • 配置httpd主配置文件:listen XXX
  • 在虛擬網站主機配置中,添加IP的時候後面接上端口
  • semanage port -l | grep http(查看httpd服務監聽端口)
  • semanage port -a -t http_port_t -p -tcp XXXX(以上屬於SELinux域的範疇)

設置訪問條件

  • 編輯httpd主配置文件:在網站directory參數裏面,加上setenvif
  • 如setenvif User -Agent “Firefox” ff=1 #ff的意思是前面的env定義爲ff,=1的意思是啓用該策略
  • 寫上策略:Order
Order allow,deny   #先allow,後deny
allow from env=ff   #如果env是ff的話,放行

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章