Apache2によるWebサーバー構築
sudo apt-get install -y apache2
apache2起動
sudo service apache2 start
ユーザーディレクトリを有効化
sudo a2enmod userdir
CGI設定
sudo ln -s /etc/apache2/mods-available/cgi.load /etc/apache2/mods-enabled/cgi.load
sudo nano /etc/apache2/sites-available/000-default.conf
28行目の # を削除
#Include conf-available/serve-cgi-bin.conf
↓
Include conf-available/serve-cgi-bin.conf
↓
Include conf-available/serve-cgi-bin.conf
拡張子.pyのCGIが動作出来るように設定
sudo nano /etc/apache2/mods-available/mime.conf
219行目の #を削除し、最後に .pyを追加して上書き保存
#AddHandler cgi-script .cgi
↓
AddHandler cgi-script .cgi .py
↓
AddHandler cgi-script .cgi .py
CGIを動かすディレクトリの設定
sudo nano /etc/apache2/conf-available/serve-cgi-bin.conf
11行目の /usr/lib/cgi-bin/ を /home/pi/public_html/cgi-bin に変更
12行目の /usr/lib/cgi-bin を /home/pi/public_html/cgi-bin に変更
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory “/usr/lib/cgi-bin”>
↓
ScriptAlias /cgi-bin/ /home/pi/public_html/cgi-bin/
<Directory “/home/pi/public_html/cgi-bin”>
<Directory “/usr/lib/cgi-bin”>
↓
ScriptAlias /cgi-bin/ /home/pi/public_html/cgi-bin/
<Directory “/home/pi/public_html/cgi-bin”>
Apache実行ユーザー変更
sudo nano /etc/apache2/envvars
16行目の www-data を pi に変更して上書き保存
export APACHE_RUN_USER=www-data
↓
export APACHE_RUN_USER=pi
↓
export APACHE_RUN_USER=pi
ユーザーデレクトリーの前の~(チルダ)を削除
sudo nano /etc/apache2/mods-enabled/userdir.conf
userdir.confファイルの最後に追記
<IfModule mod_userdir.c>
#
#
AliasMatch ^/([^/]+)/(.*) /home/$1/public_html/$2
</IfModule>
#
#
AliasMatch ^/([^/]+)/(.*) /home/$1/public_html/$2
</IfModule>
apache2再起動
sudo service apache2 restart
cgi動作確認
ホームにpublic_html/cgi-bin/
フォルダを作る
ホームディレクトリーに戻る
cd ~
「public_html」フォルダ作成
mkdir public_html
「public_html」フォルダに移動
cd public_html
「cgi-bin」フォルダ作成
mkdir cgi-bin
「cgi-bin」フォルダに移動
cd cgi-bin
テスト用cgiファイルを作成
nano hello.cgi
以下の内容を書き込む
#!/bin/bash echo "Content-Type: text/html;charset=utf-8" echo "" echo "HELLO CGI!!"
ファイルのパーミッションを実行権限に変更する
sudo chmod 755 hello.cgi
ブラウザのアドレスバーに「http://192.168.0.201/pi/cgi-bin/hello.cgi」で入力する
上記のように表示されたら成功です