2017-04-04 5 views
0

CGIまたはApacheを初めて使用しています。CGIファイルを拡張子なしで実行する

mooshakという名前のアプリケーションをインストールしようとしています。

インストールは正常終了です。しかし、ローカルサイトを開くと、ファイルをダウンロードするのではなく、ファイルをダウンロードするだけです。

私はhttp://localhost/~mooshak/cgi-bin/executeを開くと示すように、それは単にファイルをダウンロードします。

#!/bin/sh 
# the next line restarts using tclsh \ 
PATH=$PATH:/usr/local/bin:/usr/contrib/bin ; exec tclsh "$0" "[email protected]" 

#-*-Mode: TCL; iso-accents-mode: t;-*- 

set errorCode NONE 

cd ../.. 

lappend auto_path packages 

source .config 

execute::command_line 

マイ/etc/apache2/mods-enabled/userdir.confファイルは次のようになります。

<IfModule mod_userdir.c> 
     <Directory /home/*/public_html/cgi-bin> 
       Options +ExecCGI -Includes -Indexes 
       SetHandler cgi-script 
       Order allow,deny 
       Allow from all 
     </Directory> 
</IfModule> 

私は何をすべき?

答えて

0

この

<Directory /home/*/public_html> 
     Options -Includes -Indexes 
     Order allow,deny 
     Allow from all 
</Directory> 
<Directory /home/*/public_html/cgi-bin> 
     Options +ExecCGI -Includes -Indexes 
     SetHandler cgi-script 
</Directory> 

のように試してみて、CGI-スクリプトの/urs/lib/cgi-binを使用してみてくださいスクリプトにchmod +x

+0

...それdoes'nt仕事:( –

0

を与えます。あなたが何をすべきか分からなければ、他のすべてがあなたにハッピーを与えるでしょう。

のcgi-スクリプトは、/etc/apache2/conf-availableにエントリを追加する必要がありますApacheのバージョン> = 2.2の場合www-data

ユーザーのために実行可能読めるする必要があります。私の設定は次のようになっています...

これらはDebianシステムのデフォルト設定であり、追加のパスワード保護です。

a2enconf cgi-binに電話してください。

これは、/etc/apache2/mods-enabledとは関係ありません。私はそこにcgiコードを入れる理由を見つけることができません。代わりに、/etc/apache2/mods-enabledにエントリを置く

a2enmod cgi 

これを介して共通ゲートウェイ・インタフェースを有効にする必要があります。

なく、少なくとも最後に、あなたが行くあり/etc/init.d/apache2 restart

を介してサーバを再起動する必要があります。
これが役に立ちます。


追加

あなたは、サーバーを再起動する前に、設定を確認するapache2ctl configtestを実行する必要があります!

/var/log/apache2/でも、何かが南になると良い情報があります。
コマンドsystemctl status apache2.serviceを使用してサービスのステータスを確認し、journalctl -b -n 30 -u apache2.serviceを使用して最後の30のプロトコルエントリを取得することもできます。

関連する問題