linux Apache CGI 安裝配置
更新時(shí)間:2009年05月21日 12:46:33 作者:
Apache 中的提交了一種利用擴(kuò)展應(yīng)用程序執(zhí)行動(dòng)態(tài)網(wǎng)頁(yè)的機(jī)制. 稱為Common Gateway Interface (通用網(wǎng)關(guān)接口)簡(jiǎn)稱CGI.
本文假定你已經(jīng)安裝好linux(本文的linux版本為Fedora Core3), 并具有root權(quán)限.
1,安裝apache
首先到apache的主頁(yè)下載最新版本的apache http server,地址為 http://httpd.apache.org/
本文寫于2006.4.29,apache版本為2.2.0 .如果你也想用這一個(gè)版本的話請(qǐng)點(diǎn)擊:http://mirror.vmmatrix.net/apache/httpd/httpd-2.2.0.tar.gz
安裝apache:
切換到httpd-2.2.0.tar.gz所在目錄,然后:
# tar xvzf httpd-2.2.0.tar.gz
此時(shí)在該目錄下有一個(gè)文件夾 httpd-2.2.0,切換到該文件夾:
# cd ./httpd-2.2.0
我不知道你想把a(bǔ)pache安裝到哪個(gè)文件夾,我們假定想安裝到 /usr/local/apache2/ 下面,則
輸入下面的命令:
# ./configure --prefix= /usr/local/apache2
# make
# make install
執(zhí)行完這3條命令之后,apache就安裝到你的 /usr/local/apache2目錄下了.
切換到該目錄看看有什么咚咚吧;)
# cd ./usr/local/apache2
# ls
可以看到里面有 /bin ,/conf , /htdocs, /cgi-bin 等目錄.此時(shí)apache還沒(méi)有啟動(dòng),我們通過(guò)/bin目錄下的工具apachectl來(lái)啟動(dòng),首先切換到/bin目錄:
# cd ./bin
然后啟動(dòng):
# ./apachectl start
這時(shí)候在地址欄輸入 http://localhost/ 看看是不是有成功的信息?(筆者看到的是 "It works!") 的信息, 當(dāng)然不同的版本會(huì)不同,根據(jù)你 /htdocs 下的index.html內(nèi)容而定.
把/usr/local/apache2/htdocs/index.html 替換成你的頁(yè)面文件就可以了.
到了這里,我們假定你的apache服務(wù)器已經(jīng)安裝成功.如果還有問(wèn)題請(qǐng)?jiān)诰W(wǎng)上搜索一下或者聯(lián)系我:
lonestep AT gmail D。T com
2, 配置apache使之執(zhí)行cgi程序
默認(rèn)下,cgi程序必須放在cgi-bin目錄下,我們先來(lái)配置使得cgi-bin下的cgi程序能得到正確執(zhí)行,
后面將會(huì)介紹怎么讓apache執(zhí)行放在別的目錄下的cgi程序.
1),承上,我們已經(jīng)把a(bǔ)pache安裝到 /usr/local/apache2 目錄下,切換到/usr/local/apache2/conf 目錄,里面有一個(gè) httpd.conf 文件, 編輯這個(gè)文件:
# cd /usr/local/apache2/conf
# vi httpd.conf (假定你的文本編輯器是vi, 如果你用別的編輯器如emacs, gedit, kedit 之類,把vi 替換成它們的命令即可)
尋找其中一行如:
# ScriptAlias /cgi-bin/ "/usr/local/apache2/cgi-bin/"
把這行前面前面的'#'去掉,然后重新啟動(dòng)apache :
# cd ./bin (or cd /usr/local/apache2/bin)
# ./apachectl restart
ok, 假如你放了一個(gè)cgi程序'test.cgi'到cgi-bin的話,在地址欄
輸入 http://localhost/cgi-bin/test.cgi 看看是否能夠執(zhí)行>?
如果不能,請(qǐng)發(fā)郵件給我:)
2),如果你想改變執(zhí)行cgi的目錄(不用默認(rèn)的cgi-bin目錄),則該變剛才的
ScriptAlias /cgi-bin/ "/usr/local/apache2/cgi-bin/" 為:
ScriptAlias /SomeOtherDirectory/ "/usr/local/apache2/cgi-bin/"
然后重新啟動(dòng)apache.
以上的過(guò)程都是比較簡(jiǎn)單的,如果您遇到了本文未曾涉及的問(wèn)題,或者與本文假設(shè)不同的條件,
請(qǐng)先到Internet上查找解決辦法,如果還不行(once and once again)可以發(fā)郵件給我:)
一. CGI 的配置過(guò)程
1.CGI執(zhí)行目錄設(shè)置. 一般在 /usr/local/apache/cgi-bin/文件夾中. 在httpd.conf配置文件中能找到相關(guān)信息. 例如我把的CGI 程序是test.pl 那么地應(yīng)的HTTP請(qǐng)法地址就是:http://localhost/cgi-bin/test.pl
2.CGI 的執(zhí)行目錄出于全安考慮一般只給讀權(quán)限.對(duì)應(yīng)的httpd.conf 中的配置可執(zhí)行CGI的地方如下:
<Directory /usr/local/apache/htdocs/somedir>
Options +ExecCGI
</Directory>
3.htaccess文件
阿.htaccess文件是一種方法,一套配置指令對(duì)每個(gè)目錄的基礎(chǔ)。 當(dāng)Apache服務(wù)的資源,它看起來(lái)在目錄中由它提供的文件的文件要求.htaccess ,如果它認(rèn)為有,它將適用于指示發(fā)現(xiàn)的。 .htaccess文件可以被允許的AllowOverride指令,其中具體規(guī)定哪些類型的指令可以出現(xiàn)在這些文件,或者,如果他們也不允許的。 允許指令,我們將需要為此目的,下面的配置將需要在您的主服務(wù)器配置.
二, 配置文件的內(nèi)容和參數(shù)意思
在配置目錄中有三個(gè)文件,分別是:
1. conf/httpd.conf :
ServerType :有兩個(gè)值可供選擇standalone 和inetd
Standalone : 表示你的httpd進(jìn)程,是以一個(gè)單獨(dú)的守護(hù)進(jìn)程(daemon)的方式 在后臺(tái)偵聽(tīng)是否有客戶端的請(qǐng)求。
Inetd :表示你的httpd進(jìn)程不是以守護(hù)進(jìn)程(daemon)的方式運(yùn)行,而是由Inetd 這個(gè) internet services的進(jìn)程偵聽(tīng),一旦有客戶的請(qǐng)求,他會(huì)自動(dòng)的啟動(dòng)httpd這個(gè)進(jìn)程來(lái)提供相應(yīng)的服務(wù) 默認(rèn)的是Standalone方式,如果你不是對(duì) ARPA Berkeley Services 不是很了解的 話,不要更改。
Port : 你分配給你的WEB SERVER 的端口號(hào)。
Httpd 的默認(rèn)端口是80,也可以分配給自己的WEB SERVER 一個(gè)大于1024 的
端口號(hào)。如果你這樣作,你必須在你的URL后面跟上你的端口號(hào)才能訪問(wèn)到你
的頁(yè)面。比如你分配給你的服務(wù)的端口號(hào)是8888,那么你訪問(wèn)時(shí)需要輸入
http://domainname:8888
ServerAdmin :服務(wù)管理員的email 地址,默認(rèn)的是本機(jī)的root用戶,所以是
root@localhost
ServerRoot :用來(lái)存放服務(wù)的配置、出錯(cuò)和記錄文件的目錄。
BindAddress :虛擬主機(jī)的IP地址。用一臺(tái)機(jī)子虛擬多臺(tái)機(jī)子。
ErrorLog :用來(lái)存放你WEB SERVER的出錯(cuò)信息的文件。
TransferLog :用來(lái)存放記傳輸過(guò)的文件名的記錄文件。
PidFile :該指定的文件存放了httpd進(jìn)程的進(jìn)程號(hào),用來(lái)停止WEB SERVER。
ScoreBoardFile :用來(lái)存放進(jìn)程的信息。
ServerName :你機(jī)子的名稱,如果你有域名,填入你本機(jī)的域名。如果沒(méi)有,就
填入你的主機(jī)名或IP地址。
Timeout :傳輸或接收的延時(shí)。大于這個(gè)時(shí)間SERVER 會(huì)斷開(kāi)這個(gè)鏈接。
KeepAlive :(on or off)是否允許一個(gè)鏈接同時(shí)發(fā)出多的請(qǐng)求。
KeepAliveTimeout :(default is 15)等待下一個(gè)請(qǐng)求的時(shí)間。
MaxClients :(default is 150)允許的最大客戶個(gè)數(shù)。
通常上面的參數(shù)的默認(rèn)值是不用改的,但是如果你同時(shí)在一臺(tái)機(jī)子上開(kāi)幾個(gè)WEB SERVER 時(shí)要注意。第一,你要給每一個(gè)WEB SERVER 分配不同的port 號(hào)。第二,要分別指定他們的errorlog文件和pidfile文件。第三,不懂的參數(shù)不要隨意改動(dòng),即使改動(dòng)也要一次改一個(gè),并留有記錄以便恢復(fù)。
2. /conf/access.conf :
主要是對(duì)目錄的功能和訪問(wèn)的控制的設(shè)定。下面我針對(duì)默認(rèn)的頁(yè)面的配置文件進(jìn)行說(shuō)明。該文件的位置是:/etc/httpd/conf/access.conf.
該文件的第一段非注釋部分如下:
<Directory /home>
Options Indexes IncludesNOEXEC
AllowOverride None
</Directory>
大家注意到這一部分是以<Directory /home>開(kāi)頭,以</Directory>結(jié)束的。其中開(kāi)頭的部分<Directory /home>表示下面的設(shè)定是針對(duì) /home 目錄的。Options 這一命令有很多的參數(shù),各參數(shù)的功能如下:
All 所有的選項(xiàng)除了MultiViews功能。
ExecCGI 開(kāi)啟執(zhí)行CGI程序的功能。
FollowSymLinks 開(kāi)啟一個(gè)動(dòng)態(tài)的鏈接,當(dāng)有客戶訪問(wèn)到該目錄時(shí)會(huì)自動(dòng)
的鏈接到另一個(gè)相關(guān)的目錄中去。
Includes 開(kāi)啟服務(wù)端的引用功能。
IncludesNOEXEC 開(kāi)啟服務(wù)端的引用功能,但是#exec和CGI程序的引用將
被禁止。
Indexes 如果沒(méi)有index.html文件在目錄中,就會(huì)顯示文件列表。
SymLinksIfOwnerMatch 只有在鏈接的目標(biāo)文件或目錄與當(dāng)前的目錄屬于同一用
戶時(shí),才開(kāi)啟鏈接。
接著是AllowOverride參數(shù),該參數(shù)是設(shè)定訪問(wèn)控制的。這里把他設(shè)置成None,表示沒(méi)有開(kāi)啟該功能。
第二部分是:
<Directory /home/httpd/html>
Options Indexes Includes ExecCGI FollowSymLink
AllowOverride None
order allow,deny
allow from all
</Directory>
第三部分是:
<Directory /home/httpd/cgi-bin>
AllowOverride None
Options ExecCGI
</Directory>
表示對(duì)/home/httpd/cgi-bin 不進(jìn)行訪問(wèn)控制,允許執(zhí)行CGI程序。這就表明這是一個(gè)用來(lái)存放CGI程序的目錄
3. /conf/srm.conf
主要是用來(lái)指定你的文檔的位置。
第一個(gè)參數(shù)是:DocumentRoot 。用來(lái)指定主文檔的地址。
第二個(gè)參數(shù)是:UserDir 。用來(lái)指定個(gè)人主頁(yè)的位置。如果你有一個(gè)用戶的home目錄為 /home/jon 當(dāng)在URL中輸入 http://yourdomain/~jon 系統(tǒng)就會(huì)到 /home/jon/X/中去取這個(gè)用戶的個(gè)人主頁(yè)。其中X為UserDir 所指定的目錄。
第三個(gè)參數(shù)是:DirectoryIndex。用來(lái)聲明查找的索引文件的名稱。
其他的不改也無(wú)防。通常用到的就是上面的幾個(gè)選項(xiàng)。
具體示例
需要建立一個(gè)開(kāi)機(jī)啟動(dòng)的web server。假定你的文檔目錄為/home/jon/html。
首先,更改/etc/httpd/conf/access.conf文件的內(nèi)容。將原文檔的目錄更改為新的文檔目錄。
例如如下的更改:
<Directory /home/httpd/html> ? <Directory /home/jon/html>
Options Indexes Includes ExecCGI FollowSymLink
AllowOverride None
order allow,deny
allow from all
</Directory>
<Directory /home/httpd/cgi-bin> ? <Directory /home/jon/cgi-bin>
AllowOverride None
Options ExecCGI
</Directory>
如上做相應(yīng)的更改,注意 /home/jon/cgi-bin為你的cgi程序的目錄。
接著,修改 /etc/httpd/conf/srm.conf文件。
將DocumentRoot /home/httpd/html 改為DocumentRoot /home/jon/html
最后,修改 /etc/httpd/conf/httpd.conf文件。
將ServerName 這一個(gè)參數(shù)后面的原來(lái)的內(nèi)容替換為你的本機(jī)ip地址或主機(jī)名,同時(shí)去掉前面的注釋符 “#”。這里的配置為:
ServerName jon (jon 為我的主機(jī)名)
從新啟動(dòng)httpd進(jìn)程:
#/etc/rc.d/init.d/httpd restart
四. CGI 程序的編寫
首先,所有輸出從您的CGI程序之前,必須由一個(gè)MIME類型的標(biāo)題
1. 首先要確定Content-type: text/html
1,安裝apache
首先到apache的主頁(yè)下載最新版本的apache http server,地址為 http://httpd.apache.org/
本文寫于2006.4.29,apache版本為2.2.0 .如果你也想用這一個(gè)版本的話請(qǐng)點(diǎn)擊:http://mirror.vmmatrix.net/apache/httpd/httpd-2.2.0.tar.gz
安裝apache:
切換到httpd-2.2.0.tar.gz所在目錄,然后:
# tar xvzf httpd-2.2.0.tar.gz
此時(shí)在該目錄下有一個(gè)文件夾 httpd-2.2.0,切換到該文件夾:
# cd ./httpd-2.2.0
我不知道你想把a(bǔ)pache安裝到哪個(gè)文件夾,我們假定想安裝到 /usr/local/apache2/ 下面,則
輸入下面的命令:
# ./configure --prefix= /usr/local/apache2
# make
# make install
執(zhí)行完這3條命令之后,apache就安裝到你的 /usr/local/apache2目錄下了.
切換到該目錄看看有什么咚咚吧;)
# cd ./usr/local/apache2
# ls
可以看到里面有 /bin ,/conf , /htdocs, /cgi-bin 等目錄.此時(shí)apache還沒(méi)有啟動(dòng),我們通過(guò)/bin目錄下的工具apachectl來(lái)啟動(dòng),首先切換到/bin目錄:
# cd ./bin
然后啟動(dòng):
# ./apachectl start
這時(shí)候在地址欄輸入 http://localhost/ 看看是不是有成功的信息?(筆者看到的是 "It works!") 的信息, 當(dāng)然不同的版本會(huì)不同,根據(jù)你 /htdocs 下的index.html內(nèi)容而定.
把/usr/local/apache2/htdocs/index.html 替換成你的頁(yè)面文件就可以了.
到了這里,我們假定你的apache服務(wù)器已經(jīng)安裝成功.如果還有問(wèn)題請(qǐng)?jiān)诰W(wǎng)上搜索一下或者聯(lián)系我:
lonestep AT gmail D。T com
2, 配置apache使之執(zhí)行cgi程序
默認(rèn)下,cgi程序必須放在cgi-bin目錄下,我們先來(lái)配置使得cgi-bin下的cgi程序能得到正確執(zhí)行,
后面將會(huì)介紹怎么讓apache執(zhí)行放在別的目錄下的cgi程序.
1),承上,我們已經(jīng)把a(bǔ)pache安裝到 /usr/local/apache2 目錄下,切換到/usr/local/apache2/conf 目錄,里面有一個(gè) httpd.conf 文件, 編輯這個(gè)文件:
# cd /usr/local/apache2/conf
# vi httpd.conf (假定你的文本編輯器是vi, 如果你用別的編輯器如emacs, gedit, kedit 之類,把vi 替換成它們的命令即可)
尋找其中一行如:
# ScriptAlias /cgi-bin/ "/usr/local/apache2/cgi-bin/"
把這行前面前面的'#'去掉,然后重新啟動(dòng)apache :
# cd ./bin (or cd /usr/local/apache2/bin)
# ./apachectl restart
ok, 假如你放了一個(gè)cgi程序'test.cgi'到cgi-bin的話,在地址欄
輸入 http://localhost/cgi-bin/test.cgi 看看是否能夠執(zhí)行>?
如果不能,請(qǐng)發(fā)郵件給我:)
2),如果你想改變執(zhí)行cgi的目錄(不用默認(rèn)的cgi-bin目錄),則該變剛才的
ScriptAlias /cgi-bin/ "/usr/local/apache2/cgi-bin/" 為:
ScriptAlias /SomeOtherDirectory/ "/usr/local/apache2/cgi-bin/"
然后重新啟動(dòng)apache.
以上的過(guò)程都是比較簡(jiǎn)單的,如果您遇到了本文未曾涉及的問(wèn)題,或者與本文假設(shè)不同的條件,
請(qǐng)先到Internet上查找解決辦法,如果還不行(once and once again)可以發(fā)郵件給我:)
一. CGI 的配置過(guò)程
1.CGI執(zhí)行目錄設(shè)置. 一般在 /usr/local/apache/cgi-bin/文件夾中. 在httpd.conf配置文件中能找到相關(guān)信息. 例如我把的CGI 程序是test.pl 那么地應(yīng)的HTTP請(qǐng)法地址就是:http://localhost/cgi-bin/test.pl
2.CGI 的執(zhí)行目錄出于全安考慮一般只給讀權(quán)限.對(duì)應(yīng)的httpd.conf 中的配置可執(zhí)行CGI的地方如下:
<Directory /usr/local/apache/htdocs/somedir>
Options +ExecCGI
</Directory>
3.htaccess文件
阿.htaccess文件是一種方法,一套配置指令對(duì)每個(gè)目錄的基礎(chǔ)。 當(dāng)Apache服務(wù)的資源,它看起來(lái)在目錄中由它提供的文件的文件要求.htaccess ,如果它認(rèn)為有,它將適用于指示發(fā)現(xiàn)的。 .htaccess文件可以被允許的AllowOverride指令,其中具體規(guī)定哪些類型的指令可以出現(xiàn)在這些文件,或者,如果他們也不允許的。 允許指令,我們將需要為此目的,下面的配置將需要在您的主服務(wù)器配置.
二, 配置文件的內(nèi)容和參數(shù)意思
在配置目錄中有三個(gè)文件,分別是:
1. conf/httpd.conf :
ServerType :有兩個(gè)值可供選擇standalone 和inetd
Standalone : 表示你的httpd進(jìn)程,是以一個(gè)單獨(dú)的守護(hù)進(jìn)程(daemon)的方式 在后臺(tái)偵聽(tīng)是否有客戶端的請(qǐng)求。
Inetd :表示你的httpd進(jìn)程不是以守護(hù)進(jìn)程(daemon)的方式運(yùn)行,而是由Inetd 這個(gè) internet services的進(jìn)程偵聽(tīng),一旦有客戶的請(qǐng)求,他會(huì)自動(dòng)的啟動(dòng)httpd這個(gè)進(jìn)程來(lái)提供相應(yīng)的服務(wù) 默認(rèn)的是Standalone方式,如果你不是對(duì) ARPA Berkeley Services 不是很了解的 話,不要更改。
Port : 你分配給你的WEB SERVER 的端口號(hào)。
Httpd 的默認(rèn)端口是80,也可以分配給自己的WEB SERVER 一個(gè)大于1024 的
端口號(hào)。如果你這樣作,你必須在你的URL后面跟上你的端口號(hào)才能訪問(wèn)到你
的頁(yè)面。比如你分配給你的服務(wù)的端口號(hào)是8888,那么你訪問(wèn)時(shí)需要輸入
http://domainname:8888
ServerAdmin :服務(wù)管理員的email 地址,默認(rèn)的是本機(jī)的root用戶,所以是
root@localhost
ServerRoot :用來(lái)存放服務(wù)的配置、出錯(cuò)和記錄文件的目錄。
BindAddress :虛擬主機(jī)的IP地址。用一臺(tái)機(jī)子虛擬多臺(tái)機(jī)子。
ErrorLog :用來(lái)存放你WEB SERVER的出錯(cuò)信息的文件。
TransferLog :用來(lái)存放記傳輸過(guò)的文件名的記錄文件。
PidFile :該指定的文件存放了httpd進(jìn)程的進(jìn)程號(hào),用來(lái)停止WEB SERVER。
ScoreBoardFile :用來(lái)存放進(jìn)程的信息。
ServerName :你機(jī)子的名稱,如果你有域名,填入你本機(jī)的域名。如果沒(méi)有,就
填入你的主機(jī)名或IP地址。
Timeout :傳輸或接收的延時(shí)。大于這個(gè)時(shí)間SERVER 會(huì)斷開(kāi)這個(gè)鏈接。
KeepAlive :(on or off)是否允許一個(gè)鏈接同時(shí)發(fā)出多的請(qǐng)求。
KeepAliveTimeout :(default is 15)等待下一個(gè)請(qǐng)求的時(shí)間。
MaxClients :(default is 150)允許的最大客戶個(gè)數(shù)。
通常上面的參數(shù)的默認(rèn)值是不用改的,但是如果你同時(shí)在一臺(tái)機(jī)子上開(kāi)幾個(gè)WEB SERVER 時(shí)要注意。第一,你要給每一個(gè)WEB SERVER 分配不同的port 號(hào)。第二,要分別指定他們的errorlog文件和pidfile文件。第三,不懂的參數(shù)不要隨意改動(dòng),即使改動(dòng)也要一次改一個(gè),并留有記錄以便恢復(fù)。
2. /conf/access.conf :
主要是對(duì)目錄的功能和訪問(wèn)的控制的設(shè)定。下面我針對(duì)默認(rèn)的頁(yè)面的配置文件進(jìn)行說(shuō)明。該文件的位置是:/etc/httpd/conf/access.conf.
該文件的第一段非注釋部分如下:
<Directory /home>
Options Indexes IncludesNOEXEC
AllowOverride None
</Directory>
大家注意到這一部分是以<Directory /home>開(kāi)頭,以</Directory>結(jié)束的。其中開(kāi)頭的部分<Directory /home>表示下面的設(shè)定是針對(duì) /home 目錄的。Options 這一命令有很多的參數(shù),各參數(shù)的功能如下:
All 所有的選項(xiàng)除了MultiViews功能。
ExecCGI 開(kāi)啟執(zhí)行CGI程序的功能。
FollowSymLinks 開(kāi)啟一個(gè)動(dòng)態(tài)的鏈接,當(dāng)有客戶訪問(wèn)到該目錄時(shí)會(huì)自動(dòng)
的鏈接到另一個(gè)相關(guān)的目錄中去。
Includes 開(kāi)啟服務(wù)端的引用功能。
IncludesNOEXEC 開(kāi)啟服務(wù)端的引用功能,但是#exec和CGI程序的引用將
被禁止。
Indexes 如果沒(méi)有index.html文件在目錄中,就會(huì)顯示文件列表。
SymLinksIfOwnerMatch 只有在鏈接的目標(biāo)文件或目錄與當(dāng)前的目錄屬于同一用
戶時(shí),才開(kāi)啟鏈接。
接著是AllowOverride參數(shù),該參數(shù)是設(shè)定訪問(wèn)控制的。這里把他設(shè)置成None,表示沒(méi)有開(kāi)啟該功能。
第二部分是:
<Directory /home/httpd/html>
Options Indexes Includes ExecCGI FollowSymLink
AllowOverride None
order allow,deny
allow from all
</Directory>
第三部分是:
<Directory /home/httpd/cgi-bin>
AllowOverride None
Options ExecCGI
</Directory>
表示對(duì)/home/httpd/cgi-bin 不進(jìn)行訪問(wèn)控制,允許執(zhí)行CGI程序。這就表明這是一個(gè)用來(lái)存放CGI程序的目錄
3. /conf/srm.conf
主要是用來(lái)指定你的文檔的位置。
第一個(gè)參數(shù)是:DocumentRoot 。用來(lái)指定主文檔的地址。
第二個(gè)參數(shù)是:UserDir 。用來(lái)指定個(gè)人主頁(yè)的位置。如果你有一個(gè)用戶的home目錄為 /home/jon 當(dāng)在URL中輸入 http://yourdomain/~jon 系統(tǒng)就會(huì)到 /home/jon/X/中去取這個(gè)用戶的個(gè)人主頁(yè)。其中X為UserDir 所指定的目錄。
第三個(gè)參數(shù)是:DirectoryIndex。用來(lái)聲明查找的索引文件的名稱。
其他的不改也無(wú)防。通常用到的就是上面的幾個(gè)選項(xiàng)。
具體示例
需要建立一個(gè)開(kāi)機(jī)啟動(dòng)的web server。假定你的文檔目錄為/home/jon/html。
首先,更改/etc/httpd/conf/access.conf文件的內(nèi)容。將原文檔的目錄更改為新的文檔目錄。
例如如下的更改:
復(fù)制代碼 代碼如下:
<Directory /home/httpd/html> ? <Directory /home/jon/html>
Options Indexes Includes ExecCGI FollowSymLink
AllowOverride None
order allow,deny
allow from all
</Directory>
<Directory /home/httpd/cgi-bin> ? <Directory /home/jon/cgi-bin>
AllowOverride None
Options ExecCGI
</Directory>
如上做相應(yīng)的更改,注意 /home/jon/cgi-bin為你的cgi程序的目錄。
接著,修改 /etc/httpd/conf/srm.conf文件。
將DocumentRoot /home/httpd/html 改為DocumentRoot /home/jon/html
最后,修改 /etc/httpd/conf/httpd.conf文件。
將ServerName 這一個(gè)參數(shù)后面的原來(lái)的內(nèi)容替換為你的本機(jī)ip地址或主機(jī)名,同時(shí)去掉前面的注釋符 “#”。這里的配置為:
ServerName jon (jon 為我的主機(jī)名)
從新啟動(dòng)httpd進(jìn)程:
#/etc/rc.d/init.d/httpd restart
四. CGI 程序的編寫
首先,所有輸出從您的CGI程序之前,必須由一個(gè)MIME類型的標(biāo)題
1. 首先要確定Content-type: text/html
您可能感興趣的文章:
- Linux安裝apache服務(wù)器的配置過(guò)程
- linux網(wǎng)站服務(wù)Apache的安裝與配置方法詳解
- Red Hat Linux,Apache2.0+Weblogic9.2負(fù)載均衡集群安裝配置
- Linux Apache PHP Oracle 安裝配置(具體操作步驟)
- linux下apache、mysql、php安裝配置詳細(xì)筆記
- lanmp(Linux Apache Nginx Mysql Php) 的安裝配置
- Linux下 php5 MySQL5 Apache2 phpMyAdmin ZendOptimizer安裝與配置[圖文]
- linux下安裝apache與php;Apache+PHP+MySQL配置攻略
- linux實(shí)現(xiàn)apache安裝與配置步驟詳解
相關(guān)文章
apache 二級(jí)域名解析實(shí)現(xiàn)方法
首先,你的擁有一個(gè)有泛域名解析的頂級(jí)域名,例如: domain.com其次,在 httpd.conf 中打開(kāi) mod_rewrite之后,在 httpd.conf 的最后,添加以下內(nèi)容2009-11-11淺談Linux配置定時(shí),使用crontab -e與直接編輯/etc/crontab的區(qū)別
下面小編就為大家?guī)?lái)一篇淺談Linux配置定時(shí),使用crontab -e與直接編輯/etc/crontab的區(qū)別。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-11-11使用反向ssh從外網(wǎng)訪問(wèn)內(nèi)網(wǎng)主機(jī)的方法詳解
這篇文章主要給大家介紹了使用反向ssh從外網(wǎng)訪問(wèn)內(nèi)網(wǎng)主機(jī)的方法,文中介紹的非常詳細(xì),對(duì)大家具有一定的參考價(jià)值,需要的朋友們下來(lái)要起看看吧。2017-04-04Linux下Oracle如何導(dǎo)入導(dǎo)出dmp文件詳解
這篇文章主要給大家介紹了關(guān)于在Linux下Oracle如何導(dǎo)入導(dǎo)出dmp文件的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧。2017-07-07yum 安裝memcache permission denied(拒絕訪問(wèn)) 問(wèn)題
這篇文章主要介紹了yum 安裝memcache permission denied(拒絕訪問(wèn)) 問(wèn)題,需要的朋友可以參考下2017-03-03關(guān)于bash函數(shù)你可能不知道的一些事情(譯)
這篇文章主要給大家介紹了關(guān)于bash函數(shù)你可能不知道的一些事情,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-07-07