こんにちは、ゆーろんです。
今回はVagrant+VirtualBoxでWebサーバをローカルで建ててみますので、手順をまとめます。
説明
初めに今回の使用技術とAlmaLinuxに関して説明します。
VirtualBoxとは
ホスト型の仮想化ソフトウェア。
Oracle VirtualBox
Vagrantとは
一言でいうと仮想マシンなどを簡単に構築/操作するためのソフトウェア。
VirtualBoxやVMwareを直接操作せずともエージェントとして操作できる。
ちなみにTerraformと同じHashiCorp製。
Vagrant by HashiCorp
Vagrant enables users to create and configure lightweight, reproducible, and portable development environments.
AlmaLinuxについて
RHELのクローン。
サーバ用Linuxの事実上の標準だったCentOSの開発終了に伴い、AlmaLinuxまたはRockyLinuxに移行するケースが多い模様。
今回の環境ではAlmaLinux9を使用します。
環境
- VirtualBox 7.0.8
- Vagrant2.3.6
- AlmaLinux 9
構築手順
Vagrant+VirtualBoxの環境構築に関しては割愛。
Vagrant+VirtualBoxの設定
任意のフォルダを作成し、下記コマンドを実行。
vagrant init almalinux/9
生成されたvagrantfileを以下のように編集(コメントアウトは省略しています)。
Vagrant.configure("2") do |config|
config.vm.box = "almalinux/9"
config.vm.hostname = "test-web-server"
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 "ここに保存場所の絶対パスを指定", "/var/www/html/"
config.vm.provider "virtualbox" do |vb|
# Display the VirtualBox GUI when booting the machine
vb.gui = true
# Customize the amount of memory on the VM:
vb.memory = "1024"
end
end
以下コマンドで仮想マシンの作成と実行
vagrant up
以下コマンドで接続。
なおTeraTermで接続する場合はIPアドレスは上記設定の場合、192.168.33.10で接続
Vagrantで仮想マシンを作成した場合、デフォルトでユーザ名とパスワードは共に「vagrant」となる。
vagrant ssh
AlmaLinuxの設定
今回はSELinuxの無効化を行う。
下記コマンドで確認
getenforce
永続無効化は以下の通り。
また、デフォルトのロケール設定がUSなのでキーの入力対応表も記載しておきます。
vi /etc/selinux/config
SELINUX=disabled
入力 | 入力文字 |
---|---|
Shift + ; | : |
^ | = |
再起動する。
reboot
SELINUX=disabled
AlmaLinux9にはデフォルトでFireWallのインストールはされていない。
そのためFireWallのインストールを行う。
設定は以下の通り。
# インストール
sudo dnf install firewalld
# 起動設定
sudo systemctl start firewalld.service
sudo systemctl enable firewalld.service
# ポートの確認
firewall-cmd --list-all
Apacheのインストール
今回はApacheで建てるので、Apacheのインストールを行う。
# インストール
sudo yum install httpd
# 起動設定
sudo systemctl start httpd.service
sudo systemctl enable httpd.service
# 起動確認
sudo systemctl status httpd.service
# ポートの開放と確認
firewall-cmd --zone=public --add-service=http --permanent
firewall-cmd --list-all
httpdサービスの起動とポート開放の確認ができたら、ホストマシン上のブラウザでhttp://192.168.33.10にアクセス。
上記のように表示されたらおk。
おまけ
AlmaLinuxをインストールした時点でロケールとキーボード入力の設定はUSになっています。
ロケール/キーボード設定の変更方法をまとめます。
# ローケールの確認
localectl
# ロケール設定の日本語化
sudo localectl set-locale LANG=ja_JP.utf8
# 上記ができない場合下記コマンドでインストール
sudo dnf install glibc-langpack-ja
キーマップも変更してみます。