Closed11

ConoHa VPSをセットアップ!

大井さかな大井さかな

契約

サービスとイメージタイプ

今回は、VPSのUbuntu 22.04を選択した。

料金タイプとプラン

最近サービスリニューアルがあり、「VPS割引きっぷ」の代わりに「まとめトク」が登場している。サーバーの割り当てを後から変更できなくなったっぽい。
以前からConoHaを利用している人は、バージョン2に切り替えると以前のシステムで契約ができそう (未検証)

参考: 【リリース】[VPS]サービスリニューアルのお知らせ|VPSならConoHa

rootパスワードとネームタグ

いい感じに設定

オプション

SSH Keyだけ設定した。「キーを新規作成」を選択すると秘密鍵がダウンロードできる


決済!

「構築中」のまま待っていても変わらず、ページをリロードしたらステータスが「起動中」になっていた。
発行されたIPアドレスをコピーしておく

大井さかな大井さかな

SSH設定 (やめた)

~/.ssh/config
Host conoha-peach
  HostName 000.000.000.000 # コピーしたIPアドレス
  User root
  port 22
  IdentityFile ~/.ssh/key-peach.pem # ダウンロードした秘密鍵ファイル

せっかく鍵を生成したけど、うまく接続できなかったので断念
ssh: connect to host 000.000.000.000 port 22: Operation timed out

そもそもrootユーザーでログインできないようにしよう

大井さかな大井さかな

サーバーのネットワーク設定 > セキュリティグループが defaultだけだと完全に遮断される様子。
用意されているSSH用のセキュリティグループを追加すると22番ポートに接続できる

大井さかな大井さかな

ユーザー追加

ConoHaのウェブ上のコンソールから root ユーザーでログイン。
続いて、一般ユーザーのUSER_NAMEさんを追加する。

bash(リモート)
adduser USER_NAME
gpasswd -a USER_NAME sudo

一旦ログアウトして、ユーザーを切り替え変更

bash(リモート)
logout
大井さかな大井さかな

セットアップ

bash(リモート)
# パッケージ更新
sudo apt update
sudo apt upgrade -y

途中で以下の質問が表示された。 どうやらcloud-initという、LinuxのOSの初期設定を自動化するツールらしい。デフォルト選択肢の現状維持を選択した。

参考


Enter で進めた。一旦再起動する

bash(リモート)
reboot

シリアルコンソールに切り替えてみた。好きな壁紙を選べるみたい。コピペも楽にできて良さそう。

大井さかな大井さかな

いろんな設定

時刻

タイムゾーンは既に Asia/Tokyo
時刻同期をするNTP sercviceがn/aになっている。

bash(リモート)
$ timedatectl status
               Local time: Mon 2023-12-11 16:34:02 JST
           Universal time: Mon 2023-12-11 07:34:02 UTC
                 RTC time: Mon 2023-12-11 07:34:02
                Time zone: Asia/Tokyo (JST, +0900)
System clock synchronized: yes
              NTP service: n/a
          RTC in local TZ: no

しかし、以下のコマンドで時刻同期のプロセスが動いていることがわかった。

bash(リモート)
# ntpdが動いているか探す
$ ps aux | grep ntpd
# ntpのサービスが動いていることを確認
$ sudo systemctl status ntp

ホスト名

bash(リモート)
sudo hostnamectl set-hostname peach
大井さかな大井さかな

ssh関連

ssh公開鍵認証

ローカルで生成して転送

zsh(ローカル)
ssh-keygen -t ED25519 -C [メールアドレス] -f ~/.ssh/id_ed25519_peach
scp ~/.ssh/id_ed25519_peach.pub conoha-peach:~/.ssh

間違えてrootユーザーに送ったので作成したユーザーの方に移動して設置し直した

/etc/ssh/sshd_config
- PermitRootLogin yes
+ PermitRootLogin no
- PasswordAuthentication yes
+ PasswordAuthentication no

設定を保存し ssh conoha-peachで接続できるようにしておく

~/.ssh/config (ローカル)
Host conoha-peach
  HostName [IPアドレス]
  User [ユーザー名]
  Port 22
  IdentityFile ~/.ssh/id_ed25519_peach

ポート変更

SSH使用ポートを変更

/etc/ssh/sshd_config
- #Port 22
+ Port 3456

ファイアウォール設定で、22番ポートを閉鎖(OpenSSHを削除)して3456ポートを開放。

bash(リモート)
$ sudo ufw status # 設定確認
Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere                  
OpenSSH (v6)               ALLOW       Anywhere (v6)             

$ sudo ufw allow 3456/tcp # 3456追加
Rule added
Rule added (v6)
$ sudo ufw delete allow OpenSSH # デフォルト設定を削除
Rule deleted
Rule deleted (v6)
$ sudo ufw status # 設定反映を確認
Status: active

To                         Action      From
--                         ------      ----
3456/tcp                   ALLOW       Anywhere                  
3456/tcp (v6)              ALLOW       Anywhere (v6)
$ sudo systemctl restart sshd # sshdを再起動

ローカルのssh設定を更新

~/.ssh/config (ローカル)
  Host conoha-peach
    HostName [IPアドレス]
    User [ユーザー名]
-   Port 22
+   Port 3456
    IdentityFile ~/.ssh/id_ed25519_peach

ConoHaのセキュリティグループを変更。カスタムのセキュリティグループを作成して、VPSに適用。

大井さかな大井さかな

nginx

インストール

bash(リモート)
sudo apt update
sudo apt install nginx

ポート開放 (ufw)

bash(リモート)
sudo ufw allow 'Nginx FULL'

Nginx FULLは80(HTTP)と443(HTTPS)の両方の指定。設定可能な値はsudo ufw app list, sudo ufw app info [プロファイル名]で確認できる。

ポート開放 (ConoHa)

セキュリティグループ設定を更新し、80と443を追加 (または、用意されているIPv4v6-Webを追加)

参考

大井さかな大井さかな

rtx

rtxは、asdfとかanyenvのようなランタイムバージョンマネージャ
あとで、Node.jsを使うために入れておく

https://github.com/jdx/rtx

ここは公式の手順でインストール。

bash(リモート)
wget -qO - https://rtx.jdx.dev/gpg-key.pub | gpg --dearmor | sudo tee /etc/apt/keyrings/rtx-archive-keyring.gpg 1> /dev/null
echo "deb [signed-by=/etc/apt/keyrings/rtx-archive-keyring.gpg arch=amd64] https://rtx.jdx.dev/deb stable main" | sudo tee /etc/apt/sources.list.d/rtx.list
sudo apt update
sudo apt install -y rtx
このスクラップは6日前にクローズされました