ディストリビューション・ミラーの設定方法

ローカル・ネットワーク内のクライアントがインターネット経由でパブリック・サーバーにアクセスする必要なしに、パッケージを配布してクライアント・システムに更新を提供するようにシステムを構成できます。

ミラー・サーバー内のローカル・リポジトリへのアクセスを提供する方法は、任意に選択できます。このタスクでは、HTTPを例として使用します。

  1. システムに最新バージョンのyum-utilsがインストールされていることを確認します。
    sudo dnf install -y yum-utils
  2. Apache HTTPサーバーをインストールします。
    sudo dnf install -y httpd
  3. ローカル・リポジトリ用のベース・ディレクトリを作成します。次に例を示します。
    sudo mkdir -p /var/www/html/yum
  4. ミラーのために専用ファイル・システムを作成した場合は、そのファイル・システムをベース・ディレクトリにマウントします。たとえば、/var/www/html/yumにマウントされたファイル・システムの詳細を使用して/etc/fstabを編集し、次を実行します:
    sudo mount device-path
    前の例では、device-pathがデバイスへのパスです。たとえば、次のようになります。
    sudo mount /dev/sda
  5. SELinuxが有効かどうかを確認します。たとえば、次のコマンドでは、SELinuxが有効になっており、「強制」に設定されていることが示されています。
    sestatus
    SELinux status:                 enabled
    ...
    Current mode:                   enforcing
    Mode from config file:          enforcing
    ...
  6. SELinuxが強制モードで有効になっていて、/var/www/html/yum/に別のファイル・システムをマウントしている場合は、次のステップを実行します:
    1. リポジトリ・ルート・ディレクトリ階層のデフォルト・ファイル・タイプをhttpd_sys_content_tとして定義します。たとえば、ベース・ディレクトリが/var/www/html/yum/の場合は、次を実行します:
      sudo /usr/sbin/semanage fcontext -a -t httpd_sys_content_t "/var/www/html/yum(/.*)?"
    2. このファイル・タイプをリポジトリ全体に適用します。
      sudo /sbin/restorecon -R -v /var/www/html/yum/
  7. HTTPサーバーの構成ファイル/etc/httpd/conf/httpd.confを次のように編集します。
    1. サーバーの解決可能なドメイン名またはIPアドレスをServerNameの引数に指定します。
      ServerName system-mirror:80
    2. <Directory "/var/www/html">セクションで、Optionsディレクティブの設定でIndexesFollowSymLinksが指定されていることを確認します。次に例を示します。
      Options Indexes FollowSymLinks
      この設定により、ディレクトリ階層を参照できるようになります。
  8. HTTPサーバーを起動して、再起動後に開始するように構成します。
    sudo systemctl start httpd
    sudo systemctl enable httpd
  9. システムでファイアウォールを有効にしている場合は、TCPポート80でHTTP接続リクエストを受信できるように構成します。
    sudo firewall-cmd --add-service=http
    sudo firewall-cmd --permanent --add-service=http
  10. ローカル・ミラーがローカル・ネットワーク内のクライアントにサービスを提供する方法を選択します。