1 Commits

Author SHA1 Message Date
Dustin B
caee328f96 Update README.md 2018-04-24 15:35:34 -04:00
4 changed files with 20 additions and 55 deletions

View File

@@ -16,6 +16,12 @@ If you don't want NFS capabilities run ```sudo apt-get remove nfs-common```.
* Do not use LAMP
* SSH Access is optional, but highly recommended
## SSL and Reverse Proxies
Please understand you are required to use a RP to setup SSL on XO (and XOCE). Some documentation on the process. https://xen-orchestra.com/docs/reverse_proxy.html
The YAML file required can be found at ```/opt/xen-orchestra/packages/xo-server/.xo-server.yaml```
# Goals/Backstory for this script
I'm often asked "why can't this be run on CentOS or Fedora" to which my only reply is and has ever been: The goal was to be the XCP-ng of XS. Which means I wanted a solution that offered as much as XOA offers, while using what is available freely and from open sources. Without restrictions.

View File

@@ -32,18 +32,3 @@ This will check and continually update the last 50 log files for your XOCE insta
journalctl -u xo-server -f -n 50
# Required Dependencies
Your system must be able to install the following list of dependencies, usually this is automatic but some distributions might not have the required repositories. Plese confirm you can install these before creating a ticket.
Check your distribution respositories list ie: ```/etc/apt/sources.list``` for multiverse.
* build-essential
* redis-server
* libpng-dev
* git
* python-minimal
* libvhdi-utils
* nfs-common
These dependencies (on Ubuntu) are available from the ```multiverse``` and ```universe``` repositories.

View File

@@ -1 +0,0 @@
theme: jekyll-theme-slate

View File

@@ -1,52 +1,32 @@
#!/bin/bash
# Check if we were effectively run as root
[ $EUID = 0 ] || { echo "This script needs to be run as root!"; exit 1; }
#Check for 1GB Memory
totalk=$(awk '/^MemTotal:/{print $2}' /proc/meminfo)
if [ "$totalk" -lt "1000000" ]; then echo "XOCE Requires at least 1GB Memory!"; exit 1; fi
distro=$(/usr/bin/lsb_release -is)
if [ "$distro" = "Ubuntu" ]; then /usr/bin/add-apt-repository multiverse; fi
xo_branch="master"
xo_server="https://github.com/vatesfr/xen-orchestra"
n_repo="https://raw.githubusercontent.com/visionmedia/n/master/bin/n"
yarn_repo="deb https://dl.yarnpkg.com/debian/ stable main"
node_source="https://deb.nodesource.com/setup_8.x"
node_source="https://deb.nodesource.com/setup_9.x"
yarn_gpg="https://dl.yarnpkg.com/debian/pubkey.gpg"
n_location="/usr/local/bin/n"
xo_server_dir="/opt/xen-orchestra"
systemd_service_dir="/lib/systemd/system"
xo_service="xo-server.service"
#Ensure that git and curl are installed
/usr/bin/apt-get update
/usr/bin/apt-get --yes install git curl
#Install node and yarn
cd /opt
/usr/bin/curl -sL $node_source | bash -
/usr/bin/curl -sS $yarn_gpg | apt-key add -
echo "$yarn_repo" | tee /etc/apt/sources.list.d/yarn.list
/usr/bin/apt-get update
/usr/bin/apt-get install --yes nodejs yarn
/usr/bin/curl -sL $node_source | sudo -E bash -
/usr/bin/curl -sS $yarn_gpg | sudo apt-key add -
echo "$yarn_repo" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo /usr/bin/apt-get update
sudo /usr/bin/apt-get install --yes nodejs yarn
#Install n
/usr/bin/curl -o $n_location $n_repo
/bin/chmod +x $n_location
/usr/local/bin/n lts
#Symbolic Link
ln -s /usr/bin/node /usr/local/bin/node
#node_modules directory creation
mkdir /usr/local/lib/node_modules/
sudo /bin/chmod +x $n_location
sudo /usr/local/bin/n stable
#Install XO dependencies
/usr/bin/apt-get install --yes build-essential redis-server libpng-dev git python-minimal libvhdi-utils nfs-common
sudo /usr/bin/apt-get install --yes build-essential redis-server libpng-dev git python-minimal libvhdi-utils nfs-common
/usr/bin/git clone -b $xo_branch $xo_server
@@ -58,13 +38,8 @@ cd $xo_server_dir
/usr/bin/yarn build
cd packages/xo-server
cp sample.config.yaml .xo-server.yaml
sed -i "s|#'/': '/path/to/xo-web/dist/'|'/': '/opt/xen-orchestra/packages/xo-web/dist'|" .xo-server.yaml
# symlink all plugins
for source in =$(ls -d /opt/xen-orchestra/packages/xo-server-*); do
ln -s "$source" /usr/local/lib/node_modules/
done
sudo cp sample.config.yaml .xo-server.yaml
sudo sed -i "s|#'/': '/path/to/xo-web/dist/'|'/': '/opt/xen-orchestra/packages/xo-web/dist'|" .xo-server.yaml
if [[ ! -e $systemd_service_dir/$xo_service ]] ; then
@@ -86,9 +61,9 @@ WantedBy=multi-user.target
EOF
fi
/bin/systemctl daemon-reload
/bin/systemctl enable $xo_service
/bin/systemctl start $xo_service
sudo /bin/chmod +x $systemd_service_dir/$xo_service
sudo /bin/systemctl enable $xo_service
sudo /bin/systemctl start $xo_service
echo ""
echo ""