2024/02/13 22:13:39

サーバ移行の手順(ex. sakura)

カスタムOS でお好みのOSをインスコ。

ユーザ設定まわり

# useradd bayashi
# passwd bayashi
# usermod -G wheel bayashi

ssh

/etc/ssh/sshd_config

PermitRootLogin no
PasswordAuthentication no
UsePAM no

再起動して反映

# /etc/init.d/sshd restart
  • keyでのログインのみ許可
  • rootログイン禁止
  • sudo でのみ root 可

鍵の配置

# su - bayashi
$ ssh-keygen -t rsa
$ vi ~/.ssh/authorized_keys
$ chmod 600 ~/.ssh/authorized_keys

以下のルートを確保する

  • ローカル --> linode
  • ローカル --> skaura
  • linode <---> sakura

sudo 設定

# /usr/sbin/visudo
%wheel  ALL=(ALL)       NOPASSWD: ALL
// 以下追記
# syslog facility
Defaults syslog=local3

root パスワード無効

# passwd -l root

syslog で sudo のログを出す

# touch /var/log/sudo
chmod 600 /var/log/sudo

/etc/syslog.conf に以下追記

# sudo log
local3.*                                                /var/log/sudo

ローテート設定: /etc/logrotate.d/syslog

/var/log/messages /var/log/secure /var/log/maillog /var/log/spooler /var/log/boot.log /var/log/cron /var/log/sudo {  
   sharedscripts  
   postrotate  
   /bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true  
   /bin/kill -HUP `cat /var/run/rsyslogd.pid 2> /dev/null` 2> /dev/null || true  
   endscript  
}

yum パッケージの移行

元サーバでリスト作成(先頭2行は不要なので適当に削る)

$ yum list installed|cut -d' ' -f1 > yumlist

まとめてインスコ

$ for p in `cat yumlist`;do echo $p;sudo yum install $p -y;done

ホームディレクトリコピー

$ scp -r ~/* newServer:/home/bayashi/

エイリアスがコピーされなかったので手動設定した。

CPAN

アプリケーションディレクトリに行って、

cpanm --installdeps

ミドルウェア

結局今回も最新を入れたいということでソースからビルド。

git

本体

wget http://git-core.googlecode.com/files/git-1.7.10.tar.gz
tar zxvf git-1.7.10.tar.gz
cd git-1.7.10
./configure
make
sudo make install

git manpage

wget http://git-core.googlecode.com/files/git-manpages-1.7.10.tar.gz
tar zxvf git-manpages-1.7.10.tar.gz
cp -r man* /usr/share/man
rm -rf man*

nginx

./configure --with-http_ssl_module --with-http_realip_module --with-http_sub_module --without-http_autoindex_module --without-http_ssi_module --without-http_fastcgi_module

daemontools

RPM探してきてインスコ。 /daemontools/ 以下にシンボリックリンクを貼りなおして起動するだけ。

リモートから sudo したいので

$ sudo visudo
#Defaults    requiretty
Defaults:bayashi    !requiretty

iptables

/root/setup/iptables.sh

cron

コピって終了。

不要サービス

なにかと不要サービスが起動する設定になっているので、軒並み落とす。

$ sudo ntsysv

設定したら念のため再起動して確認。

SELinux

$ sudo getenforce

有効になっていれば、無効設定する。

サイト内検索