본문 바로가기
Openstack

6. 오픈스택: horizon 설치

by 왈레 2023. 4. 6.

컨트롤러 노드에서 진행

$ apt install openstack-dashboard

$ cp /etc/openstack-dashboard/local_settings.py /etc/openstack-dashboard/local_settings.py.org
$ vi /etc/openstack-dashboard/local_settings.py
# 밑에 내용 추가/변경
# 변경
CACHES = {
    'default': {
        'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
        'LOCATION': 'controller:11211',
    },
}

# 추가
SESSION_ENGINE = 'django.contrib.sessions.backends.file' 
EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'

# 변경
OPENSTACK_HOST = "controller"
OPENSTACK_KEYSTONE_URL = "http://%s:5000" % OPENSTACK_HOST
TIME_ZONE = "Asia/Seoul"

# 추가
OPENSTACK_KEYSTONE_MULTIDOMAIN_SUPPORT = True 
OPENSTACK_KEYSTONE_DEFAULT_DOMAIN = "Default" 

# 추가 // 컨트롤러 노드에서 유저 확인 후 삽입 -> $openstack user list
OPENSTACK_KEYSTONE_DEFAULT_ROLE = "member" 

# 추가 // 이것도 환경에 맞게 설정해야함, 일단은 이렇게하고 추후에 상황에 맞게 변경
OPENSTACK_NEUTRON_NETWORK = {
    'enable_router': True,
    'enable_quotas': False,
    'enable_ipv6': False,
    'enable_distributed_router': True,
    'enable_ha_router': True,
    'enable_lb': True,
    'enable_firewall': False,
    'enable_vpn': False,
    'enable_fip_topology_check': False,
}

# 추가
OPENSTACK_API_VERSIONS = {
    "identity": 3,
    "image": 2,
    "volume": 3,
}

LOGGING = {...}
SECURITY_GROUP_RULES = {...}

DEFAULT_THEME = 'ubuntu'
WEBROOT='/horizon/'
ALLOWED_HOSTS = '*'
COMPRESS_OFFLINE = True # 나중에 호라이즌에 다른 메뉴 추가할 때 이 부분 false로 수정해야함

$ vi /etc/apache2/conf-available/openstack-dashboard.conf
WSGIApplicationGroup %{GLOBAL} # 없으면 추가

$ service apache2 restart

# 접속 url : 컨트롤러노드IP/horizon

### 권한 에러 시 ###
$ chown www-data /etc/openstack-dashboard/local_settings.py
$ chmod 755 /etc/openstack-dashboard/local_settings.py

---

$ cd /var/lib/openstack-dashboard
$ chown horizon:horizon secret-key
$ chmod 0600 secret-key

$ chmod -R 755 static/
$ chown -R horizon:horizon static/
 

댓글