OpenNebula is a powerful and flexible cloud management platform that allows you to create, manage, and deploy private and hybrid clouds. The frontend of OpenNebula provides a user-friendly interface to manage the cloud infrastructure, including virtual machines, storage, and networking.

For many organizations, OpenNebula offers a cost-effective and scalable alternative to proprietary cloud solutions. It supports a wide range of hypervisors, including KVM, VMware, and Xen, making it versatile for various deployment scenarios.

While the backend components of OpenNebula handle the actual virtualization and resource management, the frontend provides the necessary tools and interfaces for administrators and users. Installing the frontend on Ubuntu or Debian is straightforward, and this guide will walk you through the necessary steps.

Steps to install OpenNebula Frontend (Sunstone) on Ubuntu or Debian:

  1. Add the OpenNebula repository to your system's sources list.
    $ echo "deb https://downloads.opennebula.io/repo/6.6/Ubuntu/22.04/ stable opennebula" | sudo tee /etc/apt/sources.list.d/opennebula.list
    [sudo] password for user: 
    deb https://downloads.opennebula.io/repo/6.6/Ubuntu/22.04/ stable opennebula

    Ensure you choose the appropriate repository based on your Debian or Ubuntu version. Versions list are available here:
    https://downloads.opennebula.io/repo/

  2. Import the OpenNebula GPG key to ensure package integrity.
    $ wget -q -O- https://downloads.opennebula.io/repo/repo2.key | sudo gpg --dearmor --yes --output /etc/apt/trusted.gpg.d/opennebula.gpg
  3. Update the system package list based on the new repository.
    $ sudo apt update
    Hit:1 http://jp.archive.ubuntu.com/ubuntu jammy InRelease
    Hit:2 http://jp.archive.ubuntu.com/ubuntu jammy-updates InRelease              
    Hit:3 http://security.ubuntu.com/ubuntu jammy-security InRelease    
    Hit:4 http://jp.archive.ubuntu.com/ubuntu jammy-backports InRelease
    Ign:5 https://downloads.opennebula.io/repo/6.6/Ubuntu/22.04 stable InRelease
    Get:6 https://downloads.opennebula.io/repo/6.6/Ubuntu/22.04 stable Release [1,754 B]
    Get:7 https://downloads.opennebula.io/repo/6.6/Ubuntu/22.04 stable Release.gpg [833 B]
    Get:8 https://downloads.opennebula.io/repo/6.6/Ubuntu/22.04 stable/opennebula i386 Packages [2,610 B]
    Get:9 https://downloads.opennebula.io/repo/6.6/Ubuntu/22.04 stable/opennebula amd64 Packages [4,895 B]
    Fetched 10.1 kB in 2s (6,096 B/s)     
    Reading package lists... Done
    Building dependency tree... Done
    Reading state information... Done
    2 packages can be upgraded. Run 'apt list --upgradable' to see them.
  4. Install the OpenNebula frontend package.
    $ sudo apt install --assume-yes opennebula-sunstone
    Reading package lists... Done
    Building dependency tree... Done
    Reading state information... Done
    The following additional packages will be installed:
      augeas-lenses comerr-dev curl dmeventd fonts-lato git git-man
      ibverbs-providers icu-devtools iputils-arping javascript-common jq
      krb5-multidev libaio1 libaugeas0 libblas3 libbsd-dev libc-dev-bin
      libc-devtools libc6-dev libcrypt-dev libdaxctl1 libdevmapper-event1.02.1
      liberror-perl libgfapi0 libgfortran5 libgfrpc0 libgfxdr0 libglusterfs0
      libgssrpc4 libibverbs1 libicu-dev libiscsi7 libjq1 libjs-jquery
      libkadm5clnt-mit12 libkadm5srv-mit12 libkdb5-10 libkrb5-dev liblapack3
      liblvm2cmd2.03 libmd-dev libmysqlclient21 libndctl6 libnorm-dev libnorm1
      libnsl-dev libonig5 libpgm-5.3-0 libpgm-dev libpmem1 libpmemobj1 libpq5
      libquadmath0 librados2 librbd1 librdmacm1 libruby3.0 libsodium-dev
      libtirpc-dev liburing2 libxml2-dev libzmq3-dev libzmq5 linux-libc-dev lvm2
      manpages-dev mysql-common opennebula opennebula-common
      opennebula-common-onecfg opennebula-libs opennebula-rubygems
      opennebula-tools python3-numpy qemu-block-extra qemu-utils rake rpcsvc-proto
      ruby ruby-net-telnet ruby-rubygems ruby-webrick ruby-xmlrpc ruby3.0
      rubygems-integration sqlite3 thin-provisioning-tools
    Suggested packages:
      augeas-doc doc-base git-daemon-run | git-daemon-sysvinit git-doc git-email
      git-gui gitk gitweb git-cvs git-mediawiki git-svn apache2 | lighttpd | httpd
      krb5-doc augeas-tools glibc-doc krb5-user icu-doc libnorm-doc pkg-config
      mysql-server gnuplot-nox gcc gfortran python-numpy-doc python3-dev
      python3-pytest debootstrap ri ruby-dev bundler sqlite3-doc
    The following NEW packages will be installed:
      augeas-lenses comerr-dev curl dmeventd fonts-lato git git-man
      ibverbs-providers icu-devtools iputils-arping javascript-common jq
      krb5-multidev libaio1 libaugeas0 libblas3 libbsd-dev libc-dev-bin
      libc-devtools libc6-dev libcrypt-dev libdaxctl1 libdevmapper-event1.02.1
      liberror-perl libgfapi0 libgfortran5 libgfrpc0 libgfxdr0 libglusterfs0
      libgssrpc4 libibverbs1 libicu-dev libiscsi7 libjq1 libjs-jquery
      libkadm5clnt-mit12 libkadm5srv-mit12 libkdb5-10 libkrb5-dev liblapack3
      liblvm2cmd2.03 libmd-dev libmysqlclient21 libndctl6 libnorm-dev libnorm1
      libnsl-dev libonig5 libpgm-5.3-0 libpgm-dev libpmem1 libpmemobj1 libpq5
      libquadmath0 librados2 librbd1 librdmacm1 libruby3.0 libsodium-dev
      libtirpc-dev liburing2 libxml2-dev libzmq3-dev libzmq5 linux-libc-dev lvm2
      manpages-dev mysql-common opennebula opennebula-common
      opennebula-common-onecfg opennebula-libs opennebula-rubygems
      opennebula-sunstone opennebula-tools python3-numpy qemu-block-extra
      qemu-utils rake rpcsvc-proto ruby ruby-net-telnet ruby-rubygems ruby-webrick
      ruby-xmlrpc ruby3.0 rubygems-integration sqlite3 thin-provisioning-tools
    0 upgraded, 89 newly installed, 0 to remove and 2 not upgraded.
    Need to get 119 MB of archives.
    After this operation, 725 MB of additional disk space will be used.
    ##### snipped
  5. Configure firewall to allow access to required ports if enabled.
    $ sudo ufw allow proto tcp from any to any port 9869
    Rules updated
    Rules updated (v6)
  6. Start opennebula-sunstone service.
    $ sudo systemctl start opennebula-sunstone
  7. Configure opennebula-sunstone service to automatically start during system boot.
    $ sudo systemctl enable opennebula opennebula-sunstone
    Created symlink /etc/systemd/system/multi-user.target.wants/opennebula.service → /lib/systemd/system/opennebula.service.
    Created symlink /etc/systemd/system/multi-user.target.wants/opennebula-sunstone.service → /lib/systemd/system/opennebula-sunstone.service.
  8. Get the automatically generated password for oneadmin.
    $ sudo cat /var/lib/one/.one/one_auth 
    oneadmin:AyfleHigfem1
  9. Access OpenNebula Frontend from browser using oneadmin user and the generated password.
    http://<ip-address-of-frontend>:9869

This guide is tested on Ubuntu:

Version Code Name
22.04 LTS Jammy Jellyfish
Discuss the article:

Comment anonymously. Login not required.