# サーバ移行の手順(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 有効になっていれば、無効設定する。