48 Commits

Author SHA1 Message Date
Dustin B
b01a4c50ce Update xoce-import.sh
Testing with another host
2020-07-29 12:43:48 -04:00
Dustin B
2846b2c7cc Update xoce-import.sh
adding `--keepalive-time 5` to send a tcp notice keeping the connection active
2020-07-26 17:03:49 -04:00
Dustin B
640ba95d1b Update xoce-import.sh 2020-07-26 16:54:03 -04:00
Dustin B
8c021409fd Update xoce-import.sh
continue at random offset due to timeout
2020-07-26 16:48:38 -04:00
Dustin B
de67943d03 Update README.md 2020-07-26 14:32:45 -04:00
Dustin B
6f8fd30e78 Update README.md
checksum update for an updated xva
2020-07-26 14:30:36 -04:00
Dustin B
f1d4008d23 Update xoce-import.sh
Updated compressed- directly exported from XCP-ng shouldn't have any extra details 

sha256 checksum c487d63f2eef67fcaf0e9c4e4998d4a3948fdad960cb1af5a70fcb80b07c2551
2020-07-26 14:29:54 -04:00
Dustin B
51e9248f5e Update xoce-import.sh
Compressed XVA
2020-07-26 14:06:51 -04:00
Dustin B
3d1721dd69 Update xoce-import.sh
Updated link, not the smallest XVA, still testing. please confirm
2020-07-26 13:29:51 -04:00
Dustin B
3a635498fc Update README.md
Fixed link for Import
2020-07-25 09:50:13 -04:00
Dustin B
93e0f96829 Update README.md 2020-07-25 07:10:21 -04:00
Dustin B
b720be1b1d Update xoce-import.sh 2020-07-24 13:56:48 -04:00
Dustin B
31967f4d17 Update README.md 2020-07-24 13:56:32 -04:00
Dustin B
a8713722d4 Update README.md 2020-07-24 13:20:08 -04:00
Dustin B
957c441f4d Update README.md 2020-07-24 13:19:44 -04:00
Dustin B
f3ef162d1f Update README.md 2020-07-24 13:17:52 -04:00
Dustin B
574cb48d9b Update README.md
Capitalization corrections
2020-07-24 13:11:57 -04:00
Dustin B
c16ee4617c Merge pull request #80 from Jarli01/IPO
Installation process operations
2020-07-24 12:33:22 -04:00
Dustin B
aee34338cd Merge pull request #82 from Jarli01/prepackaged-install
Update README.md
2020-07-24 12:31:39 -04:00
Dustin B
01392d4e02 Update README.md 2020-07-24 12:08:01 -04:00
Dustin B
803783403e Update README.md 2020-07-24 12:04:19 -04:00
Dustin B
8123839694 Rename xoce to xoce-import.sh 2020-07-22 18:13:52 -04:00
Dustin B
1b0d065af8 Update README.md 2020-07-22 14:58:30 -04:00
Dustin B
7491e6a711 Update xoce
SHA256 checksum 0ae7e283518f9b12b9a3756c58fbf357aea852df062be842adbb45eb1e42dcec
2020-07-22 14:40:57 -04:00
Dustin B
fdead27043 Update TROUBLESHOOTING.md
Updated link to XCP-NG forums rather than the old link
2020-07-22 09:24:22 -04:00
Dustin B
e4efbc06c0 Update README.md 2020-07-22 09:19:19 -04:00
Dustin B
831a11ce8a Update README.md 2020-07-22 09:13:39 -04:00
Dustin B
4e8afcf2b7 Installation process operations
Added clarity to the installation steps to draw attention to the order of operations required to install XOCE.
2020-07-22 09:10:59 -04:00
Dustin B
4245771e5d Update TROUBLESHOOTING.md 2020-07-22 09:00:03 -04:00
Dan Pollak
b7419cda8b Revert to Python 2 2020-05-31 09:34:14 -05:00
Dustin B
a54de7afba Merge pull request #75 from Jarli01/Jarli01-patch-1
Dependency addition Python3-minimal
2020-05-26 09:57:21 -04:00
Dustin B
41eeb70190 Updated to Python3-minimal
Testing now
2020-05-26 09:02:29 -04:00
Dustin B
1ca7eed492 Update xo_install.sh 2020-05-06 15:58:14 -04:00
Dustin B
ece9445fd4 Update xo_install.sh 2020-05-06 15:55:49 -04:00
Dustin B
ea3449139a Dependency addition
Python2 was removed from at least 20.04 and is replaced with Python3. Manually installing the package and then running the script works. 

