摘要:隨著計算機網絡的飛速發展,各企業及院校的網絡已大量普及,雖然windows2000server被大多數網絡中心作為各種服務端的操作系統,但linux也以其運行速度快、具有良好的代碼開放性、適應性強、支持多用戶多文件系統、各種網絡服務如(FTP、WWW、Email)容易構建及維護等特點被廣泛應用。文章通過對Linux和APACHE的介紹,就具體如何在Linux下構建WWW服務作了說明。
關鍵詞:WWW服務;網絡;Linux;Apache
中圖分類號:TP393文獻標識碼:A文章編號:1009-3044(2008)26-1671-02
To Build up WWW Server in the Campus by Using Linux
WANG Hai-yan
(65066 Troops Jinzhou,Dalian,Liaoning Province,Dalian 116100,China)
Abstract: With the rapid development of computer science, Internet has already reached every part of enterprises, colleges and universities. In spite of the fact that Windows 2000 server is widely used by many network centers as operational system of various servers, Linux has been increasingly popular in virtual of its features: open-coded, adaptable, and compatible. This article introduces to the readers about Linux as well as APACIHE, and explains in details how to build up www server by using Linux.
Key words: WWW service; internet; linux; apache
1 Linux介紹
Linux的出現,最早開始于一位名叫Linus Torvalds的計算機業余愛好者,當時他是芬蘭赫爾辛基大學的學生。他的目的是想設計一個代替Minix(是由一位名叫Andrew Tannebaum的計算機教授編寫的一個操作系統示教程序)的操作系統,這個操作系統可用于386、486或奔騰處理器的個人計算機上,并且具有Unix操作系統的全部功能,因而開始了Linux雛形的設計。
Linux具有很強的實用性。現在已經有許多公司把它用作內部的WEB服務器。Linux本身還具有很強的各種網絡的服務功能。如:DNS服務、路由、防火墻、FTP、Email和共享服務。在國外,許多的Internet服務提供商ISP還把它作為自己主要的操作系統。
Linux之所以受到廣大計算機愛好者的喜愛,主要原因有兩個,一是它屬于自由軟件,用戶不用支付任何費用就可以獲得它和它的源代碼,并且可以根據自己的需要對它進行必要的修改,無償對它使用,無約束地繼續傳播。另一個原因是,它具有Unix的全部功能,任何使用Unix操作系統或想要學習Unix操作系統的人都可以從Linux中獲益。
Linux不僅為用戶提供了強大的操作系統功能,而且還提供了豐富的應用軟件。用戶不但可以從Internet上下載Linux及其源代碼,而且還可以從Internet上下載許多Linux的應用程序。可以說,Linux本身包含的應用程序以及移植到Linux上的應用程序包羅萬象,任何一位用戶都能從有關Linux的網站上找到適合自己特殊需要的應用程序及其源代碼,這樣,用戶就可以根據自己的需要下載源代碼,以便修改和擴充操作系統或應用程序的功能。
2 Linux下的WWW服務軟件Apache介紹
1995年,美國國家計算機安全協會(NCSA)的開發者創建了NCSZ全球網絡服務軟件,其最大的特點是HTTP精靈程序,它比當時的CERN服務器更容易由源碼來配置和創建,又由于當時其他服務器軟件的缺乏,他很快流行起來。但是后來,該服務器的核心開發人員幾乎都離開了NCSA,一些使用者們自己成立了一個組織來管理他們編寫的補丁,于是Apache Group應運而生。他們把該服務器軟件稱為Apache。Apache源于Apatchy server的讀音,意思是充滿補丁的服務器。如今Apache慢慢地已經成為Internet上最流行的Web服務器軟件了。在所有的Web服務器軟件中,Apache占據絕對優勢,遠遠領先排名第二的Microsoft IIS。如果你對它感興趣,你可以訪問Apache的官方網站:http://www.apache.org。Apache作為自由軟件之一,像其他自由軟件一樣,他們都是由許許多多的自由開發人員投入了大量的時間和精力來實現并逐步完善的,所以我們有理由相信Apache的發展前景會更好。
3 Apache軟件的安裝、設置與應用
Apache的安裝十分簡單。你只需要在安裝RedHat時,選擇安裝Web Server就可以了,這樣即使你對編譯操作不熟的話,也能輕輕松松把服務器架設起來。安裝完成后機器重新啟動時也啟動了WWW服務器。
3.1 配置Apache的設置文件httpd.conf、srm.conf、access.conf
Apache安裝成功后,在conf子目錄下有四個文件:httpd.conf、srm.conf、access.conf、magic(請注意:在www-howto文檔中,說第四個文件是mime.types,但在實際安裝中,在conf子目錄下是magic文件)。httpd.conf是Apache設置文件中的主文件,httpd程序啟動時會先讀取httpd.conf。srm.conf是數據配置文件,在這個文件中主要設置WWW Server讀取文件的目錄、目錄索引時的畫面、CGI執行時的目錄等等。access.conf是負責基本的讀取文件控制,限制目錄所能執行的功能及訪問目錄的權限設置。
下面我們來設置校園網中使用到的一些WWW的服務。
3.1.1 基于Apache的Web頁面訪問權限控制
1) 修改http.conf: 假設你想控制/usr/local/apache/htdocs下各目錄的不同訪問權限,你可以在與之間加入一行: AllowOverride All,意思是在/usr/local/apache/htdocs下不同目錄的訪問權限由該目錄下的.htaccess文件來控制,而且不同目錄的權限策略可互相覆蓋。
2) 編輯你想要控制的目錄下的.htaccess文件: 假設你的phpmyadmin目錄在/usr/local/apache/htdocs下,你可以這樣在phpmyadmin目錄下創建一個.htaccess文件,內容如下:
AuthUserFile /usr/local/apache/pass/pwdPhp
AuthType Basic
AuthName \"Database Security Zone\"
ErrorDocument 401 /catchErrors/err_401.html
require valid-user
3) 生成用戶密碼文件: 有一個用戶密碼生成程序:htpasswd(在/usr/local/apache/bin下),它可以加入用戶密碼信息到指定的文件中,如/usr/local/apache/pass/pwdPhp。我的用戶密碼文件內容如下:
admin:a0Hplbj33QjV2
guest:R0BYSO383QjVT
4) 重啟apache deamon:/usr/local/apche/bin/apachectl restart
5) 測試: 用IE瀏覽受保護的頁面,如http://ip/phpmyadmin/(可能需要refresh幾次才能湊效),這時應該出現一個身份認證窗口,你需要輸入用戶名(admin / guest) 和密碼(******)才能訪問這個頁面。
3.1.2 虛擬主機(Virtual Host)的設置
由于校園內有許多單位需要使用單獨的域名服務,所以在這里采用虛擬主機(Virtual Host)技術來提供這項服務。虛擬主機有兩種方式:IP-Based(基于IP式)、Name-based(基于域名式)。IP-Based指的是一個域名對應一個IP地址,而Name-based指的是多個域名對應一個IP地址。
虛擬主機的設置并不復雜,只要在httpd.conf文件中加入相應的命令就行。在這里使用Name-based(基于域名式)虛擬主機的httpd.conf,為教研室(jys.main.com)進行配置。
NameVirtualHost 192.168.100.2
ServerAdmin webjys@main.com
ServerName jys.main.com
DocumentRoot /home/httpd/jys/html
ErrorLog logs/error_log
TransferLog logs/access_log
NameVirtualHost命令指定在哪個IP上設置虛擬主機
在VirtualHost命令中進行各個主機的具體設置。
ServerAdmin命令是設定當WWW Server執行有問題時,會將ServerAdmin所設置的E-mail傳送到瀏覽器,讓使用者用該E-mail與系統管理員聯系。
ServerName命令是設置WWW Server的域名。
3.1.3 為校園的教職員工提供個人主頁空間、用戶homepage的設定
給用戶開放個人主頁空間,一是要確定用戶主頁的存放目錄,二是開放用戶主頁目錄的讀取權限。方法一 :你以root的身份給用戶caifox開個帳號,系統自動會給caifox分配一空間/home/user,而后在/home/chen的目錄下建一public_html的子目錄,子目錄的屬性要設成other可讀和可執行的。接著修改access.conf。在文件的最后加上以下一段:
AllowOverride None
order allow,deny
allow from all
而后,重新運行httpd,用戶就可以通過http://www.new.com.cn/~caifox/訪問caifox的個人主頁。方法二:另一種辦法是在/home/httpd目錄下為用戶caifox建個目錄caifox。修改srm.conf中的UserDir為/home/httpd/*/html,接著重新運行httpd便可以了。
通過上面的方法,我們就簡單有效的建立了Linux下的WEB服務,而且此WEB服務的速度絲毫不比windows下的IIS速度慢,在某些時候甚至比IIS還要快許多,希望大家都能輕松的使用Linux的各種服務。
參考文獻:
[1] 趙鳳君.Linux網絡服務器的構建(一)[J].微型計算機,2000,(14):92-95.
[2] 金海.談Linux系統在操作系統課程實驗教學中的應用[J].教育與職業,2006(27):165-166.
[3] 李懷剛,邱建新.網絡安裝Linux的技術原理分析及實現[J].計算機應用與軟件,2006,23(9):109-111.
[4] 孫軍.Linux 管理操作指南[M].天津:天津教育出版社,2002.
[5] 徐煒.Linux內核的進程創建和執行[J].電腦編程技巧與維護,2006,(9):31-39.