ウェブサイト検索

ヘッドレス 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 つであるため、広く使用されると確信しています。

私たちのガイダンスに従っていただきありがとうございます。フィードバックは大歓迎です。

関連記事: