こんにちは、中のひとアツです。
「Xserver VPS 無料プラン完全攻略(全3回)」の最終回です。
- 第1回: 【契約編】無料プランの申し込みとUbuntu 24.04の初期設定
- 第2回: 【接続編】パソコンからサーバーを操作するアプリの導入
- 第3回:【構築編】完全コピペで自分専用VPN&実験場を作る(←イマココ)
前回の記事で、黒い画面(SSH)は開けましたか? ここからは、一切の専門用語を使わず、ただ**「指定された場所に文字を貼り付けるだけ」で、Xserver VPS(無料プラン)上に「自分専用VPN」と「実験用サイト」**を作り上げます。
Step 0: Xserver側の「関所」を開ける(超重要!)
黒い画面を操作する前に、ブラウザで1つだけ設定が必要です。 サーバーの外側にある「パケットフィルター」の設定を変更して、VPNとWebサイトの通り道を作ります。
- Xserver VPSの管理画面(VPSパネル) にログインします。
- 「パケットフィルター設定」 をクリックします。
- 「パケットフィルター設定を追加する」をクリックし、以下の2つを追加してください。 (※Webサイト用に80と443の2つを開けます)
① VPN用の通り道
- フィルタ: その他
- プロトコル:
UDP - ポート:
51820 - 許可する送信元IPアドレス:
全て許可
② Webサイト用の通り道 (HTTP、HTTPS)
- フィルタ:
Web - プロトコル:
TCP - ポート:
80,443 - 許可する送信元IPアドレス:
全て許可

