はじめに
開発現場において、「ソースコードを安全に管理したい」というニーズは常にあります。特に、機密保持のためにインターネットから切り離された閉塞環境(オフライン環境)では、ツールの選定や構築の難易度が上がりがちです。
本連載では、以下の2つの要望を同時に叶えるためのサーバー構築手順を、仮想マシンの導入から時系列で徹底解説します。
-
社内ネットワーク専用の共有リポジトリ(Subversion:SVN)を作りたい
-
ユーザー管理の手間を減らすため、既存のActive Directory(AD)と連携させたい
第1回となる今回は、すべての土台となる「仮想マシンの作成」と、通信の要となる「ネットワーク設計」について見ていきましょう。
構築の目的と背景
なぜ、わざわざADと連携させたSVNサーバーを自作するのでしょうか? それは、「セキュリティの強化」と「運用管理の効率化」を両立させるためです。
個別にユーザーを作成する運用では、メンバーが増えるたびにパスワード管理が煩雑になります。ADと連携させることで、普段Windowsへのログインに使っているアカウントでそのままSVNが利用可能になり、管理コストを大幅に削減できます。
構築のポイント(お急ぎの方へ)
本記事で解説する、土台作りの重要ポイントは以下の3点です。
-
Hyper-Vによる「OS標準」の仮想化活用 Windows 10/11に内蔵されているHyper-Vを利用することで、追加ソフトなしで安定した検証環境を構築します。Windows Server 2025とAlmaLinux 10という最新OSの組み合わせにも対応したスペック設定を行います。
-
「内部スイッチ」による完全閉塞ネットワークの構築 仮想スイッチマネージャーで「内部」スイッチ(Internal-Test-Lab)を作成し、外部インターネットから完全に切り離されたセキュアな実験場(ラボ)を作り上げます。
-
静的IPとDNSの緻密な設計 DHCP(自動割り当て)がない環境のため、手動でIPアドレスを固定します。特に、SVNサーバーのDNS参照先にADサーバーのIP(192.168.10.10)を指定することが、後のドメイン連携成功への絶対条件となります。
仮想マシンの導入とネットワーク設計
Hyper-Vでの仮想マシン作成
仮想化機能は、Windows 10/11に標準搭載されている仮想化機能「Hyper-V」を利用します。専用のソフトをインストールする必要がなく、OS標準の安定した環境で構築できるのがメリットです。なお、VMwareやProxmox-VEなどほかの仮想化機能を利用されている方にも、Hyper-Vとの大きな違いはないので適宜読み替えてください。
Hyper-Vの始め方
以下のサイトなどを参考にHyper-Vを使えるようにします。
Hyper-V(読み方:ハイパーブイ)は仮想マシンを動かすための Windows の機能です。Hyper-V を使うと異…
ISOファイルの取得
ここでは、AD管理用としてWindows Server、SVN用としてAlmalinuxの最新ISOファイルを取得します。(2026年1月25日時点)
・Windows Server 2025(AD管理用)
Windows Server 2025 は、次世代のセキュリティ強化とハイブリッド クラウド機能を、最新の将来対応プラッ…
・AlmaLinux 10(SVN用)※オフラインのため最初から色々入っているDVDタイプが推奨です
仮想マシンの作成
上記で取得したISOファイルを用いて、各OSの起動に必要なスペックを設定したうえで仮想マシンを作成します。
基本的にデフォルト値で問題ないですが、参考程度にAI回答を記載しておきます。
| 項目 | ADサーバー | SVNサーバー |
| サーバー名例 | AD-Server | SVN-Server |
| VM世代 | 第 2 世代 | 第 2 世代 |
| OS | Windows Server 2025 | AlmaLinux 10 |
| CPU | 2 コア以上 | 1 ~ 2 コア |
| メモリ | 4 GB ~ 8 GB (静的) | 2 GB ~ 4 GB |
| ストレージ | 64 GB 以上 (VHDX) | 20 GB 以上 (VHDX) |
※ADサーバーは基盤として安定性が求められるため、メモリは「動的」ではなく「静的」での割り当てを推奨します。
内部スイッチの設定(閉塞環境の構築)
ここが今回の最重要ポイントです。外部(インターネット)から遮断された「閉塞環境」を作るため、Hyper-Vの「仮想スイッチマネージャー」で「内部スイッチ」を作成します。
内部スイッチの役割: 仮想マシン同士、およびホストPCと仮想マシンの間だけで通信を可能にします。外部ネットワークとは繋がらないため、社外に漏らしたくないソースコードなどを扱う環境として最適です。
仮想スイッチマネージャーを開く
Hyper-Vマネージャーのサーバ上で右クリックし、仮想スイッチマネージャーを開きます。

