25 Commits

Author SHA1 Message Date
Dustin B
90965ab4ec Update xo_install.sh
Cleanup and organization of code a bit.
2018-07-31 17:15:03 -04:00
Dustin B
7d9ec145f1 Update xo_install.sh 2018-07-31 17:05:32 -04:00
Dustin B
b3d41b6fb9 Fixes
Testing further
2018-07-31 17:05:03 -04:00
Dustin B
7f7195eadf Repo Check fo Multiverse 2018-07-31 16:56:01 -04:00
Dustin B
6aa162aaaa Update xo_install.sh 2018-07-31 15:55:53 -04:00
Dustin B
309caa1d39 Add multiverse repository
Sloppy add of multiverse repository for Ubuntu Server 18.04.1-live but this will ensure any distro going forward should have the required dependencies available.
2018-07-31 15:53:35 -04:00
Dustin B
9b8c557eff Merge pull request #22 from bnrstnr/master
Memory Check
2018-06-12 14:55:45 -04:00
bnrstnr
23306312bd Update xo_install.sh 2018-06-12 14:08:45 -04:00
bnrstnr
9f2220b36b Update xo_install.sh 2018-06-12 13:50:14 -04:00
Dustin B
669c684732 Merge pull request #19 from Jarli01/Danp2-plugins
Add symlinks to all plugins
2018-05-02 08:36:18 -04:00
Danp2
d2e079a672 Add symlinks to all plugins
Fixes https://github.com/Jarli01/xenorchestra_installer/issues/18
2018-05-02 07:14:04 -05:00
Dustin B
cbd7d8a8c6 Merge pull request #15 from pkutzner/prereq
Updated prerequisites branch
2018-04-26 21:50:12 -04:00
Preston Kutzner
b6a5e6c9a9 Fix missing ';' 2018-04-26 20:02:51 -05:00
Preston Kutzner
55ca93427c - Remove superfluous sudos
- Check for effective UID of 0 and error/exit if false.
- Remove setting execute bit on unit file and replace with
  running 'systemctl daemon-reload'
2018-04-26 19:59:12 -05:00
Dustin B
14fa537cba Set theme jekyll-theme-slate 2018-04-26 07:30:15 -04:00
Dustin B
798c69fb8a Set theme jekyll-theme-midnight 2018-04-26 07:28:54 -04:00
Dustin B
e267578e2e Merge pull request #13 from Jarli01/Node-v-10
Node V10.0.0 reversion to Node V8 and LTS support
2018-04-25 15:56:19 -04:00
Dustin B
9689585263 change from 8 to lts 2018-04-25 15:27:39 -04:00
Dustin B
af71f0d366 Update xo_install.sh 2018-04-25 15:02:24 -04:00
Dustin B
91e0922015 Update xo_install.sh 2018-04-25 14:56:39 -04:00
Dustin B
72e7c0e844 Update xo_install.sh 2018-04-25 14:55:37 -04:00
Dustin B
9b2841219f Update xo_install.sh
Further testing / cleanup
2018-04-25 14:52:43 -04:00
Dustin B
172bc49bb0 Update xo_install.sh 2018-04-25 14:43:50 -04:00
Dustin B
ae68b2313d Update xo_install.sh 2018-04-25 14:37:39 -04:00
Dustin B
25ef2828d2 Node V10.0.0 reversion to Node8
Resolve issue of Node V10
2018-04-25 13:59:46 -04:00
3 changed files with 38 additions and 21 deletions

View File

@@ -16,12 +16,6 @@ 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.

1
_config.yml Normal file
View File

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

View File

@@ -1,32 +1,49 @@
#!/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
# Repository add - confirm required repoistor(ies) are enabled and active, update and upgrade no matter what
multiverse="http://archive.ubuntu.com/multiverse"
if ! grep -q "^deb .*$multiverse" /etc/apt/sources.list;
then
sudo add-apt-repository multiverse
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_9.x"
node_source="https://deb.nodesource.com/setup_8.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 | 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
/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
#Install n
/usr/bin/curl -o $n_location $n_repo
sudo /bin/chmod +x $n_location
sudo /usr/local/bin/n stable
/bin/chmod +x $n_location
/usr/local/bin/n lts
#Install XO dependencies
sudo /usr/bin/apt-get install --yes build-essential redis-server libpng-dev git python-minimal libvhdi-utils nfs-common
/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
@@ -38,8 +55,13 @@ cd $xo_server_dir
/usr/bin/yarn build
cd packages/xo-server
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
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
if [[ ! -e $systemd_service_dir/$xo_service ]] ; then
@@ -61,11 +83,11 @@ WantedBy=multi-user.target
EOF
fi
sudo /bin/chmod +x $systemd_service_dir/$xo_service
sudo /bin/systemctl enable $xo_service
sudo /bin/systemctl start $xo_service
/bin/systemctl daemon-reload
/bin/systemctl enable $xo_service
/bin/systemctl start $xo_service
echo ""
echo ""
echo "Installation complete, open a browser to:" && hostname -I && echo "" && echo "Default Login:"admin@admin.net" Password:"admin"" && echo "" && echo "Don't forget to change your password!"
fi