これらを追加して「設定する」を押したら、ブラウザの作業は終了です。 いよいよ黒い画面(Tera Term / Termius)に戻って、コピペ作業を始めましょう!
⚠️ コピペの極意
この作業では、以下のルールだけ覚えておいてください。
- コピーする: この記事の「グレーの枠」の中身をコピーします。
- 貼り付ける: 黒い画面に貼り付けます。
- Windows (Tera Term): マウスを右クリックすると貼り付きます。
- Mac (Termius):
Command+Vで貼り付きます。
- 実行する: 貼り付けたら
Enterキーを押します。
Step 1: サーバーの中身を最新にする
まずは準備運動です。 以下の文字をコピーして、黒い画面に貼り付けて Enter キーを押してください。
sudo apt update && sudo apt upgrade -y
(もしパスワードを聞かれたら入力してください。入力中は画面に何も表示されませんが、そのまま打ってEnterでOKです)
Step 2: 自分専用VPN「WireGuard」を作る
カフェのWi-Fiなどを安全に使うためのVPNを作ります。 面倒なファイルの編集作業は、すべて以下のコマンドが自動でやってくれます。
1. 必要なツールを入れる
以下の1行をコピーして、貼り付けて実行(Enter)してください。 (念のため iptables も明示的にインストールします)
sudo apt install wireguard qrencode curl iptables -y
2. 鍵と設定ファイルを「全自動生成」する
ここが魔法のステップです。 以下の長いブロックをすべてまとめてコピーして、黒い画面に貼り付けて実行してください。 (一瞬でサーバーとiPhone用の設定ファイルが完成します)
# 鍵の生成
umask 077
wg genkey | tee server_private.key | wg pubkey > server_public.key
wg genkey | tee iphone_private.key | wg pubkey > iphone_public.key
# IPアドレスの取得
SERVER_IP=$(curl -s ifconfig.me)
# サーバー用設定ファイル(wg0.conf)の作成
# PostUpの部分で、インターネット接続用の中継設定(NAT)を入れています
cat <<EOF > wg0.conf
[Interface]
PrivateKey = $(cat server_private.key)
Address = 10.0.0.1/24
ListenPort = 51820
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o ens3 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o ens3 -j MASQUERADE
SaveConfig = true
[Peer]
PublicKey = $(cat iphone_public.key)
AllowedIPs = 10.0.0.2/32
EOF
# iPhone用設定ファイル(iphone.conf)の作成
cat <<EOF > iphone.conf
[Interface]
PrivateKey = $(cat iphone_private.key)
Address = 10.0.0.2/32
DNS = 8.8.8.8
[Peer]
PublicKey = $(cat server_public.key)
Endpoint = $SERVER_IP:51820
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 25
EOF
# 設定の配置
sudo mv wg0.conf /etc/wireguard/
3. ネットワーク設定と起動
以下のブロックをまとめてコピーして貼り付けて実行してください。 (IPフォワード設定を確実に有効化し、ファイアウォールを開けます)
Bash
# IPフォワード(中継機能)をONにする
echo "net.ipv4.ip_forward=1" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
# ファイアウォールの設定
sudo ufw allow 22/tcp
sudo ufw allow 51820/udp
yes | sudo ufw enable
# WireGuardの起動
sudo systemctl enable wg-quick@wg0
sudo systemctl start wg-quick@wg0
4. iPhoneの設定(QRコード編)
準備が整いました!iPhoneのWireGuardアプリを開いて、「+」ボタンを押す準備をしてください。
コツ: QRコードが崩れないように、PCの画面(Tera Term等のウィンドウ)をできるだけ大きく広げてから実行してください。
qrencode -t ansiutf8 < iphone.conf
黒い画面に表示されたQRコードを、アプリの「QRコードから作成」で読み取れば完了です! (スイッチをONにして、ネットに繋がれば大成功です!)
🚨 QRコードが読み取れない場合(救済策)
「QRコードが崩れてしまう」「背景が白くて読めない」場合は、無理せず以下の方法を使ってください。
- PCで以下のコマンドを実行し、設定の中身を表示します。
cat iphone.conf - 表示された文字(
[Interface]から始まる部分すべて)をコピーします。 - 自分宛のメールやLINE、クラウドメモ(Keep/Notes)などに貼り付けてスマホへ送ります。
- iPhoneでそのテキストをコピーします。
- WireGuardアプリの「+」→「クリップボードから作成」を選べば一発で完了です!
Step 3: 実験用Webサイトを作る
本番環境(atsublo.net)と同じWebサーバーソフトを入れて、テスト環境を作ります。
1. インストールと通信許可
以下の文字をコピーして、貼り付けて実行してください。 (Webサーバーを入れるのと同時に、通信の通り道も空けておきます)
sudo apt install nginx apache2-utils -y
sudo ufw allow 'Nginx Full'
sudo ufw reload
2. 自分しか見れないように鍵をかける
テスト環境が他人に見られないようにパスワードを設定します。 以下の文字をコピーして、貼り付けて実行してください。
sudo htpasswd -c /etc/nginx/.htpasswd admin
(※コマンド実行後にパスワードを2回聞かれます。好きなパスワードを入力してください)
3. 設定ファイルを作る
ここだけは手動で貼り付けます。 nano(ナノ)という編集ツールを使います。保存方法は Ctrl+O、終了は Ctrl+X です。
以下の1行を貼り付けて実行してください。
sudo nano /etc/nginx/sites-available/default
画面が変わったら、矢印キーで下の方へ移動してください。 location / { と書かれた場所が見つかるはずです。そのカッコ { } の中に、以下の2行を貼り付けます。
【貼り付ける内容】
auth_basic "Restricted Access";
auth_basic_user_file /etc/nginx/.htpasswd;
貼り付けたら、保存して終了します。
Ctrl+Oを押す →Enterを押すCtrl+Xを押す
最後に再起動します。以下の1行を貼り付けて実行してください。
sudo systemctl restart nginx
これで、ブラウザからサーバーのIPアドレスにアクセスすると、IDとパスワードを求められるようになります! (※IPアドレスでのアクセスのため「保護されていない通信」と出ますが、実験用なのでOKです!)
🔑 ログイン情報
- ユーザー名:
admin - パスワード: さきほど自分で決めて入力したパスワード
最重要:無料プランの「掟」を守る
これで、あなただけの「デジタル秘密基地」が完成しました。お疲れ様でした!
最後に、この環境を維持するための一番重要な作業です。 この無料サーバーは、「更新忘れ」で即削除されます。
- 今すぐスマホを取り出す。
- カレンダーアプリを開く。
- 「3日ごと」に「VPS更新ボタンを押す」という予定をリピート登録する。
この「ログインボーナス」さえ忘れなければ、あなたは永遠に無料でこのサーバーを使い続けられます。この後はwordpressを入れるなり色々と楽しみはいっぱいです。 それでは、快適なサーバーライフを!

コメント