Web網站服務-Apache

一、概述

二、編譯安裝

三、httpd服務基礎

四、httpd.conf配置文件

五、httpd服務訪問控制

六、虛擬Web主機


一、概述


主要特點

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

開放源代碼、跨平臺應用

支持多種網頁編程語言

模塊化設計 、運行穩定、良好的安全性

二、編譯安裝


編譯安裝的優點

具有較大的自由度,功能可定制

可及時獲得最新的軟件版本

普遍適用于大多數Linux版本,便于移植使用

獲得Apache服務器的源碼包

參考地址:http://httpd.apache.org/download.cgi

安裝httpd服務器

1.準備工作

卸載httpd及相關依賴包

[root@www ~]# rpm -e httpd httpd-manual webalizer subversion mod_python mod_ssl mod_perl system-config-httpd php php-cli php-ldap php-common mysql dovecot --nodeps? //忽略軟件包依賴性

2.源碼編譯及安裝

[root@www ~]# tar zxf httpd-2.2.17.tar.gz -C /usr/src/? ? ? //解包

[root@www ~]# cd /usr/src/httpd-2.2.17/

[root@www httpd-2.2.17]# ./configure? --prefix=/usr/local/httpd? --enable-so? --enable-rewrite? --enable-charset-lite? --enable-cgi? //配置

[root@www httpd-2.2.17]# make

[root@www httpd-2.2.17]# make install? ? //編譯及安裝

3.確認安裝結果

[root@www ~]# ls /usr/local/httpd/

bin? ? cgi-bin? error? icons? ? lib? man? ? modules

build? conf? ? htdocs? include? logs? manual

4.優化執行路徑

[root@www ~]# ln -s /usr/local/httpd/bin/* /usr/local/bin/

[root@www ~]# ls -l /usr/local/bin/httpd /usr/local/bin/apachectl

lrwxrwxrwx 1 root root 30 04-06 13:08 /usr/local/bin/apachectl ->? /usr/local/httpd/bin/apachectl

lrwxrwxrwx 1 root root 26 04-06 13:08 /usr/local/bin/httpd -> /usr/local/httpd/bin/httpd

5.添加httpd系統服務

以便通過chkconfig進行管理

[root@www ~]# cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd

[root@www ~]# vi /etc/init.d/httpd

#!/bin/bash

# chkconfig: 35 85 15

# description: Startup script for the Apache HTTP Server

……

[root@www ~]# chkconfig --add httpd

[root@www ~]# chkconfig --list httpd

httpd? ? ? ? ? 0:關閉? 1:關閉? 2:關閉? 3:啟用? 4:關閉? 5:啟用? 6:關閉

三、httpd服務基礎


1、主要目錄和文件:

服務目錄:/usr/local/httpd/

主配置文件:/usr/local/httpd/conf/httpd.conf

網頁目錄:/usr/local/httpd/htdocs/

服務腳本:/usr/local/httpd/bin/apachectl

執行程序:/usr/local/httpd/bin/httpd

訪問日志: /usr/local/httpd/log/access_log

錯誤日志: /usr/local/httpd/log/error_log

Httpd的安裝目錄是由前面的—prefix指定的路徑,默認安裝在/usr/local/apache2目錄下

2、Web站點部署過程

1.確定網站名稱、IP地址

ifconfig、hostname

2.配置并啟動httpd服務

[root@www ~]# vi /usr/local/httpd/conf/httpd.conf

……

ServerName www.benet.com

……

[root@www ~]# /usr/local/httpd/bin/apachectl -t

Syntax OK

[root@www ~]# /etc/init.d/httpd start

3.部署網頁文檔

[root@www ~]# cat /usr/local/httpd/htdocs/index.html

It works!

4.在客戶機中訪問Web站點

圖一

5.查看Web站點的訪問情況

[root@www ~]# tail /usr/local/httpd/logs/access_log

192.168.4.110 - - [06/Apr/2011:14:24:06 +0800] "GET / HTTP/1.1" 200 44

192.168.4.110 - - [06/Apr/2011:14:24:06 +0800] "GET /favicon.ico HTTP/1.1" 404 209

四、httpd.conf配置文件


常用的全局配置參數

ServerRoot:服務目錄

ServerAdmin:管理員郵箱

User:運行服務的用戶身份

Group:運行服務的組身份

ServerName:網站服務器的域名

DocumentRoot:網頁文檔的根目錄

Listen:監聽的IP地址、端口號

PidFile:保存httpd進程PID號的文件

DirectoryIndex:默認的索引頁文件

CustomLog:訪問日志文件的位置

LogLevel:記錄日志的級別,默認為warn

Timeout:網絡連接超時,默認為300秒

KeepAlive:是否保持連接,可選On或Off

MaxKeepAliveRequests:每次連接最多請求文件數

KeepAliveTimeout:保持連接狀態時的超時時間

Include:需要包含進來的其他配置文件

區域配置項

<Directory />

? ? OptionsFollowSymLinks? //控制選項,允許使用符號鏈接

? ? AllowOverrideNone? //不允許隱含控制文件中的覆蓋配置

? ? Orderdeny,allow? //訪問控制策略的應用順序

? ? Deny from all? //禁止任何人訪問此區域

</Directory>

五、httpd服務訪問控制


httpd服務的訪問控制

作用:

控制對網站資源的訪問

為特定的網站目錄添加訪問授權

常用訪問控制方式:

客戶機地址限制

用戶授權限制

Order配置項,定義控制順序

先允許后拒絕,默認拒絕所有:Order allow,deny

