Pasang WebvirtCloud di Rocky Linux/AlmaLinux 9|8
WebVirtCloud adalah platform manajemen virtualisasi KVM berbasis web yang dapat membantu Anda mengelola hypervisor dan mesin virtual. Platform ini memungkinkan Anda untuk membuat, mengelola, mengakses, dan menghapus mesin virtual melalui dasbor web, berbeda dengan operasi berbasis terminal. Selain itu, WebVirtCloud mempermudah pembuatan VM melalui template yang sudah dikonfigurasi sebelumnya dengan sistem operasi populer seperti Ubuntu, Debian, Fedora, CentOS, AlmaLinux, dan Rocky Linux.
Dalam postingan ini kami memberikan panduan untuk pengguna Linux yang menjalankan Rocky/AlmaLinux, atau turunan lain dari Enterprise Linux OS. Panduan ini tidak akan membahas tugas-tugas besar setelah instalasi, tetapi kami berharap di masa depan lebih banyak tutorial akan dibagikan. Jika Anda siap untuk memulai proses instalasi, buka terminal untuk memulai!
1) Pasang dependensi
Pastikan sistem yang sedang Anda gunakan diperbarui. Bisa berupa mesin virtual yang baru disiapkan (sangat disarankan), atau komputer yang sama tempat KVM berjalan (tidak disarankan). Jika Anda memilih untuk melakukan deployment di host hypervisor KVM, waspadai kemungkinan terjadinya kerusakan sistem akibat pembaruan paket yang tidak direncanakan.
Jalankan perintah di bawah ini untuk memperbarui sistem dengan semua paket yang terpasang.
sudo dnf -y update
Konfirmasi pembaruan kernel selama proses upgrade, jika benar sistem akan di-reboot
sudo rebootSetelah sistem kembali online, buka terminal atau instal dependensi yang diperlukan untuk mengatur WebvirtCloud.
# Enable EPEL repository
sudo dnf -y install epel-release
# On EL 9 based systems enable crb repository
sudo dnf config-manager --set-enabled crb 2>/dev/null
# Install group development tools
sudo dnf -y groupinstall "Development Tools"
# Install the following additional packages
sudo dnf -y install git gcc libvirt-devel \
glibc supervisor iproute-tc cyrus-sasl-md5 \
cyrus-sasl-devel openldap-devel openssl-devel Atur SELinux ke mode Permissive:
sudo setenforce 0
sudo sed -i 's/^SELINUX=.*/SELINUX=permissive/g' /etc/selinux/config2) Instal Python 3.11+
Kita perlu menginstal versi Python yang lebih baru. Kamu bisa menginstal Python 3.11 atau versi lebih baru.
sudo dnf install python3.12 python3.12-pip python3.12-develUntuk mempermudah penggunaan, buat symlink dari python dan pip yang terpasang
sudo ln -sf /usr/bin/python3.12 /usr/bin/python3
sudo ln -sf /usr/bin/pip3.12 /usr/bin/pip3Verifikasi instalasi dengan memeriksa versi Python dan Pip.
$ /usr/bin/python3 --version
Python 3.12.3
$ /usr/bin/pip3 --version
pip 23.2.1 from /usr/lib/python3.12/site-packages/pip (python 3.12)Perbarui Pip ke versi terbaru yang tersedia dari sumber utama:
sudo /usr/bin/python3 -m pip install --upgrade pip3) Instal server web Nginx
Kami menggunakan Nginx sebagai server web WebvirtCloud. Instal paket tersebut dengan menjalankan perintah berikut:
sudo dnf -y install nginxMulai dan aktifkan layanan nginx.
sudo systemctl enable --now nginxSaat firewalld berjalan, Anda dapat mengizinkan layanan http dan https.
sudo firewall-cmd --add-service={http,https} --permanent
Muat ulang aturan firewalld untuk menerapkan perubahan:
sudo firewall-cmd --reload4) Instal dan Konfigurasi WebVirtCloud
Metode instalasi yang kami lakukan dalam panduan ini adalah dari sumber. Kloning kode sumber proyek dari Github.
git clone https://github.com/retspen/webvirtcloud.gitMasuk ke direktori webvirtcloud.
cd webvirtcloudSebuah template dari settings.py disediakan. Salin atau ubah namanya.
cp webvirtcloud/settings.py.template webvirtcloud/settings.pyHasilkan nilai SECRET_KEY dengan menjalankan perintah di bawah ini.
SECRET=$(python3 conf/runit/secret_generator.py)Perbarui nilai SECRET_KEY di file settings.py.
sed -i "s|SECRET_KEY = \"\"|SECRET_KEY = \"$SECRET\"|" webvirtcloud/settings.pyTambahkan hostname server Anda ke daftar sumber terpercaya untuk permintaan yang tidak aman
$ vi webvirtcloud/settings.py
CSRF_TRUSTED_ORIGINS = ['http://localhost','http://webvirtcloud.example.net']Ganti webvirtcloud.example.net dengan hostname/fqdn server yang benar sesuai konfigurasi di server DNS atau yang dipetakan di dalam file /etc/hosts. Contoh:
172.20.30.10 webvirtcloud.example.netSalin file konfigurasi nginx dan supervisord.
sudo cp conf/nginx/webvirtcloud.conf /etc/nginx/conf.d
sudo cp conf/supervisor/webvirtcloud.conf /etc/supervisord.d/webvirtcloud.iniPada sistem berbasis RHEL, pengguna nginx berjalan sebagai nginx dan bukan akun pengguna www-data. Perbarui file konfigurasi supervisor agar sesuai:
sudo sed -i 's/www-data/nginx/g' /etc/supervisord.d/webvirtcloud.ini
Buka dan sunting file konfigurasi nginx
sudo vi /etc/nginx/conf.d/webvirtcloud.confTetapkan nilai yang benar untuk nama server dan konfigurasi file untuk pencatatan.
server {
listen 80;
server_name webvirtcloud.example.net; #Replace with correct hostname
access_log /var/log/nginx/webvirtcloud_access_log;
error_log /var/log/nginx/webvirtcloud_error_log;Pindahkan direktori webvirtcloud ke /srv.
cd ..
sudo mv webvirtcloud /srvBuat lingkungan virtual Python untuk WebvirtCloud.
cd /srv/webvirtcloud
/usr/bin/python3 -m venv venvAktifkan lingkungan virtual yang baru dibuat
source venv/bin/activatePasang dependensi Python di dalam lingkungan virtual
pip3 install --upgrade pip
pip3 install -r conf/requirements.txtLakukan migrasi dan pembuatan file statis.
pip3 install setuptools
python3 manage.py migrate
python3 manage.py collectstatic --noinputAtur kepemilikan ke pengguna server web.
sudo chown -R nginx:nginx /srv/webvirtcloudMulai dan aktifkan layanan nginx dan supervisor
sudo systemctl enable nginx supervisord
sudo systemctl restart nginx supervisordPeriksa layanan yang dikelola oleh supervisor apakah berjalan
$ sudo supervisorctl status
novncd RUNNING pid 73923, uptime 0:00:10
socketiod RUNNING pid 73924, uptime 0:00:10
webvirtcloud RUNNING pid 73925, uptime 0:00:10Anda juga dapat memeriksa status layanan nginx
systemctl status nginx5) Akses Dashboard WebvirtCloud
Buka browser Anda dan akses antarmuka web WebvirtCloud di http://yourserverdomain
Nama pengguna dan kata sandi default adalah admin / admin. Untuk mengubah kata sandi, buka pengguna admin > Profil
Klik «Ganti Kata Sandi» untuk menetapkan kata sandi baru.
Tetapkan kata sandi baru dan konfirmasi.
6) Tambahkan Host KVM ke WebvirtCloud
Siapkan host KVM Anda dengan menginstal paket yang diperlukan dan melakukan konfigurasi lainnya.
Pada hypervisor KVM
Kami telah membuat skrip bash yang membantu Anda menyiapkan node KVM. Skrip ini tersedia di repositori Github kami.
curl -O https://raw.githubusercontent.com/cloudspinx/linux-bash-scripts/main/webvirtcloud/centos-rocky-kvm-prep.shJalankan skrip di host KVM:
sudo bash centos-rocky-kvm-prep.shGunakan versi Python yang disediakan OS di gstfsd
- Sistem berbasis RHEL 9
sudo sed -i 's/python3/python3.9/g' /etc/supervisord.d/gstfsd.ini- Sistem berbasis RHEL 8
sudo sed -i 's/python3/python3.6/g' /etc/supervisord.d/gstfsd.iniMulai ulang layanan supervisord.
sudo systemctl restart supervisordPeriksa status layanan.
$ sudo supervisorctl status
gstfsd STARTINGPada Instance WebvirtCloud
Buat pasangan kunci SSH di server WebVirtCloud jika belum ada:
$ sudo -u nginx ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/var/lib/nginx/.ssh/id_rsa):
Created directory '/var/lib/nginx/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /var/lib/nginx/.ssh/id_rsa.
Your public key has been saved in /var/lib/nginx/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:U9TVDTByyHL3hybL3MAB8BQ84SiiTVfW/juaWE7VNiI [email
The key's randomart image is:
+---[RSA 3072]----+
| +=B*+ooo.|
| o.*Bo+. o|
| o o .+++ o . |
| + o . .. +.+ .|
| . . S E+o*+. |
| . o=o.. |
| o . |
| = .o |
| . +. . |
+----[SHA256]-----+Kita perlu menyalin kunci publik SSH yang dihasilkan ke hypervisor KVM untuk mengaktifkan autentikasi tanpa kata sandi:
ssh-copy-id -i /var/lib/nginx/.ssh/id_rsa.pub user@compute-server-ipUntuk hypervisor KVM yang tidak mengizinkan autentikasi kata sandi, salin kuncinya secara manual.
cat /var/lib/nginx/.ssh/id_rsa.pubAnda dapat menambahkan konten ke file kunci yang diizinkan SSH.
vi ~/.ssh/authorized_keysUji koneksi dari webvirtcloud ke host KVM.
sudo -u nginx ssh user@compute-server-ip
# Example
sudo -u nginx ssh [email Jika Anda mengalami masalah dengan identitas, hapus file /var/lib/nginx/.ssh/known_hosts dan coba lagi.
Tambahkan host komputasi baru dengan pergi ke „Computes” → „SSH”
Masukkan nama host, nama pengguna, dan alamat IP yang digunakan saat menyalin kunci publik SSH.
Jika semuanya berjalan dengan baik, status seharusnya adalah «Terhubung».
Klik ikon “mata” pada node untuk mulai mengelola sumber daya virtualisasi di host KVM. Untuk konfigurasi Storage pools, lihat artikel berikut:
Buku yang direkomendasikan:
- Menguasai Virtualisasi KVM – eBook Terbaik
Halaman berikutnya:
- Konfigurasikan Pool Penyimpanan KVM menggunakan WebvirtCloud







