[ English | português (Brasil) | Esperanto | русский | English (United Kingdom) | 한국어 (대한민국) | Deutsch | Indonesia | 中文 (简体, 中国) | français | español | नेपाली ]
Pemasangan manual¶
This page covers the basic installation of Horizon in a production environment. If you are looking for a developer environment, see Quickstart.
Untuk dependensi sistem, lihat Persyaratan sistem.
Pemasangan¶
Catatan
Dalam perintah di bawah ini, gantikan "<release>" untuk versi pilihan Anda, seperti "queens" atau "rocky".
Jika Anda menggunakan versi pengembangan, ganti "stable/<release>" dengan "master".
Clone Horizon
$ git clone https://opendev.org/openstack/horizon -b stable/<release> --depth=1 $ cd horizon
Install the Horizon python module into your system
$ sudo pip install -c https://opendev.org/openstack/requirements/raw/branch/stable/<release>/upper-constraints.txt .
Konfigurasi¶
This section contains a small summary of the critical settings required to run Horizon. For more details, please refer to Referensi Pengaturan.
Pengaturan¶
Buat openstack_dashboard/local/local_settings.py. Itu biasanya ide yang baik untuk menyalin openstack_dashboard/local/local_settings.py.example` dan mengeditnya. Minimal, pengaturan berikut perlu dimodifikasi:
DEBUGSetel ke
FalseALLOWED_HOSTSSetel nama domain Anda (s)
OPENSTACK_HOSTAtur ke IP endpoint Keystone Anda. Anda mungkin juga perlu mengubah
OPENSTACK_KEYSTONE_URL
Catatan
Langkah-langkah berikut di bagian "Configuration" adalah opsional, tetapi sangat dianjurkan dalam produksi.
Translations (terjemahan)¶
Menyusun katalog pesan terjemahan untuk internasionalisasi. Langkah ini tidak diperlukan jika Anda tidak perlu mendukung bahasa selain Bahasa Inggris AS. Alat gettext` GNU diperlukan untuk mengkompilasi katalog pesan.
$ sudo apt install gettext
$ ./manage.py compilemessages
Static Assets¶
Kompres file statis Anda dengan menambahkan COMPRESS_OFFLINE = True ke local_settings.py Anda, lalu jalankan perintah berikut
$ ./manage.py collectstatic
$ ./manage.py compress
Logging¶
Horizon uses Django's logging configuration mechanism, which can be customized
by altering the LOGGING dictionary in local_settings.py. By default,
Horizon logging example sets the log level to INFO.
Horizon also uses a number of 3rd-party clients which log separately. The
log level for these can still be controlled through Horizon LOGGING
config, however behaviors may vary beyond Horizon control.
Untuk informasi lebih lanjut tentang mengkonfigurasi penebangan di Horizon, silakan baca 'Django logging directive`_ dan dokumentasi `Python loggingiveive__. Horizon dibangun di atas Python dan Django.
Session Storage¶
Horizon menggunakan Django's sessions framework untuk menangani data sesi. Ada banyak sesi backend yang tersedia, yang dipilih melalui pengaturan SESSION_ENGINE di file local_settings.py Anda.
Memcached¶
SESSION_ENGINE = 'django.contrib.sessions.backends.cache'
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.memcached.PyMemcacheCache',
'LOCATION': 'controller:11211',
}
}
Eksternal caching menggunakan aplikasi seperti memcached menawarkan persisten dan penyimpanan bersama, dan bisa sangat berguna untuk penyebaran skala kecil dan/atau pengembangan. Namun, untuk skenario yang didistribusikan dan ketersediaan tinggi memcached memiliki masalah yang melekat yang berada di luar lingkup dokumentasi ini.
Persyaratan:
Layanan memcached berjalan dan dapat diakses
Modul Python memcached terpasang
Database¶
SESSION_ENGINE = 'django.core.cache.backends.db.DatabaseCache'
DATABASES = {
'default': {
# Database configuration here
}
}
Sesi yang didukung database bersifat skalabel (menggunakan strategi basis data yang sesuai), persisten, dan dapat dibuat konkurensi tinggi dan sangat tersedia.
Kelemahan dari pendekatan ini adalah bahwa sesi yang didukung database adalah salah satu penyimpanan sesi yang lebih lambat, dan menimbulkan biaya overhead yang tinggi di bawah penggunaan berat. Konfigurasi yang tepat dari penyebaran basis data Anda juga dapat menjadi pekerjaan substansial dan jauh di luar lingkup dokumentasi ini.
Cached Database¶
Untuk mengurangi masalah kinerja query database, Anda juga dapat mempertimbangkan untuk menggunakan backend sesi cached_db Django yang memanfaatkan database dan infrastruktur cache untuk melakukan cache write-through dan pengambilan yang efisien. Anda dapat mengaktifkan pengaturan hibrida ini dengan mengkonfigurasi database dan cache Anda seperti yang dibahas di atas dan kemudian menggunakan
SESSION_ENGINE = "django.contrib.sessions.backends.cached_db"
Deployment¶
Siapkan server web dengan dukungan WSGI. Sebagai contoh, instal server web Apache di Ubuntu
$ sudo apt install apache2 libapache2-mod-wsgi-py3
Anda dapat menggunakan
openstack_dashboard/wsgi.pyatau menghasilkan fileopenstack_dashboard/horizon_wsgi.pydengan perintah berikut (yang mendeteksi jika Anda menggunakan lingkungan virtual atau tidak secara otomatis membangun file WSGI yang disesuaikan )$ ./manage.py make_web_conf --wsgi
Then configure the web server to host OpenStack dashboard via WSGI. For apache2 web server, you may need to create
/etc/apache2/sites-available/horizon.conf. The template in DevStack is a good example of the file. https://opendev.org/openstack/devstack/src/branch/master/files/apache-horizon.template. Or you can automatically generate an apache configuration file. If you previously generated anopenstack_dashboard/horizon_wsgi.pyfile it will use that, otherwise will default to usingopenstack_dashboard/wsgi.py$ ./manage.py make_web_conf --apache > /etc/apache2/sites-available/horizon.conf
Sama seperti di atas tetapi jika Anda menginginkan dukungan SSL
$ ./manage.py make_web_conf --apache --ssl --sslkey=/path/to/ssl/key --sslcert=/path/to/ssl/cert > /etc/apache2/sites-available/horizon.conf
Secara default, konfigurasi apache akan meluncurkan sejumlah proses apache yang sama dengan jumlah CPU + 1 dari mesin di mana Anda meluncurkan perintah
make_web_conf. Jika mesin target tidak sama atau jika Anda ingin menentukan jumlah proses, tambahkan opsi--processes$ ./manage.py make_web_conf --apache --processes 10 > /etc/apache2/sites-available/horizon.conf
Aktifkan konfigurasi di atas dan mulai ulang server web
$ sudo a2ensite horizon $ sudo systemctl restart apache2
Langkah selanjutnya¶
Referensi Pengaturan lists the available settings for Horizon.
Kustomisasi Horizon describes how to customize Horizon.