🗂

ConoHa でサーバのセットアップ&旧サーバからデータのお引越し

2022/02/06に公開

https://twitter.com/YetAnother_yk/status/1352839926581088256

そのままにするわけにはいかないので,新しい環境を作成してお引越しします。
ただお引っ越しするのはつまらないので,ついでに記事にもします。

まずは新しい VPS を ConoHa で契約。
知らない間に料金改定されており,SSD が 100 GB に増えててびっくり。
OS は Arvh Linux を選択(アプリケーションテンプレートの docker なら諸々作業不要かもしれませんが OS からやります)。

次に,前までの VPS からイメージを作成,作成したイメージでディスクを作成します。
あとでここから色々復元します。

VPS のセットアップ

VPS が起動できたらコンソールを起動。
ユーザは root,パスワードは VPS 作成時に指定したものを入力します。


入れた。

最初に最新化と必要なパッケージをインストールします。

% pacman -Syu # 最新化
% reboot # 一旦再起動
% pacman -S sudo
% chmod u+w /etc/sudoers
% vim /etc/sudoers
/etc/sudoers
- # %wheel ALL=(ALL) ALL
+ %wheel ALL=(ALL) ALL

そして作業用ユーザを作成します。

% useradd --groups adm,wheel,users -m user # ユーザ作成
% sudo passwd user # パスワード設定

次に公開鍵を設定。

% mkdir /home/user/.ssh
% vim /home/user/.ssh/authorized_keys
/home/user/.ssh/authorized_keys
+ ssh-ed25519 xxxxxxxxx xxx@xxx.local

書き込んだらパーミッション周りを整えます。

% chown -R user:user /home/user/.ssh
% chmod 0700 /home/user/.ssh
% chmod 0600 /home/user/.ssh/authorized_keys

次に SSH をいい感じに設定して,入れるようにします。

% vim /etc/ssh/sshd_config
/etc/ssh/sshd_config
- PermitRootLogin yes
+ PermitRootLogin no
/etc/ssh/sshd_config
- #PubkeyAuthentication yes
+ PubkeyAuthentication yes
/etc/ssh/sshd_config
- #PermitEmptyPasswords no
+ PermitEmptyPasswords no
/etc/ssh/sshd_config
- UsePAM yes
+ UsePAM no

反映のため,サービスの再起動。

% systemctl restart sshd

作業用ユーザで ssh して作業できるようになりました :tada:

さて,作業用ユーザでsshしたら作業を快適にするものたちを入れていきます。

まずは yay:

$ sudo pacman -S base-devel git go
$ git clone https://aur.archlinux.org/yay.git
$ cd yay
$ makepkg -si

そして zsh:

$ yay -S zsh zsh-completions zsh-syntax-highlighting zsh-autosuggestions pkgfile # zsh などのインストール
$ sudo pkgfile -u # データベースの更新
$ sudo systemctl enable pkgfile-update.timer && sudo systemctl start pkgfile-update.timer # 自動更新の有効化
$ chsh -s /usr/bin/zsh # デフォルトの切り替え
$ touch ~/.zshrc
$ vim ~/.zshrc # いい感じにする

zshrc は 少し凝った zshrc を拝借。

ファイルに下記を追記:

.zshrc
+ source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
+ source /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh
+ source /usr/share/doc/pkgfile/command-not-found.zsh

ログインし直すといつものシェルになる。

アプリケーションのインストール

Docker 関連:

$ yay -S docker docker-compose ctop
$ sudo systemctl start docker && sudo systemctl enable docker

ひとまず,他に必要なものは思いつかないので必要になったらインストールします。

データの復元

ConoHa のウェブ画面からディスクを作成した VPS に接続します。
その後,VPS を再起動したらディスクをマウントします:

$ ls /mnt/disk/by-id
virtio-e6aa6f94-b0ef-437f-8
$ sudo mkdir /data
$ sudo mount /dev/disk/by-id/virtio-e6aa6f94-b0ef-437f-8-part1 /data
$ cd /data/

あとは必要なデータをお引越ししたら完了です!

参考

Discussion