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.
Discuss the article:

Comment anonymously. Login not required.