This change runs the installation process for it.
2020-05-06 14:57:34 -04:00
Danp2
5273ad5b09 Fix: Ignore "bad" plugins (#70) 2020-04-05 10:07:51 -05:00
Danp2
d15b30776a Switch to Node LTS (#69)
* Switch to Node LTS
* Bump required memory to 3GB (build fails with only 2GB)
2020-04-04 09:48:29 -05:00
Dustin B
ef3929cbb3 Update README.md
typo fixes
2020-04-03 13:41:13 -04:00
Dustin B
33d4a77164 Update TROUBLESHOOTING.md 2020-04-03 13:26:24 -04:00
Dustin B
821375b674 Merge pull request #65 from braiam/patch-1
Don't call bash repeatedly - confirmed works
2020-01-08 08:23:10 -05:00
Braiam Peguero
b1741267b3 Don't call bash repeatedly
The first command started a bash shell as root, everything
below that shouldn't need sudo. But this way, we make sure
we become root at the last moment possible and prevent
using curl as root.
2020-01-01 00:09:57 -04:00
Danp2
6549f9fa8f Add gnupg dependency, which is missing from Debian 10 netinst ISOs (#62)
* Install gnupg dependency
* Update comment
2019-09-18 11:25:58 -05:00
Dan Pollak
5c8c4c3885 Remove config file modification with sed 2019-08-31 16:28:13 -05:00
Dustin B
a3753004a9 Config Modification removal since this is now included by default
Removes the edit from source allowing configuration import, as this is now included in the community edition without additional customization.
2019-08-20 13:53:11 -04:00
Danp2
4e3af20bd0 Remove mod to delete banner (#58) 2019-08-05 17:59:07 -05:00
Dustin B
632e3e1659 Update bug_report.md 2019-06-17 11:54:22 -04:00
Dustin B
044b513dd5 Delete ISSUE_TEMPLATE.md
Deleting this as the updated template is better formatted to address issues.
2019-06-17 11:50:40 -04:00
Dustin B
251793d077 Merge pull request #56 from Jarli01/Declaration-Support-Conditions
Update README.md
2019-06-17 11:13:43 -04:00
6 changed files with 94 additions and 65 deletions

View File

@@ -8,7 +8,7 @@ assignees: ''
--- ---
**Describe the bug** **Describe the bug**
A clear and concise description of what the bug is. A clear and concise description of what the trouble is.
**To Reproduce** **To Reproduce**
Steps to reproduce the behavior: Steps to reproduce the behavior:
@@ -41,7 +41,8 @@ Please run ```journalctl -u xo-server -f -n 50``` and paste the resulting output
* Is this a fresh install or an upgrade? * Is this a fresh install or an upgrade?
* Version of XOCE server and web interface you're running * Version of XOCE server and web interface you're running
* What OS is XOCE running on? * What OS is XOCE running on?
* What method you used to install XOCE (xo_install.sh, manual installation, etc) * 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 * 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. * If a stacktrace is provided in the error, include that too.
* Any errors that appear in your browser's error console. * Any errors that appear in your browser's error console.

View File

@@ -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. -->

View File

@@ -1,25 +1,86 @@
# 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](https://ubuntu.com/download/server) or [Debian (Server)](https://www.debian.org/distrib/netinst) 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 amount 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 # Declarations
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. 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.
# Prepacked installation
* *This is a very small installation and while it will operate, it may not meet all of your requirements, use at your own discretion*
To download and deploy a prepacked Ubuntu 20.04 installation of Xen Orchestra (CE) run the below from an SSH session on your XCP-NG/Citrix Hypervisor (XenServer) host(s)
bash -c "$(curl -s https://raw.githubusercontent.com/Jarli01/xenorchestra_installer/master/xoce-import.sh)"
MD5 Checksum `5db537c4b6388a4323583357b6e13d20`
SHA256 Checksum `c487d63f2eef67fcaf0e9c4e4998d4a3948fdad960cb1af5a70fcb80b07c2551`
For verification of SHA256 checksum the XVA file can be downloaded directly and verified/imported.
Direct Download https://srv-file8.gofile.io/download/CYaI0l/XOCE.xva
To login to the console use:
Username: **XOCE**
Password: **XOCE**
**Change the password if you are using this in production**
# Self-signed SSL
If you are running this internally and need SSL (recommended) follow the below steps to create a self-signed SSL key and certificate; while browsers will still say the connection is unsecured, this is because the certificate isn't from a public authority and is on your LAN. You can add this cert to your systems root authority if it want to to remove the warning. Alternatively a reverse proxy can be used for public facing installations.
## Generate your key and cert from your XOCE installation
sudo openssl req -x509 -nodes -days 3650 -newkey rsa:4096 -keyout /etc/ssl/private/key.pem -out /etc/ssl/certs/certificate.pem
Now edit the xo-server.toml file
vi /opt/xen-orchestra/packages/xo-server/.xo-server.toml
Comment-out or edit the port from 80 to 443 and add the cert and key to the appropriate locations within this file.
port = 443
cert = '/etc/ssl/certs/certificate.pem'
key = '/etc/ssl/private/key.pem'
Restart xo-server.service
systemctl restart xo-server.service
Reload your XOCE website using SSL (https://your-host-ip)
# 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)!
@@ -30,7 +91,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](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 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.

View File

@@ -6,7 +6,7 @@ If you are having problems, before you create an issue, please check the followi
Any issues, questions, or bugs during installation and usage of this script, that can not be solved by the steps below, should **first** be addressed in *this repository.* Any issues, questions, or bugs during installation and usage of this script, that can not be solved by the steps below, should **first** be addressed in *this repository.*
Xen-Orchestra (Community Edition) is not obligated to support scripted (or manual) builds. Please give us the ability to first troubleshoot the issue and/or verify this script is not the culprit before moving on to posting in the Xen-Orchestra [Community Forums](https://xen-orchestra.com/forum/). Xen-Orchestra (VatesFR) is not obligated to support scripted (or manual) builds. Please give us the ability to first troubleshoot the issue and/or verify this script is not the culprit before moving on to posting in the Xen-Orchestra [Community Forums](https://xcp-ng.org/forum/category/12/xen-orchestra).
Please use the [ISSUE TEMPLATE](https://github.com/Jarli01/xenorchestra_installer/issues/new) when submitting an issue. Please use the [ISSUE TEMPLATE](https://github.com/Jarli01/xenorchestra_installer/issues/new) when submitting an issue.
@@ -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.

View File

@@ -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

View File

@@ -1,6 +1,6 @@
#!/bin/bash #!/bin/bash
XOCE_URL=https://archive.org/download/xogithub_gmail_Xoce/xoce XOCE_URL=https://cloud.wellston.biz/index.php/s/54tPkkkTcxQPnDs/download
# Welcome message # Welcome message
printf "\n\033[1mWelcome to the XOCE auto-deploy script!\033[0m\n\n" printf "\n\033[1mWelcome to the XOCE auto-deploy script!\033[0m\n\n"
@@ -49,7 +49,7 @@ uuid=$(xe vm-import url="$XOCE_URL" 2> /dev/null)
import=$? import=$?
if [ $import -ne 0 ] if [ $import -ne 0 ]
then then
uuid=$(curl "$XOCE_URL" | xe vm-import filename=/dev/stdin 2>&1) uuid=$(curl "$XOCE_URL" -L -O -c - --keepalive-time 5 | xe vm-import filename=/dev/stdin 2>&1)
fi fi
# If it fails again (for any reason), we stop the script # If it fails again (for any reason), we stop the script