メールサーバーとWebサーバーを分ける設定方法

今回は、一つの独自ドメインで、メールサーバーとWebサーバーを分ける設定方法を紹介します。
また、メールは「さくらのメールボックス」、Webは「さくらのVPS」、ドメイン管理は「お名前.com」という環境を前提に説明します。

構成は、下記のとおりです。
【メールサーバー】さくらのメールボックス(IPアドレス:192.0.2.0)
【Webサーバー】さくらのVPS(IPアドレス:203.0.113.0)
【DNSサーバー】お名前.com(独自ドメイン:example.com)

設定手順は、下記のとおりです。

  1. さくらのメールボックスのドメイン設定
  2. さくらのVPSのWeb設定
  3. お名前.comのDNSレコード設定
  4. メールとWebの確認
  5. SPFレコードの確認

それでは設定をはじめます。

1.さくらのメールボックスのドメイン設定

さくらのメールボックスでメールを利用するため、ドメインの設定を行ないます。
さくらのメールボックスの管理画面にログインし、左メニューの「サーバー情報の表示」から「サーバに関する情報」を開き、IPアドレスをメモしてください。また、ページ左上に表示されている初期ドメインもメモしてください。
sakura-mailbox-image01

さくらのメールボックスで使用する独自ドメインを設定します。
管理画面の「ドメイン設定」から「新しいドメインの追加」を選択。
sakura-mailbox-image02

「5.他社で取得したドメインを移管せずに使う・属性型JPドメインを使う」の「ドメインの追加へ進む」を選択。
sakura-mailbox-image03

「他社で取得した独自ドメインの追加・属性型・地域型JPドメインの追加」のドメイン名入力欄に設定したい独自ドメインを入力し、「送信する」をクリックします。
sakura-mailbox-image04

ドメイン追加完了後、ドメインの詳細設定で「SPFレコードを利用する」をチェックします。
さくらのメールボックスの設定は、これで完了です。メールアドレスの作成などは、通常どおり行なってください。

2.さくらのVPSのWeb設定

次は、さくらのVPSでWebサイトを利用するため、Webサーバーの設定を行ないます。
さくらのVPSでWebサーバーを構築していない場合は、「Webサーバーの構築」の内容に沿って設定をしてください。
今回は、既にさくらのVPSで独自ドメインのWebサイトを運用していて、新たに独自ドメイン(example.com)を追加するという想定で説明します。

それでは設定を行います。
root権限でhttpd.confを開いてください。

[root@ ~]# vi /etc/httpd/conf/httpd.conf (httpd.confを編集)

httpd.confのファイル末尾近くにバーチャルホストの設定項目があります。
#NameVirtualHost *:80 と記載された行の#を削除して、名前ベースのバーチャルホスト機能を有効にします。

