#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