先决条件

在你配置 OpenStack 身份认证服务前,你必须创建一个数据库和管理员令牌。

  1. 完成下面的步骤以创建数据库:

    • 用数据库连接客户端以 root 用户连接到数据库服务器:

      1. $ mysql -u root -p
    • 创建 keystone 数据库:

      1. CREATE DATABASE keystone;
    • 对``keystone``数据库授予恰当的权限:

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

      用合适的密码替换 KEYSTONE_DBPASS 。

    • 退出数据库客户端。

  2. 生成一个随机值在初始的配置中作为管理员的令牌。

    1. $ openssl rand -hex 10

安全并配置组件

 

注解

默认配置文件在各发行版本中可能不同。你可能需要添加这些部分,选项而不是修改已经存在的部分和选项。另外,在配置片段中的省略号(...)表示默认的配置选项你应该保留。

 

注解

教程使用带有``mod_wsgi``的Apache HTTP服务器来服务认证服务请求,端口为5000和35357。缺省情况下,Kestone服务仍然监听这些端口。然而,本教程手动禁用keystone服务。

  1. 运行以下命令来安装包。

    1. # yum install openstack-keystone httpd mod_wsgi
  1. 编辑文件 /etc/keystone/keystone.conf 并完成如下动作:

    • 在``[DEFAULT]``部分,定义初始管理令牌的值:

      1. [DEFAULT]
      2. ...
      3. admin_token = ADMIN_TOKEN

      使用前面步骤生成的随机数替换``ADMIN_TOKEN`` 值。

    • 在 [database] 部分,配置数据库访问:

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

      将``KEYSTONE_DBPASS``替换为你为数据库选择的密码。

    • 在``[token]``部分,配置Fernet UUID令牌的提供者。

      1. [token]
      2. ...
      3. provider = fernet
  1. 初始化身份认证服务的数据库:

    1. # su -s /bin/sh -c "keystone-manage db_sync" keystone
    注解

    忽略输出中任何不推荐使用的信息。

  2. 初始化Fernet keys(需要useradd keystone,添加keystone到系统中去):

    1. # keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone

配置 Apache HTTP 服务器

  1. 编辑``/etc/httpd/conf/httpd.conf`` 文件,配置``ServerName`` 选项为控制节点:

    1. ServerName controller
  2. 用下面的内容创建文件 /etc/httpd/conf.d/wsgi-keystone.conf

    1. Listen 5000
    2. Listen 35357
    3.  
    4. <VirtualHost *:5000>
    5. WSGIDaemonProcess keystone-public processes=5 threads=1 user=keystone group=keystone display-name=%{GROUP}
    6. WSGIProcessGroup keystone-public
    7. WSGIScriptAlias / /usr/bin/keystone-wsgi-public
    8. WSGIApplicationGroup %{GLOBAL}
    9. WSGIPassAuthorization On
    10. ErrorLogFormat "%{cu}t %M"
    11. ErrorLog /var/log/httpd/keystone-error.log
    12. CustomLog /var/log/httpd/keystone-access.log combined
    13.  
    14. <Directory /usr/bin>
    15. Require all granted
    16. </Directory>
    17. </VirtualHost>
    18.  
    19. <VirtualHost *:35357>
    20. WSGIDaemonProcess keystone-admin processes=5 threads=1 user=keystone group=keystone display-name=%{GROUP}
    21. WSGIProcessGroup keystone-admin
    22. WSGIScriptAlias / /usr/bin/keystone-wsgi-admin
    23. WSGIApplicationGroup %{GLOBAL}
    24. WSGIPassAuthorization On
    25. ErrorLogFormat "%{cu}t %M"
    26. ErrorLog /var/log/httpd/keystone-error.log
    27. CustomLog /var/log/httpd/keystone-access.log combined
    28.  
    29. <Directory /usr/bin>
    30. Require all granted
    31. </Directory>
    32. </VirtualHost>

完成安装

  • 启动 Apache HTTP 服务并配置其随系统启动:

    1. # systemctl enable httpd.service
    2. # systemctl start httpd.service

