Horizon 安裝與設定

首先透過 apt-get 下載相關套件:

sudo apt-get install -y python-setuptools python-virtualenv python-dev gettext git gcc libpq-dev python-pip python-tox libffi-dev

透過git clone 來下載 OpenStack GitHub 的 Horizon 資源庫:

git clone https://github.com/openstack/horizon.git /opt/horizon stable/liberty

設定目錄權限,這邊 user 為openstack

sudo chown -R ${USER}:${USER} /opt/horizon

若權限還有問題,可採用sudo chmod 775 -R /opt/horizon

編譯 i18n 訊息 Catalogs:

./run_tests.sh --compilemessages

這個指令使用 Python virtualenv 進行編譯,會產生一個.venv目錄。結束後可以刪除。

透過 pip 套件進行安裝 Horizon:

sudo pip install .

複製 openstack_dashboard/local/local_settings.py 設定檔:

cp openstack_dashboard/local/local_settings.py.example openstack_dashboard/local/local_settings.py

加入與修改 openstack_dashboard/local/local_settings.py的以下變數:

COMPRESS_OFFLINE = True
OPENSTACK_HOST = "10.0.0.11"
ALLOWED_HOSTS = '*'

CACHES = {
   'default': {
       'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
       'LOCATION': '127.0.0.1:11211',
   }
}

SESSION_ENGINE = 'django.contrib.sessions.backends.cache'

OPENSTACK_KEYSTONE_URL = "http://%s:5000/v3" % OPENSTACK_HOST
OPENSTACK_KEYSTONE_DEFAULT_ROLE = "user"
OPENSTACK_KEYSTONE_MULTIDOMAIN_SUPPORT = True
OPENSTACK_KEYSTONE_DEFAULT_DOMAIN = 'default'

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

更多的部署與設定可以參考 Deploying HorizonSettings and Configuration

壓縮 Django:

./manage.py collectstatic
./manage.py compress

設定一個支援 WSGI 的 Web server,首先安裝相關套件:

sudo apt-get install apache2 libapache2-mod-wsgi

可以採用內建的openstack_dashboard/wsgi/django.wsgi檔案,也可以自行建立:

./manage.py make_web_conf --wsgi

我們需為 Apache2 提供一個 WSGI 設定檔案 /etc/apache2/sites-available/horizon.conf,可以採用以下指令產生:

./manage.py make_web_conf --apache | sudo tee /etc/apache2/sites-available/horizon.conf

修改與設定 Apache2 的 sites-available 下的 /etc/apache2/sites-available/horizon.conf

<VirtualHost *:80>
    DocumentRoot /opt/horizon/

    LogLevel warn
    ErrorLog /var/log/apache2/horizon-error.log
    CustomLog /var/log/apache2/horizon-access.log combined

    WSGIDaemonProcess horizon user=ubuntu group=ubuntu processes=3 threads=10 home=/opt/horizon display-name=%{GROUP}
    WSGIApplicationGroup %{GLOBAL}

    SetEnv APACHE_RUN_USER ubuntu
    SetEnv APACHE_RUN_GROUP ubuntu
    WSGIProcessGroup horizon

    WSGIScriptAlias / /opt/horizon/openstack_dashboard/wsgi/django.wsgi

    <Location "/">
        Require all granted
    </Location>

    Alias /static /opt/horizon/static
    <Location "/static">
        SetHandler None
    </Location>
</Virtualhost>

該檔案可以自行設定,也可以參考 DevStack 的範例。

最後,啟用配置與重啟 apache2 服務:

 sudo a2ensite horizon
 sudo service apache2 restart

驗證操作

這個部分將描述如何進行儀表板的驗證操作,依照以下兩個簡單步驟:

  1. 開啟web瀏覽器進入儀表板: http://controller。
  2. 使用admin或demo的使用者登入。

horizon

results matching ""

    No results matching ""