23
16

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

この記事は、エーピーコミュニケーションズ Advent Calendar 2025の23日目の記事です。

注意書き

本投稿は以下の注意点をご了承いただいた上で、参考程度の情報源としてご覧ください。
複数の情報源を参照することを強くお勧めいたします。

  • 本投稿は企業カレンダーに投稿するものではありますが、一社員の見解であり、企業の見解とは何ら関係ありません
  • 可能な限り情報源を確認し情報元を掲載するように作成しましたが、記載に誤りがある場合がございます。その場合はご指摘・ご提案ください。可能な限り迅速に確認し修正を行います
  • 本記事を参考にされた結果、電気代が上がる、セキュリティ上の問題が発生する、そのほかトラブルが発生しても一切の責任は取れません。あらかじめご了承ください

自宅鯖とは

様々な目的に使われる自宅内のサーバのこと。インターネット用語でサーバのことを「鯖」と呼びます。
今回は、初心者でも簡単に自宅サーバを建てられる自宅サーバ入門を紹介します。

自宅鯖がある景色

IMG_9638.JPG

こちらは筆者のサーバです。写真で見せるためにミニPCを重ねていますが、普段は平置きにしています。
概念図に表現すると、以下のようになります。

image.png

ミニPCを買おう

ミニPCとは

ミニPCとは、手のひらサイズの小型デスクトップ型PCのことです。値段は通常のタワー型デスクトップPCよりも安く、2万円前後〜で販売されており、その手軽さが人気を博しています。
一方でミニPCは拡張性に乏しいと言われており、筐体の小ささからもグラフィックボードが搭載されていないことが多いです。そのため、動画編集、ゲーム等にはあまり向いていません。また、 筐体が小さいということはその分熱もこもりやすく、排熱周りでトラブルを起こす可能性を考慮する必要があります。
一方で、一般的なサーバと比較すると静音で電気代も安く場所を取らないというメリットがあります。
(Raspberry Piを用いるのも一つの手ですが、Raspberry Piの場合はProxmox VEではなくpimoxなどを入れることになります。筆者がpimoxは未検証のため、今回はご紹介できません)

今回の自宅鯖入門では、この手軽さから、ミニPCを自宅鯖にする方法をご紹介します。

ミニPCの選び方

スペックを確認しよう

ミニPCのスペック選びで重要なのは、CPU、メモリ、ストレージの3つです。

  • CPU
    • 自宅鯖の利用用途次第ですが、将来的に検証環境で動かすものが負荷の高いものになる可能性を考えて選択しましょう。目安としては、Ryzen 5 3500U以上相当であれば十分ではないでしょうか
    • Proxmox VEの要件として、x86-64(Intel 64またはAMD64)である必要があります
  • メモリ
    • 16GBあれば安心でしょう
  • ストレージ
    • 筐体の小ささから内蔵での増設が難しいこともありますので、HDDは512GB以上はあると良いでしょう。仮想基盤を使用して環境を構築するため、VMやLXCに割り当てるためにも容量は大きい方が安心です。可能であれば、データの読み書き速度が従来のAHCI(SATA)よりも速い、NVMeのSSDが搭載されていることが望ましいです。

参考URL:

また、この後にインストールするProxmox VEのハードウェア要件は以下を参照してください

参考URL:

認証マークを確認しよう

ミニPCは、一般的にはAmazonなどの通販サイトで探すことが多いのではないでしょうか。
今回の記事では特定のメーカーを紹介することはしませんが、なるべく信頼の出来るメーカーかつCEマークなどの認証マークを取得している機器を選択すると良いでしょう。

保証期間を確認しよう

私は今のところ初期不良品に出会したことはないですが、修理・返品保証が付いているに越したことはありません。
保証期間が1年以上あれば、初期不良品に当たっても対応してもらえる安心感があります。保証が付いているか、保証期間が初期不良かを確認するための十分な期間があるかを、購入前にしっかりと確認しましょう。

Windowsライセンスの種類に注意!OEMライセンスとボリュームライセンスについて

