QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 631|回复: 1

请教!怎样在apache服务器上增加CGI脚本支持!

[复制链接]
发表于 2003-7-7 20:02:08 | 显示全部楼层 |阅读模式
需要架设一个cgi脚本写的论坛。下载的是雷傲论坛。
现在需要在服务器上增加对Perl CGI脚本的支持。
服务器上用的是Apache。
请问,需要怎么添加或者是修改。
不胜感激!
发表于 2003-7-15 13:20:28 | 显示全部楼层
注意.这篇章是从http://linux.vbird.org/ 抄录.

CGI 之執行、Index 顯示、查無網頁顯示之設定:

    CGI 之執行:
    首先要來提到的是 CGI 的執行問題,這也是很多朋友想要提出的問題啦!到底要怎麼設定才可以在某些路徑裡面執行 CGI 的程式呢?而不是使用純文字將他 show 出來?!難道要執行 CGI 就非得在 /usr/local/apache2/cgi-bin 這個目錄下不可嗎?當然不是!有很多的方法可以來設定的!舉個例子來說,假設今天有個一般身份的使用者 test ,他想要可以執行 CGI ,那麼他的家目錄在 /home/test/public_html 底下,而他的程式是放在 /home/test/public_html/cgi 這個目錄中,那我可以怎麼作呢?同樣有兩種作法:

        * 使用 Options 及 ExecCGI

          你可以在 httpd.conf 這個檔案中,找個地方加入底下的文字:
          [root @test root]# vi /usr/local/apache2/conf/httpd.conf

          方法一:
          先確認在 httpd.conf 當中,底下這一行已經將註解拿掉了!
          AddHandler cgi-script .cgi
          請注意,如果是想要讓 .pl 的檔案可以執行 ( Perl ),那麼上面那行要改寫成:
          AddHandler cgi-script .cgi .pl

          再加入底下幾行:
          <Directory "/home/test/public_html/cgi">
              Options ExecCGI
              AllowOverride None
              Order allow,deny
              Allow from all
          </Directory>

          方法二:
          直接加入底下這幾行即可!
          <Directory "/home/*/public_html/cgi">
              Options ExecCGI
              SetHandler cgi-script
          </Directory>

          [root @test root]# /usr/local/apache2/bin/apachectl stop
          [root @test root]# /usr/local/apache2/bin/apachectl start
          呵呵!這樣該目錄立刻就可以執行 CGI 的程式啦!當然啦,那個 cgi 的檔案,權限當中也必須要有『可執行, x 』的權限喔!而,如果你要執行某個 cgi 程式,例如 index.cgi 好了,那麼就需要填入:http://your.server.name/~test/cgi/index.cgi 囉!
        *   使用 ScriptAlias 功能:

          還有另外一個功能也可以達到同樣的效果,那就是使用 ScriptAlias 喔!你可以在 httpd.conf 這個檔案中,找個地方加入底下的文字:
          [root @test root]# vi /usr/local/apache2/conf/httpd.conf

          先確認在 httpd.conf 當中,底下這一行已經將註解拿掉了!
          AddHandler cgi-script .cgi

          再加入底下這一行:
          ScriptAlias /testcgi/ "/home/test/public_html/cgi/"

          [root @test root]# /usr/local/apache2/bin/apachectl stop
          [root @test root]# /usr/local/apache2/bin/apachectl start
          呵呵!這樣也是可以啦!假設你要執行的檔案仍然是 index.cgi ,那麼,你的執行網址會變成: http://your.server.name/testcgi/index.cgi !就是這點不同囉!其他的都一樣啦!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-16 06:56 , Processed in 0.042005 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表