0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Xserver VPS(Ubuntu 22.04)を使い、リモート開発できるようにし、Docker で n8n を稼働させる

0
Posted at

事前準備(Xserver 側)

Xserver VPS を契約し、OS を Ubuntu 22.04 にした。

契約完了後に得た情報(IP アドレス、root パスワード 等)はローカルに安全に保管。

Xserver 管理画面にログインして作業する(下記「パケットフィルター追加」参照)。

重要:SSH が Operation timed out になる時の対処(今回の原因)

接続を試した際に次のエラーが出た:

ssh root@<IP_ADDRESS>
 → ssh: connect to host <IP_ADDRESS> port 22: Operation timed out

この場合は多くが「ネットワークレベルで SSH パケットが VPS に届いていない」=VPS 側ファイアウォール(パケットフィルター)でポート22がブロックされていることが原因でした。

対処(Xserver 管理画面)

Xserver 管理画面 → VPS 管理 → サーバー選択 → パケットフィルター設定 を開く

「フィルター追加」フォームで次を設定して 追加:

フィルター種別:SSH

プロトコル:TCP

ポート番号:22

許可する送信元IP:全て許可(必要であれば限定可)

追加後、2〜3分待って再度 SSH 接続を試す

VPSへ直接ログイン(VNCコンソール)

パケットフィルター設定後もSSHで接続できない場合は、
Xserver VPSの管理画面から「VNCコンソール」を使って直接ログインします。

🔹 手順

Xserver VPS管理画面 → 対象サーバーを選択

右上の「コンソール」メニュー → VNCコンソール を選択

ログイン画面が表示されたら、以下を入力:

login: root
password: (契約時に発行されたrootパスワード)

SSHの起動確認と有効化

ログイン後、まずSSHが起動しているか確認します。

systemctl status ssh

もし inactive (dead) や failed の場合は、
以下のコマンドで起動と有効化を行います。

systemctl enable ssh
systemctl start ssh

再度確認:

systemctl status ssh

🟢 active (running) と表示されればOK!

rootログインを許可する設定(必要な場合)

初期状態ではrootログインが禁止されていることがあります。
SSH設定を変更して許可します。

nano /etc/ssh/sshd_config

以下の2行を探し、コメントアウトを解除または追加:

PermitRootLogin yes
PasswordAuthentication yes

保存後、SSHを再起動:

systemctl restart ssh

外部からSSH接続を確認

ローカル(Mac / Windows)から以下で再接続:

ssh root@<IP_ADDRESS>

これで接続できれば完了です🎉
もし「Connection reset」などが出る場合は、ufwの設定を確認。

ufw status

もし有効(active)なら、22番ポートを開放:

ufw allow 22/tcp
ufw reload

ここまでのまとめ

項目 内容
OS Ubuntu 22.04
rootログイン VNCで可能(パスワード使用)
SSHサービス systemctlで有効化
ポート22 パケットフィルター + ufwで開放

次に実施すること

🧱 Docker & n8n 構築手順

1. Docker の導入

サーバーにログイン後、まずDocker環境を整えます:

sudo apt update && sudo apt upgrade -y

sudo apt install -y ca-certificates curl gnupg lsb-release
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin

(任意)sudoなしでDockerを操作したい場合:

sudo usermod -aG docker $USER

その後、再ログインまたはSSH再接続してください。

2. n8n 用ディレクトリと基本ファイル作成

任意のフォルダで設定を行います。例として /root/n8n を使います:

cd /root
mkdir n8n
cd n8n

.env ファイル

nano .env

内容例:

GENERIC_TIMEZONE=Asia/Tokyo
N8N_BASIC_AUTH_ACTIVE=true
N8N_BASIC_AUTH_USER=admin
N8N_BASIC_AUTH_PASSWORD=(強いパスワード)

✏️ 書き込み手順(保存する)

内容をすべて入力し終えたら、
Ctrl + O (オーのキー)を押します。

💡 すると画面下に

File Name to Write: .env

と表示されるはずです。

そのまま Enterキー を押します。
→ .env ファイルに内容が保存されます。

🚪 終了する

保存ができたら
Ctrl + X を押します。

→ nanoエディタが閉じて、ターミナルの通常プロンプト(root@...:~#)に戻ります。

✅ 確認しておくと安心

念のため、保存できたか確認するには:

cat .env

と入力すれば、中身が表示されます。
今の内容:

GENERIC_TIMEZONE=Asia/Tokyo
N8N_BASIC_AUTH_ACTIVE=true
N8N_BASIC_AUTH_USER=admin
N8N_BASIC_AUTH_PASSWORD=(強いパスワード:ここは任意のパスワードを設定して下さい)

が見えたら成功です。

docker-compose.yml ファイルも、.env と同じように nano エディタで直接作成・編集

docker-compose.yml ファイル

nano docker-compose.yml

内容例:

services:
  n8n:
    image: n8nio/n8n:latest
    restart: always
    ports:
      - "5678:5678"
    env_file:
      - ./n8n/.env
    volumes:
      - ./data:/home/node/.n8n

3. n8n の起動と動作確認

docker compose up -d
docker ps

注意点

data ディレクトリの権限を修正しないと、EACCES エラーが出ることがあるので注意。
コンテナを起動する前に以下を実行するのが安全です:

sudo chown -R 1000:1000 ./data

ブラウザで以下にアクセスしてログイン画面が表示されるか確認:

http://<IP_ADDRESS>:5678

設定した Basic 認証のユーザー/パスワードでログイン可能であればOK。

image.png

今は「ローカル or テスト運用用のHTTP環境」
後で安全な「本番HTTPS環境」に簡単に移行できます。

ライセンスキー取得について

✅ 取得・登録までの手順まとめ

n8n を バージョン 1.63.0 以上 に更新する必要があります。

n8n に Owner 権限でログイン後、左メニュー → Settings → Usage and plan を開く。

「Unlock selected paid features for free (forever)」などの案内が出ていたら、メールアドレスを入力して「Send me a free license key」ボタンを押す。

送られてきたキーを画面の「Enter activation key」から貼り付けて「Activate」。

今後の予定. 運用・セキュリティ強化のための追加設定

・HTTPS化とドメイン対応

インターネット上から安全にアクセスしたい場合は:

ドメインを取得

DNSの Aレコードで VPS の IP を指定

リバースプロキシ(例:Caddy または nginx)を使って 443番ポートで HTTPS化

docker-compose.yml を改変して、プロキシ設定を加える

・自動バックアップと監視

n8n のデータを定期的にバックアップ(ボリューム ./data を tar などで圧縮)

コンテナが停止した時の自動リスタート(restart: always を設定済)

ログ監視やアップデートの計画を立てる

・ファイアウォール(UFW)設定

Ubuntu 22.04 では ufw も有効にしておきましょう:

ufw allow 22/tcp
ufw allow 5678/tcp     # または HTTPS対応後は 443/tcp
ufw enable
ufw status

以降は、この記事ベースのリンク

を参考に、「n8n + Caddy を使って自動HTTPS+サブドメイン構成」
なども構築可能です。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?