WEB服務器也稱爲WWW(WORLD WIDE WEB)即是所謂的萬維網服務器,主要功能是提供網上信息瀏覽服務。
最常用的大型Web服務器是Apache和微軟的Internet信息服務器(Internet Information Server,所謂的IIS服務器)、IBM WebSphere以及BEA WebLogic等。
Internet上的服務器也稱爲Web服務器,可以向Internet上的客戶機提供WWW、Email和FTP等各種Internet服務。Web服務器的工作原理並不複雜,一般可分成如下4個步驟:連接過程、請求過程、應答過程以及關閉連接。
Windows,Linux與Unix這3個操作系統是架設Web服務器比較常見的操作系統。Linux的安全性能在這3個操作系統中最高,可以支持多個硬件平臺,其網絡功能比較強大,所以現在使用的人數也是最多的。
下面我們來介紹一下linux比較常見的apache服務器,這裏我使用的redhat5.4下自帶的apache2.2.3的。
httpd-2.2.3-22.el5.i386.rpm apache主程序
httpd-devel-2.2.3-22.el5.i386.rpm 開發工具
httpd-manual-2.2.3-22.el5.i386.rpm 配置手冊
system-config-httpd-1.3.3.3-1.el5.noarch.rpm 圖形配置
要學習apache必須先知道apache的安裝與配置,現在我們來安裝一下redhat自帶的apache軟件。
安裝apache可以使用兩種方式,第一種是rpm的安裝。第二種是yum安裝。個人比較偏愛於yum的安裝方式,因爲yum安裝很好的解決了依賴關係,自己尋找依賴包進行安裝,比較方便。關於安裝方式在前面的博客中我已經介紹過了,我就不多介紹了。
由於我已經安裝過了 所以顯示的是已經安裝最新版了 然後啓動apache服務並且查看端口
輸入本地環回地址可以發現,我們web服務器已經安裝成功了
如果想配置apache就必須知道apache配置的相關目錄
例如:/etc/httpd/ 這是apache服務器的配置目錄
/etc/httpd/conf/httpd.conf apache服務器的配置文件
/var/www/html apache服務器默認的web站點目錄
/var/log/httpd/ apache服務器的運行日誌目錄
我們可以自己添加一個網頁到自己的web服務器然後查看一下效果
從上面的目錄我們知道apache的web默認站點是/var/www/html/
進入文件夾我們發現是空的,我們要建立一個主頁
我們刷新一下頁面可以發現自己所建立的web網頁
輸入本地環回地址後你可以發現web服務器自動尋找你所建立的默認的站點,因爲這都是在/etc/httpd/conf/httpd.conf文件中配置的,可以自行定製你的主頁名稱。如果你想更改站點目錄這時需要更改相關文件配置,可以在配置文件的這個位置修改。
我們在企業中會讓工作人員下載公司的相關文件,所以我們來介紹一下怎麼建立自己web資源庫。首先要建立資源庫文件夾mkdir /Download向此文件夾內添加內容,然後修改apache的配置文件/etc/httpd/conf/httpd.conf。可以參照配置文件的目錄的配置,然後制定自己的目錄
然後重啓apache服務,進入本地的/Download目錄可以發現可以供下載
Linux的一個文本瀏覽器,不用在瀏覽器中查看,可以嘗試一下
# rpm -ivh lynx-2.8.5-28.1.el5_2.1.i386.rpm
# lynx http://10.106.6.254
在企業的網絡中是連到internet網中的,大家要知道你建立的資源庫是不安全的,所以要提高網絡的安全性,必須實施web的安全管理,在apache的配置文件中我們可以找到安全的配置內容
AllowOerride選項是控制驗證的開關All表示開啓,None表示關閉,下面的Allow選項,那就是控制訪問IP的,還有一個文件.htaccess(站點根目錄下)文件,這個是用於描述訪問控制的文件,裏面內容設置一些基本的訪問規則,例如
authuserfile /var/www/.htpasswd //合法用戶的用戶名和密碼,用工具生成
authtype basic [md5] //認證類型
authname "please input your name and password"//登錄提示
require valid-user //所有.htpasswd文件中的用戶都能訪問,也可以指定特定用戶名
舉一個例子,要想讓企業網外部的用戶拒絕訪問可以設置訪問策略
<Directory "/tmp/pub">
Options Indexes
Allowoverride All //身份認證
Order allow,deny //順序很重要不然就無法實現訪問控制
Allow from all //允許所有IP地址
Deny from 192.168.1.1 //被拒絕的IP地址
</Directory>
然後需要修改.htaccess
編輯網站根目錄下的.htaccess文件(沒有發現這個文件不要鬱悶,因爲它是默認不存在)
# vim /var/www/html/.htaccess 內容如下
有了權限的設置必須生成.htpasswd文件來通過驗證,使用htpasswd指令,使用方法
htpasswd使用格式
htpasswd [ -c ] [ -m ] [ -D ] passwdfile username
這裏的用戶不是系統的登錄用戶,是隨機生成的,進入到web服務器的根目錄下
例如要允許企業內部用戶user1登錄,密碼都是123456
第一次使用要加-c參數
然後重啓apache服務出現下面的對話框,說明1訪問策略已經生效了
虛擬站點的實現
服務器是面向N多個用戶的吧,可是IP是有限的,一臺服務器就掛載一個網站就太浪費了,如果想要掛載多個站點,可以通過下列五種方法實現,主要實現第五種虛擬主機頭用處比較大
1.物理目錄
2.虛擬目錄
目錄可以在任何位置 名稱可以使用別名
3.基於多個ip地址
4.基於端口
5.基於主機頭
使用少量ip 多個名字 標準端口 多個站點
首先修改httpd.conf文件,添加以下內容
去掉註釋
然後建立website1和website2的站點目錄和測試主頁
# mkdir /var/www/html/website1 /var/www/html/website2
# echo “Here is website1”>/var/www/html/website1/index.html
# echo “Here is website2”>/var/www/html/website2/index.html
step 3:重新啓動apache服務器
# service httpd restart
step 4:集中測試
因爲沒有在外部因特網測試,所以要修改客戶機的hosts文件,加入以下條目
192.168.10.10 www.website1.com
192.168.10.10 www.website2.com
打開客戶機瀏覽器訪問站點目錄