Microsoft社が提供するOSであるMicrosoft Windowsは、利用にあたってライセンス契約が必要です。通常、家電量販店等で販売されているMicrosoft Windows搭載PCには、OEMライセンスが適用済みです。OEMライセンスは、Microsoft社が定めるライセンス形態の一つで、制限付きで第三者へのライセンスの譲渡が認められています。
一方、ボリュームライセンスは、企業が社内利用を目的としてまとまった単位でお得に購入できるライセンス形態のことです。そのため、第三者への譲渡は禁止されています(※1)。
クリーンインストールをすれば良いという意見もあるでしょう。確かに今回はProxmox VEをインストールする想定なので元からプレインストールされたWindowsライセンスは利用しないため関係ないかもしれません。ですが、一時が万事という諺にもある通り、不正なライセンスを利用するようなメーカーはその他の面でも信用できません。信用できない機器の使用は様々なリスクを考慮して避けた方が賢明だと思います。

※1…詳細なライセンス形態は都度Microsoft社の規約を確認する必要があります

ミニPCと一緒に用意しておくもの

ミニPCと合わせて、以下のものを用意しましょう。

  • モニタ
  • USB端子の有線キーボード
  • USB端子の有線マウス
  • USBハブ
  • ミニPCを接続しても良いご家庭のネットワーク
  • ミニPCとご家庭のネットワークを接続するためのLANケーブル
  • ミニPCと同一のネットワークに接続された操作用PC

Proxmox VEを入れよう

Proxmox VE(Proxmox Virtual Environment)とは

Proxmox VE(Proxmox Virtual Environment)とは、オープンソースの仮想化基盤/仮想化プラットフォームです。KVMハイパバイザーをベースにしたVMや、Linuxコンテナ(LXC)を起動・管理することができます。
Debianがベースになっており、Proxmoxが配布しているISOファイルを用いてインストールします。

なぜProxmox VEなのか

自宅鯖にProxmox VEを使用する最大のメリットは、限られたハードウェア資源をムダなく使うことで、沢山の検証環境を用意できることにあります。
そのほか、GUIからネットワーク(Linux VLANなど)、ストレージなどの管理が可能な点も、非常に便利です。
また、Proxmox VEのクラスタリング機能も有用です。ハードウェア資源(ミニPC)を追加したとき、クラスタを組むことで1つのGUIから複数台のミニPC上のProxmox VEを管理することが可能になります。ミニPCは拡張性に乏しいというデメリットがありますが、Proxmox VEのクラスタリング機能を用いることでミニPC間での資源の共有・分散管理を楽にします。

※クラスタを組んでもCPU/メモリが自動的に1台に“合算”されるわけではなく、主に「管理の一元化」や「移動(マイグレーション)・HAなどの運用」を行いやすくする仕組みです。

なぜProxmoxではなくProxmox VEと呼ぶのか

Proxmoxのプロダクトには「Proxmox Virtual Environment」「Proxmox Datacenter Manager」「Proxmox Backup Server」「Proxmox Mail Gateway」があります。今回紹介するProxmox VEとは、Proxmox Virtual Environmentのことであり、省略してProxmox VEと呼ばれています。また、PVEと省略されることもあります。
私は口頭ではProxmoxと呼ぶことの方が多いですが、このように誰かに伝達する目的の場では「Proxmox VE」と呼び分けています。

Proxmox VE 入門書の紹介

本記事では簡単なProxmox VEの導入・使い方を紹介しますが、初心者の方には書籍を手元に用意することをお勧めします。書籍であればより丁寧に解説されており、補足説明やオプションの紹介が充実しているためです。特にProxmoxは機能が多いため、入門書をご用意いただくことを強くお勧めいたします。

自宅の検証用サーバとしてProxmox VEに挑戦する際におすすめの書籍が、水野源,大内明著「仮想化環境の構築から運用までProxmox VE実践ガイド」です。
スクリーンショットも多く、シンプルな構成ながら解説も充実しているため、入門書として最適だと感じました。この本であれば、初めてOSインストールを実践する方、初めて仮想基盤を使用する方でも、迷わずにProxmox VEのインストールと運用まで行えることでしょう。

青山尚樹,海野航,大石大輔,工藤真臣,殿貝大樹,野口敏久著「Proxmox VEサーバー仮想化 導入実践ガイド エンタープライズシステムをOSSベースで構築」も紹介します。
こちらの書籍は「2-5-1 自動インストールで利用する応答ファイルの準備」など、解説が詳細で業務利用にも対応している印象を持ちました。Proxmox VEをより詳細に知りたい場合におすすめです。

また、技術同人誌では、Luciano研究室(旧システム工学研究会)「Proxmoxで作る超便利な自宅サーバーレシピ第2版」も今回のテーマにぴったりな書籍として紹介させていただきます。

