14.Apache配置

環境:                                                      ↗  atl.example.com  (192.168.1.101)html

                                                            ↗ www.example.com  (192.168.1.101)linux

                                                         ↗system1.example.com (192.168.1.101) web

                     centos7  (192.168.1.109) dns 服務器      →system2.example.com(192.168.1.105)vim

                                                                   ↘classroom.example.com(192.168.1.109)centos

 

Apache爲server端 ->   rhel7  server ->(192.168.1.101)(system1.example.com)已設置192.168.1.109爲dns解析瀏覽器

  其餘主機爲客戶端  ->  rhel7   clinet  ->(192.168.1.105)(system2.example.com)已設置192.168.1.109爲dns解析服務器

 

1.安裝Apacheapp

yum install -y  httpd webapp

2.配置防火牆80/tcp對全網開放:firewall-cmd --permanent --add-port=80/tcp && firewall-cmd --reloadtcp

  或者針對某個ip域開放:firewall-cmd --permanent --add-rich-rule 'rule family=ipv4 source address=192.168.1.0/24 service name=http  accept'

3.設置開機自啓與從新啓動:

systemctl  enable httpd && systemctl restart httpd 

4.設置system1.example.com站點

echo 'system1.example.com' > /var/www/html/index.html

執行systemctl restart httpd   而後再瀏覽器輸入 http://system1.example.com

5.配置虛擬主機www.example.com站點

mkdir /var/www/virtual

cp /usr/share/doc/httpd-2.4.6/httpd-vhosts.conf /etc/httpd/conf.d/

vim /etc/httpd/conf.d/httpd-vhosts.conf

<VirtualHost *:80>

DocumentRoot "/var/www/virtual"
ServerName www.example.com
</VirtualHost>

:x    保存退出

執行systemctl restart httpd   而後再瀏覽器輸入http://www.example.com

6.www.example.com網站目錄訪問 域 和 用戶 控制       注意!紅色字體爲 域 控制語句

域訪問控制

<VirtualHost *:80>

DocumentRoot "/var/www/virtual"

ServerName www.example.com
<Directory /var/www/virtual/dwc>
<RequireAll>
Require all granted   #容許全部主機訪問
Require local            #只容許本地主機訪問
</RequireAll>
</Directory>
</VirtualHost>  #
因此這個配置只容許本地主機訪問dwc

 

<VirtualHost *:80>
DocumentRoot "/var/www/virtual"
ServerName www.example.com
<Directory /var/www/virtual/dwc>
<RequireAll>
Require all granted              #容許全部主機訪問
Require  ip 172.25.0.0/24       #容許172.25.0.0/24這個主機訪問   <<--填 網段 或者 ip
</RequireAll>
</Directory>
</VirtualHost>  #因此這個配置只容許172.25.0.0/24這個域的主機訪問dwc

<VirtualHost *:80>
DocumentRoot "/var/www/virtual"
ServerName www.example.com
<Directory /var/www/virtual/dwc>
<RequireAll>
Require all granted              #容許全部主機訪問
Require   not ip 172.25.0.0/24       #拒絕172.25.0.0/24這個域的主機訪問      <<--填 網段 或者 i
</RequireAll>
</Directory>
</VirtualHost>  #因此這個配置只拒絕172.25.0.0/24這個域的主機訪問dwc

用戶的訪問控制

首先創建Apache用戶口令文件:htpasswd -c /etc/httpd/passwd user1

<VirtualHost *:80>
DocumentRoot "/var/www/html"
ServerName system1.example.com
<Directory /var/www/html/test>
AuthType Basic
AuthName "***welcome! to ^_^ web-login!***"   #web界面歡迎條文
AuthUserFile /etc/httpd/passwd                           #用戶口令文件存放路徑                     
Require valid-user
</Directory>
</VirtualHost> #此設置只允user1這個用戶訪問test頁面

 

基於ssl(https)的虛擬主機設置

首先 yum install  -y mod_ssl

而後把crt和key文件放到對應目錄

<VirtualHost *:443>  #!注意偵聽443端口
DocumentRoot "/var/www/html"
ServerName system1.example.com
SSLEngine on
SSLCertificateFile /etc/pki/tls/certs/system1.crt
SSLCertificateKeyFile /etc/pki/tls/private/system1.key
SSLCertificateChainFile /etc/pki/tls/certs/group1.crt
</VirtualHost>

 

動態網站非標準端口站點http://alt.example.com:8999

首先安裝動態網站插件 yum install -y mod_wsgi

listen 8909  注意偵聽8999端口

<VirtualHost *:8909>注意偵聽8999端口
WSGIScriptAlias / /var/www/wsgi/webapp.wsgi   #wsgi腳本文件目錄
ServerName alt.example.com
</VirtualHost>

而後防火牆打開8999端口:

firewall-cmd --permanent --add-port=8999/tcp也能夠富規則

selinux也放行8999端口:

 semanage port -a -t http_port_t -p tcp 8999

最後重啓服務 systemctl restart httpd 

瀏覽器訪問 http://alt.example.com:8999

 

 

wsgi+https網站https://alt.example.com

<VirtualHost *:443>
WSGIScriptAlias / /var/www/wsgi/webapp.wsgi    <----wsgi配置
ServerName alt.example.com
SSLEngine on
SSLCertificateFile /etc/pki/tls/certs/system1.crt
SSLCertificateKeyFile /etc/pki/tls/private/system1.key   <---https配置
SSLCertificateChainFile /etc/pki/tls/certs/group1.crt</VirtualHost>

相關文章
相關標籤/搜索