mod_cgid.so を有効にする
コマンドで有効化する(21世紀なので、シンボリックリンクを手で書いたりしない)
sudo a2enmod cgid
よくある設定
Alias "/hoge" "/home/unko/project/hoge" <Directory "/home/unko/project/hoge"> # 拡張子.cgi をCGIとみなす AddHandler cgi-script .cgi # このディレクトリで許すやつ Options ExecCGI FollowSymLinks Indexes # .htaccessで上書きを許すやつ AllowOverride Options AuthConfig FileInfo Limit Indexes # このディレクトリにアクセスできる人 Require all granted </Directory>
Options | このディレクトリで許すやつ |
---|---|
ExecCGI | .cgiの実行を許す |
FollowSymLinks | シンボリックリンクをたどるの許す |
Indexes | インデックス表示 |
AllowOverride | .htaccessで設定の上書きを許すやつ |
Options | Options の上書きを許す |
AuthConfig | BASIC認証用 |
FileInfo | mod_rewrite用 |
Limit | IPアドレスでのアクセス制限とか用 |
Indexes | インデックス表示 |
Require all granted
デフォルトではアクセスが無効になっているので、全ての人がアクセスできるようにする
うごかないとき
- 404
- ディレクトリがほんとうにない
/を付けないとDocumentRootになるとか - 403
- Require all granted を書く
- 500
- 実行属性つける
- ダウンロードされる
- AddHandler cgi-script .cgi を書く
- ソースがでる
- mod_cgid.so を有効にする
core - Apache HTTP サーバ バージョン 2.4
Apache 2.4.2でCGIが動かない: ■メモ帳
mod_authz_core - Apache HTTP Server Version 2.4
Ubuntu ServerでCGIプログラムを動作させる - サーバーでもUbuntuを使っています
» bashでCGI (1) Apacheの設定 TECHSCORE BLOG
Apacheで動かすphp,python,ruby の Hello World まとめ - Incoming!