OpenStack Flamingo : Keystone 設定 #12025/11/18 |
|
OpenStack Identity Service (Keystone) をインストールします。 当例では以下のような環境に Keystone をインストールします。
eth0|10.0.0.30
+-----------+-----------+
| [ dlp.srv.world ] |
| (Control Node) |
| |
| MariaDB RabbitMQ |
| Memcached Nginx |
| Keystone httpd |
+-----------------------+
|
| [1] | Keystone 用のユーザーとデータベースを MariaDB に作成しておきます。 |
|
root@dlp:~# mariadb Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 31 Server version: 10.11.13-MariaDB-0ubuntu0.24.04.1 Ubuntu 24.04 Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]> create database keystone; Query OK, 1 row affected (0.00 sec) MariaDB [(none)]> grant all privileges on keystone.* to keystone@'localhost' identified by 'password'; Query OK, 0 rows affected (0.00 sec) MariaDB [(none)]> grant all privileges on keystone.* to keystone@'%' identified by 'password'; Query OK, 0 rows affected (0.00 sec) MariaDB [(none)]> exit Bye |
| [2] | Keystone をインストールします。 |
|
root@dlp:~# apt -y install keystone python3-openstackclient apache2 libapache2-mod-wsgi-py3 python3-oauth2client
|
| [3] | Keystone の基本設定です。 |
|
root@dlp:~#
vi /etc/keystone/keystone.conf # 463行目 : Memcache サーバーを追記 memcache_servers = 10.0.0.30:11211
# 711行目 : MariaDB に作成した Keystone DB に変更 connection = mysql+pymysql://keystone:password@10.0.0.30:3306/keystone
# 2529行目 : コメント解除 provider = fernet # テーブル作成 root@dlp:~# su -s /bin/bash keystone -c "keystone-manage db_sync"
# キー初期化 root@dlp:~# keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone root@dlp:~# keystone-manage credential_setup --keystone-user keystone --keystone-group keystone
# keystone API ホストを定義 root@dlp:~# export controller=dlp.srv.world
# keystone ブートストラップ # [adminpassword] は任意の管理者パスワードを設定 root@dlp:~# keystone-manage bootstrap --bootstrap-password adminpassword \ --bootstrap-admin-url https://$controller:5000 \ --bootstrap-internal-url https://$controller:5000 \ --bootstrap-public-url https://$controller:5000 \ --bootstrap-region-id RegionOne |
| [4] |
SSL/TLS 証明書を取得、または、自己署名のSSL/TLS 証明書を作成しておきます。 |
| [5] | Apache httpd の基本設定です。 |
|
root@dlp:~#
vi /etc/apache2/apache2.conf # 70行目 : サーバー名を追記 ServerName dlp.srv.world
root@dlp:~#
vi /etc/apache2/sites-available/keystone.conf
Listen 5000
<VirtualHost *:5000>
# SSL の設定を追記
SSLEngine on
SSLHonorCipherOrder on
SSLCertificateFile /etc/letsencrypt/live/dlp.srv.world/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/dlp.srv.world/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/dlp.srv.world/chain.pem
# 以下のように変更
WSGIScriptAlias / /usr/lib/python3/dist-packages/keystone/wsgi/api.py
WSGIDaemonProcess keystone-public processes=5 threads=1 user=keystone group=keystone display-name=%{GROUP}
WSGIProcessGroup keystone-public
WSGIApplicationGroup %{GLOBAL}
WSGIPassAuthorization On
LimitRequestBody 114688
<IfVersion >= 2.4>
ErrorLogFormat "%{cu}t %M"
</IfVersion>
ErrorLog /var/log/apache2/keystone.log
CustomLog /var/log/apache2/keystone_access.log combined
# 以下のように変更
<Directory /usr/lib/python3/dist-packages/keystone>
<IfVersion >= 2.4>
Require all granted
</IfVersion>
<IfVersion < 2.4>
Order allow,deny
Allow from all
</IfVersion>
</Directory>
</VirtualHost>
# 以下のように変更
Alias /identity /usr/lib/python3/dist-packages/keystone/wsgi/api.py
<Location /identity>
SetHandler wsgi-script
Options +ExecCGI
WSGIProcessGroup keystone-public
WSGIApplicationGroup %{GLOBAL}
WSGIPassAuthorization On
</Location>
root@dlp:~# a2enmod ssl Considering dependency mime for ssl: Module mime already enabled Considering dependency socache_shmcb for ssl: Enabling module socache_shmcb. Enabling module ssl. See /usr/share/doc/apache2/README.Debian.gz on how to configure SSL and create self-signed certificates. To activate the new configuration, you need to run: systemctl restart apache2root@dlp:~# systemctl restart apache2
|
| Sponsored Link |
|
|