- 必要なパッケージのインストール
sudo apt-get install fcgiwrap spawn-fcgi
- 設定ファイル /etc/nginx/sites-available/default を編集
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
- 動作確認用CGIスクリプトの準備
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
- ブラウザからURLを与えて動作確認
http://IPADDRESS/~pi/does_work.cgi
- うまくいけばブラウザ上に次のような結果を得る