<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Build from Source Code on</title><link>https://docs.opennebula.io/7.2/software/installation_process/build_from_source_code/</link><description>Recent content in Build from Source Code on</description><generator>Hugo</generator><language>en</language><lastBuildDate>Mon, 17 Feb 2025 00:00:00 +0000</lastBuildDate><atom:link href="https://docs.opennebula.io/7.2/software/installation_process/build_from_source_code/index.xml" rel="self" type="application/rss+xml"/><item><title>Overview</title><link>https://docs.opennebula.io/7.2/software/installation_process/build_from_source_code/overview/</link><pubDate>Mon, 17 Feb 2025 00:00:00 +0000</pubDate><guid>https://docs.opennebula.io/7.2/software/installation_process/build_from_source_code/overview/</guid><description>&lt;!--# Overview --&gt;
&lt;h2 id="how-should-i-read-this-chapter"&gt;How Should I Read This Chapter&lt;/h2&gt;
&lt;p&gt;You should be reading this Chapter if you are trying to build OpenNebula from source code or trying to extend the Sunstone functionality.&lt;/p&gt;
&lt;p&gt;This Chapter covers what the OpenNebula &lt;a href="https://docs.opennebula.io/7.2/software/installation_process/build_from_source_code/build_deps/#build-deps"&gt;software dependencies&lt;/a&gt; are, how to &lt;a href="https://docs.opennebula.io/7.2/software/installation_process/build_from_source_code/compile/#compile"&gt;compile&lt;/a&gt; OpenNebula, and how to &lt;a href="https://docs.opennebula.io/7.2/software/installation_process/build_from_source_code/sunstone_dev/#sunstone-dev"&gt;extend Sunstone functionality&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="hypervisor-compatibility"&gt;Hypervisor Compatibility&lt;/h2&gt;
&lt;p&gt;All sections of this Chapter apply to all hypervisors.&lt;/p&gt;</description></item><item><title>Building from Source Code</title><link>https://docs.opennebula.io/7.2/software/installation_process/build_from_source_code/compile/</link><pubDate>Mon, 17 Feb 2025 00:00:00 +0000</pubDate><guid>https://docs.opennebula.io/7.2/software/installation_process/build_from_source_code/compile/</guid><description>&lt;p&gt;&lt;a id="compile"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;!--# Building from Source Code --&gt;
&lt;p&gt;This page will show you how to compile and install OpenNebula from the sources.&lt;/p&gt;









&lt;div class="alert alert-warning" role="alert"&gt;
 
 &lt;div class="alert-heading"&gt;
 &lt;i class="alert-icon fas fa-triangle-exclamation"&gt;&lt;/i&gt; Warning
 &lt;/div&gt;
 
 &lt;div class="alert-body"&gt;
 Do not forget to check the &lt;a href="https://docs.opennebula.io/7.2/software/installation_process/build_from_source_code/build_deps/#build-deps"&gt;Building Dependencies&lt;/a&gt; for a list of specific software requirements to build OpenNebula.
 &lt;/div&gt; 
&lt;/div&gt;









&lt;div class="alert alert-info" role="alert"&gt;
 
 &lt;div class="alert-heading"&gt;
 &lt;i class="alert-icon fa-sharp fa-solid fa-circle-info"&gt;&lt;/i&gt; Note
 &lt;/div&gt;
 
 &lt;div class="alert-body"&gt;
 If you need to build customized OpenNebula packages you can find the source packages for publicly released versions available in the download repositories for easy rebuilds and customizations. If you need to access the packaging tools, please get in touch at &amp;lt;&lt;a href="mailto:community-manager@opennebula.io"&gt;community-manager@opennebula.io&lt;/a&gt;&amp;gt;.
 &lt;/div&gt; 
