2010-10-14 21:50:38 +04:00
2013-10-23 17:22:31 +04:00
# OpenNebula
2010-10-14 21:50:38 +04:00
2019-02-18 12:57:54 +03:00
[![Build Status ](https://travis-ci.org/OpenNebula/one.svg?branch=master )](https://travis-ci.org/OpenNebula/one)
2013-10-23 17:03:53 +04:00
## Description
2010-10-14 21:50:38 +04:00
2017-08-23 18:44:45 +03:00
OpenNebula is an open-source project delivering a simple but feature-rich and
2013-10-15 20:05:16 +04:00
flexible solution to build and manage enterprise clouds and virtualized data centers.
2010-10-14 21:50:38 +04:00
2017-08-23 18:44:45 +03:00
Complete documentation: https://docs.opennebula.org
2010-10-14 21:50:38 +04:00
2019-06-26 19:49:26 +03:00
How to contribute: https://github.com/OpenNebula/one/wiki/How-to-Contribute-to-Development
2010-10-14 21:50:38 +04:00
2013-10-23 17:03:53 +04:00
## Installation
2010-10-14 21:50:38 +04:00
2013-10-23 17:03:53 +04:00
### Requirements
2010-10-14 21:50:38 +04:00
This machine will act as the OpenNebula server and therefore needs to have
installed the following software:
2017-08-23 18:44:45 +03:00
* **ruby** >= 1.8.7
2010-10-14 21:50:38 +04:00
* **sqlite3** >= 3.5.2
* **xmlrpc-c** >= 1.06
* **openssl** >= 0.9
* **ssh**
* **sqlite3-ruby** gem
Additionally, to build OpenNebula from source you need:
* Development versions of the **sqlite3** , **xmlrpc-c** and **openssl**
packages, if your distribution does not install them with the libraries.
* **scons** >= 0.97
* **g++** >= 4
* **flex** >= 2.5 (optional, only needed to rebuild the parsers)
* **bison** >= 2.3 (optional, only needed to rebuild the parsers)
* **libxml2-dev**
2018-12-10 19:25:45 +03:00
* **libvncserver-dev** (optional, only needed to build svncterm_server)
2010-10-14 21:50:38 +04:00
2013-10-23 17:03:53 +04:00
### Ruby Libraries Requirements
2011-09-29 18:50:24 +04:00
A set of gem requirements are needed to make several components work. We
include a handy script to install them and the requirements. It is located at
`share/install_gems/install_gems` and you should use it to install the
required gems. You have more information at:
2019-03-10 19:47:57 +03:00
https://docs.opennebula.org/stable/integration/references/compile.html
2010-10-14 21:50:38 +04:00
2012-12-04 18:34:57 +04:00
If you want to install them manually here are the list of required rubygems:
* OpenNebula and clients (plus cloud interfaces)
* sqlite3
* json
* sequel
* mysql
* net-ldap
* amazon-ec2
* rack
* sinatra
* thin
* uuidtools
* curb
* nokogiri
* Sunstone server
* json
* rack
* sinatra
* thin
* sequel
* nokogiri
2013-10-23 17:03:53 +04:00
### Optional Packages
2010-10-14 21:50:38 +04:00
These packages are not needed to run or build OpenNebula. They improve the
performance of the user-land libraries and tools of OpenNebula, nor the core
system. You will probably experiment a more responsive CLI.
First install rubygems and ruby development libraries
* **ruby-dev**
* **rubygems**
* **rake**
* **make**
Then install the following packages:
* **ruby xmlparser**, some distributions include a binary package for this
(**libxml-parser-ruby1.8**). If it is not available in your distribution
install expat libraries with its development files and install xmlparser
using gem:
2013-10-23 17:03:53 +04:00
2017-08-23 18:44:45 +03:00
$ sudo gem install xmlparser --no-ri --no-rdoc
2013-10-23 17:03:53 +04:00
2010-10-14 21:50:38 +04:00
Note the extra parameters to gem install. Some versions of xmlparser have
problems building the documentation and we can use it without documentation
installed.
2013-10-23 17:03:53 +04:00
2017-08-23 18:44:45 +03:00
* **ruby ox**, fast xml parsing library:
2013-10-23 17:03:53 +04:00
2017-08-23 18:44:45 +03:00
$ sudo gem install ox --no-ri --no-rdoc
2010-10-14 21:50:38 +04:00
2013-10-23 17:03:53 +04:00
### Building
2010-10-14 21:50:38 +04:00
Compilation is done using **scons** command:
2017-08-23 18:44:45 +03:00
$ scons [OPTION=VALUE]
2010-10-14 21:50:38 +04:00
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
2018-08-24 13:08:39 +03:00
new_xmlrpc yes if you have an xmlrpc-c version >= 1.31
2017-08-23 18:44:45 +03:00
sunstone yes if you want to build sunstone minified files
2018-02-21 19:06:20 +03:00
systemd yes if you want to build systemd support
2018-12-10 19:25:45 +03:00
svncterm no if you want to skip building vnc support for LXD drivers
2017-08-23 18:44:45 +03:00
2010-10-14 21:50:38 +04:00
2013-10-23 17:03:53 +04:00
### Installation
2010-10-14 21:50:38 +04:00
2013-10-23 17:03:53 +04:00
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:
2010-10-14 21:50:38 +04:00
2017-08-23 18:44:45 +03:00
$ ./install.sh install_options
2013-10-23 17:03:53 +04:00
2010-10-14 21:50:38 +04:00
where **install_options** can be one or more of:
2013-10-23 17:03:53 +04:00
2010-10-14 21:50:38 +04:00
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 current configuration files, useful when upgrading
-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
2011-09-29 18:50:24 +04:00
-c only install client utilities: OpenNebula cli, occi and ec2
client files
2010-10-14 21:50:38 +04:00
-r remove Opennebula, only useful if -d was not specified,
otherwise rm -rf $ONE_LOCATION would do the job
2017-08-23 18:44:45 +03:00
-p do not install OpenNebula Sunstone non-minified files
2018-10-09 15:50:25 +03:00
-G install only OpenNebula Gate
-f install only OpenNebula Flow
2010-10-14 21:50:38 +04:00
-h prints installer help
2017-08-23 18:44:45 +03:00
## Deployment
You can find the documentation about OpenNebula architecture, installation,
configuration and references to configuration files in this documentation
chapter:
2019-03-10 19:47:57 +03:00
https://docs.opennebula.org/stable/deployment/index.html
2017-08-23 18:44:45 +03:00
The reference about the main configuration file is located here:
2010-10-19 01:12:43 +04:00
2019-03-10 19:47:57 +03:00
https://docs.opennebula.org/stable/deployment/references/oned_conf.html
2010-10-19 01:12:43 +04:00
2013-10-23 17:03:53 +04:00
## Contact
2010-10-14 21:50:38 +04:00
2017-08-23 18:44:45 +03:00
OpenNebula web page: https://opennebula.org
2010-10-14 21:50:38 +04:00
2017-11-27 09:20:10 +03:00
Development and issue tracking: https://github.com/OpenNebula/one/issues
2010-10-14 21:50:38 +04:00
2017-08-23 18:44:45 +03:00
Support: https://opennebula.org/support
2010-10-14 21:50:38 +04:00
2013-10-23 17:03:53 +04:00
## License
2010-10-14 21:50:38 +04:00
2019-01-16 13:27:59 +03:00
Copyright 2002-2019, OpenNebula Project, OpenNebula Systems (formerly C12G Labs)
2010-10-14 21:50:38 +04:00
Licensed under the Apache License, Version 2.0 (the "License"); you may
not use this file except in compliance with the License. You may obtain
a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.