apache服務

1.部署

yum install httpd -y          ##下載httpd
yum install httpd-manual -y   ##下載httpd的手冊
systemctl stop firewalld      ##關閉防火牆
systemctl disable firewalld   ##設置開機不啓動防火牆
systemctl start httpd         ##啓動httpd
systemctl enable httpd        ##設置開機自動啓動httpd

html 超文本標記語言
xml 可擴展標記語言,封裝

測試:
打開firefox

http://172.25.254.116     ##172.25.254.116爲服務端主機ip

這裏寫圖片描述

http://172.25.254.116/manual   ##查看manual

這裏寫圖片描述

2.apache的基礎信息:

主配置目錄:/etc/httpd/conf
主配置文件:/etc/httpd/conf/httpd.conf
子配置目錄:/etc/httpd/conf.d
子配置文件:/etc/httpd/conf.d/*.conf
默認發佈目錄:/var/www/html
默認發佈文件:index.html
默認端口:80
默認安全上下文:httpd_sys_content_t
程序開啓默認用戶:apache
apache日誌:/etc/httpd/logs/*

3.端口修改:

vim /etc/httpd/conf/httpd.conf
41 #Listen 12.34.56.78:80
42 Listen 80                   ##80即爲httpd服務的網絡端口

這裏寫圖片描述

測試:
這裏寫圖片描述

4.默認發佈文件

vim /var/www/html/test      ##新建默認發佈文件test
<h1>hello world</h1>        ##填寫默認發佈文件的內容

vim /etc/httpd/conf/httpd.conf
163 <IfModule dir_module>
164     DirectoryIndex  test  index.html    ##新建的默認發佈文件test放在index.html前面,則優先讀取test.
165 </IfModule>

這裏寫圖片描述

測試:
這裏寫圖片描述

##將需要改的文件放在index.html前面則優先被訪問。若不修改默認發佈文件想要訪問/var/www/html/下的file,則應http://172.25.254.116/file進行訪問。修改主配置文件後應systemctl restart httpd.service

ss -antlupe | grep httpd       ##端口查詢
curl -I http://www.baidu.com   ##百度服務查詢

這裏寫圖片描述

rpm -qc httpd                  ##軟件主配置文件查詢

這裏寫圖片描述

5.修改默認發佈目錄

mkdir  /www/html -p             ##新建一個默認發佈目錄
vim /www/html/index.html        ##添加默認發佈文件,並寫入內容
<h1>/www/html 's page</h1>

vim /etc/httpd/conf/httpd.conf
120 DocumentRoot "/www/html"    ##添加新建默認發佈目錄
121 <Directory "/www/html">     
122   Require all granted       ##允許所有人訪問
123 </Directory>

semanage fcontext -a -t httpd_sys_content_t '/www(/.*)?'  ##修改/www/的安全上下文
restorecon -RvvF /www/         ##刷新/www/的安全上下文

這裏寫圖片描述

測試:
這裏寫圖片描述

6.apache的虛擬主機

server主機:
mkdir -p /var/www/virtual/news/html    ##創建虛擬主機的默認發佈目錄  
mkdir -p /var/www/virtual/music/html

vim  /var/www/html/index.html          ##修改虛擬主機的默認發佈文件
<h1>www.westos.com</h1>

vim /var/www/virtual/news/html/index.html    ##修改虛擬主機news的默認發佈文件內容
news.westos.com

vim /var/www/virtual/music/html/index.html   ##修改虛擬主機nmusic的默認發佈文件內容
music.westos.com

vim  /etc/httpd/conf.d/a_default.conf   
##位指定域名的訪問都訪問default
<VirttualHost _default_:80>             ##虛擬主機開啓的端口
         DocumentRoot /var/www/html     ##虛擬主機的默認發佈目錄
         CustomLog "logs/default.log" combined   ##虛擬主機日誌
</VirttualHost>

vim /etc/httpd/conf.d/news.conf         ##指定域名news.westos.com的訪問到指定默認發佈目錄中
<VirtualHost *:80>
        Servername news.westos.com      ##指定站點名稱
        DocumentRoot /var/www/virtual/news/html  ##站點默認發佈目錄,即網頁文件存放位置
        CustomLog "logs/news.log" combined   ##站點日誌combined表示四種日誌
</VirtualHost>

<Directory "/var/www/virtual/news/html">   ##默認發佈目錄的訪問授權
        Require all granted                ##允許所有主機訪問
</Directory>

vim /etc/httpd/conf.d/music.conf          ##指定域名music.westos.com的訪問到指定默認發佈目錄中
<VirtualHost *:80>
        Servername music.westos.com       ##指定站點名稱
        DocumentRoot /var/www/virtual/music/html  ##指定站點的默認發佈目錄
        CustomLog "logs/music.log" combined  ##站點日誌
</VirtualHost>

<Directory "/var/www/virtual/music/html">    ##默認發佈目錄的訪問授權
        Require all granted 
</Directory>

瀏覽器所在主機(客戶端):
vim  /etc/hosts
172.25.254.116  www.westos.com  news.westos.com   music.westos.com##三個主機的ip均爲172.25.254.116

測試:
這裏寫圖片描述

這裏寫圖片描述

這裏寫圖片描述

7.apache內部的訪問機制

(1)IP訪問方式的控制

mkdir   /var/www/html/westos     ##創建實驗用的westos目錄

vim  /var/www/html/westos/index.html   ##編輯默認發佈文件
<h1>westos 's page</h1>

vim /etc/httpd/conf.d/a_default.conf
<VirtualHost _default_:80>
        DocumentRoot /var/www/html
        CustomLog "logs/default.log"  combined
</VirtualHost>
<Directory "/var/www/html/westos">
        Order Deny,Allow          ##列表讀取順序,後讀取的列表內容會覆蓋先讀取的列表內容。Allow在後面則會覆蓋Deny,只有172.25.254.16可以訪問。反之亦然。
        Allow from 172.25.254.16  ##允許172.25.254.16訪問
        Deny from All             ##拒絕所有主機訪問
 </Directory>

這裏寫圖片描述

(2)用戶訪問方式的控制

mkdir   /var/www/html/admin

vim  /var/www/html/admin/index.html
<h1>admin 's page</h1>

htpasswd -cm /etc/httpd/userpass admin   ##生成用戶admin的密碼文件,cm會覆蓋原文件的內容,m會追加在原文件內容的後面。admin和admin1不是真實存在的用戶。
htpasswd -m /etc/httpd/userpass admin1
cat /etc/httpd/userpass                  ##查看生成的用戶密碼文件內容
vim /etc/httpd/conf.d/a_default.conf
<VirtualHost _default_:80>
        DocumentRoot /var/www/html
        CustomLog "logs/default.log"  combined
</VirtualHost>

<Directory "/var/www/html/westos">
        Order Deny,Allow          ##訪問順序,Allow在後面則會覆蓋Deny,只有172.25.254.16可以訪問.反之亦然.
        Allow from 172.25.254.16  ##允許172.25.254.16訪問
        Deny from All             ##拒絕所有主機訪問
</Directory>

<Directory "/var/www/html/admin">
        AuthUserFile /etc/httpd/userpass    ##認證的用戶文件
        AuthName "Please input your name and passwd"
        AuthType basic          ##基礎認證類型
        Require user admin      ##允許用戶admin訪問
        #Require valid-user     ##允許所有用戶訪問
</Directory>

這裏寫圖片描述

這裏寫圖片描述

8.apache支持的語言

1)html語言默認支持

(2)php語言
vim /var/www/html/index.php     ##新建默認發佈文件index.php並添加內容
<?php
    phpinfo();
?>

yum install php -y       ##安裝php

vim  /etc/httpd/conf/httpd.conf     
166 <IfModule dir_module>
167     DirectoryIndex index.php  index.html  ##在主配置文件中添加新建的默認發佈文件index.php
168 </IfModule>

systemctl restart httpd 

測試:
http://172.25.254.116/index.php

這裏寫圖片描述

(3)cgi語言

mkdir /var/www/html/cgi
semanage fcontext -a -t httpd_sys_script_exec_t '/var/www/html/cgi(/.*)?'                    ##修改/var/www/html/cgi的安全上下文
restorecon -RvvF /var/www/html/cgi        ##刷新/var/www/html/cgi的安全上下文
ls -dZ /var/www/html/cgi   ##查看/var/www/html/cgi的安全上下文
vim  /var/www/html/cgi/index.cgi         ##編寫腳本
#!/usr/bin/perl
print "Content-type: text/html\n\n";     ##輸出Content-type: text/html並執行兩次換行
print `date`;              ##優先執行反單引號內的內容,並將執行結果作爲外部的輸入信息

chmod  +x  /var/www/html/cgi/index.cgi   ##給腳本添加x權限
/var/www/html/cgi/index.cgi              ##執行下腳本確保腳本運行正常

測試腳本/var/www/html/cgi/index.cgi
這裏寫圖片描述

vim  /etc/httpd/conf.d/a_default.conf
alias /cgi  /var/www/html/cgi         ##設置/var/www/html/cgi的別名(快捷方式)爲/cgi
<Directory "/var/www/html/cgi">       ##執行默認發佈文件內的腳本內容
           Options +ExecCGI
           AddHandler cgi-script .cgi
</Directory>

測試:
http://172.25.254.116/cgi
這裏寫圖片描述

點擊index.cgi
這裏寫圖片描述

9.網頁加密

yum install mod_ssl -y          ##下載ssl模塊
yum install crypto-utils -y     ##下載加密軟件
systemctl restart httpd

genkey www.westos.com           ##加密網頁www.westos.com

這裏寫圖片描述

這裏寫圖片描述

這裏寫圖片描述

這裏寫圖片描述

當出現該圖時,需要在同一主機另外打開窗口進行不間斷的輸入

這裏寫圖片描述

CA指網頁加密授權認證

這裏寫圖片描述

這裏寫圖片描述

vim /etc/httpd/conf.d/ssl.conf      ##修改模塊ssl的配置文件,下面兩行的內容可在執行genkey www.westos.com後恢復的內容中找到
100 SSLCertificateFile /etc/pki/tls/certs/www.westos.com.crt
107 SSLCertificateKeyFile /etc/pki/tls/private/www.westos.com.key

systemctl restart httpd

這裏寫圖片描述

測試:
https://172.25.254.142

這裏寫圖片描述

10.網頁重寫

mkdir -p /var/www/virtual/login
vim /var/www/virtual/login/index.html
<h1>login.wesstos.com</h1>
vim /etc/httpd/conf.d/login.conf
<VirtualHost *:443>
        Servername login.westos.com
        DocumentRoot /var/www/virtual/login
        CustomLog "logs/default.log" combined
        SSLEngine on
        SSLCertificateKeyFile /etc/pki/tls/private/www.westos.com.key
        SSLCertificateFile /etc/pki/tls/certs/www.westos.com.crt
</VirtualHost>
<VirtualHost *:80>
        Servername login.westos.com
        RewriteEngine on
        RewriteRule ^(/.*)$ https://%{HTTP_HOST}$1 [redirect=301]   
</VirtualHost>

^(/.*)$         ##客戶在瀏覽器地址欄輸入的所有字符
https://        ##強制客戶加密訪問
%{HTTP_HOST}    ##客戶強求主機
$1              ##表示^(/.*)$ 的值
[redirect=301]  ##臨時重寫,302表示永久重寫
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章