【お名前.com】WordPressを共用SDサーバーからVPS(KVM)へ乗り換える その4

CentOS + Nginx でのサーバ構築。1から始める初心者向けです。
なお、筆者もばりばりの初心者です。
<その3>ではSSHの設定とファイヤウォール設定を行いました。
<その4>ではVPSの設定をもう少し見なおして、root宛のメールの転送設定を行います。
- その1 … 初期セットアップ、基本的な用語
- その2 … SSHリモートコンソール接続、作業ユーザの新規登録
- その3 … SSH公開鍵・秘密鍵を自分で用意、SSH設定の変更とファイアウォールの設定
- その4 … VPSの設定、root宛のメール設定 ← 今ここにいます
- その5 … リポジトリの設定(追加・優先度設定・アップデート通知)
- その6 … VSFTPDの導入、phpMyAdminの導入
- その7 … WordPress本体とデータベースを引越し
- その8 … DNS設定の変更
サービスとは何かというと、Windowsでも馴染み深いものです。
Windowsでは、ユーザや実行中のソフトウェアの求めに応じて即座に何らかの機能を提供できるよう、背景(バックグラウンド)に常駐して稼動し続けるプログラムのことをサービスと呼ぶ。
IT用語辞典 e-Words
バックグラウウンドで常に動き続けているプログラムで、OSの起動時に同時に自動起動するものです。
自動起動は設定で止めておくこともできます。
「Windows高速化」的な事をしたことのある方は、必ず一度は見たことがあると思います。
「エラーリポートの自動送信を止める」とか「FAX機能を止めておく」とかそういったものです。
今回もこちらを参考にさせて頂きました。
karakaram-blog
まず「CentOS」で現在起動しているサービスの確認をしてみます。
sudo service --status-all
たくさん出てきましたがひとまず無視して、この中でも自動起動されるサービスだけを確認します。
sudo chkconfig --list | grep 3:on
私の場合、24項目が出てきました。
サービスには「絶対に停止してはいけないもの」と「個人の使い方によっては不要」というものがありますので、止めても絶対に大丈夫なものだけ停止してみます。怖いので今回は2個だけにしておきました。
lvm2-monitor
「論理ボリュームマネージャー(LVM)利用時の障害監視」のためのサービスだそうです。
今回はOSのインストール時にHDD構成を全て基本に振ったため不必要なので停止します。
ip6tables
IPv6でパケットフィルタを行うサービスだそうです。
IPv6を使用しないので停止します。
それぞれ、以下のように入力すると停止できます。
sudo chkconfig ip6tables off
「ntpd」で時刻合わせをします。
「ntpdate」という方法もあるようですが、今回は「ntpd」の設定をしておくことにしました。
この2つは似ていますがちょっと動きが違うものです。
はじめからインストールされているようですが、念の為以下を打ってみました。
すると、
と返ってきました。「すでにインストールされており最新版だよ」という意味です。
次に時刻合わせに同期するサーバーを設定します。
エディタが立ち上がり「ntp.conf」の中身が開きました。
同期には「日本標準時プロジェクトの公開サーバ」を使用しました。
開いた「ntp.conf」から下記の行を探して、
server 1.centos.pool.ntp.org iburst
server 2.centos.pool.ntp.org iburst
server 3.centos.pool.ntp.org iburst
下のように書き換えます。
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
server -4 ntp.nict.jp iburst
server -4 ntp.nict.jp iburst
server -4 ntp.nict.jp iburst
「Tera Term」で編集する際の「コピー&ペースト」は「Ait + C」と「Alt +V」で可能です。
「Ctrl + C」と「Ctrl + V」ではないのでご注意下さい。

保存して終了したら再起動します。
再起動したら、同期できているか確認します。
下のような表が出ます。
remote refid st t when poll reach delay offset jitter ============================================== *ntp-b3.nict.go. .NICT. 1 u 48 64 377 2.343 0.042 0.032 +ntp-a2.nict.go. .NICT. 1 u 40 64 377 1.736 0.089 0.050 +ntp-b2.nict.go. .NICT. 1 u 46 64 377 2.303 0.087 0.089
「remote」の項目に「*」が付いていれば同期できているようです。
再起動直後だと同期できていない場合があるので少し時間を置いてから確認します。
で、現在の時刻が表示されます。
この「ntpd」の脆弱性を付いたDDoS攻撃があったようなので注意喚起されているバージョンと自分のものを比べてみました。下記入力でバージョン確認ができます。
注意喚起されているバージョンは「4.2.7p26 以前のもの」。
表示されたのは「4.2.6p5」、これではいけないようです。
インストールできる最新版を調べます。
ここでの表示は「4.2.6p5」ですので、現状のアップデートでは対応できません。
そこでとりあえず攻撃に利用されるモニターリストを無効にします。
1番下に「disable monitor」という1行を追加します。

