14.4. HTTP 부팅을 위한 HTTP 서버 구성
서버에서 네트워크에서 HTTP 부팅 리소스를 제공할 수 있도록 httpd
서비스를 설치하고 활성화해야 합니다.
사전 요구 사항
서버의 네트워크 주소를 찾습니다.
다음 예제에서 서버에는
192.168.124.2
IPv4 주소가 있는 네트워크 카드가 있습니다.
절차
HTTP 서버를 설치합니다.
# yum install httpd
/var/www/html/redhat/
디렉터리를 생성합니다.# mkdir -p /var/www/html/redhat/
- RHEL DVD ISO 파일을 다운로드합니다. 모든 Red Hat Enterprise Linux 다운로드를 참조하십시오.
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 파일의 부트 로더, kernel 및
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