8 ISOイメージを使用したローカルYumサーバーの設定

ローカルyumサーバーを設定するには、次の手順を実行します(たとえば、インターネットにアクセスできないシステムのネットワークが存在する場合)。

  1. yumサーバーにするシステムを1つ選択し、ISOイメージを使用したローカルYumリポジトリの作成の手順に従ってそれにローカルyumリポジトリを作成します。

  2. ローカルyumリポジトリからApache HTTPサーバーをインストールします。

    sudo yum install httpd
  3. システムでSELinuxが強制モードで有効になっている場合:

    1. semanageコマンドを使用して、リポジトリのルート・ディレクトリ階層のデフォルト・ファイル・タイプをhttpd_sys_content_tとして定義します。

      sudo /usr/sbin/semanage fcontext -a -t httpd_sys_content_t "/var/OSimage(/.*)?"
    2. restoreconコマンドを使用して、リポジトリ全体にファイル・タイプを適用します。

      sudo /sbin/restorecon -R -v /var/OSimage

    ノート:

    semanageおよびrestoreconコマンドは、policycoreutils-pythonおよびpolicycoreutilsパッケージにより提供されます。

  4. /var/www/htmlにリポジトリを指し示すシンボリック・リンクを作成します。

    sudo ln -s /var/OSimage /var/www/html/OSimage
  5. HTTPサーバーの構成ファイル/etc/httpd/conf/httpd.confを次のように編集します。

    1. サーバーの解決可能なドメイン名をServerNameの引数に指定します。

      ServerName server_addr:80

      サーバーが解決可能なドメイン名を持たない場合、かわりにそのIPアドレスを入力します。

    2. <Directory "/var/www/html">セクションのOptionsディレクティブの設定で、次のようにIndexesおよびFollowSymLinksを指定し、ディレクトリ階層が参照可能になっていることを確認します。

      Options Indexes FollowSymLinks
    3. 変更内容をファイルに保存します。

  6. Apache HTTPサーバーを起動して、再起動後に開始するようにそれを構成します。

    sudo systemctl start httpd
    sudo systemctl enable httpd
  7. システムでファイアウォールを有効にしている場合、次のようにTCPポート80でHTTP接続リクエストを受信できるようにそれを構成します。

    sudo firewall-cmd --zone=zone --add-port=80/tcp
    sudo firewall-cmd --permanent --zone=zone --add-port=80/tcp
  8. そのサーバー上および各クライアント・システム上の既存のyumリポジトリをすべて無効にします。

    /etc/yum.repos.dディレクトリで、既存のリポジトリ・ファイルを編集し、enabled=0を設定することですべてのエントリを無効にします。yum-utilsパッケージをインストールした場合は、Yumユーティリティの使用による構成の管理で説明されているとおり、次を実行してすべてのリポジトリを無効にできます。

    sudo yum-config-manager --disable \*                  
  9. そのサーバー上のリポジトリ・ファイル(/etc/yum.repos.d/OL75.repoなど)を編集します。

    [OL75]
    name=Oracle Linux 7.5 x86_64
    baseurl=http://server_addr/OSimage/OL7.5_x86_64
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY
    gpgcheck=1 
    enabled=1 

    server_addrには、ローカルYumサーバーのIPアドレスまたは解決可能なホスト名を代入します。

  10. 各クライアント上で、リポジトリ・ファイルをサーバーから/etc/yum.repos.dディレクトリにコピーします。

  11. サーバーと各クライアントで、yumを使用してリポジトリにアクセスできるかどうかをテストします。

    sudo yum repolist
    Loaded plugins: refresh-packagekit, security
    ...
    repo id                          repo name                                status
    OL75                             Oracle Linux 7.5 x86_64                  5,070
    repolist: 5,070