OpenNebula Frontend is a web interface to manage an OpenNebula deployment. It is provided by the opennebula-sunstone service and can be installed and configured on Ubuntu or Debian using apt.

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

  1. Add apt key for official OpenNebula repository.
    $ wget -q -O- https://downloads.opennebula.org/repo/repo.key | sudo apt-key add -
    OK
  2. Add OpenNebula repository to apt.
    $ echo "deb https://downloads.opennebula.org/repo/5.8/Ubuntu/$(grep DISTRIB_RELEASE /etc/lsb-release | sed s/^.*=//g) stable opennebula" | sudo tee /etc/apt/sources.list.d/opennebula.list
    deb https://downloads.opennebula.org/repo/5.8/Ubuntu/18.10 stable opennebula

    Use the latest version when possible. Versions list are available here:
    https://downloads.opennebula.org/repo/

  3. Update package information for apt.
    $ sudo apt update
    Hit:1 http://archive.ubuntu.com/ubuntu cosmic InRelease
    Ign:2 https://downloads.opennebula.org/repo/5.8/Ubuntu/18.10 stable InRelease
    Get:3 http://archive.ubuntu.com/ubuntu cosmic-updates InRelease [88.7 kB]
    Get:4 https://downloads.opennebula.org/repo/5.8/Ubuntu/18.10 stable Release [1,757 B]
    Get:5 https://downloads.opennebula.org/repo/5.8/Ubuntu/18.10 stable Release.gpg [490 B]
    Get:6 http://archive.ubuntu.com/ubuntu cosmic-backports InRelease [74.6 kB]
    Get:7 http://archive.ubuntu.com/ubuntu cosmic-security InRelease [88.7 kB]
    Get:8 https://downloads.opennebula.org/repo/5.8/Ubuntu/18.10 stable/opennebula amd64 Packages [3,378 B]
    Fetched 258 kB in 4s (67.3 kB/s)
    Reading package lists... Done
    Building dependency tree
    Reading state information... Done
    All packages are up to date.
  4. Install opennebula-sunstone and other required packages.
    $ sudo apt install --assume-yes opennebula opennebula-sunstone opennebula-gate opennebula-flow
    Reading package lists... Done
    Building dependency tree
    Reading state information... Done
    The following additional packages will be installed:
      apg cracklib-runtime fonts-lato genisoimage ibverbs-providers iputils-arping javascript-common libaio1 libblas3 libcrack2 libgfortran5 libibverbs1 libiscsi7 libjs-jquery liblapack3
      libmysqlclient20 libnl-route-3-200 libnspr4 libnss3 libpq5 libpython-stdlib libpython2-stdlib libpython2.7-minimal libpython2.7-stdlib libquadmath0 librados2 librbd1 libruby2.5
      mysql-common opennebula-common opennebula-tools python python-minimal python-numpy python2 python2-minimal python2.7 python2.7-minimal qemu-block-extra qemu-utils rake ruby
      ruby-amazon-ec2 ruby-blankslate ruby-builder ruby-did-you-mean ruby-eventmachine ruby-json ruby-minitest ruby-mysql2 ruby-net-telnet ruby-nokogiri ruby-opennebula ruby-parse-cron
      ruby-password ruby-pg ruby-pkg-config ruby-power-assert ruby-sequel ruby-sequel-pg ruby-sqlite3 ruby-termios ruby-test-unit ruby-uuidtools ruby-xml-simple ruby-xmlrpc ruby2.5
      rubygems-integration sharutils sqlite3 unzip wamerican zip
    Suggested packages:
      wodim cdrkit-doc apache2 | lighttpd | httpd mysql-server python-doc python-tk gcc gfortran python-dev python-nose python-numpy-dbg python-numpy-doc python2-doc python2.7-doc binutils
      binfmt-support debootstrap ri ruby-dev ruby-builder-doc doc-base bundler sharutils-doc bsd-mailx | mailx sqlite3-doc
    The following NEW packages will be installed:
      apg cracklib-runtime fonts-lato genisoimage ibverbs-providers iputils-arping javascript-common libaio1 libblas3 libcrack2 libgfortran5 libibverbs1 libiscsi7 libjs-jquery liblapack3
      libmysqlclient20 libnl-route-3-200 libnspr4 libnss3 libpq5 libpython-stdlib libpython2-stdlib libpython2.7-minimal libpython2.7-stdlib libquadmath0 librados2 librbd1 libruby2.5
      mysql-common opennebula opennebula-common opennebula-flow opennebula-gate opennebula-sunstone opennebula-tools python python-minimal python-numpy python2 python2-minimal python2.7
      python2.7-minimal qemu-block-extra qemu-utils rake ruby ruby-amazon-ec2 ruby-blankslate ruby-builder ruby-did-you-mean ruby-eventmachine ruby-json ruby-minitest ruby-mysql2
      ruby-net-telnet ruby-nokogiri ruby-opennebula ruby-parse-cron ruby-password ruby-pg ruby-pkg-config ruby-power-assert ruby-sequel ruby-sequel-pg ruby-sqlite3 ruby-termios ruby-test-unit
      ruby-uuidtools ruby-xml-simple ruby-xmlrpc ruby2.5 rubygems-integration sharutils sqlite3 unzip wamerican zip
    0 upgraded, 77 newly installed, 0 to remove and 0 not upgraded.
    Need to get 53.3 MB of archives.
    After this operation, 281 MB of additional disk space will be used.
    ##### snipped
  5. Install required Ruby gems.
    $ sudo /usr/share/one/install_gems
    [sudo] password for user:
    Fetching: bundler-2.0.1.gem (100%)
    Successfully installed bundler-2.0.1
    Parsing documentation for bundler-2.0.1
    Installing ri documentation for bundler-2.0.1
    Done installing documentation for bundler after 4 seconds
    1 gem installed
    Distribution "debian" detected.
    About to install these dependencies:
    * gcc
    * rake
    * libxml2-dev
    * libxslt1-dev
    * patch
    * g++
    * libsqlite3-dev
    * libcurl4-openssl-dev
    * default-libmysqlclient-dev
    * ruby-dev
    * make
    
    Press enter to continue...
    ##### snipped
  6. Configure firewall to allow access to required ports.
    1. Enable access to OpenNebula's Sunstone web interface.
      $ sudo ufw allow proto tcp from any to any port 9869
      Rules updated
      Rules updated (v6)
  7. Configure credential for Sunstone user.
    $ sudo oneuser passwd oneadmin mypassword

    oneadmin is the username and mypassword is the password. Set the password accordingly.

  8. Start opennebula and opennebula-sunstone service.
    $ sudo systemctl start opennebula opennebula-sunstone
  9. Configure opennebula and 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.
  10. Access OpenNebula Frontend from browser.
    1. Go to port 9869 of the OpenNebula Frontend server in the following format.
      http://<ip-address-of-frontend>:9869

    2. Log in using the previously configured credential for oneadmin.
    3. Start managing your OpenNebula deployment from the web interface.

Support us on Patreon if this guide has helped you. Thanks!!!

Discuss the article:

Comment anonymously. Login not required.

Share!