#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>