Hai semuanya, apa kabar? Kali ini saya mau coba “ngulik” lagi XCP-ng (walaupun sederhana). XCP-ng punya sistem interface yang namanya adalah XOA (Xen Orchestra Appliance). XOA dapat di-deploy di dalam server XCP-ng ataupun di luar XCP-ng.
Beberapa cara yang sudah pernah saya coba adalah dengan menekan tombol Deploy XOA pada halaman XO-Lite ataupun menggunakan link https://vates.tech/en/deploy/ . Keduanya bekerja dengan cara deploy XOA-nya di dalam server XCP-ng.
Dan saya tadi kepikiran untuk mencoba instal XOA namun di luar server XCP-ng. Mungkin berupa VM di Proxmox VE.
Namun apabila menggunakan VM, cenderung proses deploy/provisioning-nya lebih lama daripada menggunakan LXC. Hmm, saya ingin coba pakai LXC, apakah bisa atau tidak ya?
Persiapan Container
LXC yang akan digunakan pada pengujian kali ini berbasis Debian (karena XOA yang biasa di-deploy juga berbasis Debian). Saya juga menggunakan resource yang agak besar untuk ukuran LXC, yaitu memori sebesar 4GiB, 2 vCPU, dan disk sebesar 20G.

Hal ini saya lakukan untuk mengurangi risiko XOA gagal diinstal.
Update Repository
Oiya, disclaimer, referensi yang saya gunakan untuk pengujian kali ini adalah: https://forums.lawrencesystems.com/t/how-to-build-xen-orchestra-from-sources-2024/19913
Setelah LXC berhasil dibuat dan dijalankan, kita lakukan langkah awal terlebih dahulu yaitu update repository dengan menggunakan perintah apt update:
root@Debian-XOA:~# apt update
Get:1 http://deb.debian.org/debian bookworm InRelease [151 kB]
Get:2 http://security.debian.org bookworm-security InRelease [48.0 kB]
Get:3 http://deb.debian.org/debian bookworm-updates InRelease [55.4 kB]
...
Fetched 15.8 MB in 2s (6545 kB/s)
Reading package lists... Done
Building dependency tree... Done
86 packages can be upgraded. Run 'apt list --upgradable' to see them.
Clone GitHub
Kemudian, karena script yang akan digunakan diambil dari GitHub, maka kita instal git terlebih dahulu.
root@Debian-XOA:~# apt install git
Reading package lists... Done
Building dependency tree... Done
The following additional packages will be installed:
git-man liberror-perl patch
Suggested packages:
...
After this operation, 48.5 MB of additional disk space will be used.
Do you want to continue? [Y/n] Y
Clone dari GitHub:
root@Debian-XOA:~# git clone https://github.com/ronivay/XenOrchestraInstallerUpdater.git
Cloning into 'XenOrchestraInstallerUpdater'...
remote: Enumerating objects: 1566, done.
remote: Counting objects: 100% (422/422), done.
remote: Compressing objects: 100% (144/144), done.
remote: Total 1566 (delta 295), reused 278 (delta 278), pack-reused 1144 (from 4)
Receiving objects: 100% (1566/1566), 407.61 KiB | 1.79 MiB/s, done.
Resolving deltas: 100% (931/931), done.
Instalasi OpenSSL & Generate Cert
Installer membutuhkan sertifikat SSL. Pada pengujian kali ini akan menggunakan self-signed certificate.
root@Debian-XOA:~/XenOrchestraInstallerUpdater# apt install openssl
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
libssl3
The following packages will be upgraded:
libssl3 openssl
2 upgraded, 0 newly installed, 0 to remove and 84 not upgraded.
Need to get 3463 kB of archives.
After this operation, 8192 B of additional disk space will be used.
Do you want to continue? [Y/n] Y
...
Buat direktori baru dan buat cert-nya.
root@Debian-XOA:~/XenOrchestraInstallerUpdater# mkdir /opt/xo
root@Debian-XOA:~/XenOrchestraInstallerUpdater# openssl req -newkey rsa:4096 \
-x509 \
-sha256 \
-days 3650 \
-nodes \
-out /opt/xo/xo.crt \
-keyout /opt/xo/xo.key
...
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
...-isi detail untuk *cert*-...
Jalankan Installer
Masuk ke direktori hasil git clone, lalu jalankan installer (xo-install.sh).
root@Debian-XOA:~/XenOrchestraInstallerUpdater# ./xo-install.sh—————————————–
Welcome to automated Xen Orchestra installFollowing options will be used for installation:
OS: Debian 12Basedir: /opt/xo
...
Pilih opsi 1. Install.
Xen Orchestra Proxy configuration will be stored to /root/.config/xo-proxy/config.toml. Config won't be overwritten during update, ever
-----------------------------------------
1. Install
2. Update
3. Rollback
4. Install proxy
5. Update proxy
6. Exit
: 1
[ok] Running apt-get update
...
Installer akan berjalan secara otomatis. Apabila sudah berhasil, maka tampilannya akan seperti ini:
[info] Starting xo-server...
waiting for port to be open
WebUI started in port 80. Make sure you have firewall rules in place to allow access.
Default username: admin@admin.net password: admin
[info] Installation successful. Enabling xo-server service to start on reboot
root@Debian-XOA:~/XenOrchestraInstallerUpdater#
Cek di Web Browser
Setelah instalasi selesai, selanjutnya kita coba cek di web browser apakah XOA sudah dapat diakses atau belum.

XOA berhasil diakses di web browser. Yay. Untuk masuk, gunakan kredensial default-nya yaitu admin@admin.net | admin. Kita coba masuk dan tambahkan server XCP-ng-nya.

Penutup
Eksperimen “iseng” kali ini bisa dibilang sukses. Saya sempat ragu menggunakan LXC karena saya pernah menggunakan LXC untuk membuat NFS server tapi gagal hehe. Untuk tulisan kali ini sampai di sini dulu ya. Sampai jumpa. Bye.