サーバー移転:Webサーバー編

サーバー移転

サーバー移転

サーバー移転シリーズ、Webサーバー編です。
1点だけはまってしまった。

サーバー移転シリーズリンク

環境

  • 移転前:Apache 2.2系
  • 移転後:Apache 2.2系

作業の流れ

  1. 設定ファイルのコピー
  2. HOSTNAMEの修正

せっかちさんのための作業まとめ

移転先作業

# 設定ファイルのコピー
scp -i ~/.ssh/rsa.pem [source_host_ip]:/etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf
scp -i ~/.ssh/rsa.pem [source_host_ip]:/etc/httpd/conf.d/* /etc/httpd/conf.d/

# 現在の$HOSTNAMEを修正
hostname web01

# 再起動後にも値が戻らないように下記を修正(詳細は後述)
vi /etc/sysconfig/network

# hostsを修正(詳細は後述)
vi /etc/hosts

作業の詳細

移転先作業

# 設定ファイルのコピー
scp -i ~/.ssh/rsa.pem [source_host_ip]:/etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf
scp -i ~/.ssh/rsa.pem [source_host_ip]:/etc/httpd/conf.d/* /etc/httpd/conf.d/

このタイミングでhttpdを起動しようと試みるも、エラーで起動できず。
error_logに下記エラーが出力されている。

# エラーの確認
cat /var/log/maillog

[Sun Sep 30 18:18:00 2018] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Fri Sep 28 07:49:37 2018] [alert] (EAI 2)Name or service not known: mod_unique_id: unable to find IPv4 address of “125-21-10-16”

調べたところ、$HOSTNAMEとhostsが一致していないと、Apacheは起動できないらしい。

この問題を解決するために以下作業を実施

# 現在の$HOSTNAMEを修正
hostname web01

# 再起動後にも値が戻らないように下記を修正
vi /etc/sysconfig/network

NETWORKING=yes
#HOSTNAME=localhost.localdomain
HOSTNAME=web01
NOZEROCONF=yes

# hostsを修正
vi /etc/hosts

127.0.0.1   web01 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

以上の設定をしたところ、無事にhttpdを再起動できた!