安装部署Keystone

安装部署Keystone 一、以下命令安装了Keystone组件的必要软件包。[rootcontroller ~]# yum -y install openstack-keystone httpd mod_wsgi二、MariaDB数据库配置[rootcontroller ~]# mysql -uroot -p000000查看当前已有数据库 show databases;第2步新建“keystone”数据库。MariaDB [none] CREATE DATABASE keystone;第3步给用户授权使用新建数据库。GRANT ALL PRIVILEGES ON keystone.* TO ‘keystone’‘localhost’ IDENTIFIED BY ‘000000’;GRANT ALL PRIVILEGES ON keystone.* TO ‘keystone’‘%’ IDENTIFIED BY ‘000000’;三、配置Keystone1打开配置文件[rootcontroller ~]# vi /etc/keystone/keystone.conf2编辑配置文件第1步修改“[database]”部分实现与数据库连接。connection mysqlpymysql://keystone:000000controller/keystone以上代码配置数据库连接信息用“keystone”用户和密码“000000”去连接“controller”主机中的名为“keystone”的数据库。PS 输入 / 或加 关键字 进行查看然后按 n上一个 或 Nshift n下一个进行切换如: /[database] 或 ?[database]第2步修改“[token]”部分配置令牌的加密方式。provider fernet“Fernet Token”是一种令牌加密格式。一个“Fernet Token”是一个很长的字符串在这个字符串中存储了被加密的用户信息、权限信息、过期时间信息等。Keystone安装文件提供了数据库的基础表数据此时还没有将数据导入“keystone”数据库中需要手动将数据同步导入数据库中。[rootcontroller ~]# su keystone -s /bin/sh -c “keystone-manage db_sync”“su keystone”su命令用于用户切换。这里切换到“keystone”用户该用户已经拥有对“keystone”数据库的管理权限。“-s /bin/sh”-s为su命令的选项指定用什么编译器Shell来执行命令“/bin/sh”就是指定的编译器。“-c”su命令的选项在其后引号内的是具体执行的命令。“keystone-manage db_sync”实现了数据同步到数据库。先验证原来的 keystone 数据库同步后以下命令将自动创建“/etc/keystone/fernet-keys/”目录并在目录下生成两个Fernet密钥。这两个密钥用于加密和解密令牌。[rootcontroller ~]# keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone以下命令将自动创建“/etc/keystone/credential-keys/”目录并在目录下生成两个Fernet密钥。这两个密钥用于加密解密用户凭证。[rootcontroller ~]# keystone-manage credential_setup --keystone-user keystone --keystone-group keystone用“keystone-manage bootstrap”命令给“admin”用户初始化登录凭证以后登录时出示凭证与此比对就可以进行认证。[rootcontroller ~]# keystone-manage bootstrap --bootstrap-password 000000 --bootstrap-admin-url http://controller:5000/v3 --bootstrap-internal-url http://controller:5000/v3 --bootstrap-public-url http://controller:5000/v3 --bootstrap-region-id RegionOne先验证四、配置Web服务1给Apache服务器增加WSGI支持[rootcontroller ~]# ln -s /usr/share/keystone/wsgi-keystone.conf /etc/httpd/conf.d/该命令将“wsgi-keystone.conf”文件软链接到“/etc/httpd/conf.d/”目录。2修改Apache服务器配置并启动Apache服务由于Keystone本质上是一个Web应用因此要借助Web服务器运行。Apache服务器的配置文件为“/etc/httpd/conf/httpd.conf”。[rootcontroller ~]# vi /etc/httpd/conf/httpd.conf修改“ServerName”的值为Web服务所在的域名或IP地址。ServerName controller3重启Apache服务首先设置开机重启Apache服务。[rootcontroller ~]# systemctl enable httpd然后立即启动Apache服务。[rootcontroller ~]# systemctl start httpd报错永久解决办法: vim /etc/selinux/config临时解决办法setenforce 0五、模拟登录验证——创建初始化环境变量文件创建初始化环境变量文件[rootcontroller ~]# vi admin-loginexport OS_USERNAMEadminexport OS_PASSWORD000000export OS_PROJECT_NAMEadminexport OS_USER_DOMAIN_NAMEDefaultexport OS_PROJECT_DOMAIN_NAMEDefaultexport OS_AUTH_URLhttp://controller:5000/v3export OS_IDENTITY_API_VERSION3export OS_IMAGE_API_VERSION2有了身份凭证文件后通过如下方法将它导入环境变量中。[rootcontroller ~]# source admin-login 或者 . admin-login然后可以用以下方法查看现有环境变量。[rootcontroller ~]# export -pdeclare -x OS_AUTH_URL“http://controller:5000/v3”declare -x OS_IDENTITY_API_VERSION“3”declare -x OS_IMAGE_API_VERSION“2”declare -x OS_PASSWORD“000000”declare -x OS_PROJECT_DOMAIN_NAME“Default”declare -x OS_PROJECT_NAME“admin”declare -x OS_USERNAME“admin”declare -x OS_USER_DOMAIN_NAME“Default”验证