6.5. FTP を使用するインストールソースの作成

インストールツリー (DVD ISO イメージから抽出したコンテンツと、有効な .treeinfo ファイル含むディレクトリー) を使用したネットワークベースのインストール用のインストールソースを作成できます。インストールソースには、FTP を使用してアクセスします。

前提条件

  • Red Hat Enterprise Linux 9 を搭載したサーバーへの管理者レベルのアクセス権限があり、このサーバーがインストールするシステムと同じネットワーク上にある。
  • Binary DVD イメージをダウンロードしている。詳細は、RHEL のブート可能なインストールメディアの作成 を参照してください。
  • ファイアウォールにより、インストールしようとしているシステムがリモートインストールソースにアクセスできることを確認している。詳細については、ネットワークベースのインストール用のポート を参照してください。
  • vsftpd パッケージがインストールされている。

手順

  1. 必要に応じて、/etc/vsftpd/vsftpd.conf 設定ファイルをテキストエディターで開いて編集します。

    1. anonymous_enable=NO の行を anonymous_enable=YES に変更します。
    2. write_enable=YES の行を write_enable=NO に変更します。
    3. pasv_min_port=<min_port> および pasv_max_port=<max_port> の行を追加します。<min_port> と <max_port> を、FTP サーバーがパッシブモードで使用するポート番号の範囲 (1002110031 など) に置き換えます。

      この手順は、各種のファイアウォール/NAT 設定を採用するネットワーク環境で必要になる可能性があります。

    4. オプション: カスタムの変更を設定に追加します。利用可能なオプションは、vsftpd.conf(5) の man ページを参照してください。この手順では、デフォルトのオプションが使用されていることを前提としています。

      警告

      vsftpd.conf ファイルで SSL/TLS セキュリティーを設定している場合は、TLSv1 プロトコルのみを有効にし、SSLv2 と SSLv3 は無効にしてください。POODLE SSL 脆弱性 (CVE-2014-3566) の影響を受けないようにするためです。詳細は、https://access.redhat.com/solutions/1234773 を参照してください。

  2. サーバーのファイアウォールを設定します。

    1. ファイアウォールを有効にします。

      # systemctl enable firewalld
    2. ファイアウォールを起動します。

      # systemctl start firewalld
    3. 前の手順で設定した FTP ポートとポート範囲を許可するようにファイアウォールを設定します。

      # firewall-cmd --add-port min_port-max_port/tcp --permanent
      # firewall-cmd --add-service ftp --permanent

      <min_port> と <max_port> を /etc/vsftpd/vsftpd.conf 設定ファイルに入力したポート番号に置き換えます。

    4. ファイアウォールをリロードして、新しいルールを適用します。

      # firewall-cmd --reload
  3. DVD ISO イメージを FTP サーバーにコピーします。
  4. DVD ISO イメージをマウントするのに適したディレクトリーを作成します。以下はその例です。

    # mkdir /mnt/rhel9-install
  5. DVD ISO イメージをディレクトリーにマウントします。

    # mount -o loop,ro -t iso9660 /image-directory/image.iso /mnt/rhel9-install

    /image-directory/image.iso を DVD ISO イメージへのパスに置き換えます。

  6. マウントされたイメージから、FTP サーバーのルートにファイルをコピーします。

    # mkdir /var/ftp/rhel9-install
    # cp -r /mnt/rhel9-install/ /var/ftp/

    これでイメージのコンテンツが格納された /var/ftp/rhel9-install/ ディレクトリーが作成されます。一部のコピー方法は、有効なインストールソースに必要な .treeinfo ファイルを省略できることに注意してください。この手順で示されているように、ディレクトリー全体に対して cp コマンドを入力しても、.treeinfo が正しくコピーされます。

  7. 正しい SELinux コンテキストとアクセスモードが、コピーされたコンテンツに設定されていることを確認します。

    # restorecon -r /var/ftp/rhel9-install
    # find /var/ftp/rhel9-install -type f -exec chmod 444 {} \;
    # find /var/ftp/rhel9-install -type d -exec chmod 755 {} \;
  8. vsftpd サービスを開始します。

    # systemctl start vsftpd.service

    /etc/vsftpd/vsftpd.conf ファイルを変更する前から、このサービスがすでに実行されていた場合は、サービスを再起動して必ず編集後のファイルを読み込ませてください。

    # systemctl restart vsftpd.service

    vsftpd サービスを有効にして、システムの起動プロセス時に開始するようにします。

    # systemctl enable vsftpd

    これにより、インストールツリーにアクセスできるようになり、インストールソースとして使用できるようになります。

    注記

    インストールソースを設定するには、プロトコルに ftp:// を使用して、サーバーのホスト名または IP アドレス、および ISO イメージのファイルを保存するディレクトリー (FTP サーバーの root への相対パス) を指定します。たとえば、サーバーのホスト名が myserver.example.com で、イメージからコピーしたファイルを /var/ftp/rhel9-install/ に置いた場合、指定するインストールソースは ftp://myserver.example.com/rhel9-install/ となります。