SUSE 用 Linux Virtual Delivery Agent を手動でインストールする

最終公開日 : Nov 13, 2026
重要:
新規インストールの場合、迅速なインストールには (/ja-jp/linux-virtual-delivery-agent/2109/installation-overview/easy-install.html) を使用することをお勧めします。イージーインストールは、時間と労力を節約し、この記事で詳述されている手動インストールよりもエラーが発生しにくいです。

ステップ 1: インストールの準備

ステップ 1a: YaST ツールを起動する

SUSE Linux Enterprise YaST ツールは、オペレーティングシステムのあらゆる側面を設定するために使用されます。
テキストベースの YaST ツールを起動するには:
su -

yast
UI ベースの YaST ツールを起動するには:
su -

yast2 &

ステップ 1b: ネットワークを構成する

以下のセクションでは、Linux VDA で使用されるさまざまなネットワーク設定とサービスの構成に関する情報を提供します。ネットワークの構成は、Network Manager などの他の方法ではなく、YaST ツールを介して実行されます。これらの手順は、UI ベースの YaST ツールを使用することを前提としています。テキストベースの YaST ツールも使用できますが、ここでは文書化されていない異なるナビゲーション方法があります。

ホスト名と DNS を構成する

  1. YaST ネットワーク設定を開きます。
  2. SLED 12 のみ: Global Options タブで、Network Setup Method を Wicked Service に変更します。
  3. Hostname/DNS タブを開きます。
  4. Change hostname via DHCP のチェックを外します。
  5. Assign Hostname to Loopback IP をチェックします。
  6. ネットワーク設定を反映するように、以下を編集します。
    • ホスト名 – マシンのDNSホスト名を追加します。
    • ドメイン名 – マシンのDNSドメイン名を追加します。
    • ネームサーバー – DNSサーバーのIPアドレスを追加します。通常、これはADドメインコントローラーのIPアドレスです。
    • ドメイン検索リスト – DNSドメイン名を追加します。
注:
Linux VDAは現在、NetBIOS名の切り捨てをサポートしていません。そのため、ホスト名は15文字を超えてはなりません。 ヒント:
a~z、A~Z、0~9、およびハイフン (-) の文字のみを使用してください。アンダースコア (\_)、スペース、その他の記号は避けてください。ホスト名を数字で始めたり、ハイフンで終わらせたりしないでください。このルールは、Delivery Controllerのホスト名にも適用されます。

マルチキャストDNSを無効にする

SLEDのみ、デフォルト設定ではマルチキャストDNS (mDNS) が有効になっており、名前解決の結果が不安定になる可能性があります。mDNSはSLESではデフォルトで有効になっていないため、何もする必要はありません。
mDNSを無効にするには、/etc/nsswitch.conf を編集し、次の行を変更します。
hosts: files mdns_minimal [NOTFOUND=return] dns
に変更します。
hosts: files dns

ホスト名を確認する

ホスト名が正しく設定されていることを確認します。
hostname
このコマンドは、マシンのホスト名のみを返し、完全修飾ドメイン名 (FQDN) は返しません。
FQDNが正しく設定されていることを確認します。
hostname -f
このコマンドは、マシンのFQDNを返します。

名前解決とサービスの到達可能性を確認する

FQDNを解決し、ドメインコントローラーとDelivery Controller™にpingできることを確認します。
nslookup domain-controller-fqdn

ping domain-controller-fqdn

nslookup delivery-controller-fqdn

ping delivery-controller-fqdn
FQDNを解決できない場合、またはこれらのマシンのいずれかにpingできない場合は、続行する前に手順を確認してください。

ステップ1c: NTPサービスを構成する

VDA、Delivery Controller、およびドメインコントローラー間で正確な時刻同期を維持することが重要です。Linux VDAを仮想マシンとしてホストすると、クロックスキューの問題が発生する可能性があります。このため、リモートNTPサービスを使用して時刻を維持することが推奨されます。デフォルトのNTP設定にはいくつかの変更が必要になる場合があります。
  1. YaST NTP構成を開き、General Settingsタブを選択します。
  2. Start NTP Daemonセクションで、Now and on Bootをオンにします。
  3. 存在する場合は、**Undisciplined Local Clock (LOCAL)**項目を選択し、Deleteをクリックします。
  4. AddをクリックしてNTPサーバーのエントリを追加します。
  5. Server Typeを選択し、Nextをクリックします。
  6. アドレスフィールドにNTPサーバーのDNS名を入力します。このサービスは通常、Active Directoryドメインコントローラーでホストされます。
  7. Optionsフィールドは変更しないでください。
  8. NTPサービスに到達可能であることを確認するには、Testをクリックします。
  9. 一連のウィンドウでOKをクリックして変更を保存します。
注:
SLES 12の実装では、AppArmorポリシーに関する既知のSUSEの問題により、NTPデーモンが起動に失敗する可能性があります。詳細については、解決策に従ってください。

ステップ1d: Linux VDAの依存パッケージをインストールする

SUSE Linux Enterprise用Linux VDAソフトウェアは、次のパッケージに依存します:
  • ポストグレスキューエル10サーバー 10.12 以降
  • OpenJDK 11
  • OpenMotif ランタイム環境 2.3.1 以降
  • Cups 1.6.0 以降
  • Foomatic フィルター 3.0.0 以降
  • ImageMagick 6.8 以降

リポジトリを追加する

PostgreSQLやImageMagickなどの必要なパッケージは、SUSE Linux Enterprise Software Development Kit (SDK) から入手できます。パッケージを入手するには、YaSTを使用してSDKリポジトリを追加するか、SDKイメージファイルをダウンロードして、次のコマンドを使用してローカルにマウントします:
sudo mkdir -p /mnt/sdk

sudo mount -t iso9660 path-to-iso/SLE-12-SP5-SDK-DVD-x86_64-GM-DVD1.iso /mnt/sdk

sudo zypper ar -f /mnt/sdk sdk

Kerberosクライアントをインストールする

Linux VDAとDelivery Controller間の相互認証のために、Kerberosクライアントをインストールします:
sudo zypper install krb5-client
Kerberosクライアントの構成は、使用されるActive Directory統合アプローチによって異なります。以下の説明を参照してください。

