このドキュメントで説明されているソフトウェアはサポートされなくなったか、または拡張サポートされています。
Oracleでは、現在サポートされているリリースにアップグレードすることをお薦めします。

2.4 Spacewalkプロキシのインストール

次の手順では、Oracle Linux 7更新1以降のシステムまたはOracle Linux 6更新7以降のシステムにSpacewalkプロキシをインストールして構成することを前提としています。 Spacewalkプロキシ・システムをSpacewalkサーバーに登録する前に、Spacewalkクライアント・ソフトウェアをインストールする必要はありません。

Spacewalk Proxyソフトウェアを次のようにインストールします:

  1. jtaパッケージがインストールされていないことを確認し、Spacewalkのインストール時にこのパッケージがインストールされないようにします。

    jtaパッケージがインストールされているかどうかを確認します:

    # yum list installed | grep jta

    jtaパッケージを削除します:

    # yum remove jta

    jtaパッケージがインストールされないようにするには、Oracle Linux 6またはOracle Linux 7アドオン・チャネル([ol6_addons]または[ol7_addons])を無効にするか、jtaパッケージをyum構成ファイル/etc/yum.confexcludeディレクティブに追加します:

    exclude=jta*
  2. システム・ファイアウォールを構成します。

    次の例は、Oracle Linux 6に対してシステム・ファイアウォールを構成する方法を示しています:

    # iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
    # iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 443 -j ACCEPT
    # iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 5222 -j ACCEPT
    # iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 5269 -j ACCEPT
    # iptables -I OUTPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
    # iptables -I OUTPUT -p tcp -m state --state NEW -m tcp --dport 443 -j ACCEPT
    # iptables -I OUTPUT -p tcp -m state --state NEW -m tcp --dport 4545 -j ACCEPT
    # service iptables save

    Oracle Linux 7の場合は、次のようにシステム・ファイアウォールを構成します:

    # firewall-cmd --permanent --add-port=80/tcp
    # firewall-cmd --permanent --add-port=443/tcp
    # firewall-cmd --permanent --add-port=5222/tcp
    # firewall-cmd --permanent --add-port=5269/tcp
    # systemctl reload firewalld
  3. Spacewalkプロキシとして動作するSpacewalkサーバーのクライアントとしてシステムを登録します:

    サーバーを登録する前に、すでにクライアント・アクティベーション・キーを作成している必要があります。 有効な場合、汎用デフォルト・キーを使用できます。 ただし、固有のアクティブ化キーの使用をお薦めします。

    次のステップでは、SSLを使用して、クライアントとSpacewalkサーバー間のすべての通信を暗号化します(推奨構成)。

    1. CA証明書ファイルRHN-ORG-TRUSTED-SSL-CERTをサーバーにダウンロードします。

      ブラウザのタブでhttp://swksvr_FQDN/pubに移動します。swksvr_FQDNはSpacewalkサーバーの完全修飾ドメイン名で、CA証明書ファイルRHN-ORG-TRUSTED-SSL-CERT/usr/share/rhnにダウンロードします。

      または、次のようにコマンドラインからwgetを使用します。

      # wget -q -O /usr/share/rhn/RHN-ORG-TRUSTED-SSL-CERT \
        http://swksvr_FQDN/pub/RHN-ORG-TRUSTED-SSL-CERT
    2. rhnreg_ks コマンドを使用してシステムをSpacewalkに登録し、--sslCACert オプションを指定してCA証明書のパスを指定します。

      # rhnreg_ks --sslCACert=/usr/share/rhn/RHN-ORG-TRUSTED-SSL-CERT \
        --serverUrl=https://swksvr_FQDN/XMLRPC --activationkey=activation_key

      Spacewalkサーバーまたはプロキシを完全修飾ドメイン名で指定します。

    3. /etc/sysconfig/rhn/up2dateファイルのSpacewalkサーバーへのアクセスに使用されている設定が正しいことを確認します:

      1. serverURLがSpacewalkサーバーURLに設定されていることを確認します(例:https://swksvr.mydom.com/XMLRPC :

        # grep ^serverURL= /etc/sysconfig/rhn/up2date 
        serverURL=https://swksvr.mydom.com/XMLRPC
      2. sslCACertが正しいCA証明書ファイルに設定されていることを確認します。たとえば、/usr/share/rhn/RHN-ORG-TRUSTED-SSL-CERT:

        # grep ^sslCACert= /etc/sysconfig/rhn/up2date 
        sslCACert=/usr/share/rhn/RHN-ORG-TRUSTED-SSL-CERT

      設定が間違っていると、rhnreg_ksを使ってシステムを登録したときに間違いを犯した可能性があります。 rhnreg_ksコマンドを再度実行して、CA証明書のパスとSpacewalkサーバーURLを正しく指定し、--forceオプションを指定して以前の設定を上書きすることを確認します。

  4. Spacewalkサーバーにまだ存在していない場合は、Spacewalk 2.4 ClientおよびSpacewalk Server 2.4のソフトウェア・チャネルを作成し、これらのチャネルにSpacewalkプロキシ・システムをサブスクライブし、Spacewalkプロキシのプロビジョニング資格を有効にします:

    1. Spacewalk Client 2.4チャネルを、Oracle Linuxのインストール済みバージョンに応じて、Oracle Linux 6またはOracle Linux 7ベース・チャネルの子として作成します。

    2. Oracle Linux 6またはOracle Linux 7と同じGPG設定を使用して、Oracle Linux yumサーバー(https://yum.oracle.com/repo/OracleLinux/OL6/spacewalk24/client/x86_64/https://yum.oracle.com/repo/OracleLinux/OL7/spacewalk24/client/x86_64/)の適切なSpacewalk Client 2.4チャネルにアクセスするSpacewalk Client 2.4リポジトリを作成します。

    3. Spacewalkクライアント2.4 リポジトリをSpacewalkクライアント2.4チャネルに関連付け、リポジトリのパッケージをOracle Linux yumサーバーから同期します。

    4. Spacewalk Server 2.4チャネルを、Oracle Linuxのインストール済みバージョンに応じて、Oracle Linux 6またはOracle Linux 7ベース・チャネルの子として作成します。

    5. Oracle Linux 6またはOracle Linux 7と同じGPG設定を使用して、Oracle Linux yumサーバー(https://yum.oracle.com/repo/OracleLinux/OL6/spacewalk24/server/x86_64/https://yum.oracle.com/repo/OracleLinux/OL7/spacewalk24/server/x86_64/)の適切なSpacewalk Server 2.4チャネルにアクセスするSpacewalk Server 2.4リポジトリを作成します。

    6. Spacewalk Server 2.4 リポジトリをSpacewalk Server 2.4チャネルに関連付け、リポジトリのパッケージをOracle Linux yumサーバーから同期します。

    7. Spacewalk Server 2.0または2.2チャネルからSpacewalk Server 2.4チャネルへのSpacewalkサーバーのチャネル・サブスクリプションを変更します。

    8. SpacewalkプロキシをSpacewalk Client 2.4およびSpacewalk Server 2.4チャネルにサブスクライブします。

    9. Spacewalkプロキシのプロビジョニング資格を有効にします。

  5. Spacewalkクライアント・ソフトウェアとopenssh-clientsパッケージをインストールします:

    # yum install rhn-client-tools rhn-check rhn-setup rhnsd \
      m2crypto yum-rhn-plugin openssh-clients
  6. Spacewalk Proxyインストーラ・パッケージをインストールします。

    # yum -y install spacewalk-proxy-installer

  7. /root/ssl-buildディレクトリを作成します。

    # mkdir /root/ssl-build
  8. SpacewalkサーバーのCAキーと公開証明書ファイルを/root/ssl-buildにコピーします。 次に例を示します。

    # scp 'root@spacewalk_server:/root/ssl-build/{RHN-ORG-PRIVATE-SSL-KEY,\
    RHN-ORG-TRUSTED-SSL-CERT,rhn-ca-openssl.cnf}' /root/ssl-build
    RHN-ORG-PRIVATE-SSL-KEY                       100% 1751 1.7KB/s   00:00
    RHN-ORG-TRUSTED-SSL-CERT                      100% 5316 5.2KB/s   00:00
    rhn-ca-openssl.cnf                            100% 2186 2.1KB/s   00:00
  9. /usr/sbin/configure-proxy.shスクリプトを実行して、Spacewalkプロキシを構成します。

    次の例は、対話型構成を示しています。

    # /usr/sbin/configure-proxy.sh
    Using RHN parent (from /etc/sysconfig/rhn/up2date): swksvr.mydom.com
    Using CA Chain (from /etc/sysconfig/rhn/up2date): /usr/share/rhn/RHN-ORG-TRUSTED-SSL-CERT
    HTTP Proxy []: [Enter]
    Proxy version to activate [2.4]: [Enter]
    Traceback email []: my.email@mydom.com
    Use SSL [Y/n]: Y
    Regardless of whether you enabled SSL for the connection to the Spacewalk Parent
    Server, you will be prompted to generate an SSL certificate.
    This SSL certificate will allow client systems to connect to this Spacewalk Proxy
    securely. Refer to the Spacewalk Proxy Installation Guide for more information.
    Organization []: Oracle Demo
    Organization Unit [swkproxy.us.mydom.com]: [Enter]
    Common Name [swkproxy.us.mydom.com]: [Enter]
    City []: Redwood Shores
    State []: CA
    Country code []: US
    Email [my.email@mydom.com]: [Enter]
    Cname aliases (separated by space) []: [Enter]
    Spacewalk Proxy successfully activated.
    Loaded plugins: rhnplugin
    This system is receiving updates from RHN Classic or Red Hat Satellite.
    Setting up Install Process
    Resolving Dependencies
    --> Running transaction check
    ---> Package spacewalk-proxy-management.noarch... will be installed
    ...
    Transaction Summary
    ================================================================================
    Install      42 Package(s)
    
    Total download size: 13 M
    Installed size: 32 M
    Is this ok [y/N]: y
    Downloading Packages:
    (1/42): apr...                     | 122 kB     00:00
    ...
    Using CA key at /root/ssl-build/RHN-ORG-PRIVATE-SSL-KEY.
    Generating distributable RPM for CA public certificate:
    Copying CA public certificate to /var/www/html/pub for distribution to clients:
    Generating SSL key and public certificate:
    CA password: cert_passwd
    Installing SSL certificate for Apache and Jabberd:
    Preparing packages for installation...
    rhn-org-httpd-ssl-key-pair-swkproxy-1.0-1
    Create and populate configuration channel rhn_proxy_config_1000010000? [Y/n]: Y
    Spacewalk username: []: swadmin
    Password: swadmin_passwd
    Using server name swksvr.mydom.com
    Creating config channel rhn_proxy_config_1000010000
    Config channel rhn_proxy_config_1000010000 created
    Using server name swksvr.mydom.com
    Pushing to channel rhn_proxy_config_1000010000:
    Local file /etc/httpd/conf.d/ssl.conf -> remote file /etc/httpd/conf.d/ssl.conf
    Local file /etc/rhn/rhn.conf -> remote file /etc/rhn/rhn.conf
    Local file /etc/squid/squid.conf -> remote file /etc/squid/squid.conf
    Local file /etc/httpd/conf.d/cobbler-proxy.conf -> remote file /etc/httpd/conf.d/cobbler-proxy.conf
    Local file /etc/httpd/conf/httpd.conf -> remote file /etc/httpd/conf/httpd.conf
    Local file /etc/jabberd/c2s.xml -> remote file /etc/jabberd/c2s.xml
    Local file /etc/jabberd/sm.xml -> remote file /etc/jabberd/sm.xml
    Enabling Spacewalk Proxy.
    Shutting down rhn-proxy...
    Terminating jabberd processes ...
    Stopping s2s:                                              [FAILED]
    Stopping c2s:                                              [FAILED]
    Stopping sm:                                               [FAILED]
    Stopping router:                                           [FAILED]
    Stopping httpd:                                            [FAILED]
    Stopping squid:                                            [FAILED]
    Done.
    Starting rhn-proxy...
    init_cache_dir /var/spool/squid... Starting squid: .       [  OK  ]
    Starting httpd:                                            [  OK  ]
    Initializing jabberd processes ...
    Starting router:                                           [  OK  ]
    Starting sm:                                               [  OK  ]
    Starting c2s:                                              [  OK  ]
    Starting s2s:                                              [  OK  ]
    Done.
    There were some answers you had to enter manually.
    Would you like to have written those into file
    formatted as answers file? [Y/n]: Y
    Writing proxy-answers.txt.NtM1Y

    Spacewalkユーザー名とパスワード(swadminswadmin_passwd)は、Spacewalkサーバー管理者のユーザー名とパスワードです。

    指定した情報は、必要に応じてproxy-answers.txt.UIDという名前のファイルに記録されます。UIDは一意の識別子です。 次の例に示すように、このファイルを使用してSpacewalkプロキシの構成を自動化できます:

    # configure-proxy.sh --non-interactive --answer-file=proxy-answers.txt.NtM1Y
  10. 自己署名SSL証明書ではなく、サード・パーティのCA署名証明書を使用する場合は、第3章、「SpacewalkサーバーまたはSpacewalkプロキシでのSSL証明書の置き換え」で説明されている手順に従ってください。

    クライアントを登録する前に、自己署名SSL証明書を置き換えることをお薦めします。 それ以外の場合は、既存の各クライアントに個別にログオンし、新しいSSL証明書を使用するように構成する必要があります。 これはSpacewalkサーバーからは実行できません。

  11. Spacewalkプロキシが正しく動作していることを確認するには、次の例に示すように、Spacewalkクライアントを登録するときにプロキシのURLを指定

     rhnreg_ks --sslCACert=/usr/share/rhn/RHN-ORG-TRUSTED-SSL-CERT \
      --serverUrl=https://swkproxy_FQDN/XMLRPC --activationkey=activation_key

    クライアントをサブスクライブしたら、サーバー上のソフトウェア・チャネルにサブスクライブし、クライアントからパッケージを更新できることを確認します。