- 追加された行はこの色です。
- 削除された行はこの色です。
[[Net]]
#topicpath
/////////////////////////////////////////////////////////////////////////////////////////
* 目次 [#mb1b08f6]
#contents();
/////////////////////////////////////////////////////////////////////////////////////////
* 設定 [#a7da24d1]
/////////////////////////////////////////////////////////////////////////////////////////
** 設定を変更した時は [#p4973393]
- 再起動が必要になる。
# /etc/init.d/apache2 restart
** 設定の確認 [#p208b5c3]
- モジュールは以下を見れば確認出来る:
++ 有効になっているモジュールは /etc/apache2/mods-enabled
++ 利用可能なモジュールは /etc/apache2/mods-available
/////////////////////////////////////////////////////////////////////////////////////////
** ユーザディレクトリ [#l9799c4f]
- 各ユーザの特定の名前のパスが、apacheにより公開されるようにする設定
- 各ユーザの ${HOME}/public_html/ が、 http://hostname/~username/ として公開される。
- userdir モジュールを使用する。
- 有効化
# a2enmod userdir
/////////////////////////////////////////////////////////////////////////////////////////
** CGIの有効化 [#yc21c632]
- まず、*.cgiや *.pl をCGIとして扱わせるようにする
# vi /etc/apache2/mods-available/mime.conf
# AddHandler allows you to map certain file extensions to "handlers":
# actions unrelated to filetype. These can be either built into the server
# or added with the Action directive (see below)
#
# To use CGI scripts outside of ScriptAliased directories:
# (You will also need to add "ExecCGI" to the "Options" directive.)
#
AddHandler cgi-script .cgi .pl # ←コメントアウトを外して有効にする
- CGIプログラム用の特別なディレクトリを用意する場合は、 AcriptAlias ディレクティヴを使用する。
# vi /etc/apache2/sites-available/default
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
- 各ユーザディレクトリ内にて、cgi-bin ディレクトリ内だけでcgiが動くようにする場合は、ScriptAlias で定義しない(出来ない?)ので、以下のようにする:
# vi /etc/apache2/mods-available/userdir.conf
<IfModule mod_userdir.c>
UserDir public_html
UserDir disabled root
<Directory /home/*/public_html> # ← 各ユーザの ${HOME}/public_html が公開ディレクトリになる
AllowOverride FileInfo AuthConfig Limit Indexes
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
<Limit GET POST OPTIONS>
Order allow,deny
Allow from all
</Limit>
<LimitExcept GET POST OPTIONS>
Order deny,allow
Deny from all
</LimitExcept>
</Directory>
# ↓以下3行を追記する
<Directory /home/*/public_html/cgi-bin>
Options +ExecCGI
</Directory>
</IfModule>