~~NOTOC~~
This page will show you how to compile and install OpenNebula from the sources.
If you want to install it from your package manager, visit the [[:software:software | software menu]] to find out if OpenNebula is included in your official distribution package repositories.
:!: Do not forget to check the [[notes|Platform Notes]] for a list of specific software requirements to build OpenNebula.
Follow these simple steps to install the OpenNebula software:
* Download and untar the OpenNebula tarball.
* Change to the created folder and run scons to compile OpenNebula
$ scons [OPTION=VALUE]
the argument expression [OPTIONAL] is used to set non-default values for :
^ OPTION ^ VALUE ^
| sqlite_db | path-to-sqlite-install |
| sqlite | **no** if you don't want to build sqlite support |
| mysql | **yes** if you want to build mysql support |
| xmlrpc | path-to-xmlrpc-install |
| parsers | **yes** if you want to rebuild flex/bison files |
* OpenNebula can be installed in two modes: ''system-wide'', or in ''self-contained'' directory. In either case, you do not need to run OpenNebula as root. These options can be specified when running the install script:
./install.sh
where //// can be one or more of:
^ OPTION ^ VALUE ^
| **-u** | user that will run OpenNebula, defaults to user executing install.sh |
| **-g** | group of the user that will run OpenNebula, defaults to user executing install.sh |
| **-k** | keep configuration files of existing OpenNebula installation, useful when upgrading. This flag should not be set when installing OpenNebula for the first time |
| **-d** | target installation directory. If defined, it will specified the path for the **self-contained** install. If not defined, the installation will be performed **system wide** |
| **-c** | only install client utilities: OpenNebula cli, occi and ec2 client files |
| **-r** | remove Opennebula, only useful if -d was not specified, otherwise ''rm -rf $ONE_LOCATION'' would do the job |
| **-h** | prints installer help |
We will do a ''self-contained'' installation. As ''oneadmin'' user:
~$ wget
~$ tar xzf
~$ cd one-2.0
~/one-2.0$ scons -j2
[ lots of compiling information ]
scons: done building targets.
~/one-2.0$ ./install.sh -d /srv/cloud/one
Now you need to [[.:cg|configure OpenNebula]] to adjust it to your particular cluster.
====== Verifying the Installation ======
Depending on the installation mode (defined by the presence or absence of the **-d** option in the installation script), there are two possibilities with respect to the layout of the OpenNebula files.
===== Self contained ====
Once the OpenNebula software is installed specifying a directory with the **-d** option, the next tree should be found under ''$ONE_LOCATION'':
{{documentation:rel2.0:one-directories2.png|}}
===== System wide ====
Once the OpenNebula software is installed without specifying a directory with the **-d** option, the next tree reflects the files installed:
{{documentation:rel2.0:one-directories-rootmode.png|}}