- 必要なパッケージのインストール
- 設定ファイル /etc/nginx/sites-available/default を編集
- デーモンを再起動
- 動作確認用CGIスクリプトの準備
- パーミッションの変更
- ブラウザからURLを与えて動作確認
- うまくいけばブラウザ上に次のような結果を得る
sudo apt-get install fcgiwrap spawn-fcgi
pi@raspberrypi /etc/nginx/sites-available $ diff -u default.org default --- default.org 2015-01-11 14:28:27.657198270 +0900 +++ default 2015-01-11 14:27:20.828190564 +0900 @@ -77,6 +77,17 @@ #location ~ /\.ht { # deny all; #} + # Userdir - cgi + location ~ ^/~([^/]+)/(.+\.cgi)$ { + if (!-f /home/$1/public_html/$2) { + rewrite ^ 404; + } + alias /home/$1/public_html/$2; + fastcgi_pass unix:/var/run/fcgiwrap.socket; + fastcgi_index index.cgi; + fastcgi_param SCRIPT_FILENAME $request_filename; + include fastcgi_params; + } # Userdir - php location ~ ^/~([^/]+)/(.+\.php)$ { if (!-f /home/$1/public_html/$2) {
sudo /etc/init.d/fcgiwrap restart sudo /etc/init.d/nginx restart
cat > ~/public_html/does_work.cgi <<HERE #!/bin/bash cat << EOF Content-type: text/html <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <HTML> <HEAD> <META http-equiv="Content-Type" content="text/html; charset=iutf-8"> <TITLE>Building a report</TITLE> </HEAD> <BODY> CGI works! </BODY> </HTML> EOF HERE
chmod a+x ~/public_html/does_work.cgi
http://IPADDRESS/~pi/does_work.cgi