Cookie が無効になっていて MediaWiki にログインできないって言われた件

結論

セッションディレクトリが書込みできませんでした。

エラーメッセージ

ログインのエラー 
example wikiではログインに Cookie を使用します。 Cookie を無効にしているようです。 Cookie を有効にしてから、もう一度試してください。

当方の環境

  • さくらのVPS
  • CentOS7.2.1511 x86_64
  • Nginx + php-fpm
  • PHP 5.4

調べたこと

  • ログにも大したこと書いてない。
  • Cookie は無効になってない。
  • シークレットモードでやってみたけど同じ。
  • Cookie 消してみたけど変わらない。
  • パスワード再発行しても同じ。
  • ブラウザ変えてみたけど同じ。

ぐぐって調べてみるとセッションのディレクトリが書き込みできませんでした、てへ♪的なスレッドが見つかった。

なるほどな。

phpinfo() 出力させてセッション格納ディレクトリを調べる。

session.save_path = /var/lib/php/session

ディレクトリのパーミッションを確認。

[root@mx1 mediawiki]# ls -l /var/lib/php/
合計 4
drwxrwx--- 2 root apache 4096  5月 12 22:49 session
[root@mx1 mediawiki]# ls -l /var/lib/php/session/
合計 64
-rw------- 1 nginx nginx 3436  3月 13 12:10 sess_29ih6fgffffffffff9ee024fa7
(snip)
-rw------- 1 nginx nginx   53  3月 19 07:57 sess_tpih6fgfffffork4bvffmff625

なんでグループが apache やねん!
そりゃ書き込めないはずだわ。
最近流行りに乗って Nginx 使ってるので Apache は使っていない。
ファイル自身は nginx 所有者で大丈夫っぽいな。
Ansible でメールサーバー構築する Playbook 開発してたからそれが原因かな。
念のため nginx と php-fpm の実行ユーザを確認する。

[root@mx1 mediawiki]# vim /etc/nginx/nginx.conf
[root@mx1 mediawiki]# vim /etc/php-fpm.d/www.conf
[root@mx1 mediawiki]# id nginx
uid=995(nginx) gid=993(nginx) groups=993(nginx)

対策実施

ディレクトリのグループを nginx に変更する。

[root@mx1 mediawiki]# chown root:nginx /var/lib/php/session
[root@mx1 mediawiki]# ls -l /var/lib/php/
合計 4
drwxrwx--- 2 root nginx 4096  5月 12 22:49 session

用が済んだら phpinfo のファイルは削除する。

[root@mx1 mediawiki]# rm -f phpinfo.php

これでちゃんとろぐいんできるようになりましたとさ。
めでたしめでたし。

参考リンク

  1. [RESOLVED] Cannot Login or Register. Enable Cookies on Project:Support desk
  2. Help:ログイン – MediaWiki

Wataru NOGUCHI について

Server and Network Engineer, Software Engineer.
カテゴリー: MediaWiki, Nginx, PHP タグ: , , , パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です