前言
之前在centos上安装了一个版本,是使用的一键安装,devstack来安装的,这个安装后很多细节都不太清楚,所以决定手动走一边安装过程。
我这里使用的是一台物理机进行的安装,IP 为10.1.82.161,安装的是最小集合,只安装了keystone,nova,glance和dashboard
这里我用的FEDORA21进行的安装,参考的官方文档:
http://docs.openstack.org/kilo/install-guide/install/yum/content/
听说用fuel可以快速安装,之后有时间也会看下
准备工作
yum install ntp
# systemctl enable ntpd.service
# systemctl start ntpd.service
# ntpq -c peers
# ntpq -c assoc
修改 /etc/hosts
10.1.82.161 controller
设置hostname
hostnamectl set-hostname controller
安装kilo的源
yum install http://rdo.fedorapeople.org/openstack-kilo/rdo-release-kilo.rpm
安装数据库mysql
# yum upgrade
# yum install mariadb mariadb-server MySQL-python
修改mysql的配置,(这里我不太确定是否加里一个新的cnf文件就会使用这个配置以及如何对应的,总之按照文档新建了配置文件并进行了配置)
vim /etc/my.cnf.d/mariadb_openstack.cnf
[mysqld]
bind-address = 10.0.0.11
[mysqld]
default-storage-engine = innodb
innodb_file_per_table
collation-server = utf8_general_ci
init-connect = 'SET NAMES utf8'
character-set-server = utf8
设置数据库开机启动和初始密码
# systemctl enable mariadb.service
# systemctl start mariadb.service
mysql_secure_installation
root 密码我设置了 qwer1234
安装rabbitmq并设置用户和权限
# yum install rabbitmq-server
# systemctl enable rabbitmq-server.service
# systemctl start rabbitmq-server.service
# rabbitmqctl add_user openstack RABBIT_PASS
# rabbitmqctl set_permissions openstack ".*" ".*" ".*"
keystone
安装
$ mysql -u root -p
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';
安装软件包
yum install openstack-keystone httpd mod_wsgi python-openstackclient memcached python-memcached
# systemctl enable memcached.service
# systemctl start memcached.service
生成一个随机码
openssl rand -hex 10
7f0ccd900a0e81f0a949
编辑/etc/keystone/keystone.conf ,注意以下几处的修改
[DEFAULT]
admin_token = 7f0ccd900a0e81f0a949
[database]
...
connection = mysql://keystone:KEYSTONE_DBPASS@controller/keystone
[memcache]
...
servers = localhost:11211
[token]
...
provider = keystone.token.providers.uuid.Provider
driver = keystone.token.persistence.backends.memcache.Token
[revoke]
...
driver = keystone.contrib.revoke.backends.sql.Revoke
[DEFAULT]
...
verbose = True
同步数据库信息
#su -s /bin/sh -c "keystone-manage db_sync"
我的环境keystone 运行这个命令无反应,使用下一行
keystone-manage db_sync
修改 the /etc/httpd/conf/httpd.conf
ServerName controller
新建 /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 / /var/www/cgi-bin/keystone/main
WSGIApplicationGroup %{GLOBAL}
WSGIPassAuthorization On
LogLevel info
ErrorLogFormat "%{cu}t %M"
ErrorLog /var/log/httpd/keystone-error.log
CustomLog /var/log/httpd/keystone-access.log combined
</VirtualHost>
<VirtualHost *:35357>
WSGIDaemonProcess keystone-admin processes=5 threads=1 user=keystone group=keystone display-name=%{GROUP}
WSGIProcessGroup keystone-admin
WSGIScriptAlias / /var/www/cgi-bin/keystone/admin
WSGIApplicationGroup %{GLOBAL}
WSGIPassAuthorization On
LogLevel info
ErrorLogFormat "%{cu}t %M"
ErrorLog /var/log/httpd/keystone-error.log
CustomLog /var/log/httpd/keystone-access.log combined
</VirtualHost>
设置
mkdir -p /var/www/cgi-bin/keystone
curl http://git.openstack.org/cgit/openstack/keystone/plain/httpd/keystone.py?h=stable/kilo \
| tee /var/www/cgi-bin/keystone/main /var/www/cgi-bin/keystone/admin
设置权限并设置开机启动
# chown -R keystone:keystone /var/www/cgi-bin/keystone
# chmod 755 /var/www/cgi-bin/keystone/*
# systemctl enable httpd.service
#