保存して終了したら再起動します。
ひとまず様子見です。
ここも参考サイトさまをそのまま真似させて頂きました。
「kernel」というのはOSの中核部分のことだそうです。
何かが起きてOSがパニックを起こして止まったら自動で再起動しますよ、という意味だと思われます。
上記を入力するとエディタが開くので一番下まで移動して末尾に
と入力します。この数字の場合「10秒で再起動します」という意味です。
そこから20行程上にある以下の部分を探します。
# Disable netfilter on bridges. net.bridge.bridge-nf-call-ip6tables = 0 net.bridge.bridge-nf-call-iptables = 0 net.bridge.bridge-nf-call-arptables = 0
この3行はipv6に関連しているらしく、先程サービスを停止したことで設定反映時にエラーが出るためコメントアウトしておきます。
# Disable netfilter on bridges. #net.bridge.bridge-nf-call-ip6tables = 0 #net.bridge.bridge-nf-call-iptables = 0 #net.bridge.bridge-nf-call-arptables = 0
保存して終了し、設定反映させます。
「error」を返す行が無ければひとまず成功です。
設定を確認します。
上記を打って「10」と返答があれば設定終了です。
「logrotate」とは、ログの世代交代(ローテーション)をしてくれるツールのことだそうです。
システムのログやアクセスログ、エラーログなどなどサーバを管理する上で大事な各種のログですが放っておくと容量が肥大化する一方となりいずれ不具合を引き起こしてしまいます。
そこで、特定の日時でそれまでのログを区切って過去ログとしてバックアップに回します。そうすることでログ管理と解析を一定量のログから行えると共に、コンピュータへの負担も軽減します。
参考ブログ様によるとデフォルトではローテートしないログがあるので設定で追加されているそうです。
私も同じく設定してみます。
エディタが開いたら一番下まで移動して、最終行「# system-specific logs may be also be configured here.」の下に追加で
# system-specific logs may be also be configured here. ←この行の下から追加
/var/log/boot.log {
missingok
notifempty
yearly
}
/var/log/lastlog{
missingok
notifempty
monthly
}
このように入れておくと良いようです。
起動時とシャットダウン時のログだと思われます。
ログは以下を入力で確認することができます。
ローテートは時刻合わせに関係している「Cron」によりスケジュール管理・実行が行われているそうです。
ログの管理はデフォルトのままにしておきましたが、設定変更は「logrotate.conf」から行えます。
下記の数字を変えたり、追加もできるようです。
# see "man logrotate" for details # rotate log files weekly weekly //週に一度ログを置き換える # keep 4 weeks worth of backlogs rotate 4 //ログを4世代残しておく。上がweeklyなら4週間分残る # create new (empty) log files after rotating old ones create //新規ログファイルを作成する # use date as a suffix of the rotated file dateext //ファイル名の末尾に日付を付ける # uncomment this if you want your log files compressed #compress //ファイルを圧縮する、デフォルトではコメントアウトされています
「vim」というのは「vi」の上位互換ソフトです。
いわゆる「メモ帳」に対する、「さくらエディタ」や「SublimeText」 や「TeraPad」のような存在です。
使いこなせば大変便利という事なのでインストールしておきます。
これで今まで「vi」と打っていたところを「vim」に変えるとテキストエディタが「vim」で立ち上がるようになります。色分けがされており便利です。
また、便利なオプションコマンドも豊富ということです。
この項目は後日、料金を払って本サービスに切り替えた後に確かめたものです。
メールの送受信には「postfix」というソフトを使うようです。
そして、このソフトははじめからインストールされていますので確認だけ行います。
メールを送受信するためのソフトをMTA(メールサーバソフトウェア)と呼ぶようです。
はじめに自分の環境で現在設定されている「MTA」が何かを確認しておきます。
sudo alternatives --display mta
上記コマンドを打ってみると
このように返ってきましたので「postfix」になっています。
テスト送信
ポートさえ使えるようになっていれば、この時点でメールを送ることができます。
自分の確認できるメールアドレス宛にテスト送信を行ってみましょう。
sendmail test@example.com
「test@example.com」の部分は自分で確認できるメールアドレスを入れます。
上記コマンドを入れるとコンソールが改行するので、続けて
from:test@example.com to:test@example.com subject:test hello .
メールの内容を書きます。
■ from
■ to
■ subject
はそれぞれ適当で大丈夫です。書いたものがそのまま送られるだけです。
最終行に「.」を入れて「Enter」を押すと送信されます。
無事受信を確認しました。
root 宛のメールを転送するようにしておく
「root」には様々なメールが送られてきます。
「root」宛のメールはできるだけ早く確認できるように、普段から確認しやすいメールアドレスへ転送設定をしておきます。
エディタが開くので、一番下の項目まで進みます。
「person who should get root’s mail」の下の行を書き換えます。
# Person who should get root's mail
root:test@example.com ← コメントアウトを解除してアドレスを記入する
設定を反映させるために下記コマンドを実行します。
sudo /etc/init.d/postfix restart
設定反映を行ったらroot宛にテスト送信を行います。
sendmail root
from:root to:root subject:root test hello root .
こちらも「from」などの記述はなんでもOKです。
無事転送されてきましたら「MTA」の設定はひとまず完了です。
自分の持っているドメインを使ったメールの送受信については非常に苦労したので、別のページにまとめたいと思います。「postfix + dovecot + postfixadmin」を使用してSMTP送信とimap受信ができる環境にしたのですが、上記の転送設定では「root宛のメール」が届かなくなってしまい困った顛末などを書く予定です。
<その5>ではリポジトリという各種倉庫のようなものを設定します。
その5 … リポジトリの設定へ- その1 … 初期セットアップ、基本的な用語
- その2 … SSHリモートコンソール接続、作業ユーザの新規登録
- その3 … SSH公開鍵・秘密鍵を自分で用意、SSH設定の変更とファイアウォールの設定
- その4 … VPSの設定、root宛のメール設定 ← 今ここにいます
- その5 … リポジトリの設定(追加・優先度設定・アップデート通知)
- その6 … VSFTPDの導入、phpMyAdminの導入
- その7 … WordPress本体とデータベースを引越し
- その8 … DNS設定の変更