ヘッドレス VirtualBox サーバー上で VM をセットアップおよび管理する方法
このガイドでは、リモート ヘッドレス サーバー上に VirtualBox をセットアップし、RemoteBox アプリを使用して仮想マシンをリモート制御する方法について説明します。
VirtualBox は、任意のオペレーティング システムにアプリケーション ソフトウェアとしてインストールできる無料のクロスプラットフォーム仮想化ソフトウェアです。これにより、単一の物理マシン上で仮想マシン (VM) を実行し、実際のマシンと一緒に使用できるようになります。
各仮想マシンは、Linux、Windows、Unix、Solaris などのオペレーティング システムを実行できます。
ほとんどの VirtualBox ユーザーは、VirtualBox はデスクトップ環境でのみ使用することを目的としており、仮想マシンの管理は VirtualBox GUI を通じて行われると考えています。
ただし、VirtualBox はヘッドレス サーバー上で実行でき、ヘッドレス VirtualBox VM は外部の VirtualBox フロントエンド クライアントを使用してリモートで処理できます。
その前に、「ヘッドレス サーバー」という用語が何を意味するのかを明確にしましょう。ヘッドレス サーバーは、ディスプレイ、マウス、キーボード、またはその他の周辺機器を持たない単純なコンピューターです。
したがって、この場合、この用語は、グラフィカル環境がインストールされておらず、リモート (最も一般的には SSH 経由) で管理されるサーバーを指します。
このガイドでは、ヘッドレス サーバーに VirtualBox をインストールし、RemoteBox アプリケーションを使用してそのサーバー上で実行されている仮想マシンを管理する方法を説明します。
ステップ 1: VirtualBox をインストールする
このガイドでは、ヘッドレス VirtualBox サーバーを Ubuntu 22.04 にインストールします。ただし、Debian などの別の Linux ディストリビューション、または AlmaLinux や Rocky Linux などの Red Hat 派生製品をサーバーとして使用している場合は、以下の優れたガイドが VirtualBox のインストールに役立ちます。
- いくつかの簡単な手順で VirtualBox 7 を Ubuntu 22.04 にインストールする方法
- Debian 12 に VirtualBox をインストールする方法 (Bookworm)
- Manjaro Linux に VirtualBox をインストールする
- AlmaLinux/Rocky Linux に VirtualBox 7 をインストールする方法
- Arch Linux に VirtualBox をインストールする方法
- Linux Mint 21 上の VirtualBox 7: 完全なインストール ガイド
- Fedora 上の VirtualBox 7: 完全なインストール ガイド
VirtualBox は、Ubuntu 公式リポジトリにインストールできます。残念ながら、そこにあるバージョンは最新ではありません。したがって、最新バージョン (この記事の執筆時点では VirtualBox 7.0) を使用するには、公式に利用可能な VirtualBox リポジトリからインストールします。
VirtualBox をインストールするために受け取ったパッケージが本物であることを確認するには、まず、VirtualBox の署名付き GPG キーをダウンロードして Ubuntu システムにインポートする必要があります。
wget -O- https://www.virtualbox.org/download/oracle_vbox_2016.asc | sudo gpg --dearmor --yes --output /usr/share/keyrings/oracle-virtualbox-2016.gpg
GPG キーをインポートした後、公式 VirtualBox リポジトリを追加します。これは、新しいバージョンがリリースされた場合に、システムの残りの通常のアップデートとともにアップデート パッケージが利用可能になることを意味します。
以下に示すコマンドを入力します。
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/oracle-virtualbox-2016.gpg] http://download.virtualbox.org/virtualbox/debian $(lsb_release -cs) contrib" | sudo tee /etc/apt/sources.list.d/virtualbox.list
Ubuntu システムへの VirtualBox のインストールを続行する前に、利用可能なパッケージのリストを更新する必要があります。したがって、以下のコマンドを実行してリポジトリ インデックスを更新します。
sudo apt update
ご覧のとおり、新しい VirtualBox リポジトリが利用可能になり、すぐに使用できるようになりました。したがって、実際のインストールに向けてすべての準備がすでに完了しています。
最後に、apt
コマンドを使用して、Ubuntu システムに VirtualBox をインストールしました。
sudo apt install VirtualBox-7.0
多くのインストール パッケージは VirtualBox の依存関係として表示されます。これは気にする必要はありません。確認するには、「Y
」と入力し、Enter
を押します。
すべてのパッケージのインストールが完了するまで待ってから続行してください。これで、VirtualBox が Ubuntu システムにインストールされました。次のステップに進む時が来ました。
ステップ 2: VirtualBox 拡張パックをインストールする
VirtualBox サーバーはヘッドレスであるため、リモートで通信するには VirtualBox リモート デスクトップ プロトコル (VRDP) と呼ばれる特別なプロトコルを使用する必要があります。この機能は、追加のソフトウェア パッケージである VirtualBox Extension Pack をインストールすることで提供されます。
ただし、ここで重要なことについて触れておかなければなりません。 VirtualBox Extension Pack のバージョンは、インストールされている VirtualBox のバージョンと一致する必要があります。これを確認する最も簡単な方法は、次のコマンドを実行することです。
vboxmanage -v | cut -dr -f1
ご覧のとおり、インストールされている Virtualbox のバージョンは 7.0.2
です。したがって、同じバージョンの拡張パックをダウンロードする必要があります。
したがって、以下の wget
コマンドを使用して、VirtualBox 用の拡張パックをダウンロードします。
インストールされているバージョンが異なる場合は、以下のコマンド内の 7.0.2
を含む両方の場所を現在のバージョンに置き換えます。さらに、ダウンロード ページに直接移動して、利用可能なバージョンを確認することもできます。
wget https://download.virtualbox.org/virtualbox/7.0.2/Oracle_VM_VirtualBox_Extension_Pack-7.0.2.vbox-extpack
次に、VirtualBox 拡張パックをインストールするには、次のように vboxmanage
コマンドを実行します。
sudo vboxmanage extpack install Oracle_VM_VirtualBox_Extension_Pack-7.0.2.vbox-extpack
Oracle のライセンス契約条件に同意するように求められたら、y
と入力し、Enter
を押して確認します。
次のコマンドを実行すると、拡張パックが正しくインストールされたことを確認できます。
vboxmanage list extpacks
ステップ 3: VirtualBox サーバーを構成する
このステップでは、リモート接続を受け入れるようにヘッドレス VirtualBox サーバーを構成します。これは、その上で実行されている仮想マシンが RemoteBox アプリを使用して別のコンピューターからリモートで管理されるためです。
まず、vbox
などの名前でユーザーを作成します。このユーザーは、vboxusers
グループのメンバーである必要があります。後でこのユーザーを使用して、ヘッドレス VirtualBox サーバーにリモートでログインします。
vbox
ユーザーを作成したら、パスワードを指定して覚えておいてください。すぐに必要になります。
sudo useradd -m -d /home/vbox -g vboxusers -s /bin/false vbox
sudo passwd vbox
次に、/etc/default
ディレクトリに virtualbox
というファイルを作成する必要があります。
sudo vim /etc/default/virtualbox
次に、次のコンテンツを追加しました。
VBOXWEB_USER=vbox
VBOXWEB_PASSWD=password
VBOXWEB_HOST=192.168.122.197
VBOXWEB_TIMEOUT=0
もちろん、上記の行の password
文字列を、VBOXWEB_HOST
行の vbox
ユーザーとサーバーの IP アドレスに設定したパスワードに置き換えます。インストール用の現在のものを使用してください。
最後に、vboxweb-service
サービスを再起動します。
sudo systemctl restart vboxweb-service
サービスをチェックして、再起動後に機能するかどうかを確認します。
sudo systemctl status vboxweb-service
素晴らしい!すべてが正常に機能しているようです。
ヘッドレス VirtualBox インストールをホストしているサーバーのポート 18083 が開いていることを確認します。 RemoteBox と VirtualBox が相互に正常に通信するには、これが必要です。
ステップ 4: RemoteBox をインストールする
RemoteBox は、ゲストを含む VirtualBox インストールをリモートで管理し、ローカルで実行しているかのように操作できる、無料のオープンソース VirtualBox フロントエンド クライアントです。
ただし、RemoteBox をインストールする前に、RemoteBox が正しく機能するために必要な依存関係をインストールする必要があります。最も人気のあるいくつかの Linux ディストリビューションにこれらをインストールする方法を説明します。
Ubuntu/Debian/Linux Mint
sudo apt install libgtk3-perl libsoap-lite-perl freerdp2-x11 tigervnc-viewer
AlmaLinux/Rocky Linux
sudo dnf install perl-Gtk3 perl-SOAP-Lite perl-libwww-perl freerdp tigervnc xdg-utils
フェドーラ
sudo dnf install perl-Gtk3 perl-SOAP-Lite freerdp tigervnc xdg-utils
次に、RemoteBox アプリの最新バージョン (この記事の執筆時点では 3.1) をダウンロードします。最新バージョンはここで確認できます。
wget https://remotebox.knobgoblin.org.uk/downloads/RemoteBox-3.1.tar.bz2
以下のコマンドを使用して、ダウンロードしたファイルを解凍します。
bunzip2 RemoteBox-3.1.tar.bz2
最後に、tar ファイルを解凍します。
tar xvf RemoteBox-3.1.tar
ステップ 5: RemoteBox を実行して VirtualBox に接続する
これですべての準備が整ったので、RemoteBox を起動して、ヘッドレス VirtualBox サーバーに接続できます。
まず、RemoteBox-3.1
ディレクトリに入り、アプリケーションを起動します。
cd RemoteBox-3.1/
./remotebox
GUIが開いたら、必要な情報を入力します。
接続したら、RemoteBox アプリケーションを使用して、標準の VirtualBox GUI インターフェイスと同じ方法でリモート VirtualBox サーバーと対話できます。
ステップ 6: RemoteBox GUI 経由で ISO ファイルを VirtualBox に添付する
通常のユーザーが苦労する可能性のあることがもう 1 つあります。 RemoteBox で仮想マシンを作成する場合、インストール ISO イメージはどのように指定しますか?それがいかに簡単かを説明しましょう。
前の例で示したように、新しい Debian 11 仮想マシンを作成するとします。設定を完了し、「作成」ボタンを使用して確認すると、左側のパネルに表示されます。ただし、開始する前に、インストール ISO ファイルを指定する必要があります。
SSH 経由でリモートのヘッドレス VirtualBox サーバーにログインし、wget
などのプログラムを使用してインストール ISO ファイルをダウンロードします。
以下は、ISO イメージを /tmp
ディレクトリにダウンロードするコマンドの例です。
wget -P /tmp/ https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-11.3.0-amd64-netinst.iso
もちろん、最初にインストール ISO ファイルをローカル デスクトップ マシンにダウンロードしてから、scp
コマンドを使用してそれをリモート VirtualBox サーバーに転送することもできます。
ISO ファイルを「Virtual Media Manager」に追加して、RemoteBox GUI で選択できるようにする必要があります。まず、「ファイル」メニューに移動し、「仮想メディアマネージャー」を選択します。
「仮想メディアマネージャー」が表示されます。ここで、ISO ファイルを追加するか、VM で使用される仮想ハードディスクを作成します。 「光ディスク」タブを選択し、「追加」ボタンを押します。
「場所」領域でインストール ISO ファイルが保存されているディレクトリに移動し、それを選択し、「OK」ボタンで確認します。
ファイルは「Virtual Media Manager」に正常に追加されました。 「OK」を押して確定します。
以下の手順でISOファイルを仮想CDドライブに追加します。まず、仮想マシンを選択し、次に「設定」を選択します。次に、開いたウィンドウで「ストレージ」と「空のドライブ」を選択します。
「+」記号の付いた小さな選択フロッピー アイコンをクリックして、「Optical Discs」オプションを選択します。次に、表示される利用可能なファイルから ISO インストール ファイルを選択します。
その結果、ファイルがマウントされます。変更を保存するには、「保存」ボタンをクリックします。
最後に、仮想マシンを起動してインストールを続行します。
結論
このガイドでは、リモート ヘッドレス サーバーに VirtualBox をインストールして構成し、RemoteBox アプリを使用してその仮想マシンをリモートで制御する方法を説明しました。
VirtualBox はホーム ユーザーや開発者の間で最も人気のある仮想化アプリケーションの 1 つであるため、広く使用されると確信しています。
私たちのガイダンスに従っていただきありがとうございます。フィードバックは大歓迎です。