VirtualBoxとVagrantを使うと、WindowsやMacの中にUbuntuの仮想マシンを作り、コマンドで起動・停止できます。同じVagrantfileを共有すれば、開発メンバー間で構成をそろえやすいのが特徴です。
この記事では、Ubuntu 24.04 LTSの最小環境を作り、SSH接続とWebサーバー用のポート転送を設定するところまで解説します。
VirtualBoxとVagrantの役割
- VirtualBox:パソコン内で仮想マシンを動かす仕組み
- Vagrant:仮想マシンの構成や起動・停止をコマンドで管理するツール
- Box:Ubuntuなど、仮想マシンの元になるイメージ
- Vagrantfile:Box、メモリ、CPU、ネットワークなどを記述する設定ファイル
WordPressだけを簡単に試したい場合は、Localの方が設定項目が少なく手軽です。Linuxサーバーの構成を学びたい場合や、環境設定をコードで共有したい場合にVagrantが向いています。
事前に確認すること
- CPUの仮想化支援機能が有効になっている
- 仮想マシン用にメモリとストレージの空きがある
- Vagrantが対応するVirtualBoxの正式版を使う
- AppleシリコンMacでは、ARM64に対応するBoxを選ぶ
- WindowsでHyper-V、WSL2、Docker Desktopなど別の仮想化機能を使っている場合は競合を確認する
Vagrantの公式ドキュメントでは、VirtualBox 7.0、7.1、7.2を含む複数の正式版が対応対象として案内されています。ベータ版や未対応版は避け、インストール前に現在の対応表を確認してください。
Hyper-Vを無効にすると、WSL2やDocker Desktopなどへ影響することがあります。エラーが出たからといって設定をすぐ変更せず、現在使っている仮想化環境を確認してから選択してください。
VirtualBoxをインストールする
- VirtualBox公式ダウンロードページを開きます。
- Windows hosts、macOSなど、使用中のOSに合うパッケージを選びます。
- インストーラーを実行し、画面の案内に従います。
- OSからネットワークやシステム拡張の許可を求められた場合は、内容を確認して許可します。
- インストール後にパソコンの再起動を求められた場合は再起動します。
VirtualBox Extension Packを追加する場合は、VirtualBox本体と同じバージョンを使用し、ライセンス条件も確認してください。この記事の基本操作には必須ではありません。
Vagrantをインストールする
- HashiCorp公式のVagrantインストールページを開きます。
- 使用中のOSに合う公式パッケージをインストールします。
- 新しいターミナル、PowerShell、またはコマンドプロンプトを開きます。
- 次のコマンドでインストールを確認します。
vagrant --version
コマンドが見つからない場合は、一度ログアウトして再ログインするか、パソコンを再起動してPATHの反映を確認します。
Ubuntu 24.04の仮想マシンを作る
ターミナルで、Vagrantfileを保存する専用フォルダーを作ります。ここではフォルダー名をubuntu-vagrantにします。
mkdir ubuntu-vagrant
cd ubuntu-vagrant
vagrant init bento/ubuntu-24.04
vagrant initを実行すると、現在のフォルダーにVagrantfileが作成されます。Boxは配布元、更新状況、対応アーキテクチャを確認して選んでください。
Vagrantfileを設定する
作成されたVagrantfileをテキストエディターで開き、最小構成を次のようにします。
Vagrant.configure("2") do |config|
config.vm.box = "bento/ubuntu-24.04"
config.vm.network "forwarded_port",
guest: 80,
host: 8080,
host_ip: "127.0.0.1"
config.vm.provider "virtualbox" do |vb|
vb.memory = 2048
vb.cpus = 2
end
end
この設定では、Ubuntuへ2GBのメモリと2個の仮想CPUを割り当てます。ポート80で動くWebサーバーは、ホスト側のhttp://127.0.0.1:8080/から確認できます。host_ipを127.0.0.1に限定することで、同じネットワークの他端末へ意図せず公開されるのを防ぎます。
割り当てるメモリやCPUを増やしすぎると、WindowsやmacOS側が遅くなります。パソコンの搭載量に合わせて調整してください。
設定を確認して起動する
vagrant validate
vagrant up --provider=virtualbox
vagrant validateでVagrantfileの構文を確認してから起動します。初回はBoxをダウンロードするため、回線速度によって時間がかかります。
起動後は次のコマンドで状態を確認できます。
vagrant status
UbuntuへSSH接続する
vagrant ssh
VagrantがSSH鍵を管理するため、通常はホスト名、ユーザー名、パスワードを手作業で設定する必要はありません。接続できたら、Ubuntuの情報を確認します。
lsb_release -a
Ubuntuから抜けるには次のコマンドを使います。
exit
Ubuntuを更新する
SSH接続した状態で、パッケージ一覧とインストール済みパッケージを更新します。
sudo apt update
sudo apt upgrade
確認が表示されたら内容を読み、続行する場合は指示に従います。Webサーバーやデータベースは、目的に必要なものだけを追加してください。rootユーザーへ簡単な固定パスワードを設定したり、phpMyAdminを無制限に公開したりしないよう注意します。
ホストとの共有フォルダー
通常は、Vagrantfileがあるホスト側フォルダーが、Ubuntu内の/vagrantへ共有されます。SSH接続後に次のコマンドで確認できます。
ls -la /vagrant
共有フォルダーが使えない場合は、BoxとVirtualBox Guest Additionsの互換性、VirtualBoxの対応バージョンを確認します。
よく使うVagrantコマンド
| コマンド | 役割 |
|---|---|
vagrant up | 仮想マシンを起動 |
vagrant ssh | Ubuntuへ接続 |
vagrant halt | 仮想マシンを正常終了 |
vagrant suspend | 仮想マシンを一時停止 |
vagrant reload | Vagrantfileを読み直して再起動 |
vagrant status | 現在の状態を表示 |
vagrant destroy | 仮想マシンを削除 |
vagrant destroyは仮想マシン内のデータを削除します。必要なファイルを共有フォルダーや別の保存先へ退避してから実行してください。
起動できない場合の確認項目
- VagrantとVirtualBoxのバージョンが対応しているか
- BoxがIntel/AMD64またはARM64など、ホストのCPUに対応しているか
- BIOS/UEFIで仮想化支援機能が有効か
- Hyper-V、KVMなど他のハイパーバイザーと競合していないか
- ホスト側の8080番ポートを別のアプリが使用していないか
vagrant validateでVagrantfileにエラーが出ないか
エラー解消のためにHyper-Vやセキュリティ機能を無効化する前に、影響を受けるWSL2やDockerなどがないか確認してください。設定変更より先に、エラーメッセージと公式の対応表を確認します。
まとめ
VirtualBoxとVagrantを使うと、Ubuntu 24.04の開発環境をVagrantfileで再現できます。正式対応するバージョンとCPUアーキテクチャを確認し、外部公開を避けた最小構成から始めましょう。WordPressの確認だけが目的なら、構築と管理が簡単なLocalも選択肢です。