openstack安装记录(二)keystone安装的更多相关文章

  1. SAP ECC6安装系列二:安装前的准备工作

    原作者博客 http://www.cnblogs.com/Michael_z/ ======================================== 安装 Java  1,安装 Java, ...

  2. Ubuntu16.04 安装Tensorflow1.7过程记录二:安装CUDA及Tensorflow

    参考 How to install Tensorflow 1.7.0 using official pip package 其中的CUDNN应该改为7.05for CUDA9.0 后面安装的spyde ...

  3. win10与centos7的双系统U盘安装(二:安装以及配置centos系统)

    继续第一篇的讲解,接着就是要进入第二部分——安装以及配置centos系统 特别提醒在安装centos之间,注意自己的win10系统进行备份,便于回复安装失败后的系统 1:安装前准备 安装前准备主要是两 ...

  4. openerp安装记录及postgresql数据库问题解决

    ubuntu-14.04下openerp安装记录1.安装PostgreSQL 数据库    a.安装         sudo apt-get install postgresql    安装后ubu ...

  5. VMware系统运维(二)安装Microsoft .NET 3.5

    1.安装vmware vSphere 5.5 之前先安装Microsoft .NET 3.5. 2.安装Microsoft .NET3.5,添加角色和功能. 3.勾选.NET Framework 3. ...

  6. MySql5.7.11 for Windows 安装(二)

    原文:MySql5.7.11 for Windows 安装(二) 安装之后,首先创建data文件夹(旧版本本来就有),管理员打开cmd,cd到bin文件夹,输入 mysqld –initialize- ...

  7. Ubuntu系统---FeiQ安装记录

    Ubuntu系统---FeiQ安装记录 linux下安装飞秋/飞鸽传书之类的软件iptux信使,可以与windows在一个局域网下聊天与传书文件,安装很简单. 首先,直接运行下面的语句即可:sudo ...

  8. Vim安装记录

    Vim安装记录 参考链接 安装命令 1. 安装依赖库 2. 下载最新vim源码 3. 删除旧版vim 4. 配置configure.编译.安装 5. 设置vim为默认编辑器 6. 必要的配置 Vim安 ...

  9. Openstack组件实现原理 — Keystone认证功能

    目录 目录 前言 Keystone安装列表 Keystone架构 Keystone的管理对象 一个理解Keystone管理对象功能的例子 Keystone管理对象之间的关系 Keystone V3的新 ...

  10. vim的编译安装及其插件YouCompleteMe安装

    相关的环境: win 7 x64 vs2013 community python 2.7.10 AMD64 python 3.5 AMD64 LLVM 3.5 cmake 3.5   YouCompl ...

随机推荐

  1. 谈谈自己对于Auth2.0的见解

    Auth的原理网上有很多,我这里就不在赘述了. 这里有张时序图我个人觉得是比较合理而且直观的,(感谢这篇博文:http://justcoding.iteye.com/blog/1950270) 参照这 ...

  2. Python计算机视觉3:模糊,平滑,去噪

    我是一名初学者,如果你发现文中有错误,请留言告诉我,谢谢 图像的模糊和平滑是同一个层面的意思,平滑的过程就是一个模糊的过程. 而图像的去噪可以通过图像的模糊.平滑来实现(图像去噪还有其他的方法) 那么 ...

  3. 1006 Do the Untwist

    考察编程基础知识,用到字符和数字相互转化等.形式是描述清楚明文和暗文的转化规则. #include <stdio.h> #include <string.h> #define ...

  4. LeetCode_Letter Combinations of a Phone Number

    Given a digit string, return all possible letter combinations that the number could represent. A map ...

  5. http cookie

    一.cookie的大小 cookie只能存储最大4kb的数据.cookie的名/值中的值不允许包含分号.逗号和空白符.因此可以采用encodeURIComponent()编码,读取的时候先采用deco ...

  6. 转:LINQ查询返回DataTable类型

    动态绑定ReportViewer虽然之前实现过,但现在弄起来还是有点晕,主要是过去没有使用Linq,数据的操作经常用到DataTable,可以直接拿来使用,现在用Linq更方便,也懒得再用之前的数据库 ...

  7. Unix/Linux环境C编程入门教程(37) shell常用命令演练

     cat命令 cat命令可以用来查看文件内容. cat [参数] 文件名. grep-指定文件中搜索指定字符内容. Linux的目录或文件. -path '字串' 查找路径名匹配所给字串的所有文件 ...

  8. C语言随笔_区分=与==

    写C程序时,经常发现大家=与==分不清.最常见的写法如下:int a = 3;if(a = 1){.......} 写程序的人原意是想如果a等于1的话,就执行花括号里的语句,a初始化时的值是3,也就是 ...

  9. UESTC_棋盘游戏 CDOJ 578

    最近昀昀学习到了一种新的棋盘游戏,这是一个在一个N×N的格子棋盘上去搞M个棋子的游戏,游戏的规则有下列几条: 棋盘上有且仅有一个出口 开始时没有哪个棋子在出口,而且所有棋子都不相邻(这里的相邻是指上下 ...

  10. [Leetcode][Python]56: Merge Intervals

    # -*- coding: utf8 -*-'''__author__ = 'dabay.wang@gmail.com' 56: Merge Intervalshttps://oj.leetcode. ...