OpenJDK 11をインストールする

Linux VDA には OpenJDK 11 が必要です。
OpenJDK 11 をインストールするには、次のコマンドを実行します。
sudo zypper install java-11-openjdk

PostgreSQL をインストールする

SLED/SLES 12 で、パッケージをインストールします。
sudo zypper install postgresql-init

sudo zypper install postgresql10-server

sudo zypper install postgresql-jdbc
データベースサービスを初期化し、マシンの起動時に PostgreSQL が開始されるようにするには、インストール後の手順が必要です。
sudo systemctl enable postgresql

sudo systemctl restart postgresql
データベースファイルは /var/lib/pgsql/data にあります。

リポジトリを削除する

依存パッケージがインストールされたら、次のコマンドを実行して、以前に設定した SDK リポジトリとマウントされたメディアを削除します。
sudo zypper rr sdk

sudo umount /mnt/sdk

sudo rmdir /mnt/sdk

ステップ 2:ハイパーバイザー用に Linux VM を準備する

サポートされているハイパーバイザー上で Linux VDA を仮想マシンとして実行する場合、いくつかの変更が必要です。使用しているハイパーバイザープラットフォームに応じて、次の変更を行います。Linux マシンをベアメタルハードウェアで実行している場合、変更は不要です。

Citrix Hypervisor™ での時刻同期を修正する

Citrix Hypervisor の時刻同期機能が有効になっている場合、各準仮想化 Linux VM 内で、NTP と Citrix Hypervisor の両方がシステムクロックを管理しようとする問題が発生します。クロックが他のサーバーと同期しなくなるのを避けるため、各 Linux ゲスト内のシステムクロックは NTP と同期させる必要があります。この場合、ホストの時刻同期を無効にする必要があります。HVM モードでは変更は不要です。
一部の Linux ディストリビューションでは、Citrix VM Tools がインストールされた準仮想化 Linux カーネルを実行している場合、Linux VM 内から Citrix Hypervisor の時刻同期機能が存在し、有効になっているかどうかを確認できます。
su -

cat /proc/sys/xen/independent_wallclock
このコマンドは 0 または 1 を返します。
  • 0 - 時刻同期機能が有効になっており、無効にする必要があります。
  • 1 - 時刻同期機能は無効になっており、それ以上の操作は必要ありません。
/proc/sys/xen/independent\_wallclock ファイルが存在しない場合、以下の手順は不要です。
有効になっている場合は、ファイルに 1 を書き込むことで時刻同期機能を無効にします。
sudo echo 1 > /proc/sys/xen/independent_wallclock
この変更を再起動後も永続的にするには、/etc/sysctl.conf ファイルを編集して次の行を追加します。
xen.independent_wallclock = 1
これらの変更を確認するには、システムを再起動します。
reboot
再起動後、設定が正しいことを確認します。
su -

cat /proc/sys/xen/independent_wallclock
このコマンドは値1を返します。

Microsoft Hyper-Vでの時刻同期の修正

Hyper-V Linux Integration ServicesがインストールされているLinux VMは、Hyper-Vの時刻同期機能を使用してホストオペレーティングシステムの時刻を使用できます。システムクロックの精度を確保するため、NTPサービスと並行してこの機能を有効にしてください。
管理オペレーティングシステムから:
  1. Hyper-Vマネージャーコンソールを開きます。
  2. Linux VMの設定については、統合サービスを選択します。
  3. 時刻同期が選択されていることを確認します。
注:
このアプローチは、NTPとの競合を避けるためにホスト時刻同期が無効になっているVMwareおよびCitrix Hypervisorとは異なります。Hyper-Vの時刻同期は、NTP時刻同期と共存し、補完することができます。

ESXおよびESXiでの時刻同期の修正

VMware Time Synchronization機能が有効になっている場合、準仮想化Linux VM内で、NTPとハイパーバイザーの両方がシステムクロックを同期しようとする問題が発生します。他のサーバーとのクロックのずれを防ぐため、各Linuxゲスト内のシステムクロックをNTPと同期させてください。この場合、ホストの時刻同期を無効にする必要があります。
VMware Toolsがインストールされた準仮想化Linuxカーネルを実行している場合:
  1. vSphere Clientを開きます。
  2. Linux VMの設定を編集します。
  3. Virtual Machine Propertiesダイアログで、Optionsタブを開きます。
  4. VMware Toolsを選択します。
  5. Advancedボックスで、Synchronize guest time with hostのチェックを外します。

ステップ3:Linux仮想マシン(VM)をWindowsドメインに追加する

Linux VDAは、LinuxマシンをActive Directory(AD)ドメインに追加するためのいくつかの方法をサポートしています。
選択した方法に基づいて指示に従ってください。
注:
Linux VDAのローカルアカウントとADのアカウントで同じユーザー名を使用すると、セッションの起動に失敗する可能性があります。

サンバ Winbind

Windowsドメインへの参加

ドメインコントローラーに到達可能である必要があり、マシンをドメインに追加する権限を持つActive Directoryユーザーアカウントが必要です。
  1. YaST Windowsドメインメンバーシップを開きます。
  2. 次の変更を行います。
    • Domain or WorkgroupをActive Directoryドメインの名前またはドメインコントローラーのIPアドレスに設定します。ドメイン名が大文字であることを確認してください。
    • 「Linux認証にもSMB情報を使用する」をオンにします。
    • Create Home Directory on Loginをオンにします。
    • Single Sign-on for SSHをオンにします。
    • Offline Authenticationがオフになっていることを確認します。このオプションはLinux VDAと互換性がありません。
  3. OKをクリックします。一部のパッケージのインストールを求められた場合は、Installをクリックします。
  4. ドメインコントローラーが見つかると、ドメインに参加するかどうかを尋ねられます。Yesをクリックします。
  5. プロンプトが表示されたら、コンピューターをドメインに追加する権限を持つドメインユーザーの資格情報を入力し、OKをクリックします。
  6. 成功を示すメッセージが表示されます。
  7. 「samba」と「krb5」パッケージのインストールを求められた場合は、「インストール」をクリックします。
