goo blog サービス終了のお知らせ 

もんく [とある南端港街の住人になった人]

スペインかポルトガルの港町に住みたい
日本→インドネシア→台湾→マレーシア→日本
since Oct. 2004

CGIのためのWebサーバーの設定の要点

2019-10-09 15:33:22 | マレーシアでニャー2019
CGIを使う場合のWeb Server Apache2の設定がだいたいわかった。
(Ubuntu server18.04使用)
下に簡易マニュアルを書いたが、それだと何やってるのかわからないので概要から。
(ブログの仕様でか、字下げが表示されず読みにくいかもしれません。)

必要な事は
1) 必要なアプリケーションやファイルのインストール
a)Ubuntuのaptでインストールするもの。b)Pythonのpipでするもの。
c)上記を使えるようにするおまじない。

2) Aoache2をGCL無しで使えるようにする設定
a)IPアドレス等をApache2に教えておく。
b)使用するポート番号をApache2に教えるのとUbuntu側でファイアーウォールの設定
c)セキュリティ関連の設定
d)ユーザーインターフェイス等を想定した設定

3) CGIのための設定
a)そもそもApache2はCGI使用がOFFになっているのでこれをONにする設定
b)スクリプトファイル(プログラム)の置場、その拡張子をApache2に教える。

(マニュアルの前提条件)
下記では仮にマシンのURLは192.168.0.2にしている。
またポートは80に加えて8080を使用する。
80と8080では表示するものが異なるように考えている。
DNSにサイト名を登録していないのでLAN内アクセスのみとしIPアドレスでアクセスを想定。
テスト的にはスクリプトは/etc/www/htmlの下に置いても良いが、
運用ではデフォルトの場所/usr/lib/cgi-bin/下に置く。
フレームワークはFlaskを使用。


<Apache2 Web Server preparation>
1. 動作テスト: Open a browser window, http://192.168.0.2
2. 設定変更後には再起動: “sudo /etc/init.d/apache2 restart”

3. 追加インストール: “sudo apt-get install libapache2-mod-wsgi python-dev”
4. CGIをONに: “sudo a2enmod” then restart: “sudo systemctl restart apache2”
5. mod_wsgiをONに: “sudo a2enmod wsgi”
6. Flaskを追加: “sudo pip install Flask”

3. Apache2に追加: “sudo apt install apache2 software-properties-common”
4. Apache2にWSGI追加: “sudo ap install libapache2-mod-wsgi”
5. Pythonに追加: “sudo apt install python-dev”
6. CGIをONに: “sudo a2enmod” then restart: “sudo systemctl restart apache2”
7. mod_wsgiをONに: “sudo a2enmod wsgi”

8. Pythonにpipインストーラを追加: “sudo apt install python3-pip”
9. PythonのFlask追加: “sudo pip install Flask”
10. Pythonにvirtualenv追加: “sudo pip install virtualenv”

<Apache2 Web Server setting>
1.ドキュメントルートとポート: edit “/etc/apache2/sites-available/***.conf”
NameVirtualHost 192.168.0.2:80
NameVirtualHost 192.168.0.2:8080 ← added for custom site view
(omission)
<VirtualHost 192.168.0.2:80> ← original
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
<VirtualHost 192.168.0.2:8080> ← added for custom site view
DocumentRoot /var/www/html/xxxx← make a directory yourself
ServerName GIM_CycleTime.com
Include conf-available/serve-cgi-bin.conf ← enable CGI
</VirtualHost>

2. 待受ポート: edit “/etc/apache2/ports.conf”

Listen 80
Listen 8080 ← added for original site view (port No.): open a port with firewall
(omission)

3. セキュリティ (サーバー情報を隠す): edit “/etc/apache2/conf-availables/security.conf”

ServerTokens Prod ← original is OS
ServerSignature Off ← original is ON

4. CGIをONにする前に: Check “/etc/apache2/conf-available/serve-cgi-bin.conf”
(省略)
<IfDefine ENABLE_USR_LIB_CGI_BIN>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin"> ← CGI script location (default)
(省略)
※テスト以外ではドキュメントと同じ場所は止めるべし。

5. スクリプトの拡張子: Edit “/etc/apache2/mods-available/mime.conf”

#AddHandler cgi-script .cgi ←original
AddHandler cgi-script .cgi .py ←modified

6. CGI用おまじない: Make a symbolic link of the file “/etc/apache2/mods-available/cgi.load “

“cd /etc/apache2/mods-enabled” ← current working dir. change
“sudo ln -s ../mods-available/cgi.load . ← make a symbolic link (※don’t forget “.”)

7. デフォルト表示の設定: edit “/etc/apache2/mods-available/dir.conf”
<IfModule mod_dir.c>
DirectoryIndex index.html index2.html ←remove unnecessary entries and add yours.
</IfModule>


最新の画像もっと見る

コメントを投稿

サービス終了に伴い、10月1日にコメント投稿機能を終了させていただく予定です。