新サーバ再構成手順 その1

yumリポジトリの追加

/etc/yum.repos.d/をコピーして公開鍵を登録するだけも良いのだが、ついでに今までのものを若干変更した。 EPELとSorceForgeをrpmで登録する。 # rpm -ivh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm # rpm -Uhv http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.5.2-2.el5.rf.i386.rpm そして、旧サーバのサードパーティー用リポジトリthird.repoをコピーして整理して公開鍵を追加する。
[atrpms]
name=Redhat Enterprise Linux $releasever - $basearch - ATrpms
baseurl=http://dl.atrpms.net/el$releasever-$basearch/atrpms/stable
enabled=0
gpgcheck=1
gpgkey=http://packages.atrpms.net/RPM-GPG-KEY.atrpms
# rpm --import http://packages.atrpms.net/RPM-GPG-KEY.atrpms

旧マシンのバックアップファイルを一時的に展開する

# mkdir tower # cd tower # scp nor@tower:/var/backup/tgz/*.110103 # ls | xargs -n 1 tar zxvf

iptables

# cp etc/sysconfig/iptables-config /etc/sysconfig # cp etc/sysconfig/iptables /etc/sysconfig # service iptables restart

Apache

# yum groupinstall "Web Server" # cp etc/httpd/conf/httpd.conf /etc/httpd/conf これ以外にも、ssl.confなど/etc/httpd/conf.d/内で自分で変更したファイルがあればコピーする。 /var/wwwのデータを復旧する。 # service httpd start # chkconfig --level 345 httpd on

samba

# yum groupinstall "Windows File Server" # cp etc/samba/* /etc/samba # chkconfig --level 345 smb on # service smb start

mySQL

# yum install mysql # yum install mysql-server # vi /etc/my.cnf 以前のmy.cnfをコピーしてもよいのだろうが、以下のみ加えておく。
[mysqld]
default-character-set = utf8
[mysql]
default-character-set = utf8
そして、起動設定と起動。 # chkconfig --level 345 mysqld on # service mysqld start To start mysqld at boot time you have to copy support-files/mysql.server to the right place for your system こんなメッセージが出るが、support-files/mysql.serverは/etc/mysqldのことなので、なにもしなくていい。 が、以下のメッセージには従う。 PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER ! To do so, start the server, then issue the following commands: /usr/bin/mysqladmin -u root password 'new-password' /usr/bin/mysqladmin -u root -h levin.rally.or.jp password 'new-password' Alternatively you can run: /usr/bin/mysql_secure_installation # /usr/bin/mysql_secure_installation パスワード入力以外は「Enter」でかまわない。

Dovecot

# yum -y install dovecot # cp etc/dovecot.conf /etc # service dovecot start # chkconfig --level 345 dovecot on

postfix

標準のPostfixは、PostgreSQLを使うようになっているので、mySQLを使うためにソースからビルド。 # wget http://ftp.riken.jp/Linux/centos/5.5/os/SRPMS/postfix-2.3.3-2.1.el5_2.src.rpm また、taGrayからsleep中に接続を切れるように、postfix-sleep.patchを、K2-net small patchesからとってくる。 # rpm -ivh postfix-2.3.3-2.src.rpm # cp postfix-sleep.patch /usr/src/redhat/SOURCES <-パッチのコピー。 # vi /usr/src/redhat/SPECS/postfix.spec <-specファイルの編集
%define MYSQL 1 <-MySQLを使うように指定
...
Patch11: postfix-sleep.patch <- # Patchesに以下の行を追加。
yum install pcre-devel mysql-devel <-必要なライブラリをインストール # rpmbuild -ba --define 'dist .el5_2' /usr/src/redhat/SPECS/postfix.spec # rpm -ivh /usr/src/redhat/RPMS/i386/postfix-2.3.3-2.1.el5_2.i386.rpm /etc/postfix/main.cfに以下を追加。
smtp_destination_recipient_limit = 1
/etc/postfix/master.cfでは、 -o smtpd_sasl_auth_enable=yes -o smtpd_client_restrictions=permit_sasl_authenticated,reject # mkdir Maildir <-既存ユーザーである、rootのMaildirを作成 # chmod 700 Maildir # service sendmail stop # service postfix start # service saslauthd start # chkconfig sendmail off # chkconfig --level 345 postfix on # chkconfig --level 345 saslauthd on # alternatives --config mta <-/usr/sbin/sendmailが/usr/sbin/sendmail.postfixにリンクされる。 このmySQLを使う自前でビルドしたPostfixは、yumでアップデートして欲しくないので、/etc/yum.confに除外設定をしておく。
exclude=postfix*