YaSTは、これらの変更に一部のサービスまたはマシンの再起動が必要であることを示している場合があります。マシンを再起動することをお勧めします。
su -

reboot

SUSE 12のみ: Kerberos資格情報キャッシュ名のパッチ適用

SUSE 12では、デフォルトのKerberos資格情報キャッシュ名の指定が、通常のFILE:/tmp/krb5cc\_%{uid}からDIR:/run/user/%{uid}/krb5ccに変更されました。この新しいDIRキャッシュ方法はLinux VDAと互換性がないため、手動で変更する必要があります。rootユーザーとして、/etc/krb5.confを編集し、設定されていない場合は**\[libdefaults\]**セクションの下に次の設定を追加します。
default_ccache_name = FILE:/tmp/krb5cc_%{uid}

ドメインメンバーシップの確認

Delivery Controllerでは、すべてのVDAマシン(WindowsおよびLinux VDA)がActive Directoryにコンピューターオブジェクトを持っている必要があります。
Sambaのnet adsコマンドを実行して、マシンがドメインに参加していることを確認します。
sudo net ads testjoin
追加のドメインおよびコンピューターオブジェクト情報を確認するには、次のコマンドを実行します。
sudo net ads info

Kerberos構成の確認

Linux VDAで使用するためにKerberosが正しく構成されていることを確認するには、システムキータブファイルが作成され、有効なキーが含まれていることを確認します。
sudo klist –ke
このコマンドは、プリンシパル名と暗号スイートのさまざまな組み合わせで利用可能なキーのリストを表示します。これらのキーを使用してマシンをドメインコントローラーで認証するには、Kerberos kinit コマンドを実行します。
sudo kinit -k MACHINE\$@REALM
マシン名とレルム名は大文字で指定する必要があります。ドル記号 ($) は、シェル置換を防ぐためにバックスラッシュ (\\) でエスケープする必要があります。一部の環境では、DNSドメイン名がKerberosレルム名と異なる場合があります。レルム名が使用されていることを確認してください。このコマンドが成功した場合、出力は表示されません。
マシンアカウントのTGTチケットがキャッシュされていることを確認するには、次を使用します。
sudo klist
マシンアカウントの詳細を確認するには、次を使用します。
sudo net ads status

ユーザー認証の確認

ドメインユーザーがドメインで認証できることを確認するには、wbinfo ツールを使用します。
wbinfo --krb5auth=domain\\username%password
ここで指定するドメインは、Kerberosレルム名ではなくADドメイン名です。bashシェルでは、バックスラッシュ (\\) 文字は別のバックスラッシュでエスケープする必要があります。このコマンドは、成功または失敗を示すメッセージを返します。
Winbind PAMモジュールが正しく構成されていることを確認するには、これまで使用したことのないドメインユーザーアカウントを使用してLinux VDAにログオンします。
ssh localhost -l domain\\username
id -u
id -u コマンドによって返されたuidに対応するKerberos資格情報キャッシュファイルが作成されたことを確認します。
ls /tmp/krb5cc_uid
ユーザーのKerberos資格情報キャッシュ内のチケットが有効で、期限切れになっていないことを確認します。
klist
セッションを終了します。
exit
同様のテストは、GnomeまたはKDEコンソールに直接ログオンして実行できます。ドメイン参加の確認後、手順6:Linux VDAのインストール に進みます。

Quest認証サービス

ドメインコントローラーでのQuestの構成

Active DirectoryドメインコントローラーにQuestソフトウェアをインストールして構成し、Active Directoryでコンピューターオブジェクトを作成するための管理者権限が付与されていることを前提とします。

ドメインユーザーがLinux VDAマシンにログオンできるようにする

ドメインユーザーがLinux VDAマシンでHDX™セッションを確立できるようにするには:
  1. Active Directoryユーザーとコンピューター管理コンソールで、そのユーザーアカウントのActive Directoryユーザープロパティを開きます。
  2. Unixアカウントタブを選択します。
  3. Unix対応をオンにします。
  4. 「プライマリ GID 番号」を実際のドメインユーザーグループのグループIDに設定します。
注:
これらの手順は、コンソール、RDP、SSH、またはその他のリモートプロトコルを使用してドメインユーザーのログオンを設定する場合にも同様に適用されます。

Linux VDAでQuestを構成する

VASデーモンを構成する
Kerberosチケットの自動更新を有効にし、切断する必要があります。認証(オフラインログオン)は無効にする必要があります。
sudo /opt/quest/bin/vastool configure vas vasd auto-ticket-renew-interval 32400

sudo /opt/quest/bin/vastool configure vas vas_auth allow-disconnected-auth false
このコマンドは、更新間隔を9時間(32,400秒)に設定します。これは、デフォルトの10時間のチケット有効期間より1時間短いです。チケット有効期間が短いシステムでは、このパラメーターをより低い値に設定してください。
PAMとNSSを構成する
HDXおよびsu、ssh、RDPなどの他のサービスを介したドメインユーザーログオンを有効にするには、次のコマンドを実行してPAMとNSSを手動で構成します。
sudo /opt/quest/bin/vastool configure pam

sudo /opt/quest/bin/vastool configure nss

Windowsドメインに参加する

Quest vastool コマンドを使用して、LinuxマシンをActive Directoryドメインに参加させます。
sudo /opt/quest/bin/vastool -u user join domain-name
ユーザーは、コンピューターをActive Directoryドメインに参加させる権限を持つ任意のドメインユーザーです。ドメイン名は、ドメインのDNS名です(例: example.com)。

ドメインメンバーシップを確認する

Delivery Controllerは、すべてのVDAマシン(Windows VDAおよびLinux VDA)がActive Directoryにコンピューターオブジェクトを持つことを要求します。Questに参加しているLinuxマシンがドメイン上にあることを確認するには:
sudo /opt/quest/bin/vastool info domain
マシンがドメインに参加している場合、このコマンドはドメイン名を返します。マシンがどのドメインにも参加していない場合、次のエラーが表示されます。
ERROR: No domain could be found.
ERROR: VAS_ERR_CONFIG: at ctx.c:414 in _ctx_init_default_realm default_realm not configured in vas.conf. Computer may not be joined to domain

