Windows11でのVagrant / VirtualBox による Ubuntu 24.04 仮想環境の構築メモです。
※2018年の記事 は、CentOSです。
構成は、
・Ubuntu 24.04
・Apache 2.4
です。
Vagrant インストール
こちらからVagrantをダウンロードします。
https://www.vagrantup.com/downloads.html
ダウンロードファイルをダブルクリックしてインストールします。
vagrant_2.4.1_windows_amd64.msi
VirtualBox インストール
https://www.virtualbox.org/wiki/Downloadsダウンロードファイルをダブルクリックしてインストールします。
VirtualBox-7.0.18-162988-Win.exe
前提:Python core / win32api
このような画面がでたら、Python core / win32api のインストールが必要です。
1. Pythonインストール
※Windows Python(Python2.6以上または3)のインストールが必要です。
参考)
https://docs.oracle.com/en/virtualization/virtualbox/7.0/user/installation.html#install-win-performing
https://www.python.org/downloads/
こちらから最新のPythonをダウンロードしてインストールします。現時点のバージョン:3.12.4
コマンドプロンプト>pip --version
pip 22.2.1 from C:\Python310\lib\site-packages\pip (python 3.10)
2. インストール済みのパッケージを確認します。
コマンドプロンプト>pip list
Package Version
---------- -------
pip 22.2.1
setuptools 63.2.0
[notice] A new release of pip available: 22.2.1 -> 24.1.1
[notice] To update, run: python.exe -m pip install --upgrade pip
更新します。
コマンドプロンプト>python.exe -m pip install --upgrade pip
Requirement already satisfied: pip in c:\python310\lib\site-packages (22.2.1)
Collecting pip
Downloading pip-24.1.1-py3-none-any.whl (1.8 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.8/1.8 MB 1.5 MB/s eta 0:00:00
Installing collected packages: pip
Attempting uninstall: pip
Found existing installation: pip 22.2.1
Uninstalling pip-22.2.1:
Successfully uninstalled pip-22.2.1
Successfully installed pip-24.1.1
3. Python core / win32api をインストールします。
コマンドプロンプト>pip install pywin32
確認します。
コマンドプロンプト>pip list
Package Version
---------- -------
pip 24.1.1
pywin32 306
setuptools 63.2.0
pywin32 があればok
Ubuntu Boxファイルの登録
Vagrant Cloud から適当なboxを探して登録します。
今回は、bento/ubuntu-24.04 にしました。
https://app.vagrantup.com/bento/boxes/ubuntu-24.04
code>vagrant box add bento/ubuntu-24.04
いきなりinitでもok。vagrantに追加されます。
>vagrant init bento/ubuntu-24.04
確認
codevagrant box list
bento/ubuntu-24.04 があればok。
Ubuntu 環境セットアップ
■ Vagrantfileの作成
vagrant init box名 で生成します。
codevagrant init bento/ubuntu-24.04
カレントディレクトリにVagrantfileができます。
■ Vagrantfile編集
// Windowsから見られるIP指定
codeconfig.vm.network "private_network", ip: "192.168.33.10"
// GUIモードの設定をONにする(不要な場合は、以下全てコメントのままでok)
codeconfig.vm.provider "virtualbox" do |vb|
# Display the VirtualBox GUI when booting the machine
vb.gui = true
end
■ VM起動
codevagrant up
vagrant halt
vagrant status
..
※起動時に、SSHセットアップで中断してしまう場合は、(config.vm.boot_timeoutをいじるよりも)
・vagrant destroy
・vagrant up
を繰り返してみます。
参考)
https://github.com/hashicorp/vagrant/issues/11987
■ ssh
※Vagrantfileのあるディレクトリから
codevagrant ssh
Ubuntu を最新版にします。
※vagrant destroy で削除されるので、注意!
VM起動(vagrant up)し、sshでアクセスします。
SSHクライアント「PuTTY」を利用する場合は、user / pw は vagrant / vagrant です。
コマンドプロンプト> vagrant ssh
Welcome to Ubuntu 24.04 LTS (GNU/Linux 6.8.0-31-generic x86_64)
...
vagrant@gvagrant:~$
Ubuntu は パッケージ管理に apt を使います。
まず、インストールされているパッケージを最新版にしておきます。
ssh$ sudo apt update && sudo apt upgrade
必要に応じて再起動します。
コマンドプロンプト> vagrant reload
Apache インストール
Apache をインストールします。
ssh$ sudo apt install apache2
$ apache2 -v
Server version: Apache/2.4.58 (Ubuntu)
Server built: 2024-04-18T15:13:41
2.4.58がインストールされました。
次に、Apacheを起動します。
ssh$ sudo service apache2 start
statusを確認します。
ssh$ sudo service apache2 status
ブラウザで確認できます。
http://localhost:8080/
※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.network "private_network", ip: "192.168.33.10"
config.vm.synced_folder "./public/", "/var/www/html"
config.vm.provider "virtualbox" do |vb|
vb.memory = "2048"
end
end
自動起動に登録されていました。
ssh$ systemctl list-unit-files | grep apache2
apache2.service enabled enabled
apache2@.service disabled enabled
Box 保存
上記のUbuntu + Apache 環境イメージを Box化します。
Vagrantfile のあるディレクトリで、次のコマンドで package.box が作成されます。
コマンドプロンプト> vagrant package
名前を指定する場合は、
コマンドプロンプト> vagrant package <VM name> --output <Box filename>
例えば
> vagrant package --output swd_ubuntu2404.box
参考)
https://developer.hashicorp.com/vagrant/docs/cli/package
これで、同じ環境を他で共有できます。
使用するときは、この Box を登録すればok。
コマンドプロンプト> vagrant box add <任意の名前> package.box
> vagrant box add swd/ubuntu-24.04 <path to box>/swd_ubuntu2404.box
> vagrant box list
<任意の名前>がリスト表示されるはず。
以上!