機械翻訳について

第1章 Spacewalkサーバーのインストールとアップグレード

この章では、Spacewalkサーバーとプロキシをインストールおよびアップグレードする方法について説明します。

ノート

このガイドでは、Spacewalk for Oracle Linuxリリース2.7のインストールに関する情報および手順について説明します。 ただし、Oracleでは、かわりにSpacewalk for Oracle Linuxリリース2.10をインストールすることをお薦めします。 手順については、Spacewalk for Oracle® Linux: インストレーション・ガイドforリリース2.10を参照してください。

1.1 Oracle Linux要件

Oracleは、Oracle Linux 6 (x86_64)またはOracle Linux 7 (x86_64)で実行されているSpacewalkサーバーをサポートしています。 Oracle Linuxシステムは、Oracle Linux yumサーバーで使用可能な最新のパッケージで更新することをお薦めします。

ノート

SpacewalkサーバーまたはクライアントをULNに登録しないでください。 Spacewalkサーバーをクライアントとして登録して、更新を受け取ることができます。

Oracle Linux 6またはOracle Linux 7は、最小または基本的なサーバーソフトウェア・セットのいずれかを使用してインストールする必要があります。 インストール中に追加のパッケージ・グループを選択する場合は、jtaをインストールする前にjtaパッケージを削除してください。このパッケージはSpacewalkサービスの起動に失敗するためです。

