kukai88

垢 - やったことを残す -

Web サーバー(Apache HTTP Server)を構築する ー web アプリ作成 ー

入力フォーム(HTML)に入力された数字を CGI プログラムで計算してブラウザに出力する簡易な web アプリを作成します。

環境


既に以下の設定が完了しているものとします。

  • Apache HTTP Server の導入
  • ファイヤフォールの設定(80 番ポートの開放)

CGI プログラムを実行可能な環境にする

a2enmod コマンドで cgid モジュールを Web サーバー(Apache)に組み込みます。完了後、Apache を再起動します。

$ sudo a2enmod cgi
$ sudo systemctl restart apache2

入力フォーム(HTML)を作成する

作成したファイルを Apache のドキュメントルートである /var/www/html 直下に配置します。
注:ソースコードは省略

ドキュメントルートは「/etc/apache2/sites-available/000-default.conf」で決められています。変更することも可能です。

DocumentRoot   /var/www/html

CGI プログラムを作成する

作成したファイルを CGI プログラム置き場である /usr/lib/cgi-bin 直下に配置します。
注:ソースコードは省略

CGI プログラム置き場は「/etc/apache2/conf-enabled/serve-cgi-bin.conf」で決められています。

CGI プログラムに実行権限を付与する

作成した CGI プログラムに実行権限を与えないと動作しません。

$ sudo chmod a+x /usr/lib/cgi-bin/{ファイル名}.sh

web アプリを実行する

同じネットワーク内にある PC のブラウザを起動して「http://xxx.xxx.xxx.xxx/{ファイル名}.html」を表示します。
表示された入力フォームに適当な数字を入力し submit すると、各々の数字が足しあわされた結果がブラウザに表示されます。