#navi(../)
*Pukiwiki Adv. インストール後、403 が返される [#q809a83c]

- ページ: BugTrack
- 投稿者: [[hoya]]
- 優先順位: 低
- 状態: 完了
- カテゴリ:
- 投稿日: &epoch(1370743065);
- バージョン: 1.0.3

*メッセージ [#re386cd4]
■環境
・OS: CentOS 6.4 64bit(さくらVPS)
・Apache: 2.2.15
・PHP: 5.4.16

以下手順で Pukiwiki Adv. v1.0.3 をインストールしましたが、pukiwiki にアクセスしても403 が返されます。
正常にアクセスするために、以下手順以外に何か設定が必要でしょうか。

(1)Pukiwiki Adv. 資材を /var/www/html 以下に配置し、アクセス権を修正
# cd /var/www/html
# tar Jxvf /path/to/PukiWiki\ Adv.\ 1.0.3.tar.xz
# chown -R apache:apache /var/www/html
# chmod 755 /var/www/html

(2) Pukiwiki Adv. の .htaccess を有効化
# vim /etc/httpd/conf/httpd.conf
Directory "/var/www/html" ディレクティブ中の AllowOverride 要素を以下のように変更
-    AllowOverride None
+    AllowOverride All

(3)SELinux が無効であることを確認
#  getenforce
Disabled

(4) Apache の再起動
# /etc/init.d/httpd restart
# ps aux | grep httpd
root      1302  0.0  0.5 262756  9712 ?        Ss   10:30   0:00 /usr/sbin/httpd
apache    1304  0.0  0.3 263068  6632 ?        S    10:30   0:00 /usr/sbin/httpd
apache    1305  0.0  0.3 263068  6632 ?        S    10:30   0:00 /usr/sbin/httpd
apache    1306  0.0  0.3 263068  6632 ?        S    10:30   0:00 /usr/sbin/httpd
... 以下略

上記設定後、ブラウザで http://<mydomain>/ にアクセスしたところ以下のように表示されます。
-----
Forbidden

You don't have permission to access /webroot/ on this server.
-----

アクセス時、apache のエラーログ(/var/log/httpd/error_log)には何も表示され	ません。

[補足]
/var/www/html/index.html や、/var/www/test/index.html を配置した場合はアクセスできます。
--------
- apacheのmod_rewriteが有効になっていないように見えます。そのまま展開した場合、/pukiwiki/webroot/でアクセスしてみてください。なお、パッケージに含まれるwebrootディレクトリ内のもの以外は、外部から見えないところに置きましょう。 -- [[Logue]] &epoch(1370749290,comment_date);
- 早々にお返事いただきありがとうございます。&br;@@@apacheのmod_rewriteが有効になっていないように見えます。@@@mod_rewrite の確認をしたところ、有効であると考えています。@@# httpd -M | grep rewriteSyntax OK rewrite_module (shared)# cat /etc/httpd/conf/httpd.conf | grep rewriteLoadModule rewrite_module modules/mod_rewrite.so@@また、資材を展開した直下及び、webroot 直下の .htaccess をそれぞれシンタックスエラーをさせたところ、Internal Server Error が返り、error_log にも Invalid command と出ているため、.htaccess は読込めているようです。&br;@@@そのまま展開した場合、/pukiwiki/webroot/でアクセスしてみてください。@@@これは http://<mydomain>/pukiwiki/webroot/ にアクセスすると、ブラウザ上では以下のようなメッセージとなりました。&br;@@ForbiddenYou don't have permission to access /webroot/pukiwiki/webroot on this server.@@そうではなく、/var/www/html/pukiwiki に資材を展開、ということでしょうか。&br;/var/www/html/pukiwiki ディレクトリを作成し、展開した資材をここに移動、pukiwiki ディレクトリの所有権を apache:apache に、パーミッションを 755 にした上で http://<mydomain>/pukiwiki/webroot/ にアクセスすると、ブラウザ上では以下のようなメッセージとなりました。&br;@@ForbiddenYou don't have permission to access /pukiwiki/webroot/ on this server.@@@@@なお、パッケージに含まれるwebrootディレクトリ内のもの以外は、外部から見えないところに置きましょう。@@@承知しました。ただ、恐縮ですがなにぶん apache-php に疎く、同時に変更すると混乱してしまいそうなので、/var/www/html 以下で見られるようになったら /var/www/pukiwiki や /opt/pukiwiki などとし、Alias もしくは VirtualHost にしてみたいと思います。&br; -- [[hoya]] &epoch(1370753906,comment_date);
- 早々にお返事いただきありがとうございます。&br;@@@apacheのmod_rewriteが有効になっていないように見えます。@@@mod_rewrite の確認をしたところ、有効であると考えています。@@# httpd -M | grep rewriteSyntax OK rewrite_module (shared)# cat /etc/httpd/conf/httpd.conf | grep rewriteLoadModule rewrite_module modules/mod_rewrite.so@@また、資材を展開した直下及び、webroot 直下の .htaccess をそれぞれシンタックスエラーをさせたところ、Internal Server Error が返り、error_log にも Invalid command と出ているため、.htaccess は読込めているようです。&br;@@@そのまま展開した場合、/pukiwiki/webroot/でアクセスしてみてください。@@@これは http://<mydomain>/pukiwiki/webroot/ にアクセスすると、ブラウザ上では以下のようなメッセージとなりました。&br;@@ForbiddenYou don't have permission to access /webroot/pukiwiki/webroot on this server.@@そうではなく、/var/www/html/pukiwiki に資材を展開、ということでしょうか。&br;/var/www/html/pukiwiki ディレクトリを作成し、展開した資材をここに移動、pukiwiki ディレクトリの所有権を apache:apache に、パーミッションを 755 にした上で http://<mydomain>/pukiwiki/webroot/ にアクセスすると、ブラウザ上では以下のようなメッセージとなりました。&br;@@ForbiddenYou don't have permission to access /pukiwiki/webroot/ on this server.@@@@@なお、パッケージに含まれるwebrootディレクトリ内のもの以外は、外部から見えないところに置きましょう。@@@承知しました。ただ、恐縮ですがなにぶん apache-php に疎く、同時に変更すると混乱してしまいそうなので、/var/www/html 以下で見られるようになったら /var/www/pukiwiki や /opt/pukiwiki などとし、Alias もしくは VirtualHost にしてみたいと思います。&br; -- [[hoya]] &epoch(1370755150,comment_date);
- みたところ、Apacheの設定が間違っているように見えます。/var/wwwをDocumentRootにしているならば
 /var
   + wiki-data/
   + wiki-common/
   + www/ (wwwrootをwwwにリネーム)
   |  +index.php
   + ..
のように設置したほうがいいですね。(chownコマンドを連発しなければならなさそうですが) -- [[Logue]] &epoch(1370781255,comment_date);
- DocumentRoot はデフォルトの /var/www/html だったので、以下のように配置しました。&br;&br;# tree -L 1 /var/www/&br;/var/www/&br;├── html&br;├── wiki-common&br;├── wiki-data&br;├── ...&br;&br;html の下に webroot の中身を移動&br;# tree -L 1 /var/www/html/&br;/var/www/html/&br;├── index.php&br;├── ...&br;&br;この状態で http://<mydomain> にアクセスしても Apache のデフォルトの index.html が表示されます。&br;&br;http://<mydomain>/index.php にアクセスした場合は、以下が表示されます。&br;---ForbiddenYou don't have permission to access /index.php on this server.---試しに、/etc/httpd/conf/httpd.conf 中の AllowOverride を All から None に戻すと、Pukiwiki Adv. のトップページが問題なく表示されるのですが、webroot中(今は DocumentRoot 直下)の .htaccess の内容が読込まれず、例えば $static_url =1 であっても http://<mydomain>/FrontPage でアクセスできません(?FrontPage なら大丈夫です)。 -- [[hoya]] &epoch(1370784187,comment_date);
- Apacheはリセットしましたか? -- [[Logue]] &epoch(1370904305,comment_date);
- @@@Apacheはリセットしましたか?@@@&br;はい、AllowOverride を変更後は Apache を再起動しています(/etc/init.d/httpd restart)。 -- [[hoya]] &epoch(1370948649,comment_date);
- Apacheの種類によって$static_uriが正常に動作しないことは確認しています。その場合は、$url_suffixの値を.htmlや/にしてください。その場合、htaccessのrewriteの設定も変える必要があります。 -- [[Logue]] &epoch(1370991003,comment_date);
- wiki-data/pukiwiki.ini.php の $url_suffix の値を以下のように変更しましたが、状態は変わらずでした(http://<mydomain> にアクセスしても Apache のデフォルトの index.html が表示され、http://<mydomain>/ 以下のリソースへのアクセスはすべて 403)。&br;&br;[共通設定]&br;AllowOverride All&br;&br;[$url_suffix = '.html' に変更した場合]&br;.htaccess の rewrite 設定部分(60行目付近)に以下行を追加&br;RewriteRule ^(.+)\.html$ index.php?$1 [L]&br;&br;[$url_suffix = '/' に変更した場合]&br;.htaccess の rewrite 設定部分(60行目付近)に以下行を追加&br;RewriteRule ^/(.+)/$    /index.php?$1 [L]&br;&br;&br;並行して nginx の導入も考えてみたいと思います。 -- [[hoya]] &epoch(1371056094,comment_date);
- nginx1.4.1 + php-fpm5.4.16 の組み合わせで $static_url = 1 の設定がうまくいくことを確認しました。&br;&br;Apache を利用しなければいけない状況ではないため、このまま nginx で運用していこうかと考えていますので、このチケットはクローズいただいても問題ありません。大変お手数をおかけいたしました。ご対応ありがとうございます。 -- [[hoya]] &epoch(1371078429,comment_date);


#comment