#
# Use name-based virtual hosting.
#
NameVirtualHost *:80 (行頭にある # を削除)
#
# NOTE: NameVirtualHost cannot be used without a port specifier
# (e.g. :80) if mod_ssl is being used, due to the nature of the
# SSL protocol.

次に、httpd.confのファイル末尾に追加ドメインの設定を入力します。
名前ベースのバーチャルホスト機能を使用する場合、追加するドメインだけでなく、既に運用されていたドメインも、バーチャルホストとして設定する必要があります。
例として、既に運用されていたドメインをexample.net、コンテンツを置くディレクトリを/var/www/htmlとします。
また、追加するドメイン(example.com)のコンテンツを置くディレクトリを/var/www/example.comとします。
ハイライトで表示した部分を追加してください。

#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for requests without a known
# server name.
#
#
#    ServerAdmin webmaster@dummy-host.example.com
#    DocumentRoot /www/docs/dummy-host.example.com
#    ServerName dummy-host.example.com
#    ErrorLog logs/dummy-host.example.com-error_log
#    CustomLog logs/dummy-host.example.com-access_log common
#

(↓既に運用されていたドメインについて)
<VirtualHost *:80>
     ServerAdmin root@example.net
     DocumentRoot /var/www/html
     ServerName www.example.net
     ServerAlias example.net
</VirtualHost>

(↓新たに追加するドメインについて)
<VirtualHost *:80>
     ServerAdmin root@example.com
     DocumentRoot /var/www/example.com
     ServerName www.example.com
     ServerAlias example.com
</VirtualHost>

ファイルの末尾に追加したらファイルを保存して終了してください。

追加するドメイン(example.com)のコンテンツを置くディレクトリを作成します。
また、ディレクトリのオーナーをFTP接続に使用するユーザーアカウントに変更します。
例として、「sakura」というユーザアカウントを使用してFTP接続を行い、コンテンツをアップロードすることにします。

[root@ ~]# mkdir /var/www/example.com (追加するドメインのディレクトリ作成)
[root@ ~]# chown sakura /var/www/example.com (ディレクトリのオーナーをsakuraに変更)

以下のコマンドを実行し、httpd.confの書き換えた内容を有効にします。

[root@ ~]# service httpd reload

Webサイトを利用するための設定は完了です。

3.お名前.comのDNSレコード設定

メールサーバーとWebサーバーを分ける設定で一番重要なのがDNSレコードの設定です。
下記イメージのように、DNSレコードの内容により、メールの場合は「さくらのメールボックス」、Webの場合は「さくらのVPS」を使用するという割当を行なうからです。

separate-dns-image

それでは、DNSレコードの設定方法です。
お名前.comにログインして、ドメイン設定画面の左メニュー「DNS関連機能の設定」→「DNSレコード設定を利用する」にページ移動します。

下記のようにDNSレコードを設定します。
※メールサーバー(さくらのメールボックス)IP:192.0.2.0
※Webサーバー(さくらのVPS)IP:203.0.113.0
※1.さくらのメールボックスのドメイン設定の最初にメモした初期ドメインは、MXレコードのVALUE項目に入力します。

ホスト名 TYPE TTL VALUE 優先
example.com A 3600 203.0.113.0
www.example.com A 3600 203.0.113.0
example.com MX 3600 (さくらのメールボックス初期ドメイン) 10
example.com TXT 3600 v=spf1 +ip4:192.0.2.0 -all

ネームサーバーも転送用のネームサーバーに変更します。
dns-record-setting-change-confirm

これでDNSレコード設定は完了です。
DNSレコード設定内容が浸透するまで数時間~72時間かかりますので、それまで待ちます。

4.メールとWebの確認

DNSが浸透したら、独自ドメインで問題なくメール使えることと、Webサイトが閲覧できることを確認してください。

5.SPFレコードの確認

また今回、メール送信ドメイン認証としてSPFレコードを設定していますので、その設定に間違いがないかSPF Surveyorで確認します。
このWebサイトにドメインを入力すると、SPFレコードの設定に間違いがないか確認してくれます。
問題がない場合は、そのドメインからのテストメールを自身に送信し、受信したメールのAuthentication-Resultsヘッダに「pass」と記載されていれば、SPFレコードは適切に設定できています。

以上が、メールサーバーとWebサーバーを分ける設定方法となります。

WordPressのファイルアップロード上限サイズの変更

WordPressにオリジナルテーマをアップロードしようとした際、下記のようなメッセージが表示されてインストールができない。
「本当に実行していいですか? もう一度お試しください。」

何故なのか調べてみると、php.iniで設定されているアップロードファイルの上限サイズを超えてしまったようです。
たしか、以前のWordPressで同じようにアップロードファイルの上限サイズを超えた場合には、下記のメッセージだったはずですが表示変更されたのでしょうか。
「アップロードしたファイルはphp.iniで定義されたupload_max_filesizeを超過しています。」

解決方法は、php.iniで記述されている「upload_max_filesize」の設定を変更します。
まず、php.iniがどこにあるか探すため、findコマンドでphp.iniを検索します。

[root@ ~]# find / -name php.ini

次に、php.iniを開いて「File Uploads」の項目にある「upload_max_filesize」の設定を変更します。
初期設定では、「upload_max_filesize = 2M」と記述してありますので、その行頭に;を追加してコメントアウトします。
その次の行に「upload_max_filesize = 10M」を新たに追加します。

;;;;;;;;;;;;;;;;
; File Uploads ;
;;;;;;;;;;;;;;;;

; Whether to allow HTTP file uploads.
; http://php.net/file-uploads
file_uploads = On

; Temporary directory for HTTP uploaded files (will use system default if not
; specified).
; http://php.net/upload-tmp-dir
;upload_tmp_dir =

; Maximum allowed size for uploaded files.
; http://php.net/upload-max-filesize
;upload_max_filesize = 2M
upload_max_filesize = 10M

変更完了後、php.iniを上書き保存し、WEBサーバーを再起動させます。

[root@ ~]# service httpd restart

以上で10Mまでのファイルをアップロードできます。
今回は10Mまで上限サイズを変更していますが、必要な容量に合わせて数値は変更してください。

うるう秒挿入に際する注意喚起

2015年6月1日、さくらインターネット株式会社より「2015年7月1日の「うるう秒」挿入に際する注意喚起について」という発表がありました。概要は、下記のとおりです。

独立行政法人 情報通信研究機構より、2015年7月1日の「うるう秒」挿入について下記
のお知らせが発表されております。

▼「うるう秒」挿入のお知らせ (独立行政法人 情報通信研究機構)
http://www.nict.go.jp/press/2015/01/16-1.html

2012年7月1日に実施された「うるう秒」挿入の際、弊社で運用するサーバー及び、お客
様ご利用のサーバーにおいて、影響を及ぼす異常動作を確認いたしました。その際の、異
常動作の詳細は、下記のURLをご参照ください。

▼「うるう秒」挿入実施に伴うサービスへの影響に関するご案内(2012年7月4日)
http://www.sakura.ad.jp/news/sakurainfo/newsentry.php?id=655

2015年7月1日に実施される「うるう秒」挿入についても、同様の影響などが懸念されて
おります。弊社では、「うるう秒」挿入に際してその影響範囲を事前に調査し、必要な対
策を実施いたします。お客様におかれましても、ご利用のOSへの影響をご確認いただき、
必要に応じて対策を実施いただきますようお願いいたします。

なお、お客様にご利用いただいている仮想サーバーで、「うるう秒」挿入に起因する負
荷上昇と見られる事象が確認され他の仮想サーバーへの影響が懸念された場合には、弊社
の判断でリソースの制限や仮想サーバーの再起動を実施させていただく場合がございます
ことご了承ください。

「うるう秒」とは

そもそも「うるう秒」ってなに?という方も多いはず。

「うるう秒」は、現行の協定世界時 (UTC) において、世界時のUT1との差を調整するために追加もしくは削除される秒である。この現行方式のUTCは1972年に始まった。2012年までに実施された計25回の閏秒は、いずれも1秒追加による調整であった。

簡単にいうと、様々な理由により世界全体の時間と地球の自転にズレが生じるから1秒ほど調整するということらしいです。

「うるう秒」挿入で起きること

「うるう秒」挿入後、ネットワークを利用したコンピュータの時刻合わせに使われている「NTPサービス」などに対し、日本標準時通報サービスから「うるう秒」挿入後の正しい日本標準時を通報されます。
この日本標準時が通報された際、さまざまなシステムにおいてトラブル等が発生する懸念があるのです。
2012年7月1日に実施された「うるう秒」挿入の際、さくらインターネット株式会社の一部のサービスでは、CPU負荷の上昇などの影響があったようです。

まとめ

この件に関して、さくらインターネット株式会社では、事前に対策、トラブルが発生した場合の対応をしてくれるので大丈夫だとは思いますが、ユーザー側も念のため、利用しているサーバーや動かしているアプリケーションなどに影響がないか確認したほうが良いでしょう。