如何在阿里云上安装keystone

阿里云的虚拟机操作系统要选择ubuntu 14.04

1.参考openstack官网首先执行如下配置命令:

# apt-get install software-properties-common
# add-apt-repository cloud-archive:mitaka
# add-apt-repository cloud-archive:mitaka-proposed
# apt-get install python-openstackclient

2.先配置pip,再安装pymysql(openstack官网指导文档的命令安装失败:# apt-get install mariadb-server python-pymysql)

# apt-get install python-pip
# pip install pymysql

3.安装mysql

# wget http://oss.aliyuncs.com/aliyunecs/onekey/mysql/mysql-5.5.35-linux2.6-x86_64.tar.gz
# tar zxvf mysql-5.5.35-linux2.6-x86_64.tar.gz -C /alidata/server/
# groupadd mysql
# useradd -g mysql -s /sbin/nologin mysql
# /opt/test/mysql/mysql-5.5.35-linux2.6-x86_64/scripts/mysql_install_db --datadir=/opt/test/mysql/mysql-5.5.35-linux2.6-x86_64/data/ --basedir=/opt/test/mysql/mysql-5.5.35-linux2.6-x86_64/ --user=mysql
# chown -R mysql:mysql /opt/test/mysql/mysql-5.5.35-linux2.6-x86_64/
# chown -R mysql:mysql /opt/test/mysql/mysql-5.5.35-linux2.6-x86_64/data/
# chown -R mysql:mysql /var/log/mysql
\cp -f /opt/test/mysql/mysql-5.5.35-linux2.6-x86_64/support-files/mysql.server /etc/init.d/mysql
# sed -i ‘s#^basedir=$#basedir=/opt/test/mysql/mysql-5.5.35-linux2.6-x86_64/#‘ /etc/init.d/mysql
# sed -i ‘s#^datadir=$#datadir=/opt/test/mysql/mysql-5.5.35-linux2.6-x86_64/data#‘ /etc/init.d/mysql
\cp -f /opt/test/mysql/mysql-5.5.35-linux2.6-x86_64/support-files/my-huge.cnf /etc/my.cnf
# sed -i ‘s#skip-locking#skip-external-locking\nlog-error=/var/log/mysql/error.log#‘ /etc/my.cnf
# chmod 755 /etc/init.d/mysql
# service mysql restart
# /opt/test/mysql/mysql-5.5.35-linux2.6-x86_64/bin/mysqladmin -u root password ‘password‘

# ln -s /opt/test/mysql/mysql-5.5.35-linux2.6-x86_64/bin/mysql /usr/bin
# ln -s /opt/test/mysql/mysql-5.5.35-linux2.6-x86_64/bin/mysqladmin /usr/bin

4.然后登录下试试能否连接数据库

mysql -u root -p

5.接下来创建keystone数据库

# CREATE 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‘;

6.安装keystone

# echo "manual" > /etc/init/keystone.override
# apt-get install keystone apache2 libapache2-mod-wsgi

7.配置keystone配置项

# vi  /etc/keystone/keystone.conf

    admin_token = ADMIN_TOKEN
    connection  = mysql+pymysql://keystone:KEYSTONE_DBPASS@127.0.0.1/keystone
    provider    = keystone.token.providers.pki.Provider

8.继续执行下面同步命令

# su -s /bin/sh -c "keystone-manage db_sync" keystone
# keystone-manage pki_setup --keystone-user keystone --keystone-group keystone

9.新增如下配置内容,其中35357是管理地址的端口,5000是外网可访问的普通用户的token调用的地址

# vi  /etc/apache2/sites-available/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/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>

10.启用apache服务

# ln -s /etc/apache2/sites-available/wsgi-keystone.conf /etc/apache2/sites-enabled
# service apache2 restart

11.启动keystone

# keystone-all --config-file=/etc/keystone/keystone.conf

12.在另一个xshell页签执行下面命令添加数据

添加domain

curl  -H"X-Auth-Token:ADMIN" -H "Content-type: application/json" -d ‘{"domain": {"description": "--optional--", "enabled": true, "name": "mydomain"}}‘  http://localhost:35357/v3/domains

添加project,其中红色的domain id是上面操作的返回值

curl  -H"X-Auth-Token:ADMIN" -H "Content-type: application/json" -d ‘{"project": {"description": "My new project","domain_id": "0fea14887b294ed692d547c4757d030f","enabled": true,"is_domain": true,"name": "project1"}}‘  http://localhost:35357/v3/projects

创建用户

curl  -H"X-Auth-Token:ADMIN" -H "Content-type: application/json" -d ‘{"user": {"default_project_id": "0a4a842c59c049ba983a1121194deaaa","description": "myuser","domain_id": "0fea14887b294ed692d547c4757d030f","email": "[email protected]","enabled": true,"name": "myuser","password": "password"}}‘  http://localhost:35357/v3/users

最后让我们获取一个用户的token

curl  -H"X-Auth-Token:ADMIN" -H "Content-type: application/json" -d ‘{"auth": {"identity": {"methods": ["password"],"password": {"user": {"name": "myuser","password": "password","domain": {"name": "mydomain"}}}}}}‘  http://localhost:35357/v3/auth/tokens

返回值:
[email protected]:~# curl  -i -k -H"X-Auth-Token:ADMIN" -H "Content-type: application/json" -d ‘{"auth": {"identity": {"methods": ["password"],"password": {"user": {"name": "myuser","password": "password","domain": {"name": "mydomain"}}}}}}‘  http://localhost:35357/v3/auth/tokens
HTTP/1.1 201 Created
X-Subject-Token: MIIC4AYJKoZIhvcNAQcCoIIC0TCCAs0CAQExDTALBglghkgBZQMEAgEwggEuBgkqhkiG9w0BBwGgggEfBIIBG3sidG9rZW4iOiB7Imlzc3VlZF9hdCI6ICIyMDE2LTA1LTAxVDE3OjAzOjI1Ljg5MTU4NFoiLCAiZXh0cmFzIjoge30sICJtZXRob2RzIjogWyJwYXNzd29yZCJdLCAiZXhwaXJlc19hdCI6ICIyMDE2LTA1LTAxVDE4OjAzOjI1Ljg5MTU0OVoiLCAidXNlciI6IHsiZG9tYWluIjogeyJpZCI6ICIwZmVhMTQ4ODdiMjk0ZWQ2OTJkNTQ3YzQ3NTdkMDMwZiIsICJuYW1lIjogIm15ZG9tYWluIn0sICJpZCI6ICJiOWZmOTQxOTBiMDY0NmE0OTA1ODRhZWM2NWM4MDA1ZSIsICJuYW1lIjogIm15dXNlciJ9fX0xggGFMIIBgQIBATBcMFcxCzAJBgNVBAYTAlVTMQ4wDAYDVQQIDAVVbnNldDEOMAwGA1UEBwwFVW5zZXQxDjAMBgNVBAoMBVVuc2V0MRgwFgYDVQQDDA93d3cuZXhhbXBsZS5jb20CAQEwCwYJYIZIAWUDBAIBMA0GCSqGSIb3DQEBAQUABIIBAGR-gNszAHoMVAcp1tcZ6U2RAKd7KgRT12gAUwNSvia22u0+JKDYFSniLUpzLmPGSsqFfyE-ilW912nBvKUwPjiG-PDLtGq9r39WeJPU14w6IZXYJ-iTLIPN0t-60j89mU7AWXk89y0cxE-3OxwElr-FIiBmQWnsmuQTrUlRG6AYoUHPt2RHY2GsrDmQbTwFqU5EUYVWMiBUCtLdb95xTkYiA8huR86OH06pysfSadk5GWOyfOuCoenHY0-85y6lRTOYRaJOV7U0mDIamFIv9cBHrRpm5BdFFfVQkPBMbKTDEyZFLskdUJbYAw72a8BuKXrK0omMuy4n4byh7U49iSE=
Vary: X-Auth-Token
X-Distribution: Ubuntu
Content-Type: application/json
Content-Length: 283
Date: Sun, 01 May 2016 17:03:25 GMT

{"token": {"issued_at": "2016-05-01T17:03:25.891584Z", "extras": {}, "methods": ["password"], "expires_at": "2016-05-01T18:03:25.891549Z", "user": {"domain": {"id": "0fea14887b294ed692d547c4757d030f", "name": "mydomain"}, "id": "b9ff94190b0646a490584aec65c8005e", "name": "myuser"}}}

其中X-Subject-Token就是签名后的token,而返回的body体里面就是这个token的明文。

openstack-keystone api链接:http://developer.openstack.org/api-ref-identity-v3.html

时间: 2024-10-08 01:01:08

如何在阿里云上安装keystone的相关文章

阿里云上安装多个版本库

1.已经在阿里云上成功安装了svn服务端,但是没有搞明白URL应用,尝试安装第二个版本库. 2.进入svn目录下 3.创建admin版本库 4.查看是否创建成功 5.配置svn文件配置 先进入conf文件下 6.用vi命令打开authz文件,给用户名加入读写权限,按ESC, :wq 保存退出. 7.用vi命令打开passwd文件,给出用户名和密码: 注意 = 两边一定要有空格,保存退出. 8.用vi命令打开svnserve.conf 文件 打开以下几个注释(注意每行不能以空格开始,等号两端要有一

使用docker在阿里云上安装mysql和连接

https://hub.docker.com/   可搜索docker的镜像仓库地址 1.docker search mysql 查找镜像仓库中的mysql 2.docker pull mysql  默认拉取最新的版本 3. docker images 查看本地仓库是否拉取成功 4.docker run --name mysql -e MYSQL_ROOT_PASSWORD=root -p 3306:3306 -d mysql   启动 5.docker ps 查看正在运行的镜像 //此时,已经

阿里云上安装vsftp笔记

安装 ftp 1 ssh登录服务器       首先检查有没有安装运行 ps -ef |grep vsftpd         2 yum安装vsftpd        yum安装    yum istall vsftpd -y 3 修改配置 .增加开机启动     vi /etc/vsftpd/vsftpd.conf         anonymous_enable=YES改成NO         保存退出     查看vsftpd又没有被设置为开机自启动         chkconfig

阿里云上安装JDK,tomcat7.0,配置

把压缩文件放到指定的文件目录后,解压jdk,tomcat, 配置: 配置java环境变量修改bin目录下的catalina.sh文件: 配置java环境export JAVA_HOME=/usr/local/jdk1.7.0_80/(你的jdk的安装路径)export JRE_HOME=/usr/local/jdk1.7.0_80/jre/(你的jre的路径) 修改 内存配置JAVA_OPTS="-server -Xms512m -Xmx1024m -Djava.awt.headless=tru

使用Xshell在阿里云上安装JDK

一.安装 1.查看可安装的版本:yum search java | grep -i --color jdk 2.直接安装这个版本的所有文件:yum install -y java-1.6.0-openjdk* 3.查看是否安装成功:javac -version 二.配置环境变量 JDK默认安装路径:usr/lib/jvm 编辑 vim /etc/profile 在末尾加入: 执行如下命令使环境变量生效: 执行如下命令查看自己配置的变量:输出正常即配置生效 原文地址:https://www.cnb

在阿里云上通过宝塔面板安装禅道

禅道安装,这个之前答应过朋友的.正好,今晚又说起这个事,索性就在阿里云上安装算了. 相信很多朋友都用过禅道这个工具.使用过的朋友都知道,禅道是基于PHP开发的.对于使用Java开发的凯哥来说,LAMP环境,还真不会搭建.还好,之前就一直使用宝塔面板.有了这个面板LAMP环境就很容易搭建了.本教程是基于禅道11.6.2开源版的. 来源:凯哥Java(凯哥Java) 凯哥个人博客:www.kaigejava.com 禅道下载: 搜索引擎输入:禅道.如下图: 直接去官网下载即可. 下载源码文件: 宝塔

阿里云上如何搭建jenkins

一. 安装jdk 确保安装jenkins前jdk已经安装,如何安装见<如何在阿里云上部署war包到tomcat服务器> 二. 安装jenkins 使用以下命令安装jenkins: wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo rpm –import https://jenkins-ci.org/redhat/jenkins-ci.org.key yum install je

大数据学习-1 在阿里云上集成6台云服务器

一.为什么要大数据学习? 这是一个大数据的时代,一个企业只有掌握了大数据才能把握住市场的命脉,一个人掌握了大数据就可以比较轻松的向机器学习.人工智能等方向发展.所以我们有必要去掌握大数据的技术同时也关注大数据的发展趋势,不能裹足不前. 二.关于本专题的学习 作为一个普通本科大学生,在校的大数据学习比较的"水",普通大学嘛,大家都懂.在一个就是编程实战方向上的东西本来就该靠自学,而不是靠别人去教.我觉得大数据的学习是一个缓慢的过程,需要半年的时间去学习.我想在大二结束差不多就可以完成大数

阿里云上Oracle 11g RAC安装配置手册

有印象的用户可能发现,阿里云早在2016年深圳云栖大会就官方发布了对Oracle RAC的支持,但是相关产品却一直没能同步推出,相信大家都翘首以盼了许久许久.一个好消息是,近期阿里云将紧密推出两款新产品:共享块存储和ECS多网卡.这两款产品将打通众多关键云下应用上云的最后一公里,为用户提供更多的便利.在我们能正式体验到新产品之前,阿里云技术服务团队也将云上的Oracle RAC安装配置手册放出,希望能给大家提供更多不同的体验和选择. 一.安装说明 阿里云上Oracle RAC的安装部署,重点需要