天天看點

openstack安裝記錄(二)keystone安裝

先決條件

在你配置 OpenStack 身份認證服務前,你必須建立一個資料庫和管理者令牌。

  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
          

安全并配置元件

  注解

預設配置檔案在各發行版本中可能不同。你可能需要添加這些部分,選項而不是修改已經存在的部分和選項。另外,在配置片段中的省略号(...)表示預設的配置選項你應該保留。

  注解

教程使用帶有``mod_wsgi``的Apache HTTP伺服器來服務認證服務請求,端口為5000和35357。預設情況下,Kestone服務仍然監聽這些端口。然而,本教程手動禁用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:[email protected]/keystone
            
      将``KEYSTONE_DBPASS``替換為你為資料庫選擇的密碼。
    • 在``[token]``部分,配置Fernet UUID令牌的提供者。
      [token]
      ...
      provider = fernet
            
  1. 初始化身份認證服務的資料庫:
    # su -s /bin/sh -c "keystone-manage db_sync" keystone      

    注解

    忽略輸出中任何不推薦使用的資訊。

  2. 初始化Fernet keys(需要useradd keystone,添加keystone到系統中去):
    # keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone
          

配置 Apache HTTP 伺服器

  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      

轉載于:https://www.cnblogs.com/goldd/p/6179866.html