Oracle Linux yumサーバー(https://yum.oracle.com)からOracleによって提供されるパッケージのみを使用してSpacewalkをインストールします。

Oracle Linux 6またはOracle Linux 7にSpacewalkをインストールするためにサードパーティのパッケージ・レポジトリは必要ありません。 必要なパッケージはすべて、Oracle Linux yumサーバーのSpacewalkリポジトリにあります。

1.2  Spacewalkサーバーの記憶域要件

Spacewalkサーバーには、最低8 GBのメモリーが必要です。 SpacewalkサーバーがSpacewalkリポジトリを格納しているデータベースも実行している場合、このメモリー要件はデータベースを実行するのにに加えて必要なものでです。

エラータ・マッピングを維持するために、Spacewalkはデフォルトで、構成した各ソフトウェア・チャネルで使用可能なすべてのパッケージのすべてのバージョンを維持します。 その結果、Spacewalkサーバーの記憶域要件は、サポートするメジャー・バージョンとアーキテクチャの数によって大きくなります。 通常、Oracle Linuxバイナリ・リポジトリには、Oracle Linuxリリースとアーキテクチャの組み合わせごとに約60 GBが必要です。 ソース・パッケージには追加の40 GBが必要で、Oracle Linuxリリースとアーキテクチャの組み合わせごとにKsplice更新には80 GBが必要です。

ノート

Spacewalk 2.7を使用すると、spacewalk-repo-syncコマンドに--latestオプションを指定することにより、ストレージ要件を大幅に削減することができます。これにより、サーバーは同期時に使用可能な最新のパッケージのみを同期させます。 古いパッケージは削除されません。 同期間隔が長い場合は、特定のバージョンのパッケージを見逃している可能性があります。この場合、エラータが特定のパッケージ・バージョンに関連付けられているエラータ処理に影響があります。 エラータの整合性が重要な場合は、--latestを使用しないことをお薦めします。 しかし、パッケージが常に累積的であるため、Kspliceチャネルで--latestを使用することは例外です。

注意

パッケージがOracle Linuxリポジトリから削除されることはないため、各リポジトリに必要な領域は常に増加します。 Spacewalkサーバーで使用可能なディスク・スペースを積極的に監視する必要があります。

Spacewalkサーバーは、ホストするパッケージを/var/satellite/redhatディレクトリ階層の下に保管します。 Spacewalkをインストールする前に、/varファイル・システムを最適に構成する方法を計画しておく必要があります。 たとえば、Logical Volume Manager(LVM)を使用して/varext4またはXFSファイル・システムとして設定すると、必要に応じて記憶域を拡張できます。

1.3  Spacewalkサーバーのネットワーク要件

Spacewalkサーバーをインストールする前に、次のネットワーク要件と構成情報を参照してください:

  • 完全修飾ドメイン名を構成

    Spacewalkサーバーの完全修飾ドメイン名(FQDN)を構成する必要があります。 Spacewalkは、.local.localdomainが有効なドメイン名であるとはみなしません。

    注意

    Spacewalkサーバーとクライアントは、DNSのフォワードとリバース・ルック・アップの両方について、SpacewalkサーバーのFQDNを解決できる必要があります。 これらの条件が満たされない場合、証明書の検証もPXEブートも機能しません。 さらに、クライアントはSpacewalkサーバーに登録できません。 特に、逆DNSルックアップがないと、Inter-Server Synchronization(ISS)が失敗します。

    また、hostnameコマンドによって返されるホスト名と、/etc/hostnameファイル(Oracle Linux 7用)または/etc/sysconfig/networkファイル(Oracle Linux 6用)で定義されているHOSTNAMEの値が同一であることを確認します。

    次の例に示すように、ホスト名は、正引きおよび逆引きの両方の検索のために、DNSのシステム用に定義されたFQDNと一致する必要があります:

    # hostname
    swksvr.mydom.com
    # grep HOSTNAME /etc/sysconfig/network
    HOSTNAME=swksvr.mydom.com

    また、hostコマンドを使用して、Oracle Linux 6を実行しているシステムでこの情報を確認することもできます:

    # host swksvr.mydom.com
    swksvr.mydom.com has address 192.168.1.3
    # host 192.168.1.3
    3.1.168.192.in-addr.arpa domain name pointer swksvr.mydom.com.

    /etc/hostsファイルを編集し、ループバック・アドレス(127.0.0.1)ではなく、FQDNとホスト名の実際のIPアドレスを構成する必要があります(次の例を参照):

    127.0.0.1      localhost localhost.localdomain localhost4 localhost4.localdomain4
    ::1            localhost localhost.localdomain localhost6 localhost6.localdomain6
    192.168.1.3    swksvr.mydom.com swksvr
  • Spacewalkサーバーのポート番号

    次の表に、Spacewalkサーバーが使用するネットワーク・ポートの構成を示します。

    Port/Protocol

    方向

    用途

    69/udp

    インバウンド

    TFTP(PXEプロビジョニングのサポートが必要な場合)

    80/tcp

    インバウンドおよびアウトバウンド

    HTTPアクセス

    443/tcp

    インバウンドおよびアウトバウンド

    HTTPSアクセス

    5222/tcp

    インバウンド

    Spacewalkクライアントへのサポートをプッシュ(必要な場合)

    5269/tcp

    インバウンド

    Spacewalkプロキシへのサポートをプッシュする(必要な場合)

  • ネットワーク時間の同期を構成

    Spacewalkサーバー、プロキシ、およびクライアントがNTP(Network Time Protocol)やPTP(Precision Time Protocol)などのネットワーク時刻同期メカニズムを使用するように構成します。 Spacewalkでは、SSL(Secure Socket Layer)ベースの接続を確立するために、これらのシステムのシステム時間が120秒以内に一貫している必要があります。 さらに、サーバーとクライアントのシステム時間(タイムゾーンの差を補正した時間)が120秒を超えて異なる場合、サーバー上のjabberdサービスによるクライアント上のosadサービスの認証に失敗します。

    詳細は、Oracle® Linux 6: 管理者ガイドまたはOracle® Linux 7: 管理者ガイドを参照してください。

1.4 データベース要件と構成手順

Spacewalkデータを保存するには、次のデータベース・ソリューションを使用できます:

  • Oracle Database

  • Oracle Database Express Edition (Oracle Database XE)

  • PostgreSQL

ただし、OracleはSpacewalkと使用するOracle Databaseのみをサポートしており、Oracle Linuxサポート・カスタマ向けにOracle Database 12c Enterprise Editionを使用するための限定使用ライセンスを提供しています。

ノート

Oracle Database 11gR2を使用している既存のSpacewalkインスタンスをアップグレードする際に、現在アクティブなOracle Databaseライセンスがない場合は、Spacewalk 2.7にアップグレードする前に少なくともOracle Database 12cR1にアップグレードする必要があります。

詳細は、Oracle® Linux 6: ライセンス情報ユーザー・マニュアルまたはOracle® Linux 7: ライセンス情報ユーザー・マニュアルを参照してください。

ノート

Oracle Database XE (Oracle Database Express Edition)およびPostgreSQLとその使用方法については、このドキュメントでは説明しません。 また、Oracleでは、サポートされていないデータベースから移行するためのツールも提供していません。

1.4.1 データベースのサイズ要件

Spacewalkデータベースが必要とする領域の大きさを決定する場合、次の項目では全体的な計算にサイズの見積りが含まれていることを確認: Spacewalkサーバーによって提供されるクライアント・システムの数、各クライアント・システムに割り当てられるチャネル数、および各チャネルに含まれるパッケージの数が含まれます。

Spacewalkデータベースに必要なスペースをより正確に決定するには、次の計算を使用します:

  • クライアント・システムあたり250 KiB。

  • チャネルあたり500 KiBに加えて、チャネルあたり1パッケージにつき230 KiBが追加されます(5000パッケージのチャネルには1.1 GiBが必要です)。

たとえば、10,000システムを処理している大規模なSpacewalkサーバーがあり、各システムにチャネルごとに12,000個のパッケージを含む4つのチャネルがある場合、クライアントには2.5 GiB、チャネルに対しては11個のGiBが必要になります。

1.4.2 Oracle Databaseインストール要件

Oracle Databaseサーバーをインストールしてこのサーバーを使用可能にし、Spacewalkをインストールする前に、サーバーが稼動していることを確認する必要があります。

サポートされているOracle Databaseリリースには、次のものがあります:

  • Oracle Database 12c

    ソフトウェアは、https://www.oracle.com/database/technologies/oracle-database-software-downloads.htmlのOracleからダウンロードできます。

  • Oracle Database 11gR2、リリース11.2.0.3以降(アクティブなOracle Databaseライセンスが必要です)。

    ノート

    このOracle Databaseバージョンは、拡張サポートされており、アクティブで既存のOracle Databaseライセンスが必要です。

    正しいOracle Database 11gR2リリースを入手するには、My Oracle Support(MOS)からhttps://support.oracle.comのソフトウェアをダウンロードしてください。

前提条件となる作業および環境に固有のインストール手順の詳細については、Oracleデータベース管理者に相談してください。 詳細については、Oracle Databaseのhttps://docs.oracle.com/en/database/database.htmlドキュメントを参照してください。

1.4.3 Oracle Database構成

Oracle Databaseを構成するための一般的なガイドラインは次のとおりです。 これらのステップは、インストール中またはインストール後に実行できます。 ご使用の環境に合わせて追加の構成手順を入手するには、Oracleデータベース管理者に相談してください。

  • データベースは、UnicodeをサポートするAL32UTF8文字セットを使用する必要があります。

    ノート

    インストールGUIで高度なインストールを選択した場合は、AL32UTF8キャラクタ・セットを指定できますが、典型的なインストールオプションを選択した場合は指定できません。

    Oracle Databaseの12cR2バージョンをインストールした場合は、AL32UTF8文字セットがデフォルトです。

  • データベースにはSpacewalkユーザーが必要です。 次のステップで説明するように、SQL*Plusコマンドを使用してこのユーザーを作成します。 Spacewalkユーザーのために選択した任意の名前を使用できます。

    たとえば、Oracle Database 11gR2のspacewalkという名前のユーザーを作成できます。 Oracle Database 12cの場合、データベースがプラガブル・データベースであれば、c##spacewalkという名前のユーザーを作成することができます。 データベースがプラガブル・データベースでない場合、c##プレフィクスはユーザー名の一部である必要はないことに注意してください。

  • 複数のSpacewalkサーバーが同じデータベース・サーバーを共有する場合は、各サーバーに別々のSpacewalkユーザーを作成する必要があります。 たとえば、同じデータベースを共有する2つのSpacewalkサーバーを設定する場合は、次の名前のOracle Database 11gR2の2つのユーザーを作成できます: spacewalkおよびspacewalk2 Oracle Database 12cでは、c##spacewalkc##spacewalk2ユーザーを作成できます。

  • Spacewalkユーザーには、CONNECTロールとRESOURCEロールが割り当てられている必要があります。

  • Spacewalkユーザーには、次のシステム権限が必要です:

    • ALTER SESSION

    • CREATE SYNONYM

    • CREATE TABLE

    • CREATE TRIGGER

    • CREATE VIEW

    • UNLIMITED TABLESPACE

Spacewalkユーザーの作成

次のようにSpacewalkユーザーを作成します:

  1. データベース・サーバー上のデータベース管理者(通常はSYSまたはSYSDBA)としてシステムにログインします。

    $ sqlplus / as SYSDBA
  2. 次のSQL*Plusコマンドを実行して、Spacewalkユーザーを設定します:

    SQL> create user sw_user identified by sw_passwd;
    SQL> grant connect,resource to sw_user;
    SQL> grant alter session, create synonym, create table, create trigger, create view to sw_user; 
    SQL> grant unlimited tablespace to sw_user; 

    前述のコマンドの例では、sw_usersw_passwdは、Spacewalkの管理に使用するユーザー名とパスワードです。

設定が必要なSpacewalkユーザーごとに、これらのステップを繰り返します。

1.5  Spacewalkサーバーのインストール

Spacewalkサーバー・ソフトウェアをインストールする前に、次のことを行う必要があります:

  • Oracle Databaseをインストールし、起動していることを確認します。

    Oracle Databaseのインストールと構成に関する具体的な手順については、Oracleデータベース管理者に相談してください。 https://docs.oracle.com/en/database/database.htmlの製品マニュアルも参照してください。

  • すべての要件を満たし、本書で説明されている前提条件のタスク、および製品のマニュアルで指定されている前提条件のタスクを実行してください。

    特に、第1.3項、「Spacewalkサーバーのネットワーク要件」の説明に従って、Spacewalkサーバー用にFQDNが構成されていることを確認してください。 /etc/hostsファイルには、SpacewalkサーバーのFQDNエントリが必要です。

    注意

    Spacewalkサーバーとクライアントは、DNSのフォワードとリバース・ルック・アップの両方について、SpacewalkサーバーのFQDNを解決できる必要があります。 これらの条件が満たされない場合、証明書検証もPXEブートも動作しません。 さらに、クライアントはSpacewalkサーバーに登録できません。 特に、Spacewalkサーバーまたはクライアントで逆DNSルックアップがないと、Inter-Server Synchronization(ISS)が失敗します。

Spacewalkサーバー・ソフトウェアをインストールするには、次のステップを実行します:

  1. Oracle Instant Clientリリース11.2.0.4をインストールします。

    1. 次のインスタント・クライアント・パッケージをダウンロードします。 インスタント・クライアントの詳細は、次の場所を参照してください:

      https://www.oracle.com/database/technologies/instant-client.html

      • インスタント・クライアント・パッケージ(基本)

      • インスタント・クライアント・パッケージ(SQL*Plus)

      ノート

      これらのリリースはサポートされていないため、リリース12.1以降のパッケージはダウンロードしないでください。 詳細は、https://www.oracle.com/database/technologies/faq-instant-client.htmlのインスタント・クライアントFAQを参照してください。

    2. Instant Clientパッケージをインストールします。

      # yum install oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm \
      oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm
    3. ldconfigにライブラリ・パスを追加します。

      # echo /usr/lib/oracle/11.2/client64/lib > /etc/ld.so.conf.d/oracle-instantclient11.2.conf 
      # ldconfig
    注意

    Instant Clientがない場合、Spacewalkサーバーの構成に失敗します。 インスタント・クライアントの最新の11.2.0.4リリースをインストールすることをお薦めします。

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

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

    # yum list installed | grep jta

    jtaパッケージを削除するには:

    # yum remove jta

    jtaパッケージが後でインストールされないようにするには、次のいずれかを実行します:

    • Oracle Linux 6またはOracle Linux 7 addonsチャネル([ol6_addons]または[ol7_addons])を無効にします。

    • 次のように、jtaファイルを/etc/yum.confファイルのexcludeディレクティブに追加します:

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

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

    # iptables -I INPUT -p udp -m udp --dport 69 -j ACCEPT
    # 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
    # service iptables save

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

    # firewall-cmd --permanent --add-port=69/udp
    # 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
    # firewall-cmd --reload
  4. https://yum.oracle.comのOracle Linux yumサーバーで、Spacewalkサーバー・パッケージおよび依存パッケージを含むリポジトリへのアクセスを可能にします。

    • Oracle Linux 6の場合、次の操作を行います:

      1. システムは最新であり、oraclelinux-release-el6パッケージをインストールして/usr/bin/ol_yum_configure.shスクリプトを実行することにより、モジュールyumリポジトリ構成を使用するように遷移したことを確認してください。次に例を示します:

        # yum install oraclelinux-release-el6
        # /usr/bin/ol_yum_configure.sh
        ノート

        システムですでに新しいモジュラyumリポジトリが使用されている場合は、/usr/bin/ol_yum_configure.shコマンドを実行するときにメッセージが表示されます。 次のメッセージは、無視しても問題ありません。

        Missing /etc/yum.repos.d/public-yum-ol7.repo. Exiting
      2. oracle-spacewalk-server-release-el6リリース・パッケージをインストールして、適切なyumリポジトリ構成をインストールします。

        # yum install oracle-spacewalk-server-release-el6

        ol6_spacewalk27_serverおよび ol6_spacewalk27_clientリポジトリは、リポジトリ構成ファイルでデフォルトで有効になっています。

    • Oracle Linux 7の場合、次の操作を行います:

      1. システムは最新であり、oraclelinux-release-el7パッケージをインストールして/usr/bin/ol_yum_configure.shスクリプトを実行することにより、モジュールyumリポジトリ構成を使用するように遷移したことを確認してください。次に例を示します:

        # yum install oraclelinux-release-el7
        # /usr/bin/ol_yum_configure.sh
        ノート

        Oracle Linux 7.6メディア以前を使用してインストールされたシステムでは、システムがすでに新しいモジュラyumリポジトリを使用している場合、/usr/bin/ol_yum_configure.shコマンドを実行するとメッセージが表示されます。 このメッセージは無視して問題ありません:

        Missing /etc/yum.repos.d/public-yum-ol7.repo. Exiting

        Oracle Linux 7.7以降を使用してインストールされたシステムは、インストール時にモジュラyum構成を使用するように自動的に構成されることに注意してください。

      2. oracle-linux-manager-server-release-el7リリース・パッケージをインストールして、適切なyumリポジトリ構成をインストールします。 このパッケージには新しいネーミング規則が反映されていますが、Spacewalk 2.7の適切な情報が含まれています。

        # yum install oracle-linux-manager-server-release-el7
      3. Spacewalk 2.7の正しいSpacewalkリポジトリを有効にします。

        # yum-config-manager --disable ol7_oracle-linux-manager210_server ol7_oracle-linux-manager210_client
        # yum-config-manager --enable ol7_spacewalk27_server ol7_spacewalk27_client
      4. oraclelinux-release-el7パッケージに含まれているol7_optional_latestリポジトリを有効にします:

        # yum-config-manager --enable ol7_optional_latest
  5. Oracle Databaseを使用するように構成されたSpacewalk Serverパッケージをインストールします。

    # yum install spacewalk-oracle

    ノート

    Spacewalkのインストール・プロセスの一環として、Spacewalkがこの設定を処理するため、すべてのOracle Linux yumサーバー構成とULN構成が無効になります。

    インストール後にyumリポジトリ構成を再有効化する必要があるときに、Spacewalkでリポジトリを構成する前に、影響を受けるyumリポジトリ構成ファイルを一時的に名前変更して、次のように有効にできます:

    # mv /etc/yum.repos.d/oracle-linux-ol7.repo.rpmsave /etc/yum.repos.d/oracle-linux-ol7.repo

    Spacewalk内でリポジトリを構成した後、必ずyumリポジトリ構成ファイルを無効にしてください。

  6. (オプション)spacecmdspacewalk-common-channelsspacewalk-hostname-renamespacewalk-sync-setupなどのコマンドを使用する場合は、spacecmdspacewalk-utilsパッケージをインストールします。

    # yum install spacecmd spacewalk-utils
    spacecmd

    コマンドラインからSpacewalkを管理することができます。 このコマンドを使用して、アクティブ化キー、構成チャネル、キックスタート、ソフトウェア・チャネル、システムおよびユーザーを管理できます。

    spacewalk-common-channels

    コマンドラインから、Oracle Linuxのソフトウェア・チャネル、パブリックyumリポジトリ、GNUプライバシ・ガード(GPG)キーおよびアクティブ化キーを構成できます。

    spacewalk-hostname-rename

    システム・ホスト名を変更すると、SSL証明書を再生成できます。

    spacewalk-sync-setup

    ISS構成で使用する2つのSpacewalkサーバー間のプライマリ・ワーカー (マスター・スレーブ)関係を構成できます。 第3章、「Spacewalkサーバー用のサーバー間同期の構成」を参照してください。

    ノート

    パッケージのインストール時に表示されるSELinux restoreconのメッセージは無視しても問題ありません。

    または、Spacewalkサーバーをそれ自体のクライアントとして登録し、そのサーバーをリリース2.7の適切なSpacewalkサーバー・チャネルにサブスクライブすると、後で追加のパッケージをインストールできます。

  7. Spacewalkを構成して、spacewalk-setup --external-oracleコマンドを実行してOracle Databaseを使用します。

    --external-oracleオプションは、データベースが同じシステム上で実行されているかどうかにかかわらず、すべてのOracleデータベースがSpacewalk設定の外部にあるため使用されます。

    次の例は、コマンドを実行してSpacewalk設定を完了するために必要な情報を提供する対話型セッションを開始する方法を示しています。

    Spacewalkを構成するときは、次の重要な点に留意してください:

    • sw_usersw_passwdは、Oracle Databaseを構成したときに指定したSpacewalkのユーザー名とパスワードです(1.4.3項、「Oracle Database構成」ごと)。

    • データベース・サービス名(SID)に必要な値は、グローバル・データベース名であり、ORACLE_SIDの値ではありません。

    • Database hostname [localhost]?プロンプトは、設定ツールがOracle DatabaseとSpacewalkが同じホスト上に同じ場所に配置されていることを検出するとバイパスされます。 Oracle DatabaseがSpacewalkがインストールされているホスト以外のホスト上にある場合は、設定中にこの情報の入力を求められます。

    • 組織単位に指定する値は、DNS内のサーバーのFQDNと同じである必要があります。 また、この値はシステムのホスト名と一致する必要があります。

    # spacewalk-setup --external-oracle
    * Setting up SELinux..
    * Setting up Oracle environment.
    * Setting up database.
    ** Database: Setting up database connection for Oracle backend.
    Global Database Name or SID (requires tnsnames.ora)? company.mydom.com
    Database hostname [localhost]? spacewalk-db.mydom.com
    Username? sw_user
    Password? sw_passwd 
    Database: Testing database connection. 
    ** Database: Populating database. 
    *** Progress: ############################################################ 
    * Configuring tomcat.
    * Setting up users and groups.
    ** GPG: Initializing GPG and importing key.
    ** GPG: Creating /root/.gnupg directory
    You must enter an email address. 
    Admin Email Address? my.email@mydom.com 
    * Performing initial configuration. 
    * Activating Spacewalk. 
    ** Loading Spacewalk Certificate. 
    ** Verifying certificate locally. 
    ** Activating Spacewalk. 
    * Enabling Monitoring. 
    * Configuring apache SSL virtual host. 
    Should setup configure apache's default ssl server for you
                                            (saves original ssl.conf) [Y]? y 
    ** /etc/httpd/conf.d/ssl.conf has been backed up to ssl.conf-swsave 
    * Configuring jabberd.
    * Creating SSL certificates.
    CA certificate password? cert_passwd
    Re-enter CA certificate password? cert_passwd
    Organization? Company Demo
    Organization Unit [swksvr.mydom.com]? swksvr.mydom.com
    Email Address [your.email@domain.com]? my.email@mydom.com
    City? Redwood Shores
    State? CA
    Country code (Examples: "US", "JP", "IN", or type "?" to see a list)? US
    ** SSL: Generating CA certificate. 
    ** SSL: Deploying CA certificate. 
    ** SSL: Generating server certificate. 
    ** SSL: Storing SSL certificates. 
    * Deploying configuration files. 
    * Update configuration in database. 
    * Setting up Cobbler..
    Cobbler requires tftp and xinetd services be turned on for PXE provisioning functionality.
    Enable these services [Y]? y
    * Restarting services. 
    Installation complete. 
    Visit https://swksvr.mydom.com to create the Spacewalk administrator account.
  8. Spacewalkサービスが実行中であることを確認します。

    # /usr/sbin/spacewalk-service status
    router (pid 5097) is running...
    sm (pid 5105) is running...
    c2s (pid 5113) is running...
    s2s (pid 5121) is running...
    tomcat6 (pid 5193) is running...                           [  OK  ]
    httpd (pid  5303) is running...
    osa-dispatcher (pid  5331) is running...
    rhn-search is running (5353).
    cobblerd (pid 5392) is running...
    RHN Taskomatic is running (5419).

    システム上のプロセスIDは、この例に示されているものとは異なる可能性があります。

  9. 出力に記載されているSpacewalkサーバーのURLに注意してください。

    Spacewalk管理者アカウントと初期組織を作成するには、SpacewalkサーバーURLが必要です(1.6.2項、「Spacewalk管理者および初期組織の構成」の説明を参照)。

Spacewalkサーバーのインストールが完了したら、必須またはオプションのインストール後のタスクを実行します。 手順については、1.6項、「新しくインストールされたSpacewalkサーバーの構成」を参照してください。

1.6 新しくインストールされたSpacewalkサーバーの構成

Spacewalkサーバーをインストールしたら、次の作業を実行します。 一部のタスクは、推奨されていますがオプションです。

1.6.1 自己署名付きSSL証明書の置換

SpacewalkサーバーまたはSpacewalkプロキシをインストールするときに、Spacewalkクライアントで使用する自己署名SSL証明書を作成できます。 次の手順では、自己署名証明書または期限切れのCA署名証明書を、認証局(CA)によって署名された証明書に置き換える方法について説明します。

個々のSpacewalkサーバーまたはSpacewalkプロキシの証明書、またはワイルドカード証明書がカバーするドメイン内のすべてのSpacewalkサーバーまたはSpacewalkプロキシのワイルドカード証明書を使用できます。

次のように、既存の証明書をSpacewalkサーバーまたはSpacewalkプロキシに置き換えます:

  1. システムの既存のSSL構成のバックアップを作成します。

    # tar -cvf SSLconfig.tar \ 
      /etc/httpd/conf/ssl.* \
      /etc/pki/spacewalk/jabberd/server.pem \
      /root/ssl-build \
      /var/www/html/pub 
  2. 次のいずれかのメソッドを使用してサーバー証明書を取得します:

    • CAからサーバー証明書を取得し、この証明書を次のようにシステム上のSSLビルド階層にインストールします:

      1. 証明書署名リクエスト(CSR)ファイル/root/ssl-build/swksvr/ server.csrをCAに送信します。

        ノート

        swksvrは、ドメイン名を削除して、既存のSSL構成を設定するために使用したSpacewalkサーバーまたはSpacewalkプロキシの名前です。

        リクエストを検証した後、CAは署名されたサーバー証明書ファイルを返します。

      2. 署名されたサーバー証明書ファイルのバックアップを作成します。

      3. 必要に応じて、証明書をPrivacy Enhanced Mail(PEM)形式に変換します。

        PEM形式の証明書ファイルは、次の出力に示すように、BEGIN/ENDマーカー間にBase64でエンコードされた証明書項を含むテキスト・ファイルです:

        -----BEGIN CERTIFICATE-----
        MIIF7DCCBNSgAwIBAgIQbsx6pacDIAm4zrz06VLUkTANBgkqhkiG9w0BAQUFADCB
        ...
        Rs/iGAZeqa6ogZpHFt4MKGwlJ7net4RYxh84HqTEy2Y=
        -----END CERTIFICATE-----

        PEM形式の証明書ファイルのファイル拡張子は通常.crtまたは.pemです。 ただし、バイナリDER形式の証明書ファイルには、.crt拡張子が付いていることもあります。

        DER形式の証明書ファイルは、通常は.cerまたは.derのファイル拡張子を持つバイナリ・ファイルですが、拡張子.certまたは.crtも持つことができます。

        次のコマンドを入力して、証明書ファイルがDER形式であるかどうかをテストします:

        # openssl x509 -inform der -text -in certificate_file
      4. 証明書ファイルがDER形式の場合は、次のコマンドを入力してファイルをPEM形式の証明書ファイルに変換します:

        # openssl x509 -inform der -in server.cer -out server.pem

        UNIXまたはLinuxシステムでPEM形式の証明書ファイルが生成されなかった場合、ファイルには^Mキャリッジ・リターン文字が含まれている可能性があります。

      5. これらの文字を削除するには、次のいずれかのコマンドを使用します:

        # sed -i -e 's/\r//' server.pem
        # dos2unix server.pem

        dos2unixコマンドは、dos2unixパッケージで使用できます。

      6. PEM形式のサーバー証明書ファイルを/root/ssl-build/swksvr/ server.crtにコピーします。

        # cp server.pem /root/ssl-build/swksvr/server.crt

        このコマンドは、元のファイルを上書きします。

    • 次のように外部ツールを使用してサーバー証明書を取得します:

      1. 秘密キーと署名付き証明書の両方をPEM形式の外部ツールから入手し、両方を/root/ssl-build/swksvrにコピーします。

      2. 秘密キーに既存のパスワードがある場合は削除し、次のようにキーを置き換えます:

        # openssl rsa -in keyfilewithpasswd.key -out /root/ssl-build/swksvr/server.key

        このステップにより、Spacewalkサービスが無人で起動できることが保証されます。

  3. 次のいずれかのメソッドを使用して、CA公開証明書を/root/ssl-buildディレクトリにRHN-ORG-TRUSTED-SSL-CERTファイルとして追加します:

    • 使用可能な場合は、サーバー証明書を発行したCAからCAチェーン証明書を取得します。 この証明書ファイルを/root/ssl-build/RHN-ORG-TRUSTED-SSL-CERTにコピーします:

      # cp ca_chain.pem /root/ssl-build/RHN-ORG-TRUSTED-SSL-CERT
    • CAチェーン証明書が発行CAから入手できない場合は、次のようにCAチェーン証明書を作成します:

      1. 発行CAからルートCA公開証明書と中間CA公開証明書を取得します。

      2. サーバー証明書を発行したCAのパブリック証明書ファイルで始まるCAパブリック証明書ファイルのチェーンを、ルートCAの公開証明書ファイルに連結して、/root/ssl-build/RHN-ORG-TRUSTED-SSL-CERT:

        # cat intermediate_ca.pem root_ca.pem > /root/ssl-build/RHN-ORG-TRUSTED-SSL-CERT

        前述のコマンドでは、intermediate_ca.pemはサーバー証明書に署名した中間CAの公開証明書ファイルであり、root_ca.pemは中間証明書に署名したルートCAの公開証明書ファイルです。

        注意

        CAチェーン証明書ファイルのパブリック証明書が表示される順序は重要です。 CAチェーン証明書は、コンポーネント証明書が正しい順序でないと機能しません。

    • ルートCAがサーバー証明書に直接署名した場合(現在はそうは考えられません)、ルートCAの公開証明書だけが必要です。 ルートCA公開証明書ファイルを/root/ssl-build/RHN-ORG-TRUSTED-SSL-CERTにコピーします:

      # cp root_ca.pem /root/ssl-build/RHN-ORG-TRUSTED-SSL-CERT
  4. 次のコマンドを入力して、CA公開証明書に対してサーバー証明書を検証します:

    # openssl verify -CAfile /root/ssl-build/RHN-ORG-TRUSTED-SSL-CERT \
      /root/ssl-build/swksvr/server.crt
    /root/ssl-build/swksvr/server.crt: OK

    コマンドがエラーを返す場合は、RHN-ORG-TRUSTED-SSL-CERTを正しく作成したことを確認し、サーバーの日時が正しく構成されていることも確認します。

  5. CAパブリック証明書をSpacewalkデータベースに格納し、プロビジョニング・クライアント・システムで使用できるようにします:

    # rhn-ssl-dbstore -v --ca-cert=/root/ssl-build/RHN-ORG-TRUSTED-SSL-CERT
    Public CA SSL certificate:  /root/ssl-build/RHN-ORG-TRUSTED-SSL-CERT

    コマンドがエラーを返す場合は、-vvvなどのより高いレベルのデバッグを指定してコマンドを再実行し、問題に関する詳細情報を収集します。

  6. 次のようにして、WebサーバーSSLパッケージを生成してインストールします:

    1. WebサーバーSSLパッケージを生成します。

      # rhn-ssl-tool --gen-server --rpm-only --dir /root/ssl-build
      
      ...working...
      
      Generating web server's SSL key pair/set RPM:
          /root/ssl-build/swksvr/rhn-org-httpd-ssl-key-pair-swksvr-1.0-rev.src.rpm
          /root/ssl-build/swksvr/rhn-org-httpd-ssl-key-pair-swksvr-1.0-rev.noarch.rpm
      
      The most current Spacewalk Proxy Server installation process against RHN hosted
      requires the upload of an SSL tar archive that contains the CA SSL public
      certificate and the web server's key set.
      
      Generating the web server's SSL key set and CA SSL public certificate archive:
          /root/ssl-build/swksvr/rhn-org-httpd-ssl-archive-swksvr-1.0-rev.tar
      
      Deploy the server's SSL key pair/set RPM:
          (NOTE: the Red Hat Satellite or Proxy installers may do this step for you.)
          The "noarch" RPM needs to be deployed to the machine working as a
          web server, or Red Hat Satellite, or Spacewalk Proxy.
          Presumably 'swksvr.mydom.com'.

      パッケージがインストールするファイルを一覧表示します。

      # rpm -qlp /root/ssl-build/swksvr/rhn-org-httpd-ssl-key-pair-swksvr-1.0-rev.src.rpm
      rhn-org-httpd-ssl-key-pair-swksvr-1.0.tar.gz
      rhn-org-httpd-ssl-key-pair-swksvr.spec
      # rpm -qlp /root/ssl-build/swksvr/rhn-org-httpd-ssl-key-pair-swksvr-1.0-rev.noarch.rpm
      /etc/httpd/conf/ssl.crt/server.crt
      /etc/httpd/conf/ssl.csr/server.csr
      /etc/httpd/conf/ssl.key/server.key
      /etc/pki/spacewalk/jabberd/server.pem
    2. WebサーバーSSL noarchパッケージをインストールします。

      # yum install /root/ssl-build/swksvr/rhn-org-httpd-ssl-key-pair-swksvr-1.0-rev.noarch.rpm
  7. パブリックCA証明書パッケージを生成し、パッケージとCAパブリック証明書ファイルの両方をクライアントに使用可能にします。

    1. パブリックCA証明書パッケージを生成します。

      # rhn-ssl-tool --gen-ca --dir=/root/ssl-build --rpm-only
      
      ...working...
      Generating CA public certificate RPM:
          /root/ssl-build/rhn-org-trusted-ssl-cert-1.0-rev.src.rpm
          /root/ssl-build/rhn-org-trusted-ssl-cert-1.0-rev.noarch.rpm
      
      Make the public CA certificate publicly available:
          (NOTE: the Red Hat Satellite or Proxy installers may do this step for you.)
          The "noarch" RPM and raw CA certificate can be made publicly accessible
          by copying it to the /var/www/html/pub directory of your Red Hat Satellite or
          Proxy server.

      パッケージがインストールするファイルを一覧表示します。

      # rpm -qlp /root/ssl-build/rhn-org-trusted-ssl-cert-1.0-rev.src.rpm
      rhn-org-trusted-ssl-cert-1.0.tar.gz
      rhn-org-trusted-ssl-cert.spec
      # rpm -qlp /root/ssl-build/rhn-org-trusted-ssl-cert-1.0-rev.noarch.rpm 
      /usr/share/rhn/RHN-ORG-TRUSTED-SSL-CERT
    2. Spacewalkサーバーまたはプロキシもクライアントとして構成されている場合は、このシステムにパブリックCA証明書noarchパッケージをインストールします。

      # yum install /root/ssl-build/pub/rhn-org-trusted-ssl-cert-1.0-rev.noarch.rpm

      パブリックCA証明書は/usr/share/rhn/RHN-ORG-TRUSTED-SSL-CERTとしてインストールされます。

    3. クライアントからアクセスできるように、rhn-org-trusted-ssl-cert-1.0-rev.noarch.rpmパッケージとCA公開証明書ファイルを/var/www/html/pubにコピーします。

      # cp /root/ssl-build/rhn-org-trusted-ssl-cert-1.0-rev.noarch.rpm /var/www/html/pub
      # cp /root/ssl-build/RHN-ORG-TRUSTED-SSL-CERT /var/www/html/pub
      ノート

      更新されたRHN-ORG-TRUSTED-SSL-CERT/var/www/html/pubにコピーしないと、osa-dispatcherサービスが開始されません。

      ダイジェスト値を次のように比較して、インストールされているRHN-ORG-TRUSTED-SSL-CERTのコピーが同一であることを確認します:

      # sha1sum /root/ssl-build/RHN-ORG-TRUSTED-SSL-CERT \
        /usr/share/rhn/RHN-ORG-TRUSTED-SSL-CERT \
        /var/www/html/pub/RHN-ORG-TRUSTED-SSL-CERT
      74380a372bfa55d8ab7579bf01502c874b8aae84
                            /root/ssl-build/RHN-ORG-TRUSTED-SSL-CERT
      74380a372bfa55d8ab7579bf01502c874b8aae84
                            /usr/share/rhn/RHN-ORG-TRUSTED-SSL-CERT
      74380a372bfa55d8ab7579bf01502c874b8aae84
                            /var/www/html/pub/RHN-ORG-TRUSTED-SSL-CERT

      rhn-org-trusted-ssl-cert-1.0-rev.src.rpmパッケージは、通常、クライアントが使用することはできません。

  8. Spacewalkサーバーで、Spacewalkサービスを停止し、jabberdデータベースを消去してから、Spacewalkを再始動してください。

    # /usr/sbin/spacewalk-service stop
    # rm -Rf /var/lib/jabberd/db/*
    # /usr/sbin/spacewalk-service start

    Spacewalkプロキシで、Spacewalkプロキシ・サービスを再起動します。

    # /usr/sbin/rhn-proxy restart
  9. 残りのSpacewalkクライアントで、パブリックCA証明書パッケージをダウンロードしてインストールします。

    # wget https://swksvr.mydom.com/pub/rhn-org-trusted-ssl-cert-1.0-rev.noarch.rpm
    --2015-06-05 15:15:44--  https://swksvr.mydom.com/pub/rhn-org-trusted-ssl-cert-1.0-rev.noarch.rpm
    Resolving swksvr.mydom.com... 192.168.1.3
    Connecting to swksvr.mydom.com|192.168.1.3|:443... connected.
    HTTP request sent, awaiting response... 200 OK
    Length: 4840 (4.7K) [application/x-rpm]
    Saving to: “rhn-org-trusted-ssl-cert-1.0-2.noarch.rpm”
    
    100%[======================================>] 4,840       --.-K/s   in 0s      
    
    2015-06-05 15:15:44 (57.5 MB/s) - “rhn-org-trusted-ssl-cert-1.0-rev.noarch.rpm” saved [4840/4840]
    
    # yum install /root/ssl-build/pub/rhn-org-trusted-ssl-cert-1.0-rev.noarch.rpm
    ノート

    その後、サーバー証明書が失効または期限切れになったためにサーバー証明書を置き換えた場合は、サーバー証明書に署名するCAを変更しない限り、クライアント上のパブリックCA証明書を更新する必要はありません。

1.6.2  Spacewalk管理者と初期組織の構成

SpacewalkサーバーをインストールしてOracle Databaseに接続したら、メインのSpacewalk管理者アカウントと初期組織を作成する必要があります。 次のステップを実行します。

  1. ブラウザを開き、第1.5項、「Spacewalkサーバーのインストール」のステップ7で指定したURLにアクセスします。

    次の例に示すように、出力に表示されるサーバーはswksvr.mydom.comであり、これはOracle Databaseの構成時に指定したホスト名です:

    Installation complete.
    Visit https://swksvr.mydom.com to create the Spacewalk administrator account.

    Spacewalkはデフォルトで自己署名証明書を使用するため、SSL証明書を交換しない限り、Webブラウザを使用してSpacewalkユーザー・インタフェースを初めて起動したときにこの証明書を信頼するように求められます。 1.6.1項、「自己署名付きSSL証明書の置換」を参照してください。

  2. 「組織の作成」ページ(Create First Userの下にある)で、該当するフィールドに必要な値を入力します。

  3. あなたに提供されているデフォルト値を受け入れます。

  4. 追加の構成の詳細を入力するように求められた場合は、リンクをクリックして「一般的な構成」ページに移動し、必要な値を追加入力します。

  5. 変更を保存し、Spacewalk Webインタフェースにログインします。

    Spacewalk Webインタフェースの「概要」ページが表示されます。

    Spacewalk for Oracle® Linux: クライアント・ライフ・サイクル管理ガイドforリリース2.7「Spacewalk Webインタフェースについて」を参照してください。

1.6.3  SpacewalkサーバーまたはSpacewalkプロキシ上のjabberd/osaデータベースの置換

次のいずれかのエラーが発生した場合は、jabberd/osaデータベースをSpacewalkサーバーまたはプロキシ上に置き換える必要があります:

  • OSAステータスは、クライアント・サーバーの不明な時点でオフラインと表示されます。

  • Spacewalkサーバーまたはプロキシの/var/log/mesasgesosa-dispatcherのエラー。

  • "db: 腐敗が検出されました!Spacewalkサーバーまたはプロキシの/var/log/messagesにあるすべてのjabberdプロセスを閉じてdb_recoverを実行してください。

この問題は、デフォルトのBerkeleyデータベース形式がトランザクションをサポートしておらず、同時に多くのクライアントが同時に更新しようとすると破損する可能性があるために発生します。 SQLiteに切り替えると、jabberdデータベースのトランザクション・サポートが提供され、大幅に多くのダウンストリーム・クライアントを処理できます。

問題を解決するには、次のステップを実行します:

  1. osa-dispatcherjabberdサービスを停止します。

    Oracle Linux 7を実行している場合は、systemctlコマンドを使用します:

    # systemctl stop osa-dispatcher
    # systemctl stop jabberd

    Oracle Linux 6を実行している場合は、serviceコマンドを使用します:

    # service osa-dispatcher stop
    # service jabberd stop
  2. /etc/jabberd/sm.xmlファイルを編集し、"<driver> db </driver>"を"<driver> sqlite </driver>"に変更します。

  3. /etc/jabberd/c2s.xmlファイルを編集し、"<module> db </module>"を"<module> sqlite </module>"に変更します。

  4. 次のようにSQLiteデータベースを作成します:

    # sqlite3 /var/lib/jabberd/db/sqlite.db < /usr/share/jabberd/db-setup.sqlite
    # chown jabber:jabber /var/lib/jabberd/db/sqlite.db
  5. jabberdosa-dispatcherサービスを再開してください。

    Oracle Linux 7の場合は、次のコマンドを入力します:

    # systemctl start jabberd
    # systemctl start osa-dispatcher

    Oracle Linux 6の場合は、次のコマンドを入力します:

    # service jabberd start
    # service osa-dispatcher start
  6. /var/log/messagesをチェックして、SQLiteが使用されていることを確認します。

    # cat /var/log/messages | grep sqlite
       Feb 24 12:46:18 sw24 jabberd/sm[15196]: loading 'sqlite' storage module
       Feb 24 12:46:18 sw24 jabberd/sm[15196]: initialised storage driver 'sqlite'
       Feb 24 12:46:18 sw24 c2s: Fri Feb 24 12:46:18 2017 [info] loading 'sqlite' authreg module
       Feb 24 12:46:18 sw24 c2s: Fri Feb 24 12:46:18 2017 [notice] initialized auth module 'sqlite'
       Feb 24 12:46:18 sw24 jabberd/c2s[15199]: [sirius.lot209.com] configured; realm=, authreg=sqlite,
       registration enabled, using PEM:/etc/pki/spacewalk/jabberd/server.pem
  7. クライアント・サーバー上のosadサービスをリセットして再起動します。

    以前にクライアント・サーバーを登録し、それらのサーバーにosadサービスをインストールした場合は、データベースが切り替えられた後に、osad-auth.confファイルを除去してから、これらのシステムでosadサービスを再始動する必要があります。

    Oracle Linux 7の場合は、次のコマンドを入力します:

    # systemctl stop osad
    # rm -f /etc/sysconfig/rhn/osad-auth.conf
    # systemctl start osad

    Oracle Linux 6の場合は、次のコマンドを入力します:

    # service osad stop
    # rm -f /etc/sysconfig/rhn/osad-auth.conf
    # service osad start

    これらのコマンドを実行すると、各サーバーのosadクライアントがjabberdに再認証されます。

1.6.4  Spacewalkサーバー用のWebプロキシの構成

SpacewalkサーバーがWebプロキシ経由で接続する必要がある場合は、Spacewalkをインストールした後で、次のいずれかのメソッドを使用してWebプロキシを構成できます:

  • /etc/rhn/rhn.confファイルを編集し、次の例に示すように、server.satellite.http_proxyserver.satellite.http_proxy_username、およびserver.satellite.http_proxy_passwordパラメータのWebプロキシ構成設定を指定します:

    server.satellite.http_proxy = webproxy.mydom.com:80
    server.satellite.http_proxy_username = another
    server.satellite.http_proxy_password = examplepass
  • Spacewalk Webインタフェースで、次の操作を行います:

    1. 管理者タブを選択し、次にSpacewalk構成一般の順に選択します。

    2. HTTPプロキシHTTPプロキシ・ユーザー名HTTPプロキシ・パスワード、およびHTTPプロキシ・パスワードを確認の各フィールドにWebプロキシ構成を入力してから、更新をクリックします。

1.7  Spacewalkサーバーのアップグレード

リリース2.6のSpacewalkサーバーをリリース2.7のSpacewalkサーバーに次のようにアップグレードします:

ノート

Oracle Database 11gR2を使用している既存のSpacewalkインスタンスをアップグレードする場合は、Spacewalkリリース2.7にアップグレードする前に、Oracle Database 12cR1に少なくともアップグレードする必要があります。 詳細は、1.4項、「データベース要件および構成手順」を参照してください。

次の手順では、リリース2.7のSpacewalkリポジトリを設定していることを前提としています。

ノート

jpackageリポジトリを使用しないようにしてください。このパッケージはこのバージョンのSpacewalkで廃止されています。 パッケージを無効にするか、/etc/yum.repos.d/jpackage-generic.repoファイルを削除してください。

  1. 次のディレクトリにあるすべてのSpacewalk構成ファイルをバックアップします:

    • /etc/jabberd

    • /etc/rhn

    • /etc/sysconfig/rhn

  2. サーバーSSLビルド・ディレクトリ(通常は/root/ssl-build)をバックアップします。

    たとえば、次のようなコマンドを実行してバックアップを作成できます:

    # tar -cvf preSWupgrade.tar /etc/jabberd /etc/rhn /etc/sysconfig/rhn /root/ssl-build
  3. Spacewalkデータベースをバックアップします。

    Recovery Manager(RMAN)を使用してバックアップを作成する方法の詳細は、次のドキュメントを参照してください:

  4. 以前のSpacewalkリリースのSpacewalkサーバー・パッケージへのアクセスを無効にし、Spacewalk 2.7のパッケージへのアクセスを有効にします。

    • Spacewalkサーバーが自身のクライアントとして登録されている場合は、次の操作を行います:

      1. Oracle Linux 6ベース・チャネルの子としてSpacewalkサーバー・チャネルを作成します。

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

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

      4. oraclelinux-release-el7パッケージに含まれているol7_optional_latestリポジトリを有効にします:

        # yum-config-manager --enable ol7_optional_latest

        このリポジトリに含まれるパッケージは、Spacewalk 2.6からSpacewalk 2.7へのアップグレードを実行するために必要です。

      5. Spacewalk内のSpacewalkサーバーのチャネル・サブスクリプションを、以前のバージョンからリリース2.7のSpacewalkサーバー・チャネルに変更します。

    • Spacewalkサーバーが、Oracle Linux yumサーバーからSpacewalk Server 2.4または2.6パッケージを取得するように構成されている場合は、次のようにします:

      1. Oracle Linux yumサーバー・リポジトリ構成ファイルで、Spacewalk Server 2.4または2.6リポジトリを無効にします。 または、Spacewalk Server 2.4または2.6 .repoファイルを削除します。

      2. システムは最新であり、oraclelinux-release-el6またはoraclelinux-release-el7パッケージをインストールして/usr/bin/ol_yum_configure.shスクリプトを実行することによって、モジュールyumリポジトリ構成を使用するように移行済であることを確認してください。 たとえば、Oracle Linux 7では次のコマンドを実行します:

        # yum install oraclelinux-release-el7
        # /usr/bin/ol_yum_configure.sh
        ノート

        Oracle Linux 7.6メディア以前を使用してインストールされたシステムでは、システムがすでに新しいモジュラyumリポジトリを使用している場合、/usr/bin/ol_yum_configure.shコマンドを実行するとメッセージが表示されます。 このメッセージは無視して問題ありません:

        Missing /etc/yum.repos.d/public-yum-ol7.repo. Exiting

        Oracle Linux 7.7メディア以降を使用してインストールされたシステムは、インストール時にモジュラyum構成を使用するように自動的に構成されることに注意してください。

      3. 適切なyumリポジトリ構成をインストールします。

        • Oracle Linux 6の場合は、oracle-spacewalk-server-release-el6パッケージをインストールします。 ol6_spacewalk27_serverおよびol6_spacewalk27_clientリポジトリは、リポジトリ構成ファイルでデフォルトで有効になっています。

          # yum install oracle-spacewalk-server-release-el6
        • Oracle Linux 7の場合は、oracle-linux-manager-server-release-el7パッケージをインストールします。 このパッケージには新しいネーミング規則が反映されていますが、Spacewalk 2.7の適切な情報が含まれています。

          # yum install oracle-linux-manager-server-release-el7

          次に、Spacewalk 2.7の正しいSpacewalkリポジトリを有効にします。

          # yum-config-manager --disable ol7_oracle-linux-manager210_server ol7_oracle-linux-manager210_client
          # yum-config-manager --enable ol7_spacewalk27_server ol7_spacewalk27_client
  5. バージョン・ロックされたパッケージを確認して削除します。たとえば、次のようになります:

    # yum versionlock list
    # yum versionlock delete cglib c3p0
  6. Spacewalkパッケージをアップグレードします。

    # yum upgrade
  7. Spacewalkサービスを停止します。

    # /usr/sbin/spacewalk-service stop
    Shutting down spacewalk services...
    Stopping RHN Taskomatic...
    Stopped RHN Taskomatic.
    Stopping cobbler daemon:                                   [  OK  ]
    Stopping rhn-search...
    Stopped rhn-search.
    Shutting down osa-dispatcher:                              [  OK  ]
    Stopping httpd:                                            [  OK  ]
    Stopping tomcat6:                                          [  OK  ]
    Terminating jabberd processes ...
    Stopping s2s:                                              [  OK  ]
    Stopping c2s:                                              [  OK  ]
    Stopping sm:                                               [  OK  ]
    Stopping router:                                           [  OK  ]
    Done.
    

    パッケージのインストール時に表示されるSELinux restoreconのメッセージは無視しても問題ありません。

  8. Spacewalkサーバー上で次のコマンドを入力して、Spacewalkデータベース・スキーマをアップグレードします:

    # /usr/bin/spacewalk-schema-upgrade
    Please make sure all Spacewalk services apart from database are stopped.
    Schema upgrade: [spacewalk-schema-2.6.17-1.0.1.el6] -> [spacewalk-schema-2.7.28-1.el6]
    Searching for upgrade path: [spacewalk-schema-2.6.17-1.0.1] -> [spacewalk-schema-2.7.28-1]
    Searching for upgrade path: [spacewalk-schema-2.6.17] -> [spacewalk-schema-2.7.28]
    Searching for upgrade path: [spacewalk-schema-2.6] -> [spacewalk-schema-2.7]
    The path: [spacewalk-schema-2.6] -> [spacewalk-schema-2.7]
    Planning to run spacewalk-sql with [/var/log/spacewalk/schema-upgrade/20180125-085549-script.sql]
    
    Please make sure you have a valid backup of your database before continuing.
    
    Hit Enter to continue or Ctrl+C to interrupt:
    Executing spacewalk-sql, the log is in [/var/log/spacewalk/schema-upgrade/20180125-085549-to-spacewalk-schema-2.7.log].
    The database schema was upgraded to version [spacewalk-schema-2.7.28-1.el6].

    spacewalk-schema-upgradeコマンドの出力で、スキーマのアップグレードに成功したかどうかを確認します。

    障害が発生した場合は、次の操作を行います:

    • 原因を判別するには、/var/log/spacewalk/schema-upgradeディレクトリ内のログ・ファイルを調べてください。

    • バックアップからデータベースをリストアします。

    • 十分なスペースがない場合は、表領域を拡張するなど、問題の原因を解決してください。

    • データベース・スキーマをアップグレードします。

  9. Oracle DatabaseのSpacewalk構成をアップグレードします。

    # spacewalk-setup --external-oracle --upgrade

    ノート

    このステップは、jabberd-dispatcher/osa-dispatcherの構成をデフォルトに戻します。 SQLiteを使用するように切り替えた場合は、手動で構成を編集する必要があります。

  10. Spacewalkサービスを再起動します。

    # /usr/sbin/spacewalk-service start
    Starting spacewalk services...
    Initializing jabberd processes ...
    Starting router:                                           [  OK  ]
    Starting sm:                                               [  OK  ]
    Starting c2s:                                              [  OK  ]
    Starting s2s:                                              [  OK  ]
    Starting tomcat6:                                          [  OK  ]
    Waiting for tomcat to be ready ...
    Starting httpd:                                            [  OK  ]
    Starting osa-dispatcher:                                   [  OK  ]
    Starting rhn-search...
    Starting cobbler daemon:                                   [  OK  ]
    Starting RHN Taskomatic...
    Done.
  11. 必要なインストール後の作業を実行します。

    1.6項、「新しくインストールされたSpacewalkサーバーの構成」の情報を確認してください。

1.8  Spacewalkサーバーの問題のトラブルシューティング

次の情報は、Spacewalkサーバーで発生する可能性のある問題の診断と解決方法を説明しています。 その他の既知の問題および回避策の詳細は、『Spacewalk for Oracle® Linux: リリース・ノートforリリース2.7』を参照してください。

/usr/sbin/spacewalk-serviceのステータスコマンドを使用して、Spacewalkサービスが正しく実行されていないかどうかを確認します。 サービスが正常に開始されない場合、問題は通常、インストール中に誤った構成情報が提供されたために発生します。

次のログファイルでエラーを確認します:

/var/log/httpd/*

httpdサービスのログファイルですか?。

/var/log/rhn_satellite_install.log

インストール・ログファイルです。

/var/log/rhn/reposync/*

リポジトリ同期ログファイルです。

/var/log/rhn/rhn_server_satellite.log

同期ログファイルです。

/var/log/rhn/rhn_server_xmlrpc.log

XML-RPCトランザクション・ログファイルです。

/var/log/rhn/rhn_taskomatic_daemon.log

Red Hat Network(RHN)タスク・エンジン(Taskomatic)のログ・メッセージです。

/var/log/tomcat6

Oracle Linux 6のTomcatログ・メッセージです。

/var/log/tomcat

Oracle Linux 7のTomcatログ・メッセージです。

/var/log/yum.log

Yumログ・ファイルです。

1.8.1  Spacewalkロギングの管理

Spacewalkは、特に/var/log/httpdディレクトリの下に多数のログ・メッセージを生成します。 ディスク・スペースが足りなくなるのを防ぐため、logrotateの設定を調整して、よりアクティブなローテーション、圧縮、およびログファイルのアーカイブを実装する必要があります。

詳細は、Oracle® Linux 6: 管理者ガイドおよびOracle® Linux 7: 管理者ガイドを参照してください。

1.8.2  osa-dispatcherが証明書検証の失敗を報告

osa-dispatcherサービスを手動で起動すると、次のようなエラー・メッセージが表示されることがあります:

$ sudo systemctl start osa-dispatcher
Starting osa-dispatcher: Spacewalk 10611 2015/05/26 17:11:22 +01:00: ('Traceback caught:',)
Spacewalk 10611 2015/05/26 17:11:22 +01:00: ('Traceback (most recent call last):\n  
    File "/usr/share/rhn/osad/jabber_lib.py", line 631, in connect\n    
    ssl.do_handshake()\nError: [(\'SSL routines\', \'SSL3_GET_SERVER_CERTIFICATE\', 
    \'certificate verify failed\')]\n',)
                                                          [FAILED]

このエラーは通常、システム・ホスト名がDNS内のFQDNと一致しないか、Spacewalkをインストールしたときに組織単位の名前に不正なFQDNを指定したことを示しています。

問題を解決するには、SSL証明書を再生成します。 ただし、システム・ホスト名が時間の経過とともに変更されている場合は、証明書を再生成する際に、証明書のパスワードを指定する必要があります。 準備するには、まず正しいパスワードを知っていることを確認します。 次のコマンドを入力します。

$ sudo openssl rsa -in /root/ssl-build/RHN-ORG-PRIVATE-SSL-KEY 
Enter pass phrase for /root/ssl-build/RHN-ORG-PRIVATE-SSL-KEY: cert_passwd
writing RSA key
-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEAvYQ/Enqo+T3WByuXiOQCpIh7eBFdqWt/e+cm3pfvGYBqi/1g
...
+rEs1ZK2mCoofnPzg2o097oPj5v4IHYh8Bmlssbk9BHvQ2ZQckSA
-----END RSA PRIVATE KEY-----

正しいパスワードを入力した場合は、base64でエンコードされた秘密キーが表示されます。 それ以外の場合、このコマンドはエラー・メッセージunable to load Private Keyを生成します。

確認後、次のステップに進みます:

  1. 次のコマンドを発行して証明書を再生成します:

    $ sudo /usr/sbin/spacewalk-hostname-rename IP_address --ssl-orgunit=FQDN
  2. パスワードを求められたら、以前に既存の証明書を作成したときに使用したものと同じパスワードを入力します。

  3. 次のコマンドを入力して、jabberdデータベースを消去します。

    • Oracle Linux 6の場合:

      $ sudo service jabberd stop
      $ sudo service osa-dispatcher stop
      $ sudo rm -Rf /var/lib/jabberd/db/*
      $ sudo service jabberd start
      $ sudo service osa-dispatcher start
    • Oracle Linux 7の場合:

      $ sudo systemctl stop jabberd
      $ sudo systemctl stop osa-dispatcher
      $ sudo rm -Rf /var/lib/jabberd/db/*
      $ sudo systemctl start jabberd
      $ sudo systemctl start osa-dispatcher
  4. サーバーに登録されているすべてのクライアントで、/etc/sysconfig/rhn/up2dateファイルのserverURLの値が正しいサーバーのホスト名またはIP値で構成されていることを確認します。たとえば、次のようになります:

    serverURL=https://swksvr.mydom.com/XMLRPC

1.8.3  osa-dispatcherが無効なパスワードを報告

osa-dispatcherサービスが正しく起動したが後で予期せず停止すると、次のようなログ・エラーが表示されることがあります:

Spacewalk 2316 2015/06/05 20:38:47 +01:00: ('Invalid password',)

このエラーは、jabberdデータベースに無効なエントリが含まれている場合に発生します。

エラーをクリアするには、jabberdおよびosa-dispatcherサービスを停止し、jabberdデータベースを消去してから、jabberdおよびosa-dispatcherサービスを再起動します。

Oracle Linux 6の場合は、次のコマンドを入力します:

# service jabberd stop
# service osa-dispatcher stop
# rm -Rf /var/lib/jabberd/db/*
# service jabberd start
# service osa-dispatcher start

Oracle Linux 7の場合は、次のコマンドを入力します:

# systemctl stop jabberd
# systemctl stop osa-dispatcher
# rm -Rf /var/lib/jabberd/db/*
# systemctl start jabberd
# systemctl start osa-dispatcher
ノート

OSAの問題を回避するには、定期的にjabberdデータベースをクリアする必要があります。

データベースの破損を回避するには、第1.6.3項、「SpacewalkサーバーまたはSpacewalkプロキシのjabberd/osaデータベースの置換」の手順に従います。

1.8.4  Tomcatが起動しない

Tomcatサービスが起動しない場合は、geronimo-jta-1.1-apiパッケージの代わりにjtaパッケージがインストールされている可能性があります。

この問題を解決するには、jtaパッケージを削除し、geronimo-jta-1.1-apiパッケージをインストールします。

Spacewalkサービスを再起動します。

# /usr/sbin/spacewalk-service restart

1.8.5  Tomcatのメモリー不足

TomcatログにOutOfMemoryError: Java heap spaceなどのメッセージが表示された場合は、Tomcatサービスで使用可能なヒープの最大メモリー量を次のように増やします:

  1. Oracle Linux 6の/etc/sysconfig/tomcat6ファイルまたはOracle Linux 7の/etc/sysconfig/tomcatファイルを編集し、JAVA_OPTS設定の引数を-Xmxに増やします。

    たとえば、-Xmx1024mはヒープの最大サイズを1 GBに増やします。

  2. Spacewalkサービスを再起動します。

    # /usr/sbin/spacewalk-service restart