ユーザー認証を確認する

QuestがPAMを介してドメインユーザーを認証できることを確認するには、これまで使用されていないドメインユーザーアカウントを使用してLinux VDAにログオンします。
ssh localhost -l domain\\username
id -u
id -u コマンドによって返されたuidに対応するKerberos資格情報キャッシュファイルが作成されたことを確認します。
ls /tmp/krb5cc_uid
Kerberos資格情報キャッシュ内のチケットが有効で、期限切れになっていないことを確認します。
/opt/quest/bin/vastool klist
セッションを終了します。
exit
同様のテストは、GnomeまたはKDEコンソールに直接ログオンすることで実行できます。ドメイン参加の検証後、(/ja-jp/linux-virtual-delivery-agent/2109/installation-overview/suse.html#step-6-install-the-linux-vda)に進みます。

セントリファイ ダイレクトコントロール

Windowsドメインへの参加

Centrify DirectControl Agentがインストールされている状態で、Centrifyの adjoin コマンドを使用してLinuxマシンをActive Directoryドメインに参加させます。
su –
adjoin -w -V -u user domain-name
user は、コンピューターをActive Directoryドメインに参加させる権限を持つActive Directoryドメインユーザーです。domain-name は、Linuxマシンを参加させるドメインの名前です。

ドメインメンバーシップの確認

Delivery Controllerは、すべてのVDAマシン(WindowsおよびLinux VDA)がActive Directory内にコンピューターオブジェクトを持つことを要求します。Centrifyに参加したLinuxマシンがドメイン上にあることを確認するには:
su –

adinfo
Joined to domain の値が有効であり、CentrifyDC の mode が connected を返すことを確認します。モードが開始状態のままになっている場合、Centrifyクライアントはサーバー接続または認証の問題を抱えています。
より包括的なシステムおよび診断情報は、以下を使用して利用できます。
adinfo --sysinfo all

adinfo –diag
さまざまなActive DirectoryおよびKerberosサービスへの接続をテストします。
adinfo --test
ドメイン参加の検証後、(/ja-jp/linux-virtual-delivery-agent/2109/installation-overview/suse.html#step-6-install-the-linux-vda)に進みます。

SSSD

SUSEでSSSDを使用している場合は、このセクションの手順に従ってください。このセクションには、Linux VDAマシンをWindowsドメインに参加させるための手順と、Kerberos認証を構成するためのガイダンスが含まれています。
SUSEでSSSDをセットアップするには、次の手順を完了してください。
  1. ドメインに参加し、ホストキータブを作成する
  2. SSSD用にPAMを構成する
  3. SSSDをセットアップする
  4. SSSDを有効にする
  5. ドメインメンバーシップを確認する
  6. Kerberos構成を確認する
  7. ユーザー認証を確認する

ドメインに参加し、ホストキータブを作成する

SSSDは、ドメインへの参加やシステムキータブファイルの管理のためのActive Directoryクライアント機能を提供しません。代わりにSambaアプローチを使用できます。SSSDを構成する前に、次の手順を完了してください。
  1. Name Service Cache Daemon (NSCD) デーモンを停止して無効にします。
    sudo systemctl stop nscd

    sudo systemctl disable nscd
  2. 必要なパッケージをインストールまたは更新します。
    sudo zypper install krb5-client

    sudo zypper install samba-client
  3. rootユーザーとして/etc/krb5.confファイルを編集し、kinitユーティリティがターゲットドメインと通信できるようにします。、、および****セクションの下に次のエントリを追加します。
    注:
    ADインフラストラクチャに基づいてKerberosを構成します。以下の設定は、単一ドメイン、単一フォレストモデルを対象としています。
    [libdefaults]

        dns_canonicalize_hostname = false

        rdns = false

        default_realm = REALM

        forwardable = true

    [realms]

        REALM = {

             kdc = fqdn-of-domain-controller

            default_domain = realm

            admin_server =     fqdn-of-domain-controller
        }
    [domain_realm]

        .realm = REALM

        realm = REALM
    realm はKerberosレルム名(例:example.com)です。REALM は大文字のKerberosレルム名(例:EXAMPLE.COM)です。fqdn-of-domain-controller はドメインコントローラーのFQDNです。
  4. ルートユーザーとして/etc/samba/smb.confを編集し、net ユーティリティがターゲットドメインと通信できるようにします。 セクションの下に次のエントリを追加します。
    [global]
        workgroup = domain

        realm = REALM

        security = ADS

        kerberos method = secrets and keytab

        client signing = yes

        client use spnego = yes
    domain はActive Directoryドメインの短いNetBIOS名(例:EXAMPLE)です。
  5. /etc/nsswitch.confファイル内のpasswd および group エントリを変更して、ユーザーとグループを解決する際にSSSDを参照するようにします。
    passwd: compat sss

    group: compat sss
  6. Windowsドメインに参加します。ドメインコントローラーに到達可能であり、コンピューターをドメインに追加する権限を持つActive Directoryユーザーアカウントがあることを確認してください。
    sudo realm join REALM -U user
    user は、コンピューターをドメインに追加する権限を持つドメインユーザーです。

SSSDのPAMを構成する

SSSDのPAMを構成する前に、必要なパッケージをインストールまたは更新してください。
sudo zypper install sssd sssd-ad
SSSDを介したユーザー認証のためにPAMモジュールを構成し、ユーザーログオン用のホームディレクトリを作成します。
sudo pam-config --add  --sss
sudo pam-config --add --mkhomedir

SSSDをセットアップする

  1. ルートユーザーとして/etc/sssd/sssd.confを編集し、SSSDデーモンがターゲットドメインと通信できるようにします。sssd.conf構成の例(必要に応じて追加オプションを追加できます):
    [sssd]
        config_file_version = 2
        services = nss,pam
        domains = domain-dns-name

    [domain/domain-dns-name]
        id_provider = ad
        auth_provider = ad
        access_provider = ad
        ad_domain = domain-dns-name
        ad_server = fqdn-of-domain-controller
        ldap_id_mapping = true
        ldap_schema = ad

    # Kerberos settings
        krb5_ccachedir = /tmp
        krb5_ccname_template = FILE:%d/krb5cc_%U

    # Comment out if the users have the shell and home dir set on the AD side

        fallback_homedir = /home/%d/%u
        default_shell = /bin/bash

    # Uncomment and adjust if the default principal SHORTNAME$@REALM is not available

    # ldap_sasl_authid = host/client.ad.example.com@AD.EXAMPLE.COM

        ad_gpo_access_control = permissive
    domain-dns-name はDNSドメイン名(例:example.com)です。
    注:
    ldap_id_mapping はtrueに設定されており、SSSD自体がWindows SIDをUnix UIDにマッピングします。そうでない場合、Active DirectoryはPOSIX拡張機能を提供できる必要があります。ad_gpo_access_control は、Linuxセッションでの無効なログオンエラーを防ぐためにpermissive に設定されています。sssd.confおよびsssd-adのmanページを参照してください。
  2. sssd.confのファイルの所有権とアクセス許可を設定します。
    sudo chmod 0600 /etc/sssd/sssd.conf

SSSD を有効にする

システム起動時に SSSD デーモンを有効にして起動するには、次のコマンドを実行します。
sudo systemctl enable sssd
sudo systemctl start sssd

ドメインメンバーシップの確認

  1. Samba の net ads コマンドを実行して、マシンがドメインに参加していることを確認します。
    sudo net ads testjoin
  2. 次のコマンドを実行して、追加のドメインおよびコンピューターオブジェクト情報を確認します。
    sudo net ads info

Kerberos 構成の確認

Kerberos が Linux VDA で使用するために正しく構成されていることを確認するには、システム keytab ファイルが作成され、有効なキーが含まれていることを確認します。
sudo klist -ke
このコマンドは、プリンシパル名と暗号スイートのさまざまな組み合わせで利用可能なキーのリストを表示します。Kerberos kinit コマンドを実行して、これらのキーを使用してドメインコントローラーでマシンを認証します。
sudo kinit –k MACHINE\$@REALM
マシン名とレルム名は大文字で指定する必要があります。シェル置換を防ぐため、ドル記号 ($) はバックスラッシュ (**\**) でエスケープする必要があります。一部の環境では、DNS ドメイン名が Kerberos レルム名と異なる場合があります。レルム名が使用されていることを確認してください。このコマンドが成功した場合、出力は表示されません。
次のコマンドを使用して、マシンアカウントの TGT チケットがキャッシュされていることを確認します。
sudo klist

ユーザー認証の確認

SSSD は、デーモンで認証を直接テストするためのコマンドラインツールを提供しておらず、PAM を介してのみ実行できます。
SSSD PAM モジュールが正しく構成されていることを確認するには、これまで使用したことのないドメインユーザーアカウントを使用して、Linux VDA にログオンします。
ssh localhost -l domain\\username

id -u

klist

exit
klist コマンドによって返された Kerberos チケットがそのユーザーに対して正しく、期限切れになっていないことを確認します。
root ユーザーとして、以前の id -u コマンドによって返された uid に対して対応するチケットキャッシュファイルが作成されたことを確認します。
ls /tmp/krb5cc_uid
GnomeまたはKDEコンソールに直接ログオンすることで、同様のテストを実行できます。ドメイン参加の検証後、手順6: Linux VDAをインストールするに進みます。

PBIS

必要なPBISパッケージをダウンロードする

例:
wget https://github.com/BeyondTrust/pbis-open/releases/download/8.8.0/pbis-open-8.8.0.506.linux.x86_64.rpm.sh

PBISインストールスクリプトを実行可能にする

例:
chmod +x pbis-open-8.8.0.506.linux.x86_64.rpm.sh

PBISインストールスクリプトを実行する

例:
sh pbis-open-8.8.0.506.linux.x86_64.rpm.sh

Windowsドメインに参加する

ドメインコントローラーに到達可能である必要があり、コンピューターをドメインに追加する権限を持つActive Directoryユーザーアカウントが必要です。
/opt/pbis/bin/domainjoin-cli join domain-name user
userは、コンピューターをActive Directoryドメインに追加する権限を持つドメインユーザーです。domain-nameは、ドメインのDNS名です(例: example.com)。
注: Bashをデフォルトシェルとして設定するには、/opt/pbis/bin/config LoginShellTemplate/bin/bashコマンドを実行します。

ドメインメンバーシップを確認する

Delivery Controllerは、すべてのVDAマシン(WindowsおよびLinux VDA)がActive Directoryにコンピューターオブジェクトを持つことを要求します。PBISに参加しているLinuxマシンがドメイン上にあることを確認するには:
/opt/pbis/bin/domainjoin-cli query
マシンがドメインに参加している場合、このコマンドは現在参加しているADドメインとOUに関する情報を返します。そうでない場合は、ホスト名のみが表示されます。

ユーザー認証を確認する

PBISがPAMを介してドメインユーザーを認証できることを確認するには、以前使用したことのないドメインユーザーアカウントを使用してLinux VDAにログオンします。
ssh localhost -l domain\\user

id -u
id -uコマンドによって返されたUIDに対応するKerberos資格情報キャッシュファイルが作成されたことを確認します。
ls /tmp/krb5cc_uid
セッションを終了します。
exit
ドメイン参加の検証後、手順6:Linux VDAのインストールに進みます。

手順4:前提条件として.NET Core Runtime 3.1をインストールする

Linux VDAをインストールする前に、<https://docs.microsoft.com/ja-jp/dotnet/core/install/linux-package-managers>の指示に従って.NET Core Runtime 3.1をインストールします。
.NET Core Runtime 3.1のインストール後、which dotnetコマンドを実行してランタイムパスを見つけます。
コマンド出力に基づいて、.NET Coreランタイムバイナリパスを設定します。たとえば、コマンド出力が/aa/bb/dotnetの場合、/aa/bbを.NETバイナリパスとして使用します。

手順5:Linux VDAパッケージをダウンロードする

Citrix Virtual Apps and Desktops™のダウンロードページに移動します。適切なバージョンのCitrix Virtual Apps and Desktopsを展開し、Componentsをクリックして、お使いのLinuxディストリビューションに一致するLinux VDAパッケージをダウンロードします。

手順6:Linux VDAをインストールする

手順6a:古いバージョンをアンインストールする

以前の2つのバージョンおよびLTSRリリース以外の古いバージョンをインストールしている場合は、新しいバージョンをインストールする前にアンインストールしてください。
  1. Linux VDAサービスを停止します。
    sudo /sbin/service ctxvda stop

    sudo /sbin/service ctxhdx stop
    注:
    ctxvdaおよびctxhdxサービスを停止する前に、service ctxmonitorservice stopコマンドを実行してモニターサービスデーモンを停止します。そうしないと、モニターサービスデーモンが停止したサービスを再起動します。
  2. パッケージをアンインストールします。
    sudo rpm -e XenDesktopVDA
重要:
最新の2つのバージョンからのアップグレードがサポートされています。
注:
インストールコンポーネントは /opt/Citrix/VDA/ にあります。
コマンドを実行するには、フルパスが必要です。または、/opt/Citrix/VDA/sbin と /opt/Citrix/VDA/bin をシステムパスに追加することもできます。

ステップ6b: Linux VDAをインストールする

Zypperを使用してLinux VDAソフトウェアをインストールします。
SUSE 12の場合:
sudo zypper install XenDesktopVDA-<version>.sle12_x.x86_64.rpm
RPMパッケージマネージャーを使用してLinux VDAソフトウェアをインストールします。インストールする前に、以下の依存関係を解決してください。
SUSE 12の場合:
sudo rpm -i XenDesktopVDA-<version>.sle12_x.x86_64.rpm

ステップ6c: Linux VDAをアップグレードする(オプション)

既存のインストールを、以前の2つのバージョンおよびLTSRリリースからアップグレードできます。
注:
既存のインストールをアップグレードすると、/etc/xdlの下にある構成ファイルが上書きされます。アップグレードを実行する前に、ファイルをバックアップしてください。
SUSE 12の場合:
sudo rpm -U XenDesktopVDA-<version>.sle12_x.x86_64.rpm
SUSE 12のRPM依存関係リスト:
libQt5Core5 >= 5.5~

mozilla-nss-tools >= 3.47.1

postgresql-server >= 10.12

postgresql-jdbc >= 9.2

java-11-openjdk >= 11

ImageMagick >= 6.8

dbus-1 >= 1.8.8

dbus-1-x11 >= 1.8.8

libXpm4 >= 3.5.11

libXrandr2 >= 1.4.2

libXtst6 >= 1.2.2

motif >= 2.3

pam >= 1.1.8

bash >= 4.2

findutils >= 4.5

gawk >= 4.1

sed >= 4.2

cups >= 1.6.0

cups-filters-foomatic-rip >= 1.0.0

openldap2 >= 2.4

cyrus-sasl >= 2.1

cyrus-sasl-gssapi >= 2.1

libxml2 >= 2.9

libmspack0 >= 0.4

python-requests >= 2.8.1

rpmlib(PayloadFilesHavePrefix) <= 4.0-1

rpmlib(CompressedFileNames) <= 3.0.4-1

rpmlib(PayloadIsLzma) <= 4.4.6-1

libtcmalloc4 >= 2.5

libcap-progs >= 2.22

xorg-x11-server >= 7.6_1.18.3-76.15

ibus >= 1.5

xorg- x11-server = 7.6_1.19.6

xorg-x11 = 7.6_1

postgresql10-server >= 10.12

libgtk-2_0-0 >= 2.24

libgthread-2_0-0 >= 2.48

pulseaudio-utils >= 5.0

lsb-release >= 2.0
重要:
アップグレード後、Linux VDAマシンを再起動します。

ステップ7: Linux VDAを構成する

パッケージのインストール後、ctxsetup.shスクリプトを実行してLinux VDAを構成する必要があります。変更を加える前に、スクリプトは環境を検証し、すべての依存関係がインストールされていることを確認します。必要に応じて、いつでもスクリプトを再実行して設定を変更できます。
スクリプトは、プロンプト表示で手動で実行することも、事前設定された応答で自動的に実行することもできます。続行する前に、スクリプトに関するヘルプを確認してください。
sudo /opt/Citrix/VDA/sbin/ctxsetup.sh –help

プロンプトによる構成

プロンプト表示される質問で手動構成を実行します。
sudo /opt/Citrix/VDA/sbin/ctxsetup.sh

自動構成

自動インストールの場合、セットアップスクリプトで必要なオプションを環境変数で指定します。必要なすべての変数が存在する場合、スクリプトは情報を要求しません。
サポートされている環境変数には以下が含まれます。
  • CTX\_XDL\_SUPPORT\_DDC\_AS\_CNAME=Y \| N – Linux VDAは、DNS CNAMEレコードを使用してDelivery Controller名を指定することをサポートしています。デフォルトではNに設定されています。
  • CTX\_XDL\_DDC\_LIST='list-ddc-fqdns' – Linux VDAは、Delivery Controllerへの登録に使用するDelivery Controllerの完全修飾ドメイン名(FQDN)のスペース区切りリストを必要とします。少なくとも1つのFQDNまたはCNAMEエイリアスを指定する必要があります。
  • CTX\_XDL\_VDA\_PORT=port-number – Linux VDAは、TCP/IPポートを介してDelivery Controllerと通信します。デフォルトではポート80です。
  • CTX\_XDL\_REGISTER\_SERVICE=Y \| N - Linux Virtual Desktopサービスは、マシンの起動後に開始されます。値はデフォルトでYに設定されています。
  • CTX\_XDL\_ADD\_FIREWALL\_RULES=Y \| N – Linux Virtual Desktopサービスは、システムファイアウォールを介して受信ネットワーク接続が許可される必要があります。Linux Virtual Desktopの場合、必要なポート(デフォルトではポート80および1494)をシステムファイアウォールで自動的に開くことができます。デフォルトではYに設定されています。
  • CTX\_XDL\_AD\_INTEGRATION=1 \| 2 \| 3 \| 4 – Linux VDAは、Delivery Controllerで認証するためにKerberos構成設定を必要とします。Kerberos構成は、システムにインストールおよび構成されているActive Directory統合ツールから決定されます。使用するサポートされているActive Directory統合方法を指定します。
    • 1 – サンバ Winbind
    • 2 – クエスト認証サービス
    • 3 – セントリファイ DirectControl
    • 4 – SSSD
  • CTX\_XDL\_HDX\_3D\_PRO=Y \| N – Linux VDAは、リッチグラフィックアプリケーションの仮想化を最適化するために設計されたGPUアクセラレーションテクノロジーのセットであるHDX 3D Proをサポートしています。HDX 3D Proが選択されている場合、VDAはVDIデスクトップ(シングルセッション)モード(つまり、CTX\_XDL\_VDI\_MODE=Y)用に構成されます。
  • CTX\_XDL\_VDI\_MODE=Y \| N – マシンを専用デスクトップ配信モデル(VDI)として構成するか、ホスト型共有デスクトップ配信モデルとして構成するかを指定します。HDX 3D Pro環境の場合は、この変数をYに設定します。この変数はデフォルトでNに設定されています。
  • CTX\_XDL\_SITE\_NAME=dns-name – Linux VDAはDNSを介してLDAPサーバーを検出します。DNS検索結果をローカルサイトに限定するには、DNSサイト名を指定します。この変数はデフォルトで**\&lt;none\>**に設定されています。
  • CTX\_XDL\_LDAP\_LIST='list-ldap-servers' – Linux VDAはDNSにクエリを実行してLDAPサーバーを検出します。DNSがLDAPサービスレコードを提供できない場合は、LDAPポートを含むLDAP FQDNのスペース区切りリストを提供できます。例:ad1.mycompany.com:389。この変数はデフォルトで**\&lt;none\>**に設定されています。
  • CTX\_XDL\_SEARCH\_BASE=search-base-set – Linux VDAは、Active Directoryドメインのルートに設定された検索ベース(例:DC=mycompany,DC=com)を介してLDAPにクエリを実行します。検索パフォーマンスを向上させるには、検索ベース(例:OU=VDI,DC=mycompany,DC=com)を指定できます。この変数はデフォルトで**\&lt;none\>**に設定されています。
  • CTX\_XDL\_FAS\_LIST='list-fas-servers' – フェデレーション認証サービス(FAS)サーバーはADグループポリシーを介して構成されます。Linux VDAはADグループポリシーをサポートしていませんが、代わりにFASサーバーのセミコロン区切りリストを提供できます。シーケンスはADグループポリシーで構成されているものと同じである必要があります。サーバーアドレスが削除された場合は、その空白を**\&lt;none\>**テキスト文字列で埋め、サーバーアドレスの順序を変更しないでください。
  • CTX\_XDL\_DOTNET\_ RUNTIME_PATH=path-to-install-dotnet-runtime – 新しいブローカーエージェントサービス(ctxvda)をサポートするために.NET Core Runtime 3.1をインストールするパス。デフォルトのパスは/usr/binです。
  • CTX_XDL_DESKTOP _ENVIRONMENT=gnome/mate – セッションで使用するGNOMEまたはMATEデスクトップ環境を指定します。この変数を指定しない場合、VDAに現在インストールされているデスクトップが使用されます。ただし、現在インストールされているデスクトップがMATEの場合は、変数の値をmateに設定する必要があります。
    注:
    ターゲットセッションユーザーのデスクトップ環境は、次の手順で変更することもできます。
    1. VDA上の**$HOME/<username\>**ディレクトリの下に.xsessionファイルを作成します。
    2. .xsessionファイルを編集して、ディストリビューションに基づいてデスクトップ環境を指定します。
    CentOS、Ubuntu、Debian上のMATEデスクトップの場合:
    MSESSION="$(type -p mate-session)"
    if [ -n "$MSESSION" ]; then
      exec mate-session
    fi
    CentOS上のGNOMEデスクトップの場合:
    GSESSION="$(type -p gnome-session)"
    if [ -n "$GSESSION" ]; then
        export GNOME_SHELL_SESSION_MODE=classic
        exec gnome-session --session=gnome-classic
    fi
    UbuntuおよびDebian上のGNOMEデスクトップの場合:
    GSESSION="$(type -p gnome-session)"
    if [ -n "$GSESSION" ]; then
        exec gnome-session
    fi
    1. 700ファイル権限をターゲットセッションユーザーと共有します。
  • CTX\_XDL\_START\_SERVICE=Y \| N – Linux VDAの構成が完了したときにLinux VDAサービスを開始するかどうか。デフォルトではYに設定されています。
  • CTX\_XDL\_TELEMETRY\_SOCKET\_PORT – Citrix Scoutのリッスン用ソケットポート。デフォルトポートは7503です。
  • CTX\_XDL\_TELEMETRY\_PORT – Citrix Scoutとの通信用ポート。デフォルトポートは7502です。
環境変数を設定し、構成スクリプトを実行します。
export CTX_XDL_SUPPORT_DDC_AS_CNAME=Y|N

export CTX_XDL_DDC_LIST=‘list-ddc-fqdns’

export CTX_XDL_VDA_PORT=port-number

export CTX_XDL_REGISTER_SERVICE=Y|N

export CTX_XDL_ADD_FIREWALL_RULES=Y|N

export CTX_XDL_AD_INTEGRATION=1|2|3|4

export CTX_XDL_HDX_3D_PRO=Y|N

export CTX_XDL_VDI_MODE=Y|N

export CTX_XDL_SITE_NAME=dns-site-name | '<none>'

export CTX_XDL_LDAP_LIST=‘list-ldap-servers’ | '<none>'

export CTX_XDL_SEARCH_BASE=search-base-set | '<none>'

export CTX_XDL_FAS_LIST=‘list-fas-servers’ | '<none>'

export CTX_XDL_DOTNET_RUNTIME_PATH=path-to-install-dotnet-runtime

export CTX_XDL_DESKTOP_ENVIRONMENT= gnome | mate | '<none>'

export CTX_XDL_TELEMETRY_SOCKET_PORT=port-number

export CTX_XDL_TELEMETRY_PORT=port-number

export CTX_XDL_START_SERVICE=Y|N

sudo -E /opt/Citrix/VDA/sbin/ctxsetup.sh
sudoコマンドを実行するときは、既存の環境変数を新しく作成されるシェルに渡すために、-Eオプションを入力します。前のコマンドから、最初の行に**#\!/bin/bash**を含むシェルスクリプトファイルを作成することをお勧めします。
または、単一のコマンドを使用してすべてのパラメーターを指定することもできます。
sudo CTX_XDL_SUPPORT_DDC_AS_CNAME=Y|N \

CTX_XDL_DDC_LIST=‘list-ddc-fqdns’ \

CTX_XDL_VDA_PORT=port-number \

CTX_XDL_REGISTER_SERVICE=Y|N \

CTX_XDL_ADD_FIREWALL_RULES=Y|N \

CTX_XDL_AD_INTEGRATION=1|2|3|4 \

CTX_XDL_HDX_3D_PRO=Y|N \

CTX_XDL_VDI_MODE=Y|N \

CTX_XDL_SITE_NAME=dns-name \

CTX_XDL_LDAP_LIST=‘list-ldap-servers’ \

CTX_XDL_SEARCH_BASE=search-base-set \

CTX_XDL_FAS_LIST=‘list-fas-servers’ \

CTX_XDL_DOTNET_RUNTIME_PATH=path-to-install-dotnet-runtime \

CTX_XDL_DESKTOP_ENVIRONMENT=gnome | mate \

CTX_XDL_TELEMETRY_SOCKET_PORT=port-number \

CTX_XDL_TELEMETRY_PORT=port-number \

CTX_XDL_START_SERVICE=Y|N \

/opt/Citrix/VDA/sbin/ctxsetup.sh

構成の変更を削除する

シナリオによっては、Linux VDAパッケージをアンインストールせずに、ctxsetup.shスクリプトによって行われた構成の変更を削除する必要がある場合があります。
続行する前に、このスクリプトに関するヘルプを確認してください。
sudo /usr/local/sbin/ctxcleanup.sh --help
構成の変更を削除するには:
sudo /usr/local/sbin/ctxcleanup.sh
重要:
このスクリプトは、データベースからすべての構成データを削除し、Linux VDAを動作不能にします。

構成ログ

ctxsetup.shおよびctxcleanup.shスクリプトは、コンソールにエラーを表示し、追加情報が構成ログファイルに書き込まれます。
/tmp/xdl.configure.log
変更を有効にするには、Linux VDAサービスを再起動します。

ステップ 8: XDPing を実行する

Linux VDA 環境における一般的な構成の問題を確認するには、sudo /opt/Citrix/VDA/bin/xdping を実行します。詳しくは、「XDPing」を参照してください。

ステップ 9: Linux VDA を実行する

ctxsetup.sh スクリプトを使用して Linux VDA を構成した後、次のコマンドを実行して Linux VDA を制御できます。
Linux VDA を開始する:
Linux VDA サービスを開始するには:
sudo /sbin/service ctxhdx start

sudo /sbin/service ctxvda start
Linux VDA を停止する:
Linux VDA サービスを停止するには:
sudo /sbin/service ctxvda stop

sudo /sbin/service ctxhdx stop
注:
ctxvda および ctxhdx サービスを停止する前に、service ctxmonitorservice stop コマンドを実行してモニターサービスデーモンを停止します。そうしないと、モニターサービスデーモンが停止したサービスを再起動します。
Linux VDA を再起動する:
Linux VDA サービスを再起動するには:
sudo /sbin/service ctxvda stop

sudo /sbin/service ctxhdx restart

sudo /sbin/service ctxvda start
Linux VDA のステータスを確認する:
Linux VDA サービスの実行ステータスを確認するには:
sudo /sbin/service ctxvda status

sudo /sbin/service ctxhdx status

ステップ 10: Citrix Virtual AppsまたはCitrix Virtual Desktops™でマシンカタログを作成する

マシンカタログを作成し、Linux VDA マシンを追加するプロセスは、従来の Windows VDA のアプローチと似ています。これらのタスクを完了する方法の詳細については、「マシンカタログの作成」および「マシンカタログの管理」を参照してください。
Linux VDAマシンを含むマシンカタログを作成する場合、Windows VDAマシン用のマシンカタログを作成するプロセスとは異なるいくつかの制限があります。
  • オペレーティングシステムには、以下を選択します。
    • ホスト型共有デスクトップ配信モデルの場合は、マルチセッションOSオプション。
    • VDI専用デスクトップ配信モデルの場合は、シングルセッションOSオプション。
  • 同じマシンカタログ内でLinux VDAマシンとWindows VDAマシンを混在させないでください。
注:
Citrix Studioの初期バージョンでは、「Linux OS」という概念はサポートされていませんでした。ただし、Windows Server OSまたはServer OSオプションを選択すると、同等のホスト型共有デスクトップ配信モデルが示唆されます。Windows Desktop OSまたはDesktop OSオプションを選択すると、マシンごとに単一ユーザーの配信モデルが示唆されます。
ヒント:
マシンをActive Directoryドメインから削除して再参加させる場合、そのマシンをマシンカタログから削除して再度追加する必要があります。

ステップ11:Citrix Virtual Apps™またはCitrix Virtual Desktopsでデリバリーグループを作成する

デリバリーグループを作成し、Linux VDAマシンを含むマシンカタログを追加するプロセスは、Windows VDAマシンとほぼ同じです。これらのタスクを完了する方法の詳細については、「デリバリーグループの作成」を参照してください。
Linux VDAマシンカタログを含むデリバリーグループを作成する場合、以下の制限が適用されます。
  • 選択したADユーザーとグループが、Linux VDAマシンにログオンできるように適切に構成されていることを確認してください。
  • 認証されていない(匿名)ユーザーのログオンを許可しないでください。
  • デリバリーグループをWindowsマシンを含むマシンカタログと混在させないでください。
重要:
アプリケーションの公開は、Linux VDAバージョン1.4以降でサポートされています。ただし、Linux VDAは、デスクトップとアプリを同じマシンに配信することをサポートしていません。
マシンカタログとデリバリーグループの作成方法については、「Citrix Virtual Apps and Desktops 7 2109」を参照してください。