OP25B(Outbound Port25 Blocking)に対応

/etc/postfix/master.cfの設定を以下のようにコメントアウト。
submission inet n       -       n       -       -       smtpd
#  -o smtpd_enforce_tls=yes
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject

Docomoあてメールのエラー対策

/etc/postfix/main.cfに以下を追加。
smtp_destination_recipient_limit = 1

taRgrey

まず、postgreyのインストール# yum install postgrey # cp etc/init.d/postgrey /etc/init.d taRgreyのサイトから使用しているpostgreyのバージョンに対応するパッチをダウンロード。 # pushd /usr/sbin # patch -p0 < ~/targrey-0.31-postgrey-1.33.patch /etc/yum.confでアップデート除外設定。
exclude=postfix* postgrey
以下の/etc/postfix内の設定ファイルを旧マシンからコピーする。 check_ns check_sender_info permit_client_nots25r prepend_client reject* whitelist* /etc/postfix/main.cfを旧マシンのものを参考にしながら修正。 (ついでに、自作のreject_my_fromの設定も行う) /etc/init.d/postgreyで起動オプションを変更。
OPTIONS="--unix=$SOCKET --inet=10023 --tarpit=125 --targrey --retry-count=2 --delay=3600"
# postfix reload <- Postfix再起動

SpamAssassin 3.2.5 + 日本語パッチ

SpamAssassinのルール設定

松田氏のuser_prefsはhttp://www.flcl.org/~yoh/user_prefsに移動している。

spampd

Spamassassin: spamの自動学習

Mailman

インストールは以前の記録参照。 ただし/etc/mailman/mm_cfg.pyは/usr/lib/mailman/Mailman/mm_cfg.pyへのリンクなので、/etcのバックアップからのコピーでは復旧しない。 さて、登録してあるメーリングリスト自体の移行だが、 /etc/mailman/aliases /etc/mailman/aliases.db /var/lib/mailman/lists /var/lib/mailman/archives の2つのファイルと、2つのディレクトリを(ownerをmailmanで)コピーするだけ。

BIND

インストールは、yumで。 # yum install bind caching-nameserver bind-chroot 設定ファイルは、バックアップを展開して、/var/named/chroot以下のetc、var/namedを入れ替える。 ついでに、今まで適当に追加していたマシンのIPアドレスなどもきちんと登録しておく。

/usr/local内などのデータの移行

自作プログラムや、それに必要なライブラリをインストール。 基本的に/usr/local内にインストールしてあるので、それをチェック。 それ以外は、以下のものなどを。
  • i-forward /usr/local/bin
  • jcode.pl /usr/lib/perl5/site_perl
  • yum install perl-MIME-tools
  • yum install perl-HTML-Tree

wnn6とtamago

Wnn6tamagoともに、前回のインストール記録と、ほぼ同じでインストール可能。 ただし、wnnのchmod usr/norはtarでパーミッションやオーナーが残っているので不要。

ユーザ移行

まず、旧マシンの/etc/passwd、/etc/groups、/etc/shadow、/etc/gshadowからシステムユーザを削除したファイルを用意して、それぞれを新マシンに追加する。 ルータで旧マシンの外部ポートをすべて閉じる。 大量の転送を避けるために、バックアップを/に展開しておく。 旧マシンにrootでsshできるように/etc/ssh/sshd_configを編集("PermitRootLogin yes")し、sshdを再起動、rsyncで/homeを更新する。 さらに/rootのデータも復旧する。

ホスト移行

旧マシンを停止して、新マシン名をtowerに変更。 Postfixの設定ファイルmain.cfでホスト名を変更する。
myhostname = mail.rally.or.jp
とりあえず、使用可能なサーバ機が完成。

このブログ記事について

このページは、norが2011年1月23日 00:40に書いたブログ記事です。

ひとつ前のブログ記事は「新サーバOSインストール」です。

次のブログ記事は「新サーバ再構成手順 その2」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

アーカイブ

ウェブページ

Powered by Movable Type 6.8.5