&lt;/div&gt;
&lt;h2 id="compiling-the-software"&gt;Compiling the Software&lt;/h2&gt;
&lt;p&gt;Follow these simple steps to install the OpenNebula software:&lt;/p&gt;</description></item><item><title>Build Dependencies</title><link>https://docs.opennebula.io/7.2/software/installation_process/build_from_source_code/build_deps/</link><pubDate>Mon, 17 Feb 2025 00:00:00 +0000</pubDate><guid>https://docs.opennebula.io/7.2/software/installation_process/build_from_source_code/build_deps/</guid><description>&lt;p&gt;&lt;a id="build-deps"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;!--# Build Dependencies --&gt;
&lt;p&gt;This page lists the &lt;strong&gt;build&lt;/strong&gt; dependencies for OpenNebula.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;g++&lt;/strong&gt; compiler (&amp;gt;= 5.0)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;xmlrpc-c&lt;/strong&gt; development libraries (&amp;gt;= 1.06)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;scons&lt;/strong&gt; build tool (&amp;gt;= 0.98)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;sqlite3&lt;/strong&gt; development libraries (if compiling with sqlite support) (&amp;gt;= 3.6)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;mysql&lt;/strong&gt; client development libraries (if compiling with mysql support) (&amp;gt;= 5.1, &amp;gt;= 5.6 is recommended for pool search)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;libxml2&lt;/strong&gt; development libraries (&amp;gt;= 2.7)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;libvncserver&lt;/strong&gt; development libraries (&amp;gt;= 0.9)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;openssl&lt;/strong&gt; development libraries (&amp;gt;= 0.9.8)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ruby&lt;/strong&gt; interpreter (&amp;gt;= 2.0.0)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="ubuntu-2204-2404"&gt;Ubuntu 22.04, 24.04&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;bash-completion&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;libcurl4-openssl-dev&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;libmysqlclient-dev&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;libnode-dev (&amp;gt;= 10)&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;libnsl-dev&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;libsqlite3-dev&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;libssl-dev&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;libsystemd-dev&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;libvncserver-dev&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;libxml2-dev&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;libxmlrpc-c++8-dev&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;nodejs (&amp;gt;= 10)&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;npm&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;python3&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;python3-pip&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;python3-setuptools&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;rake&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;scons&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;unzip&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;protobuf-compiler-grpc&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;libgrpc++-dev&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;libabsl-dev&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;ruby gem &lt;strong&gt;grpc-tools&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For Ubuntu 22.04 is recommended a updated version of Node.js:&lt;/p&gt;</description></item><item><title>Sunstone Development</title><link>https://docs.opennebula.io/7.2/software/installation_process/build_from_source_code/sunstone_dev/</link><pubDate>Mon, 17 Feb 2025 00:00:00 +0000</pubDate><guid>https://docs.opennebula.io/7.2/software/installation_process/build_from_source_code/sunstone_dev/</guid><description>&lt;p&gt;&lt;a id="sunstone-dev"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;!--# Sunstone Development --&gt;
&lt;p&gt;OpenNebula FireEdge server provides a &lt;strong&gt;next-generation web-management interface&lt;/strong&gt;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Sunstone GUI: &lt;code&gt;&amp;lt;http://&amp;lt;OPENNEBULA-FRONTEND&amp;gt;:2616/fireedge/sunstone&amp;gt;&lt;/code&gt; (automatically redirected from &lt;code&gt;&amp;lt;http://&amp;lt;OPENNEBULA-FRONTEND&amp;gt;:2616/&lt;/code&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This second Sunstone incarnation is written in &lt;a href="https://reactjs.org/"&gt;React&lt;/a&gt; / &lt;a href="https://redux.js.org/"&gt;Redux&lt;/a&gt; and &lt;a href="https://mui.com/"&gt;Material-UI&lt;/a&gt; is used for the styles and layout of the web.&lt;/p&gt;
&lt;p&gt;If you want to do development work over Sunstone, you need to install OpenNebula from source. For this, you will need &lt;a href="https://docs.opennebula.io/7.2/software/installation_process/build_from_source_code/build_deps/#build-deps"&gt;build dependencies&lt;/a&gt;, &lt;a href="https://git-scm.com/"&gt;git&lt;/a&gt;, &lt;a href="https://nodejs.org/en/blog/release/v12.22.12"&gt;nodeJS v12&lt;/a&gt; and &lt;a href="https://docs.npmjs.com/downloading-and-installing-node-js-and-npm"&gt;npm v6&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Once the environment has been prepared, you need to clone &lt;a href="https://github.com/OpenNebula/one"&gt;one repository&lt;/a&gt; and follow the steps &lt;a href="https://docs.opennebula.io/7.2/software/installation_process/build_from_source_code/compile/#compile"&gt;to compile the OpenNebula software&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Cloud Servers Authentication</title><link>https://docs.opennebula.io/7.2/software/installation_process/build_from_source_code/cloud_auth/</link><pubDate>Mon, 17 Feb 2025 00:00:00 +0000</pubDate><guid>https://docs.opennebula.io/7.2/software/installation_process/build_from_source_code/cloud_auth/</guid><description>&lt;p&gt;&lt;a id="cloud-auth"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;!--# Cloud Servers Authentication --&gt;
&lt;p&gt;When a user interacts with &lt;a href="https://docs.opennebula.io/7.2/product/operation_references/opennebula_services_configuration/fireedge/#fireedge"&gt;Sunstone&lt;/a&gt;, the server authenticates the request and then forwards the requested operation to the OpenNebula daemon.&lt;/p&gt;
&lt;p&gt;The forwarded requests between the server and the core daemon include the original user name and are signed with the credentials of a special &lt;code&gt;server&lt;/code&gt; user.&lt;/p&gt;
&lt;p&gt;In the current guide this request forwarding mechanism is explained, and how it is secured with a symmetric-key algorithm is also detailed.&lt;/p&gt;</description></item></channel></rss>