先拒絕后允許,默認允許所有:Order deny,allow

Allow、Deny配置項,設置允許或拒絕的地址

Deny from address1 address2 …

Allow from address1 address2 …

<Directory "/usr/local/awstats/wwwroot">

……

Order deny,allow

deny from 192.168.0.0/24 192.168.1.0/24

</Directory>

用戶授權限制

1.創建用戶認證數據庫

[root@www ~]# cd /usr/local/httpd/

[root@www httpd]# bin/htpasswd -c/usr/local/httpd/conf/.awspwd webadmin //新建密碼文件

New password:

Re-type new password:

Adding password for user webadmin

[root@www httpd]# cat /usr/local/httpd/conf/.awspwd? //確認用戶數據庫文件

webadmin:2tmD3LVFynBAE

2.添加用戶授權配置

[root@www ~]# vi /usr/local/httpd/conf/httpd.conf…………

……

<Directory "/usr/local/awstats/wwwroot">

……

AuthName "AWStats Directory"? //受保護的領域名稱

AuthType Basic? //設置認證的類型

AuthUserFile /usr/local/httpd/conf/.awspwd ?//用戶認證賬號文件

require valid-user

</Directory>? //要求通過認證才能訪問

[root@www ~]# /usr/local/httpd/bin/apachectl restart

3.驗證用戶訪問授權


六、虛擬Web主機


在同一臺服務器中運行多個Web站點,其中每一個站點并不獨立占用一臺真正的計算機

httpd支持的虛擬主機類型

基于域名的虛擬主機

基于IP地址的虛擬主機

基于端口的虛擬主機


構建虛擬主機——基于域名

應用示例:

構建2個虛擬Web站點:

www.benet.com,IP地址為 173.17.17.11

www.accp.com,IP地址為 173.17.17.11

在瀏覽器中訪問這兩個域名時,分別顯示不同的內容

1.為虛擬主機提供域名解析

[root@dnssvr ~]# vi /var/named/chroot/var/named/benet.com.zone

……

@? ? ? IN? ? ? NS? ? ? dnssvr.benet.com.

dnssvr? IN? ? ? A? ? ? 173.17.17.2

www? ? IN? ? ? A? ? ? 173.17.17.11

[root@dnssvr ~]# vi /var/named/chroot/var/named/accp.com.zone

……

@? ? ? IN? ? ? NS? ? ? dnssvr.benet.com.

www? ? IN? ? ? A? ? ? 173.17.17.11

2.為虛擬主機準備網頁文檔

[root@www ~]# mkdir /var/www/html/benetcom[root@www ~]# mkdir /var/www/html/accpcom[root@www ~]# echo "

www.benet.com

" > /var/www/html/benetcom/index.html[root@www ~]# echo "

www.accp.com

" > /var/www/html/accpcom/index.html

3.添加虛擬主機配置

root@www ~]# vi /usr/local/httpd/conf/extra/httpd-vhosts.conf //創建獨立的配置文件

<Directory "/var/www/html“>? //設置目錄訪問權限

? ?Order allow,deny

? ?Allow from all

</Directory>

NameVirtualHost 173.17.17.11

<VirtualHost 173.17.17.11>? //設置benet虛擬站點

? ?DocumentRoot/var/www/html/benetcom

? ?ServerName www.benet.com?

? ?ErrorLog? logs/www.benet.com.error_log

? ?CustomLog logs/www.benet.com.access_log common

</VirtualHost>

<VirtualHost 173.17.17.11> //設置accp虛擬站點

DocumentRoot /var/www/html/accpcom

ServerName www.accp.com

ErrorLog? logs/www.accp.com.error_log

CustomLog logs/www.accp.com.access_log common

</VirtualHost>

[root@www ~]# vi /usr/local/httpd/conf/httpd.conf //加載獨立的配置文件

……

Include conf/extra/httpd-vhosts.conf

[root@www ~]# /usr/local/httpd/bin/apachectl restart

4.構建虛擬主機——基于IP

應用示例:

構建2個虛擬Web站點:

www.bdqn.cn,IP地址為 220.181.120.61

www.jbit.cn,IP地址為 122.115.32.133

在瀏覽器中訪問這兩個IP時,分別顯示不同的內容

<VirtualHost 220.181.120.61>

DocumentRoot /var/www/html/bdqncn

ServerName www.bdqn.cn

……

</VirtualHost>

<VirtualHost 122.115.32.133>

DocumentRoot /var/www/html/jbitcn

ServerName www.jbit.cn

……

</VirtualHost>

5、構建虛擬主機——基于端口

應用示例:

構建2個虛擬Web站點:

www.benet.com,IP地址、端口為 173.17.17.11:80

www.accp.com,IP地址、端口為 173.17.17.11:8353

在瀏覽器中訪問這兩個端口時,分別顯示不同的內容

<VirtualHost 173.17.17.11:80>

DocumentRoot /var/www/html/accpcom

ServerName www.accp.com

……

</VirtualHost>

[root@www ~]# vi /usr/local/httpd/conf/httpd.conf

……

Include conf/extra/httpd-vhosts.conf

Listen 173.17.17.11:80

Listen 173.17.17.11:8353

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,488評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,034評論 3 414
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,327評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,554評論 1 307
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,337評論 6 404
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 54,883評論 1 321
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 42,975評論 3 439
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,114評論 0 286
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,625評論 1 332
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,555評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,737評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,244評論 5 355
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 43,973評論 3 345
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,362評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,615評論 1 280
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,343評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,699評論 2 370

推薦閱讀更多精彩內容