MatomeAntenna.com

情報の「今」を繋ぐ、アンテナポータルサイト

ConoHa VPS 初期設定ガイド

ConoHa VPSを契約してから、Webサイトを公開する準備が整うまでの手順を初心者の方向けに解説します。

1. 管理パネルでの設定

  1. ConoHa VPSにログインし、サーバー一覧から対象のサーバーを選択します。
  2. 「ネットワーク情報」のセキュリティグループに IPv4v6-SSHIPv4v6-Web を追加します。

2. サーバーへの初ログインと更新

  1. 「コンソール」を開き、ユーザー名 root と初期パスワードでログインします。
  2. OSのパッケージを最新の状態に更新します。
    sudo apt update && sudo apt upgrade -y
  3. 更新が完了したら一度再起動します。
    sudo reboot

3. 一般ユーザーの作成

セキュリティのため、日常的に使う一般ユーザーを作成し、sudo権限を与えます。

adduser username  # usernameは好きな名前に変更
sudo usermod -aG sudo username
id username  # 所属グループの確認

4. SSH鍵認証の設定

パスワード認証よりも安全な鍵認証を設定します。

ローカルPC(Windowsなど)での作業

  1. PowerShellを開き、ダウンロードした .pem ファイルがある場所へ移動します。
  2. 公開鍵を表示してコピーします。
    ssh-keygen -y -f ファイル名.pem

サーバー側での作業

mkdir -p /home/username/.ssh
chown -R username:username /home/username/.ssh
nano /home/username/.ssh/authorized_keys # ここにコピーした公開鍵を貼り付け
chmod 700 /home/username/.ssh
chmod 600 /home/username/.ssh/authorized_keys

【重要】SSH接続エラーの対策(Windows)

Permission deniedが出る場合は、.pemファイルの権限を制限する必要があります。

icacls "ファイル名.pem" /inheritance:r
icacls "ファイル名.pem" /grant:r "$($env:USERNAME):(R)"

5. セキュリティ設定(SSH制限)

rootログインを禁止し、パスワード認証をオフにします。

sudo nano /etc/ssh/sshd_config
  • PermitRootLogin no
  • PasswordAuthentication no

設定後、sudo systemctl restart ssh で反映させます。※新しいウィンドウでログインできるか確認するまで、今の接続は切らないでください!

6. ファイアウォール(UFW)とfail2ban

# UFWの設定
sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable

# fail2banの導入
sudo apt install fail2ban -y
sudo systemctl enable fail2ban

7. 開発環境(Python 3.12 / Nginx)の構築

pyenvを使用して最新のPython環境を構築します。

# pyenvのインストール
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
# .bashrcに環境変数を追加(sourceで反映)

# Pythonインストール(任意のバージョンを指定)
pyenv install 3.12.6
pyenv global 3.12.6

# Webサーバー
sudo apt install nginx -y

サーバーの準備が整ったら、次はアプリを公開しましょう!

次のステップ Webアプリをデプロイする