4 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
3 changed files with 40 additions and 34 deletions

View File

@@ -23,8 +23,8 @@ Xen-Orchestra (Community Edition) allows you to administer Citrix Hypervisor (ak
Run the following steps from a root shell on your **Ubuntu or Debian** host. Run the following steps from a root shell on your **Ubuntu or Debian** host.
sudo bash curl https://raw.githubusercontent.com/Jarli01/xenorchestra_installer/master/xo_install.sh | sudo bash
bash -c "$(curl https://raw.githubusercontent.com/Jarli01/xenorchestra_installer/master/xo_install.sh)" <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
@@ -33,13 +33,29 @@ 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
## Updates
To maintain your installation from Source or from this repo. (either prepackaged or scripted installation) we recommend using the update script which this community maintains. This can be [found here](https://github.com/Jarli01/xenorchestra_updater) and doesn't require you to download or install a separate package to your XOCE installation. Simply run it via shell session of your XOCE host.
# Declarations # Declarations
This script automates the manual process which can be [found here](https://docs.xen-orchestra.com/installation) 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 # Self-signed SSL
@@ -83,11 +99,4 @@ While the goal initially was to have a solution as close to XOA as possible, wit
To keep XOCE up to date I recommend that anyone who's used this installation script or the sources installation to use this: https://github.com/Jarli01/xenorchestra_updater To keep XOCE up to date I recommend that anyone who's used this installation script or the sources installation to use this: https://github.com/Jarli01/xenorchestra_updater
## Adding XOCE v6 to your installation (this is a Work In Progress by Vates)
cd /opt/xen-orchestra
yarn run turbo run build --filter @xen-orchestra/web
Once the installation is completed, you can then go to [https://your-host-ip/v6](https://your-host-ip/v6)

View File

@@ -5,7 +5,7 @@
# Check for required memory # Check for required memory
totalk=$(awk '/^MemTotal:/{print $2}' /proc/meminfo) totalk=$(awk '/^MemTotal:/{print $2}' /proc/meminfo)
if [ "$totalk" -lt "2000000" ]; then echo "XOCE Requires at least 2GB 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
@@ -13,7 +13,7 @@ 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/tj/n/master/bin/n" n_repo="https://raw.githubusercontent.com/tj/n/master/bin/n"
yarn_repo="deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/yarnkey.gpg] 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"
xo_server_dir="/opt/xen-orchestra" xo_server_dir="/opt/xen-orchestra"
@@ -27,7 +27,7 @@ xo_service="xo-server.service"
#Install yarn #Install yarn
cd /opt cd /opt
/usr/bin/curl -sSL $yarn_gpg | gpg --dearmor | tee /usr/share/keyrings/yarnkey.gpg >/dev/null /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
/usr/bin/apt-get install --yes yarn /usr/bin/apt-get install --yes yarn
@@ -43,7 +43,7 @@ n lts
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 python3-minimal libvhdi-utils nfs-common lvm2 cifs-utils openssl fuse2fs /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
@@ -71,9 +71,7 @@ for source in $(ls -d /opt/xen-orchestra/packages/xo-server-*); do
fi fi
done done
if [[ -e $systemd_service_dir/$xo_service ]] ; then if [[ ! -e $systemd_service_dir/$xo_service ]] ; then
rm $systemd_service_dir/$xo_service
fi
/bin/cat << EOF >> $systemd_service_dir/$xo_service /bin/cat << EOF >> $systemd_service_dir/$xo_service
# Systemd service for XO-Server. # Systemd service for XO-Server.
@@ -84,15 +82,14 @@ After=network-online.target
[Service] [Service]
WorkingDirectory=/opt/xen-orchestra/packages/xo-server/ WorkingDirectory=/opt/xen-orchestra/packages/xo-server/
ExecStart=/usr/local/bin/node ./dist/cli.mjs ExecStart=/usr/local/bin/node ./bin/xo-server
Restart=always Restart=always
SyslogIdentifier=xo-server SyslogIdentifier=xo-server
[Install] [Install]
WantedBy=multi-user.target WantedBy=multi-user.target
EOF EOF
fi
/bin/systemctl daemon-reload /bin/systemctl daemon-reload
/bin/systemctl enable $xo_service /bin/systemctl enable $xo_service

View File

@@ -1,6 +1,6 @@
#!/bin/bash #!/bin/bash
XOCE_URL=https://nc.nl.tab.digital/s/WQmCwmH4e9EdTTA/download 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"
@@ -10,7 +10,7 @@ then
echo echo
echo 'Sorry, the xe command is required for this auto-deploy.' echo 'Sorry, the xe command is required for this auto-deploy.'
echo echo
echo 'Please, make sure you are on a XCP-ng/XenServer host.' echo 'Please, make sure you are on a XenServer host.'
echo echo
exit 1 exit 1
fi fi
@@ -18,8 +18,8 @@ fi
# Basic check: are we on a XS host? # Basic check: are we on a XS host?
if grep -Fxq "XenServer" /etc/issue if grep -Fxq "XenServer" /etc/issue
then then
printf "\nSorry, it seems you are not on a XCP-ng/XenServer host.\n\n" printf "\nSorry, it seems you are not on a XenServer (XCP-ng) host.\n\n"
printf "\n\033[1mThis script is meant to be deployed on XCP-ng or XenServer only.\033[0m\n\n" printf "\n\033[1mThis script is meant to be deployed on XenServer (or XCP-ng) only.\033[0m\n\n"
exit 1 exit 1
fi fi
@@ -36,7 +36,7 @@ then
read -p "dns? [8.8.8.8] " dns read -p "dns? [8.8.8.8] " dns
dns=${dns:-8.8.8.8} dns=${dns:-8.8.8.8}
else else
printf "\nYour XOCE installation will be started using DHCP\n\n" printf "\nYour XOCE will be started using DHCP\n\n"
fi fi
# Downloading and importing the VM # Downloading and importing the VM
@@ -49,14 +49,14 @@ 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
import=$? import=$?
if [ $import -ne 0 ] if [ $import -ne 0 ]
then then
printf "\n\nAuto deploy failed. Please contact us on https://github.com/Jarli01/xenorchestra_installer/issues for assistance.\nError:\n\n %s\n\n" "$uuid" printf "\n\nAuto deploy failed. Please contact us on xen-orchestra.com live chat for assistance.\nError:\n\n %s\n\n" "$uuid"
exit 0 exit 0
fi fi
@@ -75,7 +75,7 @@ sleep 2
# Waiting for the VM IP from Xen tools for 60 secs # Waiting for the VM IP from Xen tools for 60 secs
printf "Waiting for XOCE to be ready…\n" printf "Waiting for your XOCE to be ready…\n"
url=$(xe vm-param-get uuid=$uuid param-name=networks param-key=0/ip 2> /dev/null) url=$(xe vm-param-get uuid=$uuid param-name=networks param-key=0/ip 2> /dev/null)
wait=0 wait=0
limit=60 limit=60
@@ -95,7 +95,7 @@ done
if [ "$ip" != 'dhcp' ] if [ "$ip" != 'dhcp' ]
then then
printf "\n\033[1mYour XOCE is ready at https://%s/\033[0m\n" "$ip" printf "\n\033[1mYour XOCE is ready on https://%s/\033[0m\n" "$ip"
# clean the xenstore data # clean the xenstore data
xe vm-param-remove param-name=xenstore-data param-key=vm-data/dns param-key=vm-data/ip param-key=vm-data/netmask param-key=vm-data/gateway uuid=$uuid xe vm-param-remove param-name=xenstore-data param-key=vm-data/dns param-key=vm-data/ip param-key=vm-data/netmask param-key=vm-data/gateway uuid=$uuid
@@ -105,7 +105,7 @@ elif [ -z "$url" ]
then then
printf "\n\033[1mYour XOCE booted but we couldn't fetch its IP address\033[0m\n" printf "\n\033[1mYour XOCE booted but we couldn't fetch its IP address\033[0m\n"
else else
printf "\n\033[1mYour XOCE is ready at https://%s/\033[0m\n" "$url" printf "\n\033[1mYour XOCE is ready on https://%s/\033[0m\n" "$url"
fi fi
printf "\nDefault UI credentials: admin@admin.net/admin\nDefault console credentials: xoce/xoce\n" printf "\nDefault UI credentials: admin@admin.net/admin\nDefault console credentials: xoce/xoce\n"
printf "\nVM UUID: %s\n\n" "$uuid" printf "\nVM UUID: %s\n\n" "$uuid"