Web サーバー(Apache HTTP Server)を構築する ー web アプリ作成 ー
入力フォーム(HTML)に入力された数字を CGI プログラムで計算してブラウザに出力する簡易な web アプリを作成します。
環境
- Parallels Desktop 14 for Mac
- macOS Mojave
- Ubuntu Server 18.04.2 LTS
既に以下の設定が完了しているものとします。
- 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」で決められています。
web アプリを実行する
同じネットワーク内にある PC のブラウザを起動して「http://xxx.xxx.xxx.xxx/{ファイル名}.html」を表示します。
表示された入力フォームに適当な数字を入力し submit すると、各々の数字が足しあわされた結果がブラウザに表示されます。