関連書籍は2冊以上買うことがおすすめです。
IPUSIRON,増井敏克著「「技術書」の読書術 達人が教える選び方・読み方・情報発信&共有のコツとテクニック」では、1つのテーマで3冊の本を読むことがオススメされています。この考え方は受験業界の「1冊の本を擦り切れるまで読め」という思想が染み付いた私には衝撃的でした。
もっとも、関連書籍が3冊も出版されていないことが少なくないので、私は「2冊以上」を心がけるようにしています。
2冊あれば書籍が少ない分野でも集めやすいですし、もし1冊目の説明で理解しづらい点や表現の違いがあっても、2冊目を読むことで別の視点から補えることがあるためです。

Proxmox VEを入れないミニPCもあると便利という話

例えば、武内覚著「試して理解 Linuxの仕組み」のハンズオンを試す場合、オペレーティングシステムの勉強なので当然VMやコンテナでは勝手が異なります。
このようにLinuxやハードウェア自体を学ぶ場合は、Proxmox VE等で仮想化せず、書籍で指定されたOSをインストールする方が望ましいでしょう。
なお、仮想化やコンテナの仕組みについては、武内覚著「試して理解 Linuxの仕組み」内の「第10章 仮想化機能」「第11章 コンテナ」でも触れられています。

Proxmox VEをインストールしてみよう

Proxmox VEのインストーラ

Proxmox VEのインストーラは以下から入手可能です。
現在の最新バージョンは「Proxmox VE 9.1 ISO Installer」です。

なお、Proxmox VEは過去のインストーラが以下のリポジトリにて公開されていますが、マイナーバージョンの全てが公開されているわけではありません。

使用したISOファイルは廃棄せず、しばらく取っておくことをお勧めします(例えば次のバージョンで何らかの問題が発生し、1つ前のバージョンのままクラスタを追加したいとなった場合、保管しておいたISOファイルでインストールする、などの使い方が考えられます)。

ミニPCに任意のOSをインストールする方法

以下の手順でインストールしましょう

  1. ミニPCのマニュアル(大抵は購入時に箱の中に入っていると思います)を開き、BIOS/UEFIに移動する手順を確認します
  2. フォーマットしたUSBメモリ(※2)にRufusやddコマンドなどを使ってインストールメディアを作ります
  3. 電源を落としたミニPCのUSBポートに2で用意したUSBメモリを挿入します
  4. キーボードのUSB端子をミニPCのUSBポートに挿入します
  5. ミニPCを起動し、1で確認した手順でBIOS/UEFIに移動し、「Boot Option」でメニューからUSBを選択します。これにより、元々インストールされていたOSより、起動時のOSとして2で作成したインストールメディアが優先されます
  6. BIOS/UEFIからExitします
  7. 初回起動時にのみインストールメニューが表示されるので、「Install Proxmox VE(Graphical)」を選択してください
  8. その後はインストール画面の案内に沿ってインストールを進めてください(ネットワーク設定時に設定したIPアドレスはメモしておいてください)

※2… USBメモリのフォーマット方法が分からない場合は、USBメモリのメーカーを確認し、「<メーカー名> USB フォーマット」と検索して、メーカーの指示に従ってフォーマットを実行してください

Proxmox VEを操作してみよう

Proxmox VEのGUIにアクセスしよう

ミニPCと同一のネットワークに接続された操作用PCを開き、「https://<ネットワーク設定時に設定したIPアドレス>:8006」にアクセスしてください。
もし接続できない場合は、指定しているIPアドレスが誤っている、HTTPS証明書の警告で弾かれている、ブラウザ側の設定でローカルネットワーク上のホストへのアクセスを禁止している可能性があります。PCの設定を開き、ブラウザがローカルネットワークへのアクセスを許可されているかを確認してみてください。

Proxmox VEのサブスクリプションについて

Proxmox VEにはEnterprise repository とno-subscriptionリポジトリがあります。Enterprise repositoryを利用するには有料のSubscriptionに加入する必要があります。また、たびたび「あなたはサブスクリプションに加入していません」と表示されますが、スルーで問題ありません。

サブスクリプションに加入した場合の特典は公式HPに記載されている通り。
https://www.proxmox.com/en/products/proxmox-virtual-environment/pricing

Proxmox VEは初期設定でEnterprise repositoryを参照するようになっています。no-subscriptionリポジトリに参照先を変更する方法は以下のブログなどを参考にしてください。

