さくらのVPSでCentOSからUbuntuに鞍替えまとめ

@macchaからリクエストがあったので、適当にまとめました。タイトルの通りです。

OS再インストールの準備

リモートコンソールの起動にJDK必須なので、作業するマシンにJDKが入ってなければいれとく。あとはTightVNCとか、必要ならどうぞ。あとバックアップ忘れずに。とりあえずwordpressだけ動いてる状態だったので

$ mysqldump -uroot -p wp -Q -c --opt > dumpfile
$ tar zcvf wordpress.tar.gz /var/www/wordpress
$ tar zcvf ssh.tar.gz ~/.ssh

みたいな感じでバックアップ取って作業マシンにscpなりlftpなりで持ってきておく。必要なら/etc/my.cnfとか/etc/php.iniとか、ホームのドットファイル類も。

OS再インストール

VPSコントロールパネルにログインして、OS再インストール→カスタムOSインストール→ubuntu 10.04 amd64を選択→カスタムOSインストールガイド : Ubuntu 10.04の通り進める。10分くらいありゃ終わる。

SSHの設定

何はともあれrootのパスワードとSSHの設定をリモートコンソールからやる。scpなりで、バックアップファイルを転送しとくこと。

$ sudo passwd
$ tar zxf wordpress.tar.gz
$ tar zxf ssh.tar.gz
$ chmod 700 .ssh
$ chmod 600 .ssh/*
$ sudo vi /etc/ssh/sshd_config
- Port 22
+ Port 適当なポート

- PermitRootLogin yes
+ PermitRootLogin no

- #PasswordAuthentication yes
+ PasswordAuthentication no

ポートは変えなくてもいいけどお好みで。ポート変えたら/etc/servicesのSSHのとこを合わせて変更するのも忘れずに。

$ sudo sshd -t

でチェックして、エラーが出なければOKなので再起動

$ sudo service ssh restart

ここで、もう一個ターミナル開いて問題なく接続できることを必ず確認。以降は普通に端末からSSHでつないで作業

諸々設定

もうあとはお好みでどうぞなんだけど、最低やることだけ書いとく

$ sudo apt-get update
.
.
.
$ sudo apt-get upgrade
.
.
.
$ sudo ufw status
Status: inactive
$ sudo ufw default deny
Default incoming policy changed to 'deny'
(be sure to update your rules accordingly)
$ sudo ufw allow SSHのポート番号
Rules updated
$ sudo ufw allow 80
Rules updated
$ sudo ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup
$ sudo ufw status
Status: active
To                         Action      From
--                           ------      ----
SSHのポート番号   ALLOW       Anywhere
80                          ALLOW       Anywhere
$ sudo apt-get install denyhosts sysv-rc-conf build-essential zsh screen vim tmux curl wget git-core apache2 php5 libapache2-mod-php5 mysql-server php5-mysql #まぁこの辺は余計なのも入ってるのでお好きなように
$ sudo a2enmod rewrite # rewrite有効に
$ sudo vi /etc/apache2/sites-available/default #VirtualHostなりなんなり、お好きにどうぞ
$ sudo service apache2 restart
$ sudo sysv-rc-conf #自動起動したいやつを適当に選択
$ cp -a wordpress/* /var/www/wordpress #wordpressのバックアップ復元
$ mysql -uroot -p -e"create database wp" #とりあえずDBつくる
$ sudo cp my.cnf.backup /etc/my.cnf
$ sudo service mysql restart
$ mysql -uroot -p wp < dumpfile #dumpファイルからデータ復元

ここまでやればwordpressはもう普通に動いてるはず。あとはchshするなり、ドットファイル復元するなり、好きにすればいいかと。