Apache服務器的管理

Apache

一、服務簡介

Apache是世界使用排名第一的Web服務器軟件。它可以運行在幾乎所有廣泛使用的計算機平臺上,由於其跨平臺和安全性被廣泛使用,是最流行的Web服務器端軟件之一。

二、服務配置
[root@foundation70 Desktop]# yum install httpd -y
[root@foundation70 Desktop]# yum install httpd-manual -y
[root@foundation70 Desktop]# systemctl start httpd
[root@foundation70 Desktop]# systemctl enable httpd
[root@foundation70 Desktop]# systemctl stop firewalld.service
[root@foundation70 Desktop]# systemctl disable firewalld.service
在瀏覽器上測試

http://主機ip


http://主機ip/manual


三、apache的基礎信息
主配置目錄: /etc/httpd/conf/
主配置文件: /etc/httpd/conf/httpd.conf/
子配置目錄: /etc/httpd/conf.d/
子配置文件: /etc/httpd/conf.d/*.conf
默認發佈目錄:/var/www/html
默認端口:    80

[root@foundation70 Desktop]# ss -anutlpe |grep httpd   #查看端口號


默認安全上下文 httpd_sys_content_t
程序開啓默認用戶: apache
apache日誌:   /etc/httpd/logs/*
三apache服務的管理
1.更改默認端口
[root@localhost Desktop]# vim /etc/httpd/conf/httpd.conf
42 Listen 8080
[root@localhost Desktop]# systemctl restart httpd

如下圖:直接以默認端口訪問無效,添加上設置的端口號即可以成功訪問


2.默認發佈文件以及修改
定義:默認發佈文件就是訪問 apache服務的時候沒有指定名稱就能訪問的文件
[root@localhost Desktop]# cd /var/www/html/
[root@localhost html]# ls
[root@localhost html]# touch index.html     #配置文件默認發佈文件就是index.html

[root@localhost html]# echo hello world > index.html


修改默認發佈文件
[root@localhost html]# vim /etc/httpd/conf/httpd.conf
164  DirectoryIndex index.html test.html #按順序訪問,當index.html文件不在時訪問test.html
[root@localhost html]# touch test.html
[root@localhost html]# echo hello freya > test.html
[root@localhost html]# mv index.html /mnt   #把優先級高的index.html文件移除默認發佈目錄
[root@localhost html]# systemctl restart httpd

如下圖,默認發佈文件訪問了test.html


3.修改默認發佈目錄
[root@localhost html]# mkdir /freya  #新建默認發佈目錄
[root@localhost html]# vim /freya/index.html
<h1>new directory </h1>  #該發佈目錄下的默認發佈文件(apache服務支持html)
[root@localhost html]# vim /etc/httpd/conf/httpd.conf
119 #DocumentRoot "/var/www/html"  #註釋原有的默認發佈目錄
120 DocumentRoot "/freya"                  #添加新的默認目錄
121 <Directory  "/freya">
122       Require all granted
123 </Directory>                                     #爲該目錄授權
[root@localhost html]# systemctl restart httpd  
[root@localhost html]# semanage fcontext -a -t httpd_sys_content_t '/freya(/.*)?'
[root@localhost html]# storecon -RvvF /freya  #爲該新目錄更改安全上下文或者直接關閉selinux “[root@localhost html]# setenforce  0"

如下圖:訪問apache服務默認發佈目錄更改,顯示的是新目錄下的默認發佈文件


4.apache的虛擬主機
(1)作用:從 web 概念上來講,訪問一個 web 服務,其實就是訪問某個主機上的某個端口,這個端口默認是 80,通常需要訪問不同的域名,不同的端口,以便於實現對不同網站的訪問。這個時候就需要配置虛擬主機。也就是做到了一個服務器一個 apache 提供多個網站服務。
(2)建立一個站點爲freya.test.com
[root@localhost ~]# vim /etc/httpd/conf.d/adefault.conf

#在子配置目錄下添加一個叫做adefault的配置文件,該配置文件的作用是令非指定的站點跳轉到/var/www/html發佈目錄下。如下圖


[root@localhost ~]# mkdir /var/www/virtual/freya.test.com/html -p #創建該站點目錄
[root@localhost ~]# vim /var/www/virtual/freya.test.com/html/index.html
freya.test.com's page
#爲該站點添加默認發佈文件的內容
[root@localhost ~]# vim /etc/httpd/conf.d/freya.conf
#在子配置目錄下添加一個叫做freya的配置文件,該配置文件的作用是令非指定的站點跳轉到/var/www/virtual/freya.test.com/html發佈目錄下,訪問該目錄下的默認發佈文件index.html
如下圖combined表示四種日誌類型。

[root@localhost html]# systemctl restart httpd
[root@localhost html]# vim /etc/hosts               #爲要利用的瀏覽器添加域名解析
172.25.254.112 freya.test.com   linux.test.com

測試結果:

非指定域名默認會跳轉到apache的發佈目錄下

指定域名會跳轉到指定發佈目錄下,訪問該目錄下的默認發佈文件


5.apache內部的訪問控制
(1)針對主機的訪問控制
[root@localhost ~]# mkdir /var/www/html/test
[root@localhost ~]# vim /var/www/html/test/index.html
<h1>test'page</h1>
[root@localhost ~]# vim /etc/httpd/conf.d/adefault.conf
如下圖,限制了ip爲172.25.254.70的主機訪問/var/www/html/test目錄的權力,Order allow,deny表示先允許所有主機,再限定指定主機。

測試


(2)用戶訪問方式的控制(爲了安全起見,我們需要用戶在訪問某一頁面的時候需要認證)
[root@localhost ~]# mkdir /var/www/html/admin
[root@localhost ~]# vim /var/www/html/admin/index.html
<h1>admin'page</h1>                       #設置用戶登陸時訪問的頁面
[root@localhost ~]# htpasswd -cm /etc/httpd/userpass admin  #爲某個用戶設定密碼
New password:                                   #添加密碼
Re-type new password:
Adding password for user admin
[root@localhost ~]# vim /etc/httpd/conf.d/adefault.conf

添加下圖內容


[root@localhost ~]# systemctl restart httpd

測試


6.apache支持的語言
(1)html apache默認支持的語言,可以在apache的默認發佈文件中直接用該語言
(2)php
[root@localhost html]# yum install php -y

[root@localhost html]# vim /var/www/html/index.php #在默認發佈目錄上添加一個顯示php信息的測試文件。


[root@localhost html]# systemctl restart httpd

測試結果:


(3)cgi
[root@localhost ~]# mkdir /var/www/html/cgi
[root@localhost ~]# vim /var/www/html/cgi/index.cgi
[root@localhost ~]# chmod +x /var/www/html/cgi/index.cgi

執行以下該腳本,檢測是否正確


[root@localhost ~]# vim /etc/httpd/conf.d/adefault.conf


[root@localhost ~]# systemctl restart httpd

測試結果:


7.https
(1)https定義和作用:是以安全爲目標的HTTP通道,簡單講是HTTP的安全版。即HTTP下加入SSL層,HTTPS的安全基礎是SSL,因此加密的詳細內容就需要SSL。HTTPS存在不同於HTTP的默認端口及一個加密/身份驗證層(在HTTP與TCP之間)。
(2)https的配置
先安裝如下如下兩個軟件
[root@localhost ~]# yum install mod_ssl -y
[root@localhost ~]# yum install crypto-utils -y
配置鑰匙和證書 genkey 域名
例如 genkey www.freya.com

具體步驟如下圖



當鑰匙和證書製作完成後,會在shell中顯示證書和鑰匙的目錄如下圖圈注,將證書和鑰匙的目錄添加到指定配置文件/etc/httpd/conf.d/ssl.conf


[root@localhost ~]# vim /etc/httpd/conf.d/ssl.conf
101 SSLCertificateFile /etc/pki/tls/certs/www.freya.com.0.csr
108 SSLCertificateKeyFile /etc/pki/tls/private/www.freya.com.key

(3)設定https虛擬主機並設定網頁重寫
[root@localhost ~]# mkdir /var/www/virtual/login.freya.com/html -p
[root@localhost ~]# vim /var/www/virtual/login.freya.com/html/index.html
<h1>Welcome freya</h1>
[root@localhost ~]# vim /etc/httpd/conf.d/login.conf
[root@localhost ~]# systemctl restart httpd
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章