]是一種伺服器的名稱
0 ~4 ?2 E8 S6 |" G+ B
中文名字:阿帕契
6 h" g( r2 S# N) ]% Q- N* }
一、前言
% v8 `$ ~! S5 S! a; E" I全
世界幾乎大型的Web Site都是採用Apache作為WWW Server,無論是Uinx、Sun Solaris、Free BSD、
Linux ... 系統清一色都是以Apache架設Web Server,甚至NT系統也有不少以Apache架設而成的Web Server。
9 Y, ~: W* d2 Q$ g
% t/ \6 ^6 V) l( O/ L5 P ?4 F# s0 b
二、Apache的基本概念
, v" f* e( x8 z; p認識Apache
2 t! C# M f: d( d
Apache是Linux系統上最廣泛用來架設WWW伺服器的架站軟體,由Apache Group在開發維護,1999年6月30日成立Apache Software Foundation。從原本的業餘玩家所組成的Apache Group,到現在有幾家主要的公司如IBM、Sun Microsystem、Oracle等在背後支持後續的計畫,使得Apache伺服器可以持續的發展。
$ m" o( S. e/ Y$ D
8 N: O: O% a7 G S5 R. J
Apache Server服務的對象
8 K; k+ @3 c! i1. 若您的機關單位的Web Server需要提供個人網頁空間,也需要對個人網頁空間的大小做限制,選用Linux+Apache將是最佳的抉擇
; K: Z+ b1 s* h1 ?- N* [2. 企業團體及教育單位用來作為Web Server的最佳利器
; D5 z1 S1 h% v! S' |+ {3 }
/ x3 l: S& _7 r4 }$ I4 {/ R% S; N D6 q" n; S& R$ Q
Apache的啟動方式(httpd.conf)
% C- X9 J1 ~3 i# k: S: Q1. Servertypr standalone(獨立網站模式)
; j' c4 s* o4 j J: W2. Servertypr inetd(網路型網站模式)
3 C3 m5 o+ k5 W, B
3. Port [number] -> 80 port
$ T4 S+ z+ {' K* k" k 如另外指定埠口位置,範圍需介於1024~32767之間。任何小於1024 Port Addr已被保留當成標準通訊埠口。
! a5 F! T5 I" T' o2 Z. X' ^: F3 m5 t* r/ E, I! ^
& ?: L; e1 R% N7 I. i. ]Apache Server的運作方式
; ^; o3 M- x* E# X, J
1. inetd daemon呼叫Server的服務行程
9 U( `# i8 z) w2 t3 r# X6 p2. Server立即獨立啟動並常駐於記憶體(啟動的script是放在/etc/rc.d/init.d的目錄下)
7 G6 s2 n7 h# c$ U J. U& \) @
& r2 Y% `, r$ u* A! V" m7 ~# N8 X9 {% ~$ Y& [" E; T
三、安裝Apache Server
! W3 k8 `$ ?. u5 g
1. 將Redhat+cle光碟放入光碟機中。
; }9 i8 n5 C, V. y$ L2 u
2. # cd/ (轉移目錄到跟目錄下)
2 _2 e8 F4 ^9 d# E) |' l4 r0 `+ ?3. # mount /mnt/cdrom (掛上光碟機)
+ m1 y+ k$ U1 @ e
4. # cd /mnt/cdrom/RedHat/RPMS (轉移目錄到RPMS目錄)
0 d8 Z q+ [, q( h) c, V) Z5. # rpm -ivh apache-1.3.19.5.i386.rpm (安裝Apache)
x9 W* C4 s" k% wrpm 是用來對壓縮檔 *.rpm做解壓縮的動作
, m$ s3 C, z( G若你的系統已存在Apache,請先關閉Apache,請執行下列指令:# /etc/rc.d/init.d/./httpd stop
1 A4 | Q- y" v7 rrpm 後接參數 -U,若系統已存在Apache則做升級安裝,若系統不存在Apache則做新軟體安裝。
4 u; x; v) D! E3 h7 V1 B2 p
日後若您取得新版本的Apache,請先關閉httpd,在使用rpm -Uvh apache* 指令即可對Apache做升級。
0 P7 F) r; X. }* P- I
. z% u4 l6 k' S2 @2 Z4 U
啟動服務設定
; W& t; E" Y$ n- B" h
1. 第一個方法
8 h3 h, D7 G* S6 `2 b6 C
.cd /etc/rc.d/init.d
: ]5 ]# z* s: P* j7 T2. 第二個方法
' W5 H' u& M! N2 O
# ./httpd start (啟動Apache Web Server)
; l- d! P" @, m# i( _. R2. 第三個方法
: n, L3 H* B! F! Pservice httpd start
$ [, ^9 |6 @, x$ C1 W8 b
0 w$ s" p! p' h: D. d; t
( X0 M% }- c5 E+ n6 m9 i7 z; N8 n
四、測試Apache
# `' j& }/ C5 l. v3 B/ y
RedHat linux最為人喜愛的是:
2 F) U! f A+ g/ X N9 a一安裝完成後就可以執行www、FTP....等伺服器;對於這些伺服器而言,不管您所處的網愈是真實或是虛擬網域都可以正常執行。
* { A' F P& O7 T即使您的Webs Server尚未在DNS伺服器裡註冊,您還是可以使用瀏覽器裡在URL位址欄裡輸入 &
quot;
http://IP位址 " 連上剛架設好的Web Server
" e. L8 ?! H! P: P& y4 M2 b7 u- r
" N4 N* ?6 t+ |# D使用ifconfig -a 查詢 ip位址
) o6 `/ q) I9 s% }" v
http方式連線到Web伺服主機,將剛剛查詢到的ip位址,輸入到位址欄裡,藉以測試Apache Web Server是否正常運作。
) g* M2 ~: F& X) a
) F7 ~$ X5 T2 e9 G* C G+ |
; m) m0 u! o" P3 o" O6 ^五、Apache Server的設定與組織 Apache Server 的設定
: n1 b6 R! S5 `! U2 D- ]
若您在一開機時就需要啟動Apache Web Server服務,請一下列步驟設定:
; Y" o7 j w1 ^" R0 t( y3 P, a. U1.啟動linuxconf。
- m. K3 |9 ~7 x* v0 U, z
2.按一下" Control "、" Control panel "。
& `% y! [* g" l" m. R( d
3.按一下" Control service activity "項目。
* a7 u6 @& l' e4.設定"httpd"項目為啟動,再按下" Accept "即可。
) ?" ?( L v+ D m0 Z) n$ h5 J: C& d( h
- T$ S% `; M7 r2 C
六、Apache Server的架構
" B; @* _9 F; u* b. ~! r/etc/httpd
4 {' S; \) p, x|--conf
# G/ v- b1 E2 N8 y* D- }# @5 m
| |-- access.conf ;設定Apache的存取方式
3 |% }; y+ X9 Y! C2 q| |-- httpd.conf ;設定Apache的系統環境設定
) y8 ^+ O! q- m' \
| |-- magic ;Magic data for mod_mine_magic
6 D+ b+ {+ y+ J7 d# b# F| |-- srm.conf ;Apache的資源設定檔
7 r8 S" k5 t) }* ]3 f( K) g
|-- logs -> ../../var/log/httpd ;Apache的存取及錯誤紀錄目錄
+ h9 `& E+ q. _ P/ G3 F7 y
|-- modules -> ../../use/lib/apache ;Apache的模組存放目錄
5 Y1 ?3 w; }* Q
|-- php3.ini ;php3組態檔,需安裝mod_php
/ ~! j4 h) d9 ^; \
6 X- k4 z- f }# K
Apache Web Server存放網頁及CGI
程式的目錄皆在 /home/httpd 目錄下,其結構如下:
( {* P& e7 { T J Y
1 } F1 L9 A) s7 s7 ~8 i# X/home/httpd
( S0 B+ g. ]& ]- D; }6 k|-- cgi-bin ;存CGI程式目錄
. Y' x- d- r0 [2 Y( c& W|-- html ;存放WWW網站網頁目錄
: | q4 W `6 F/ W' P
| |-- index.html ;首頁請取名為index.html
/ _! l0 _- e5 v1 h' N2 W
| |-- manual ;存放Apache線上查詢手冊目錄
8 p" Y7 f# r8 {: _8 k/ j
|-- icon ;存放一些有用的小圖示目錄
( e& i' R( K# ~1 R; c! Y& t
: P$ t8 Y: u" b( R6 o% v& B2 `
指令的用途
4 f0 @/ p' I9 K# V) E! ?' ~1. 伺服器組態範圍
; N% y/ U! y5 |
例如: http.conf , srm.comf , access.conf
1 l4 d3 b W5 M1 @
2.界元範圍
( I" h/ C! U3 z
例如: <VirtualHost.....>...</VirtualHost>
" s# v1 I2 K& T" F* ?$ C3.目錄範圍
: q- V* n P- V& W6 O
例如: .htaccess
7 O3 U' V/ R: j+ B8 ?: g0 K
! h( l+ w: k; G$ X7 {
七、Apache Server的組態設定
9 @/ ^0 D) n% {7 d# j6 C2 Y
1. 首先須做設定的組態檔
& N) ^8 T+ m5 h6 a7 Y5 K/ [/etc/httpd/conf/httpd.conf
/ n* J/ m1 x. P% |) [4 u8 P2 E2. 指令DocumentRoot可用來指定放置WWW網站網頁的跟目錄
) q; `7 V Z; I9 d: c0 P1 Y3. 指令DirectoryIndex可用來指定WWW網站首頁的名稱
( Z0 |* J: m3 t& P* G4. 指令MaxClients可用來指定連線上限人數
/ P1 L; [ K9 j: e/ S0 A5 d/ C
5. 指令UserDir可用來指定WWW網站放置個人帳號網頁的目錄名稱
/ K+ `0 E( f* H6. 指令Alias可用來指定虛擬目錄指令,指定虛擬目錄名稱兩側加上 / /,如 /images/,實際的對應目錄則是絕對路徑目錄,如/home/httpd/images/
- Q+ m. e2 Z" p5 oex. Alias /images/ /home/httpd/images/
% s ~; q+ E( M6 |
: R$ f) a* i4 A! {3 n9 z
八、將網頁送上主機
# a( z# ]0 m* q* t, `7 ^0 K
.安裝好Apache Web Server後,內定就有放置個人網頁的功能,當您建立好一個新的帳號後,您可以在您的帳號下建立一個放置個人網頁的目錄 public_html(目錄權限為711),再以ftp方式把網頁資料放在public_html目錄下,記得網頁首頁必須取名為index.html。
3 s B* |; T! k
.最後您可以使用瀏覽起,在URL欄裡輸入測試
% d# g1 n& h3 Q7 h2 R
.http://主機IP(主機Domain)/~帳號名稱,
4 F) U$ O9 [& M% \8 l
如:
http://192.168.1.16/~kao,即可瀏覽個人網頁
9 y5 [: G& t3 L. p# z: _" |
/ X. P6 ?2 X( \/ F& |九、結語
+ `' v& \6 i' I) y. j6 }- V.基本上在Redhat linux下架設Apache Web Server算是相當容易的工作,其執行效能好、工作彈性大、管理簡單,配合Mail Server更是讓人人有網頁的口號落實,非常值得教育單位與機關行號選用為Web Server,但是須注意到帳號全線上的管理,以免系統出現安全上的漏洞。
$ S3 D+ ?3 @7 ] Z) d6 Z/ m( R S* q% b5 P) T d7 W% s
) e! i9 ?/ } R8 q' q h
參考資料
0 d% F; B( |8 z) l9 |http://mpp10.et.ntust.edu.tw/htdocs/apache/apache.php4 }: S6 {; A' Q$ S' h9 {