仮想スイッチ(内部)を作成
新しい仮想ネットワークスイッチ>内部>仮想スイッチの作成をクリックして仮想スイッチを作成します。

任意の名前を記入し、「適用」ボタンをクリックします。ここではスイッチ名を「Internal-Test-Lab」にしました。

各サーバーの役割とIPアドレス割り当て
ネットワーク表・構成図
インターネットに繋がらない環境では、ルーターによる自動的なIPアドレス割り当て(DHCP)が期待できません。そのため、各サーバーに静的なIPアドレス(固定IP)を手動で設定します。
今回の環境では、以下のネットワーク表・構成図で進めていきます。
| 項目 | ADサーバー | SVNサーバー |
| IPアドレス | 192.168.10.10 |
192.168.10.11 |
| サブネット | 255.255.255.0 |
255.255.255.0 |
| DNS | 127.0.0.1 (自身) |
192.168.10.10 (ADを指す) |
| ドメイン名 | lab.local |
(参照先として lab.local) |

ネットワーク設定(ADサーバー側)
内部スイッチの指定
仮想マシン「AD-Server」>設定>ネットワークアダプタを開き、下記のように作成した内部スイッチ(Internal-Test-Lab)を指定します。

ネットワーク情報の設定
Win + R キーを押し、ncpa.cpl と入力して実行します。- IPアドレス:
192.168.10.10 - サブネットマスク:
255.255.255.0 - デフォルトゲートウェイ:空欄(または仮想スイッチのIP)
- 優先DNSサーバー:
127.0.0.1(自分自身をDNSにするため)

(任意)SVNサーバからping疎通確認を行いたい場合
①サーバーマネージャー > ツール > セキュリティが強化されたWindows Defenderファイアウォール を開きます。
②左側の 「受信の規則」 をクリックします。
③一覧から 「ファイルとプリンターの共有 (エコー要求 – ICMPv4 受信)」 を探します。※複数ありますが、プロファイルが「ドメイン」や「プライベート」になっているものを探してください。
④右クリックして 「規則の有効化」 を選択します。
ネットワーク設定(SVNサーバー側)
内部スイッチの指定
ADサーバ側と同じように、仮想マシン「SVN-Server」>設定>ネットワークアダプタを開き、作成した内部スイッチ(Internal-Test-Lab)を指定します。
ネットワーク情報の設定
①設定ツールの起動:ターミナルで nmtui と入力します(GUIがない場合でも使いやすいツールです)。
②接続の編集:接続の編集を選択し、ネットワークインターフェース(ここではeth0)を選択して編集...をEnterします。
③IPv4 設定:<自動> から <手作業> に変更し、右側の <表示する> を押して展開し、以下のように入力します。
- アドレス:
192.168.10.11/24 - ゲートウェイ:
192.168.10.1 - DNSサーバー:
192.168.10.10★重要:ADサーバーのIPを指定します。
(デフォルト)ゲートウェイについて 今回の環境は「閉塞環境」のため、基本的には空欄(設定なし)で問題ありません。 ただし、OSの設定画面で「接続が不完全です」といった警告が出るのを避けたい場合や、将来的に他のネットワークと繋ぐ予定がある場合は、慣習的に
192.168.10.1を設定しておくと安定します。
イメージ図は以下の通りです。

③反映:末尾のOKで戻り、以下のコマンドで設定を有効化します。ここでは、デバイス名はeth0にしています。
nmcli connection up <デバイス(ネットワークインターフェース)名>
「Connection successfully activated」と表示されれば成功です。
次のステップ:Active Directoryの構築へ
サーバーを動かすための「土台(ネットワークと仮想マシン)」はこれで完成です。
しかし、今のままでは2台のサーバーがただ存在しているだけで、お互いのことを何も知りません。
SVNが「ADのユーザー情報」を使ってログイン判定を行うためには、まずAD側で「SVNを受け入れるための準備」をする必要があります。
次ページでは、ドメインの設定から、SVN連携の要となる「専用OU・グループ・ユーザー」の作成手順を詳しく解説します。

