インストールと設定

インストールと設定

このセクションでは、コントローラーノードに OpenStack Identity サービス (コード名 keystone) をインストールして設定する方法を説明します。この設定では、パフォーマンスを重視し、 Fernet トークンを使用し、 Apache HTTP サーバーを使ってリクエストを処理します。

前提条件

OpenStack Identity サービスを設定する前に、データベースと管理トークンを作成する必要があります。

  1. 以下の作業を実行して、データベースを作成します。

    • データベースクライアントを使用して、データベースサーバーに root ユーザーとして接続します。

      $ mysql -u root -p
      
    • keystone データベースを作成します。

      CREATE DATABASE keystone;
      
    • keystone データベースに適切なアクセス権を付与します。

      GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' \
        IDENTIFIED BY 'KEYSTONE_DBPASS';
      GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' \
        IDENTIFIED BY 'KEYSTONE_DBPASS';
      

      KEYSTONE_DBPASS を適切なパスワードに置き換えます。

    • データベースクライアントを終了します。

  2. 初期設定中に管理トークンとして使用するランダム値を生成します。

    $ openssl rand -hex 10
    

コンポーネントのインストールと設定

注釈

設定ファイルのデフォルトは、ディストリビューションにより異なります。これらの既存のセクションとオプションを編集するのではなく、追加する必要があるかもしれません。また、設定のスニペットにある 省略 (...) は、保持すべきデフォルトの設定オプションを意味します。

注釈

このガイドは、Apache HTTP server の mod_wsgi を使用して、5000 番と 35357 番のポートで Identity サービスのリクエストを処理します。デフォルトでは、今も keystone サービスがこれらのポートをリッスンします。そのため、このガイドでは手動で keystone サービスを無効化します。

  1. 以下のコマンドを実行して、パッケージをインストールします。

    # yum install openstack-keystone httpd mod_wsgi
    
  1. /etc/keystone/keystone.conf ファイルを編集し、以下の作業をすべて行います。

    • [DEFAULT] セクションに初期管理トークンの値を定義します。

      [DEFAULT]
      ...
      admin_token = ADMIN_TOKEN
      

      ADMIN_TOKEN を前の手順で生成したランダム値で置き換えます。

    • [database] セクションで、データベースのアクセス方法を設定します。

      [database]
      ...
      connection = mysql+pymysql://keystone:KEYSTONE_DBPASS@controller/keystone
      

      KEYSTONE_DBPASS をデータベース用に選択したパスワードで置き換えます。

    • [token] セクションで Fernet トークンプロバイダーを設定します。

      [token]
      ...
      provider = fernet
      
  1. Identity サービスデータベースを展開します。

    # su -s /bin/sh -c "keystone-manage db_sync" keystone
    

    注釈

    この出力の廃止予定に関するメッセージはすべて無視してください。

  2. Fernet キーを初期化します。

    # keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone
    

Apache HTTP Server の設定

  1. /etc/httpd/conf/httpd.conf ファイルを編集し、ServerName オプションがコントローラーノードを参照するように設定します。

    ServerName controller
    
  2. /etc/httpd/conf.d/wsgi-keystone.conf を以下の内容で作成します。

    Listen 5000
    Listen 35357
    
    <VirtualHost *:5000>
        WSGIDaemonProcess keystone-public processes=5 threads=1 user=keystone group=keystone display-name=%{GROUP}
        WSGIProcessGroup keystone-public
        WSGIScriptAlias / /usr/bin/keystone-wsgi-public
        WSGIApplicationGroup %{GLOBAL}
        WSGIPassAuthorization On
        ErrorLogFormat "%{cu}t %M"
        ErrorLog /var/log/httpd/keystone-error.log
        CustomLog /var/log/httpd/keystone-access.log combined
    
        <Directory /usr/bin>
            Require all granted
        </Directory>
    </VirtualHost>
    
    <VirtualHost *:35357>
        WSGIDaemonProcess keystone-admin processes=5 threads=1 user=keystone group=keystone display-name=%{GROUP}
        WSGIProcessGroup keystone-admin
        WSGIScriptAlias / /usr/bin/keystone-wsgi-admin
        WSGIApplicationGroup %{GLOBAL}
        WSGIPassAuthorization On
        ErrorLogFormat "%{cu}t %M"
        ErrorLog /var/log/httpd/keystone-error.log
        CustomLog /var/log/httpd/keystone-access.log combined
    
        <Directory /usr/bin>
            Require all granted
        </Directory>
    </VirtualHost>
    

インストールの最終手順

  • Apache HTTP サービスを起動し、システム起動時に起動するよう設定します。

    # systemctl enable httpd.service
    # systemctl start httpd.service
    
Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.