mirror of
https://github.com/Jarli01/xenorchestra_installer
synced 2025-12-23 12:09:58 +00:00
Compare commits
27 Commits
apt-transp
...
IPO
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e4efbc06c0 | ||
|
|
831a11ce8a | ||
|
|
4e8afcf2b7 | ||
|
|
b7419cda8b | ||
|
|
a54de7afba | ||
|
|
41eeb70190 | ||
|
|
1ca7eed492 | ||
|
|
ece9445fd4 | ||
|
|
ea3449139a | ||
|
|
5273ad5b09 | ||
|
|
d15b30776a | ||
|
|
ef3929cbb3 | ||
|
|
33d4a77164 | ||
|
|
821375b674 | ||
|
|
b1741267b3 | ||
|
|
6549f9fa8f | ||
|
|
5c8c4c3885 | ||
|
|
a3753004a9 | ||
|
|
4e3af20bd0 | ||
|
|
632e3e1659 | ||
|
|
044b513dd5 | ||
|
|
251793d077 | ||
|
|
b061efdf76 | ||
|
|
33d5e4fd39 | ||
|
|
5aab7cc740 | ||
|
|
a72e3b8295 | ||
|
|
f957eb5c0f |
50
.github/ISSUE_TEMPLATE/bug_report.md
vendored
Normal file
50
.github/ISSUE_TEMPLATE/bug_report.md
vendored
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
---
|
||||||
|
name: Bug report
|
||||||
|
about: Create a report to help us help you
|
||||||
|
title: ''
|
||||||
|
labels: ''
|
||||||
|
assignees: ''
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**Describe the bug**
|
||||||
|
A clear and concise description of what the trouble is.
|
||||||
|
|
||||||
|
**To Reproduce**
|
||||||
|
Steps to reproduce the behavior:
|
||||||
|
1. Go to '...'
|
||||||
|
2. Click on '....'
|
||||||
|
3. Scroll down to '....'
|
||||||
|
4. See error
|
||||||
|
|
||||||
|
**Expected behavior**
|
||||||
|
A clear and concise description of what you expected to happen.
|
||||||
|
|
||||||
|
**Screenshots**
|
||||||
|
If applicable, add screenshots to help explain your problem.
|
||||||
|
|
||||||
|
**Desktop/Server details (please complete the following information):**
|
||||||
|
- OS: [e.g. iOS]
|
||||||
|
- Browser [e.g. chrome, safari]
|
||||||
|
- Version [e.g. 22]
|
||||||
|
|
||||||
|
**Additional context**
|
||||||
|
Add any other context about the problem here.
|
||||||
|
|
||||||
|
**Confirm XOCE services are running**
|
||||||
|
Please run ```systemctl status xo-server.service``` and paste the resulting output below.
|
||||||
|
|
||||||
|
**Provide the output of journalctl logs**
|
||||||
|
Please run ```journalctl -u xo-server -f -n 50``` and paste the resulting output below.
|
||||||
|
|
||||||
|
**Provide answers to these questions:**
|
||||||
|
* Is this a fresh install or an upgrade?
|
||||||
|
* Version of XOCE server and web interface you're running
|
||||||
|
* What OS is XOCE running on?
|
||||||
|
* A link to the ISO you've used as as the server (so we can verify/troubleshoot)
|
||||||
|
* What method did you use to install XOCE (xo_install.sh, manual installation, etc)
|
||||||
|
* What specific XOCE page you're on, and what specific element you're interacting with to trigger the error
|
||||||
|
* If a stacktrace is provided in the error, include that too.
|
||||||
|
* Any errors that appear in your browser's error console.
|
||||||
|
* Include what you've done so far in the installation, and if you got any error messages along the way.
|
||||||
|
* Indicate whether or not you've manually edited any data directly.
|
||||||
@@ -1,34 +0,0 @@
|
|||||||
#### Expected Behavior
|
|
||||||
|
|
||||||
<!-- what you expect to happen goes here -->
|
|
||||||
|
|
||||||
-----
|
|
||||||
|
|
||||||
#### Actual Behavior
|
|
||||||
|
|
||||||
<!-- what actually happens goes here -->
|
|
||||||
|
|
||||||
-----
|
|
||||||
|
|
||||||
#### Confirm XOCE services are running
|
|
||||||
|
|
||||||
```systemctl status xo-server.service```
|
|
||||||
|
|
||||||
#### Provide the output of journalctl logs
|
|
||||||
|
|
||||||
```journalctl -u xo-server -f -n 50```
|
|
||||||
|
|
||||||
#### Provide answers to these questions:
|
|
||||||
|
|
||||||
- Is this a fresh install or an upgrade?
|
|
||||||
- Version of XOCE server and web interface you're running
|
|
||||||
- What OS is XOCE running on?
|
|
||||||
- What method you used to install XOCE (xo_install.sh, manual installation, etc)
|
|
||||||
- What specific XOCE page you're on, and what specific element you're interacting with to trigger the error
|
|
||||||
- If a stacktrace is provided in the error, include that too.
|
|
||||||
- Any errors that appear in your browser's error console.
|
|
||||||
- Include what you've done so far in the installation, and if you got any error messages along the way.
|
|
||||||
- Indicate whether or not you've manually edited any data directly.
|
|
||||||
|
|
||||||
<!-- Please do not post an issue without answering the related questions above. If you have opened a different issue and already answered these questions, answer them again, once for every ticket. It will be next to impossible for us to help you. -->
|
|
||||||
|
|
||||||
35
README.md
35
README.md
@@ -1,21 +1,42 @@
|
|||||||
# Xen-Orchestra (Community Edition) Installer
|
# Xen-Orchestra (Community Edition) Installer
|
||||||
|
|
||||||
Xen-Orchestra (Community Edition) allows you to administer Citrix XenServer and XCP-ng as well as backup any VM's running on these systems.
|
Xen-Orchestra (Community Edition) allows you to administer Citrix Hypervisor (aka XenServer) and XCP-ng as well as backup any VM's running on these systems. The single line installation script allows you to go from a bare-minimal installation of [Ubuntu](https://ubuntu.com/download/server) or [Debian (Server)](https://www.debian.org/distrib/netinst) to fully operational XOCE server.
|
||||||
|
|
||||||
The single line installation script allows you to go from a bare-minimal installation of Ubuntu or Debian (Server) to fully operational XOCE server. Run the following steps from a root shell.
|
## System Minimum Requirements for installation
|
||||||
|
|
||||||
sudo bash
|
* 1 vCPU
|
||||||
<password>
|
* 3 GiB RAM
|
||||||
sudo curl https://raw.githubusercontent.com/Jarli01/xenorchestra_installer/master/xo_install.sh | bash
|
* 10 GiB disk space
|
||||||
|
|
||||||
|
## System Recommendations for operation
|
||||||
|
|
||||||
|
* 2 vCPU recommended
|
||||||
|
* 3 GiB of RAM (for environments containing 500+ VMs increase the XOCE RAM)
|
||||||
|
* 20 GiB disk space (for system updates)
|
||||||
|
|
||||||
|
## Assumptions
|
||||||
|
|
||||||
|
* We assume you have a Virtual or physical server running a currently supported Ubuntu or Debian server installation with internet connectivity
|
||||||
|
* You've read this community and understand what installation entails and does on your soon to be XOCE server
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
Run the following steps from a root shell on your **Ubuntu or Debian** host.
|
||||||
|
|
||||||
|
curl https://raw.githubusercontent.com/Jarli01/xenorchestra_installer/master/xo_install.sh | sudo bash
|
||||||
<password>
|
<password>
|
||||||
|
|
||||||
The default username and password are applied, admin@admin.net and admin for the password
|
The default username and password are applied, admin@admin.net and admin for the password
|
||||||
|
|
||||||
If you don't want NFS capabilities run ```sudo apt-get remove nfs-common```.
|
If you don't want NFS capabilities run ```sudo apt-get remove nfs-common```.
|
||||||
|
|
||||||
* Do not use LAMP
|
* Do not use LAMP
|
||||||
* SSH Access is optional, but highly recommended
|
* SSH Access is optional, but highly recommended
|
||||||
|
|
||||||
|
# Declaration
|
||||||
|
|
||||||
|
This script automates the manual process which can be [found here](https://xen-orchestra.com/docs/from_the_sources.html) as well as removes a few feature restrictions that otherwise would need to be changed manually if following the manual installation process. This script is not officially supported by the Vates team, but is supported by this community.
|
||||||
|
|
||||||
# Problems?
|
# Problems?
|
||||||
|
|
||||||
Check out our [Troubleshooting Page](https://github.com/Jarli01/xenorchestra_installer/blob/master/TROUBLESHOOTING.md)!
|
Check out our [Troubleshooting Page](https://github.com/Jarli01/xenorchestra_installer/blob/master/TROUBLESHOOTING.md)!
|
||||||
@@ -26,7 +47,7 @@ I'm often asked "why can't this be run on CentOS or Fedora" to which my only rep
|
|||||||
|
|
||||||
That isn't to say that this installation script won't work on other distributions, please contribute and help us to spread XOCE to other platforms.
|
That isn't to say that this installation script won't work on other distributions, please contribute and help us to spread XOCE to other platforms.
|
||||||
|
|
||||||
Initially my goal was to simply setup and start using XOCE for a tiny production shop to be able to use an open source hypervisor (Citrix XenServer at the time) and have a management tool/backup solution. Which was initially NAUBackup and XenCenter, when I found XOA and that there was an open source management solution and backup solution that wasn't script based I jumped for it, taking the manuall installation process provided by Olivier and his team and automating it.
|
Initially my goal was to simply setup and start using XOCE for a tiny production shop to be able to use an open source hypervisor (Citrix XenServer at the time) and have a management tool/backup solution. Which was initially [NAUBackup](https://github.com/NAUbackup/VmBackup) and XenCenter, when I found XOA and that there was an open source management solution and backup solution that wasn't script based I jumped for it, taking the manual installation process provided by Olivier and his team and automating it.
|
||||||
|
|
||||||
That goal transformed into the desire to assist the developers of XOA by using and hopefully finding any bugs or quirks that needed to be worked out while staying in line with the original goal of being as nearly compatibile as possible to XOA.
|
That goal transformed into the desire to assist the developers of XOA by using and hopefully finding any bugs or quirks that needed to be worked out while staying in line with the original goal of being as nearly compatibile as possible to XOA.
|
||||||
|
|
||||||
|
|||||||
@@ -66,6 +66,6 @@ These dependencies (on Ubuntu) are available from the ```multiverse``` and ```un
|
|||||||
|
|
||||||
While XOCE can and does operate without issue for many people there are benefits to using using more than the absolute minimum system specifications for the guest OS.
|
While XOCE can and does operate without issue for many people there are benefits to using using more than the absolute minimum system specifications for the guest OS.
|
||||||
|
|
||||||
There is a mandate for 1 GB of ram built into the installation script. While this is a requirement of XO it isn't a requirement of the OS.
|
There is a mandate for 3 GB of ram built into the installation script. While this is a requirement of XO it isn't a requirement of the OS.
|
||||||
|
|
||||||
An additional check is being considered to match the XOA system which is supplied with 2 CPU (or 1 CPU with 2 cores). While this currently isn't implemented; if you encounter issues please try adding an additional CPU to your installation and see if the issue persists.
|
An additional check is being considered to match the XOA system which is supplied with 2 CPU (or 1 CPU with 2 cores). While this currently isn't implemented; if you encounter issues please try adding an additional CPU to your installation and see if the issue persists.
|
||||||
|
|||||||
@@ -3,16 +3,16 @@
|
|||||||
# Check if we were effectively run as root
|
# Check if we were effectively run as root
|
||||||
[ $EUID = 0 ] || { echo "This script needs to be run as root!"; exit 1; }
|
[ $EUID = 0 ] || { echo "This script needs to be run as root!"; exit 1; }
|
||||||
|
|
||||||
# Check for 1GB Memory
|
# Check for required memory
|
||||||
totalk=$(awk '/^MemTotal:/{print $2}' /proc/meminfo)
|
totalk=$(awk '/^MemTotal:/{print $2}' /proc/meminfo)
|
||||||
if [ "$totalk" -lt "1000000" ]; then echo "XOCE Requires at least 1GB Memory!"; exit 1; fi
|
if [ "$totalk" -lt "3000000" ]; then echo "XOCE Requires at least 3GB Memory!"; exit 1; fi
|
||||||
|
|
||||||
distro=$(/usr/bin/lsb_release -is)
|
distro=$(/usr/bin/lsb_release -is)
|
||||||
if [ "$distro" = "Ubuntu" ]; then /usr/bin/add-apt-repository multiverse; fi
|
if [ "$distro" = "Ubuntu" ]; then /usr/bin/add-apt-repository multiverse; fi
|
||||||
|
|
||||||
xo_branch="master"
|
xo_branch="master"
|
||||||
xo_server="https://github.com/vatesfr/xen-orchestra"
|
xo_server="https://github.com/vatesfr/xen-orchestra"
|
||||||
n_repo="https://raw.githubusercontent.com/visionmedia/n/master/bin/n"
|
n_repo="https://raw.githubusercontent.com/tj/n/master/bin/n"
|
||||||
yarn_repo="deb https://dl.yarnpkg.com/debian/ stable main"
|
yarn_repo="deb https://dl.yarnpkg.com/debian/ stable main"
|
||||||
yarn_gpg="https://dl.yarnpkg.com/debian/pubkey.gpg"
|
yarn_gpg="https://dl.yarnpkg.com/debian/pubkey.gpg"
|
||||||
n_location="/usr/local/bin/n"
|
n_location="/usr/local/bin/n"
|
||||||
@@ -20,14 +20,13 @@ xo_server_dir="/opt/xen-orchestra"
|
|||||||
systemd_service_dir="/lib/systemd/system"
|
systemd_service_dir="/lib/systemd/system"
|
||||||
xo_service="xo-server.service"
|
xo_service="xo-server.service"
|
||||||
|
|
||||||
# Ensures that Yarn dependencies are installed, git, curl, apt-transport-https
|
# Ensures that Yarn dependencies are installed
|
||||||
/usr/bin/apt-get update
|
/usr/bin/apt-get update
|
||||||
/usr/bin/apt-get --yes install git curl apt-transport-https
|
/usr/bin/apt-get --yes install git curl apt-transport-https gnupg
|
||||||
|
|
||||||
#Install yarn
|
#Install yarn
|
||||||
cd /opt
|
cd /opt
|
||||||
|
|
||||||
|
|
||||||
/usr/bin/curl -sS $yarn_gpg | apt-key add -
|
/usr/bin/curl -sS $yarn_gpg | apt-key add -
|
||||||
echo "$yarn_repo" | tee /etc/apt/sources.list.d/yarn.list
|
echo "$yarn_repo" | tee /etc/apt/sources.list.d/yarn.list
|
||||||
/usr/bin/apt-get update
|
/usr/bin/apt-get update
|
||||||
@@ -38,36 +37,38 @@ echo "$yarn_repo" | tee /etc/apt/sources.list.d/yarn.list
|
|||||||
/bin/chmod +x $n_location
|
/bin/chmod +x $n_location
|
||||||
|
|
||||||
# Install node via n
|
# Install node via n
|
||||||
n 8.16
|
n lts
|
||||||
|
|
||||||
# Symlink node directories
|
# Symlink node directories
|
||||||
ln -s /usr/bin/node /usr/local/bin/node
|
ln -s /usr/bin/node /usr/local/bin/node
|
||||||
|
|
||||||
# Install XO dependencies
|
# Install XO dependencies
|
||||||
/usr/bin/apt-get install --yes build-essential redis-server libpng-dev git python-minimal libvhdi-utils nfs-common lvm2 cifs-utils
|
/usr/bin/apt-get install --yes build-essential redis-server libpng-dev git python2-minimal libvhdi-utils nfs-common lvm2 cifs-utils
|
||||||
|
|
||||||
/usr/bin/git clone -b $xo_branch $xo_server
|
/usr/bin/git clone -b $xo_branch $xo_server
|
||||||
|
|
||||||
# Disabling the "Built from Source Banner - No Support" Bar across the top of screen
|
|
||||||
sed -i 's/process.env.XOA_PLAN === 5/process.env.XOA_PLAN === 6/g' /opt/xen-orchestra/packages/xo-web/src/xo-app/index.js
|
|
||||||
|
|
||||||
# Patch to allow config restore
|
|
||||||
sed -i 's/< 5/> 0/g' /opt/xen-orchestra/packages/xo-web/src/xo-app/settings/config/index.js
|
|
||||||
|
|
||||||
cd $xo_server_dir
|
cd $xo_server_dir
|
||||||
/usr/bin/yarn
|
/usr/bin/yarn
|
||||||
/usr/bin/yarn build
|
/usr/bin/yarn build
|
||||||
|
|
||||||
cd packages/xo-server
|
cd packages/xo-server
|
||||||
cp sample.config.toml .xo-server.toml
|
cp sample.config.toml .xo-server.toml
|
||||||
sed -i "s|#'/' = '/path/to/xo-web/dist/'|'/' = '/opt/xen-orchestra/packages/xo-web/dist'|" .xo-server.toml
|
|
||||||
|
|
||||||
|
dest=/usr/local/lib/node_modules/
|
||||||
#Create node_modules directory if doesn't exist
|
#Create node_modules directory if doesn't exist
|
||||||
mkdir -p /usr/local/lib/node_modules/
|
mkdir -p $dest
|
||||||
|
|
||||||
|
# Plugins to ignore
|
||||||
|
ignoreplugins=("xo-server-test")
|
||||||
|
|
||||||
# Symlink all plugins
|
# Symlink all plugins
|
||||||
for source in $(ls -d /opt/xen-orchestra/packages/xo-server-*); do
|
for source in $(ls -d /opt/xen-orchestra/packages/xo-server-*); do
|
||||||
ln -s "$source" /usr/local/lib/node_modules/
|
plugin=$(basename $source)
|
||||||
|
if [[ "${ignoreplugins[@]}" =~ $plugin ]]; then
|
||||||
|
echo "Ignoring $plugin plugin"
|
||||||
|
else
|
||||||
|
ln -s "$source" "$dest"
|
||||||
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
if [[ ! -e $systemd_service_dir/$xo_service ]] ; then
|
if [[ ! -e $systemd_service_dir/$xo_service ]] ; then
|
||||||
|
|||||||
Reference in New Issue
Block a user