Bagian ini menjelaskan cara menginstal dan mengkonfigurasi layanan OpenStack Identity, code-named keystone, pada ‘controller node’. Untuk kinerja, konfigurasi ini mengerahkan ‘Fernet token’ dan server Apache HTTP untuk menangani permintaan.
Sebelum kamu melakukan konfigurasi layanan OpenStack Identity, kamu harus membuat sebuah database dan sebuah token administrasi
Untuk membuat database, selesaikan tindakan berikut:
Gunakan klien akses database untuk berhubung ke server database sebagai root user:
$ mysql -u root -p
Buat database keystone:
CREATE DATABASE keystone;
Beri akses yang tepat untuk database keystone:
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' \
IDENTIFIED BY 'KEYSTONE_DBPASS';
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' \
IDENTIFIED BY 'KEYSTONE_DBPASS';
Ganti KEYSTONE_DBPASS dengan password yang sesuai.
Keluarlah dari client untuk mengakses database.
Hasilkan nilai acak untuk digunakan sebagai token administrasi dalam konfigurasi awal:
$ openssl rand -hex 10
Catatan
File konfigurasi default bervariasi menurut distribusi. Anda mungkin perlu menambahkan bagian dan opsi ini daripada memodifikasi bagian dan opsi yang ada. Juga, elipsis (`` ... ``) dalam cuplikan konfigurasi menunjukkan opsi konfigurasi default potensial dimana Anda harus mempertahankan.
Catatan
Panduan ini menggunakan server Apache HTTP dengan mod_wsgi untuk melayani permintaan layanan Identity pada port 5000 dan 35357. Secara default, layanan keystone masih mendengarkan pada port ini. Oleh karena itu, buku ini secara manual menonaktifkan layanan keystone.
Jalankan perintah berikut untuk menginstal paket:
# zypper install openstack-keystone apache2-mod_wsgi
Edit file /etc/keystone/keystone.conf dan selesaikan tindakan berikut:
Dalam bagian ``[DEFAULT] ``, tentukan nilai token administration awal:
[DEFAULT]
...
admin_token = ADMIN_TOKEN
Ganti ADMIN_TOKEN dengan nilai acak yang Anda buat di langkah sebelumnya.
Dalam bagian ``[Database] ``, konfigurlah akses database:
[database]
...
connection = mysql+pymysql://keystone:KEYSTONE_DBPASS@controller/keystone
Ganti ``KEYSTONE_DBPASS``dengan password yang Anda pilih untuk database.
Dalam bagian ``[token] ``, lakukan konfigurasi penyedia tanda Fernet:
[token]
...
provider = fernet
Lakukan pengisian database layanan Identity:
# su -s /bin/sh -c "keystone-manage db_sync" keystone
Catatan
Mengabaikan semua pesan bantahan dalam output ini.
Inisialisasi key Fernet:
# keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone
Edit file /etc/sysconfig/apache2 dan konfigurasi opsi APACHE_SERVERNAME referensi controller node:
APACHE_SERVERNAME="controller"
Buat file /etc/apache2/conf.d/wsgi-keystone.conf dengan isi sebagai berikut:
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/apache2/keystone.log
CustomLog /var/log/apache2/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/apache2/keystone.log
CustomLog /var/log/apache2/keystone_access.log combined
<Directory /usr/bin>
Require all granted
</Directory>
</VirtualHost>
Ubah secara rekursif kepemilikan direktori /etc/keystone:
# chown -R keystone:keystone /etc/keystone
Mulai server Apache HTTP dan mengkonfigurasinya untuk memulai saat booting:
# systemctl enable apache2.service
# systemctl start apache2.service
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.