参考网址:
https://github.com/cschwede/django-swiftbrowser
http://docs.openstack.org/mitaka/install-guide-ubuntu/swift-controller-install.html
- 1.安装swiftBrowser
root@controller:/home# pip install django-swiftbrowser
root@controller:/home# apt-get install python-pip(pip如果没有,则执行这一步,执行完成之后再执行pip install django-swiftbrowser)
- 2.修改swift配置文件
root@controller:/home# vi /etc/swift/proxy-server.conf
1)取消bind_ip的注释:
[DEFAULT]
bind_ip = 192.168.0.238
2)在[pipeline:main]节点中加入tempurl formpost tempauth,注意顺序,eg如下:
[pipeline:main]
pipeline = catch_errors gatekeeper healthcheck proxy-logging cache tempurl formpost tempauth container_sync bulk ratelimit authtoken keystoneauth container-quotas account-quotas slo dlo versioned_writes proxy-logging proxy-server
- 3.将swift的配置文件account-server.conf, container-server.conf, object-server.conf, proxy-server.conf,
swift.conf关于controller(本机名称)的内容都改为ip地址192.168.0.238
4.修改数据库keystone的内容,因为根据官方的安装,数据库存的url访问地址都是以机器名来用,非swift机器访问(如windows)不能解析出这个主机名,需要以ip地址代替:
root@controller:/home# source admin-openrc.sh
root@controller:/home# openstack endpoint list
root@controller:/home# openstack endpoint set 8a4d4077ad5d4f7f88465ded8049b11d –url http://192.168.0.238:8080/v1/AUTH_%(tenant_id)s
root@controller:/home# openstack endpoint set f6c295bc3aac4028b29f3b768ca35509 –url http://192.168.0.238:8080/v1/AUTH_%(tenant_id)s
root@controller:/home# openstack endpoint set e151c8e45e1b4c28928f250af3ef3375 –url http://192.168.0.238:8080/v1
root@controller:/home# openstack endpoint list
root@controller:/home# swift-init all start
ID根据需要进行替换
- 4.修改django-swiftbrower的配置:/usr/local/lib/python2.7/dist-packages/swiftbrowser/settings.py
找到配置文件:,编辑如下(斜线字体代表修改之后的内容)
“”” Settings for Django project “””
import os
SESSION_ENGINE = ‘django.contrib.sessions.backends.signed_cookies’
USE_L10N = True
USE_TZ = True
TEMPLATE_LOADERS = (
‘django.template.loaders.filesystem.Loader’,
‘django.template.loaders.app_directories.Loader’,
)
PROJECT_PATH = os.path.realpath(os.path.dirname(file))
TEMPLATE_DIRS = (os.path.join(PROJECT_PATH, ‘templates’),)
MIDDLEWARE_CLASSES = (
‘django.middleware.common.CommonMiddleware’,
‘django.contrib.sessions.middleware.SessionMiddleware’,
‘django.contrib.messages.middleware.MessageMiddleware’,
‘django.middleware.http.ConditionalGetMiddleware’,
‘django.middleware.csrf.CsrfViewMiddleware’,
)
ROOT_URLCONF = ‘swiftbrowser.urls’
INSTALLED_APPS = (
‘django.contrib.auth’,
‘django.contrib.contenttypes’,
‘django.contrib.sessions’,
‘django.contrib.staticfiles’,
‘swiftbrowser’,
)
SWIFT_AUTH_URL = ‘http://192.168.0.238:35357/v2.0’
SWIFT_AUTH_VERSION = 2 # 2 for keystone
STORAGE_URL = ‘http://192.168.0.238:8080/v1/’
BASE_URL = ‘http://192.168.0.238:8000’ # default if using built-in runserver
SWAUTH_URL = ‘http://192.168.0.238:8080/auth/v2’
TIME_ZONE = ‘Europe/Berlin’
LANGUAGE_CODE = ‘de-de’
SECRET_KEY = ‘DONT_USE_THIS_IN_PRODUCTION’
STATIC_URL = “http://cdnjs.cloudflare.com/ajax/libs/”
ALLOWED_HOSTS = [‘192.168.0.238’, ‘‘*]
~
- 6.运行
root@controller:/home# django-admin runserver 192.168.0.238:8000 –settings=swiftbrowser.settings
root@controller:/home# apt-get install python-pip(如果没有 django-admin,则执行这一步,执行完成之后再执行django-admin runserver 192.168.0.238:8000 –settings=swiftbrowser.settings
- 7.打开浏览器,用户名为demo:demo,密码为安装设置的密码12345678,用户名格式为:租户:用户名,租户为安装keystone创建的用户,使用
source demo-openrc.sh keystone tenant-list即可查询所有的租户
登录成功页面:
Tips报错指南:
1.上传文件之后报
Unauthorized
This server could not verify that you are authorized to access the document you requested.
可发现浏览器的域名跳转到主机名controller:8000中去了,是因为没有更改数据库,将访问的地址有主机名:端口号改为IP地址:端口号