6.4. HTTP ブート用の HTTP サーバーの設定
サーバーがネットワーク上で HTTP ブートリソースを提供できるように、サーバーに httpd
サービスをインストールして有効にする必要があります。
前提条件
サーバーのネットワークアドレスがわかっている。
次の例では、サーバーには IPv4 アドレス
192.168.124.2
のネットワークカードが搭載されています。
手順
HTTP サーバーをインストールします。
# yum install httpd
/var/www/html/redhat/
ディレクトリーを作成します。# mkdir -p /var/www/html/redhat/
- RHEL DVD ISO ファイルをダウンロードします。All Red Hat Enterprise Linux Downloads を参照してください。
ISO ファイルのマウントポイントを作成します。
# mkdir -p /var/www/html/redhat/iso/
ISO ファイルをマウントします。
# mount -o loop,ro -t iso9660 path-to-RHEL-DVD.iso /var/www/html/redhat/iso
マウントされた ISO ファイルからブートローダー、カーネル、
initramfs
を HTML ディレクトリーにコピーします。# cp -r /var/www/html/redhat/iso/images /var/www/html/redhat/ # cp -r /var/www/html/redhat/iso/EFI /var/www/html/redhat/
ブートローダー設定を編集可能にします。
# chmod 644 /var/www/html/redhat/EFI/BOOT/grub.cfg
/var/www/html/redhat/EFI/BOOT/grub.cfg
ファイルを編集し、次のように内容を置き換えます。set default="1" function load_video { insmod efi_gop insmod efi_uga insmod video_bochs insmod video_cirrus insmod all_video } load_video set gfxpayload=keep insmod gzio insmod part_gpt insmod ext2 set timeout=60 # END /etc/grub.d/00_header # search --no-floppy --set=root -l 'RHEL-9-3-0-BaseOS-x86_64' # BEGIN /etc/grub.d/10_linux # menuentry 'Install Red Hat Enterprise Linux 9.3' --class fedora --class gnu-linux --class gnu --class os { linuxefi ../../images/pxeboot/vmlinuz inst.repo=http://192.168.124.2/redhat/iso quiet initrdefi ../../images/pxeboot/initrd.img } menuentry 'Test this media & install Red Hat Enterprise Linux 9.3' --class fedora --class gnu-linux --class gnu --class os { linuxefi ../../images/pxeboot/vmlinuz inst.repo=http://192.168.124.2/redhat/iso quiet initrdefi ../../images/pxeboot/initrd.img } submenu 'Troubleshooting -->' { menuentry 'Install Red Hat Enterprise Linux 9.3 in text mode' --class fedora --class gnu-linux --class gnu --class os { linuxefi ../../images/pxeboot/vmlinuz inst.repo=http://192.168.124.2/redhat/iso inst.text quiet initrdefi ../../images/pxeboot/initrd.img } menuentry 'Rescue a Red Hat Enterprise Linux system' --class fedora --class gnu-linux --class gnu --class os { linuxefi ../../images/pxeboot/vmlinuz inst.repo=http://192.168.124.2/redhat/iso inst.rescue quiet initrdefi ../../images/pxeboot/initrd.img } }
このファイル内で、次の文字列を置き換えます。
- RHEL-9-3-0-BaseOS-x86_64 および Red Hat Enterprise Linux 9.3
- ダウンロードした RHEL のバージョンと一致するようにバージョン番号を編集します。
- 192.168.124.2
- サーバーの IP アドレスに置き換えます。
EFI ブートファイルを実行可能にします。
# chmod 755 /var/www/html/redhat/EFI/BOOT/BOOTX64.EFI
ファイアウォールでポートを開いて、HTTP (80)、DHCP (67、68)、および DHCPv6 (546、547) トラフィックを許可します。
# firewall-cmd --zone public \ --add-port={80/tcp,67/udp,68/udp,546/udp,547/udp}
このコマンドは、次にサーバーを再起動するまで、一時的にアクセスを有効にします。
-
オプション: 永続的なアクセスを有効にするには、コマンドに
--permanent
オプションを追加します。 ファイアウォールルールを再読み込みします。
# firewall-cmd --reload
HTTP サーバーを起動します。
# systemctl enable --now httpd
html
ディレクトリーとそのコンテンツを読み取り可能および実行可能にします。# chmod -cR u=rwX,g=rX,o=rX /var/www/html
html
ディレクトリーの SELinux コンテキストを復元します。# restorecon -FvvR /var/www/html