ストックUbuntuの最新リリースのインストールが完了し、次のスクリプトがあるとします。
#!/bin/sh
echo "Content-type: text/html\n"
echo "<html><body>Hello world</body></html>"
このスクリプトを使用して http:// localhost から "Hello world" Webページを提供するようにApacheをインストールおよび構成するにはどうすればよいですか?
コマンドライン(ターミナル)アプリケーションで:
Sudo apt-get install Apache2
この例では、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アドレスに置き換えます。
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の公式ドキュメント を参照してください。