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 * Do not use LAMP
* SSH Access is optional, but highly recommended * 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 # 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. 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 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 #!/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_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/visionmedia/n/master/bin/n"
yarn_repo="deb https://dl.yarnpkg.com/debian/ stable main" 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" 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"
systemd_service_dir="/lib/systemd/system" systemd_service_dir="/lib/systemd/system"
xo_service="xo-server.service" 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 #Install node and yarn
cd /opt cd /opt
/usr/bin/curl -sL $node_source | bash - /usr/bin/curl -sL $node_source | sudo -E bash -
/usr/bin/curl -sS $yarn_gpg | apt-key add - /usr/bin/curl -sS $yarn_gpg | sudo apt-key add -
echo "$yarn_repo" | tee /etc/apt/sources.list.d/yarn.list echo "$yarn_repo" | sudo tee /etc/apt/sources.list.d/yarn.list
/usr/bin/apt-get update sudo /usr/bin/apt-get update
/usr/bin/apt-get install --yes nodejs yarn sudo /usr/bin/apt-get install --yes nodejs yarn
#Install n #Install n
/usr/bin/curl -o $n_location $n_repo /usr/bin/curl -o $n_location $n_repo
/bin/chmod +x $n_location sudo /bin/chmod +x $n_location
/usr/local/bin/n lts sudo /usr/local/bin/n stable
#Symbolic Link
ln -s /usr/bin/node /usr/local/bin/node
#node_modules directory creation
mkdir /usr/local/lib/node_modules/
#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 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 /usr/bin/git clone -b $xo_branch $xo_server
@@ -58,13 +38,8 @@ cd $xo_server_dir
/usr/bin/yarn build /usr/bin/yarn build
cd packages/xo-server cd packages/xo-server
cp sample.config.yaml .xo-server.yaml sudo 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 sudo 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
if [[ ! -e $systemd_service_dir/$xo_service ]] ; then if [[ ! -e $systemd_service_dir/$xo_service ]] ; then
@@ -86,9 +61,9 @@ WantedBy=multi-user.target
EOF EOF
fi fi
/bin/systemctl daemon-reload sudo /bin/chmod +x $systemd_service_dir/$xo_service
/bin/systemctl enable $xo_service sudo /bin/systemctl enable $xo_service
/bin/systemctl start $xo_service sudo /bin/systemctl start $xo_service
echo "" echo ""
echo "" echo ""