作者 主題: 求教 APACHE 的網頁設定問題  (閱讀 5712 次)

0 會員 與 1 訪客 正在閱讀本文。

...

  • 酷學園旁聽生
  • 俺是博士!
  • *****
  • 文章數: 5607
    • 檢視個人資料
求教 APACHE 的網頁設定問題
« 於: 2002-01-12 10:47 »
請問 有關 APache 的個人帳號網頁 設定一問
小弟目前的問題是
如何在個人帳號上 所設定的 網頁目錄
再設定一個屬於他個人的 CGI可執行程式的目錄

小弟的 Linux主機上"主網頁" 是有設定 Cgi 目錄可執行
但是因為那個 Cgi 目錄不想讓個人的網頁程式放在一起(很亂)
所以才想說讓他自己的 home 目錄所設定的 網頁目錄中
再開一個目錄為可執行 CGI 程式

我在 httpd.conf 設定  

<Directory "/home/chi/www/cgi">
    AllowOverride None
    Options ExecCGI
    Order allow,deny
    Allow from all
</Directory>

註: www為 public 網頁目錄
--------------------
但是去執行 cgi程式 會變成網頁將 cgi 程式看成 文字檔那樣子
show 出內容

不知還要怎麼做才能設定 個人帳號可執行的 CGI 程式目錄說
請高手指教   係謝

...

  • 酷學園旁聽生
  • 俺是博士!
  • *****
  • 文章數: 5607
    • 檢視個人資料
求教 APACHE 的網頁設定問題
« 回覆 #1 於: 2002-01-12 12:40 »
參考一下我的設定

<VirtualHost 123.123.123.123>
ServerAdmin root@abc.com
DocumentRoot /home/xxxxx/public
ServerName http://www.xxxxx.com
ServerAlias xxxxx.com
ScriptAlias /cgi-bin/ /home/xxxxx/cgi-bin/
<Directory /home/xxxxx/web>
Options Indexes Includes FollowSymLinks
AllowOverride All
order allow,deny
allow from all
</Directory>
<Directory /home/xxxxx/cgi-bin>
AllowOverride None
Options ExecCGI
</Directory>
</VirtualHost>

這樣的設定,便每一個網站,也可以有自己的cgi目錄,但這只是virtual hosting的做法,如你是指沒網站,但主站下每個使用者都要有獨立的cgi-bin的話,也應在httpd.conf中設定,但詳情要找書參考一下

...

  • 酷學園旁聽生
  • 俺是博士!
  • *****
  • 文章數: 5607
    • 檢視個人資料
求教 APACHE 的網頁設定問題
« 回覆 #2 於: 2002-01-14 08:57 »
您好!

請看一下,小弟的文章,http://www.study-area.org/tips/tipsfr2.htm。裡面在後半段有提到:

#########################

Include conf/mod_perl.conf
ScriptAliasMatch ~(.*)/(cgi-bin/.*) "/home/$1/public_html/$2/"

# 我在這上面分別告訴apache說,我還要特別載入mod_perl.conf這個設定檔
# 因為我喜歡將這個部分獨立出來處理。
# 順便在後面定義了,使用者的cgi-bin的目錄。請特別注意,我是使用ScriptAliasMatch
# 的函式,基本上這只是說明,如果您想要換地方的話,請自行動手... 但是要跟我在
# mod_perl.conf裡面所定義相符合才行...


#########################


# 以下就是我的mod_perl.conf內容

#########################

LoadModule perl_module   /usr/lib/apache/libperl.so
AddModule mod_perl.c



    SetHandler perl-script
    AddHandler cgi-script .cgi
    AddHandler cgi-script .pl
    AllowOverride None
   
    PerlHandler Apache::Registry
    PerlSendHeader On
    Options +ExecCGI


#########################



也就是說,您只要在個人的網頁目錄底下(如:/home/website/public_html),建立cgi-bin這個目錄,再配合上面所述的宣告內容,即可...

如果,每個使用者的public_html都想要對應一個網址,而這個網址又想執行不同個cgi-bin,只要建立像VirtualHost的宣告:

<VirtualHost 111.222.333.444>
        ServerAdmin webmaster@123.456.com
        DocumentRoot /home/website/public_html
        ServerName http://www.website.com
        ScriptAlias /cgi-bin/ "/home/website/public_html/cgi-bin/"
        ErrorLog /home/website/log/error_log
        CustomLog /home/website/log/access_log common
</VirtualHost>


此致

...

  • 酷學園旁聽生
  • 俺是博士!
  • *****
  • 文章數: 5607
    • 檢視個人資料
求教 APACHE 的網頁設定問題
« 回覆 #3 於: 2002-01-15 11:26 »


感謝先進指導

但是小弟愚昧還是沒法度

不過在此問一下 日京三子 兄
請問下面這一行大概是什麼意思    另外 為什麼要 (.*)  , $1,$2 代表什麼意思
ScriptAliasMatch ~(.*)/(cgi-bin/.*) "/home/$1/public_html/$2/"

我從 內定的 httpt.conf 看到一個相似的

ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"

我知道上面  /cgi-bin/ 的意思就是 = http://xxx.xxx.xx.xx/cgi-bin

所以順便請教一下...感恩......