LXC(Linux Containers)を立ててみよう

LXCとは何か

LXCは、Linuxカーネルの隔離機能を用いてホストとカーネルを共有するOSレベル仮想化技術です。
そのため、LXCではLinuxのディストリビューションしか使用できません。また、独立したカーネルを持たないため、VMほどの完全な隔離は提供されません。

作成手順

  1. Storage > CT Templates > Templates を押下し、表示される一覧から使用したいテンプレートを選択し、「Download」を押下する
    image.png
    image.png
  2. Proxmox VEの管理画面(https://<ネットワーク設定時に設定したIPアドレス>:8006)を開き、画面右上の「Create CT」を押下
    image.png
  3. Generalでは最低限、VMに設定する任意パスワードか公開鍵認証方式を使用する場合はSSH public key(s)に公開鍵を登録する
    スクリーンショット 2025-12-28 9.37.49.png
  4. Templateでは、VMに使用するLXCのテンプレートを選択する
    スクリーンショット 2025-12-28 9.51.06.png
  5. Disk,CPU,Memory,Network,DNSは状況に合わせて変更するが、今回は試しに作成するだけなのでデフォルトのままとする
  6. Confirm画面で設定内容を確認し、LXCの作成を完了させる
  7. 作成したLXCの「Start」を押下し、起動する
  8. 「Console」タブを開き、先ほど設定したログイン情報を入力してLXCを開く
    スクリーンショット 2025-12-28 9.55.26.png
    Consoleは、「noVNC」「SPICE」「xterm.js」を選択することもできる。GUIから複数のコンソール画面を開きたい場合は、「noVNC」で開くことでターミナルを別画面として開くことが可能です。
    スクリーンショット 2025-12-28 9.56.37.png
    image.png
  9. 作成できたことを確認したら、「More」から「Remove」を選択し、LXCを削除する

VMを立ててみよう

  1. あらかじめ、VMに使用するOSのisoファイルをダウンロードしておく
  2. local > ISO images > Uploadを押下
  3. ポップアップ内のFileに1で用意したISOファイルを指定し、「Upload」を押下

image.png
4. 右上上部の「Create VM」を押下
image.png
5. 「OS」タブでISO imageに、先ほどアップロードしたISOファイルを選択する
スクリーンショット 2025-12-28 11.58.04.png
6. 今回はテストで立てるため、そのほかの項目はそのままにして「Next」を押下し、最後にConfirmで設定を確認して「Finish」を押下する
7. 左メニューのサーバ一覧から作成したVMを開き、「Start」を押す
8. 起動したことを確認したら「More」から「Remove」を選択してVMを削除する

検証環境として使ってみよう

このように、Proxmox VEでは簡単にLXCやVMを立てることが可能です。
ここまでの構築によって、LXCやVMを作成して存分に検証環境を作成することが可能になりました。

外部公開に注意しよう

詳細な推奨設定はここでは説明しきれませんが、初回セットアップ時には必ず以下を対応するようにしましょう。

  • ルータで外部からのアクセスを拒否する設定になっていることを確認する
  • 万が一Proxmox VEのコンソールが外部公開されてしまった時のために、Two Factorを設定する

image.png

また、8006番ポートや22番ポートを直接外部公開することは推奨しません。外部接続を可能にしたい場合はVPNを使用するなどの検討が必要になります。
もしProxmox VE上に立てたサービスを外部公開する場合は、自身のサーバが攻撃者の踏み台サーバとして悪用されないよう、家庭内のネットワーク構成、Proxmox VEおよびLXCやVMのFWやネットワーク設計を行う必要があります。また、LXCではなくホストとの分離強度が高いVMを使用する、ネットワークを隔離するなども検討してください。

おわりに

自宅鯖があると、気になったミドルウェアやツールなどをすぐに検証することができます。また、クラウドに立てる従量課金制のVMとは異なり、課金額を気にする必要がありません(自宅鯖を増設しているうちにお金がかかるのは別として…)。また、会社で用意された検証環境では憚られるような個人的趣味の検証や勉強も自由にできます。自宅鯖がもたらす自由度は、そのままフットワークの軽さに繋がり、学習スピードに直結します。
私も自宅鯖を立てる決心をするまでに随分時間がかかりましたが、今ではもっと早く作ればよかったと思っています。ネットワークやセキュリティなどを考慮する必要がある趣味ですが、ぜひ始めてみてください。

23
16
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
23
16

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?