wordpress:wordpressのパーマリンク設定でエラー画面表示

wordpressパーマリンクの設定を変更しようとした時にエラー画面(403)が表示され、ページが表示されなくなりました。
パーマリンクを設定した場合、.htaccessを作成しリライトルールが設定されます。
この.htaccessファイルを削除すれば、元の画面が表示されますが、パーマリンク設定は適用されていないのでパーマリンク設定前のURLで表示されます。
今回は、パーマリンクを設定した際の解決方法をメモします。

Apacheにmod_rewriteがインストールされているか調べる方法
mod_rewrite」とはドメイン以下URLの書き換えなどを行うモジュールです。

SSHでサーバにログインし、下記のコマンドを実行するとモジュールの一覧が表示されるので、「rewrite_module (shared)」が表示されることを確認します。

# httpd -M
Loaded Modules:
(省略)
 rewrite_module (shared)
(省略)
Syntax OK

mod_rewriteが使用できない場合はApacheの設定ファイルhttpd.confを変更しなければいけません。
Apacheの設定ファイルhttpd.confを変更できない場合でmod_rewriteがインストールされている際には「Options FollowSymLinks」と.htaccessファイルの先頭に書き込めばmod_rewriteが使用できるようになります。

Options FollowSymLinks

# BEGIN WordPress

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

# END WordPress

mod_rewriteを使用できるようになったため、再度パーマリンクを設定したところ正常に画面が表示されました。
httpd.confでmod_rewriteが使用できるように設定されている場合は、「Options FollowSymLinks」の記述は必要ありません。
また、WebサーバのApacheにmod_rewriteがインストールされていることが前提です。

.htaccessを使用するには
Apache はデフォルトで、.htaccessの使用が禁止されているそうです。
使用できるようにするには、httpd.confで「AllowOverride All」に設定し、Apacheを再起動させると.htaccessが使用可能になります。

postfix:Maildirの仕様とメール送受信の設定

postfixMaildirの仕様とメール送受信の設定について調べました。
最近メールの送受信がうまくいかないことがあり、メールボックスの中身を確認し調査した時のメモです。
Maildir内にはcur、new、tmpというサブディレクトリがあり、そのディレクトリに受信したメールが格納されるようです。


■ Maildirとは
Maildirは、電子メール格納フォーマットの一種で、メッセージは個別のファイルとして一意な名前付きで保持されます。
Maildir内にはcur、new、tmpというサブディレクトリがありそのディレクトリに受信したメールデータが格納されます。


■ Maildir内にあるcur、new、tmpディレクトリの仕様
・既読メール格納ディレクトリ

/home/[ユーザディレクトリ]/Maildir/cur

・未読メール格納ディレクトリ

/home/[ユーザディレクトリ]/Maildir/new

・配送メール格納ディレクトリ

/home/[ユーザディレクトリ]/Maildir/tmp

メールデータの状態に応じてそれぞれのディレクトリに分類されます。
メールデータの流れはtmp→new→curの順番でメールデータが移動します。


今回はメール送受信ができなくなったので、メールデータを調べてみるとMaildir内のcurディレクトリに容量が大きいデータが存在したため、そのデータを削除することで問題なく送受信が可能となりました。
しかし、なぜそのような現象になったかを調べていくとpostfixの設定で1通あたりの受信メールの設定や1人当たりのメールボックスの上限などの設定があり、その値を超えるとメールの送受信ができなくなるということがわかりました。
postfixの設定等を確認した時のメモを下記に記載します。


■ postfixの設定ファイル

vi /etc/postfix/main.cf

上記のファイルにpostfixの設定が記載されております。


■ postfix設定ファイル内のメールデータサイズ設定(main.cf)
message_size_limit

message_size_limit = 10240000

無制限する場合

message_size_limit = 0

mailbox_size_limit

mailbox_size_limit = 51200000

サーバによっては上記の設定が記載されていない場合があります。私の場合は記載がありませんでした。
記述がない場合はデフォルトで下記の値が設定されるようです。

mailbox_size_limit = 51200000
message_size_limit = 10240000

※「mailbox_size_limit」は「message_size_limit」より大きい値に設定しないとメールが受信できなくなります。
※メールボックスサイズよりもメールが増えるとメールを受信するスペースがなくなるため受信できなくなります。


■ メールボックスのサイズを調べる方法

postconf | grep size_limit
# postconf | grep size_limit
body_checks_size_limit = 51200
bounce_size_limit = 50000
header_size_limit = 102400
mailbox_size_limit = 51200000
message_size_limit = 10240000

■ postfixを再起動

/etc/init.d/postfix reload

メールサイズの設定を変更後、postfixを再起動することでサイズが変更され送受信が可能となります。