質問: 標準のhello world cgiスクリプトを実行するには、どのような手順に従う必要がありますか? ストックubuntuの最新リリースのインストールが完了し、次のスクリプトがあるとします。#!/bin/sh echo "content-type: text/html\n" echo "<html><body>hello world</body></html>" このスクリプトを使用して http:// localhost から "hello world" webページを提供するようにapacheをインストールおよび構成するにはどうすればよいですか?
回答: クイックウェイapache webサーバーをインストールするコマンドライン(ターミナル)アプリケーションで:sudo apt-get install apache2 apacheでスクリプトを実行可能にするこの例では、cgiスクリプトの名前はtest.shであり、個人のホームフォルダーに保存されていると仮定します。 apacheがtest.shを使用するには、スクリプトに最初に実行可能権限が必要です。chmod 755 $home/test.sh また、apacheが指定したcgiフォルダーに移動する必要があります。 ubuntu(および他のdebianベースのオペレーティングシステム)の場合、これは/usr/lib/cgi-bin/ですが、htmlおよびその他のコンテンツは/var/wwwに格納されます。sudo mv $home/test.sh /usr/lib/cgi-bin/ ローカルサーバーの出力にアクセスしますapacheは、 http://localhost/cgi-bin/test.sh でtest.sh- generated htmlを提供します。 apacheが自分のマシン以外の場所にある場合は、「localhost」をサーバーのurlまたはipアドレスに置き換えます。/ usr/lib/cgi-bin /ではなく/ var/www/test-cgiにcgiスクリプトを保存するcgiスクリプトを別のフォルダーに保存するには、vanilla apacheの構成を変更する必要があります。sudoedit /etc/apache2/sites-enabled/000-default <virtualhost>ディレクティブ内に次を追加します。scriptalias /test-cgi/ /var/www/test-cgi/ <directory "/var/www/test-cgi"> allowoverride none options +execcgi -multiviews +symlinksifownermatch order allow,deny allow from all </directory> 次に、コマンドラインで:sudo mkdir /var/www/test-cgi sudoedit /var/www/test-cgi/test.sh 次に、コマンドラインでapacheを再起動します。sudo apachectl restart the quick wayと同様に、cgi出力は http://localhost/test-cgi/test.sh で提供される必要があります=(リモートで開発している場合は、「localhost」をサーバードメインに置き換えます)。トラブルシューティング問題がある場合は、 apacheの公式ドキュメント を参照してください。