mirror of
https://github.com/Jarli01/xenorchestra_installer
synced 2025-12-23 03:59:59 +00:00
Compare commits
1 Commits
Node_modul
...
SSL-docume
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
caee328f96 |
@@ -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.
|
||||||
|
|||||||
@@ -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.
|
|
||||||
|
|||||||
@@ -1 +0,0 @@
|
|||||||
theme: jekyll-theme-slate
|
|
||||||
@@ -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 ""
|
||||||
|
|||||||
Reference in New Issue
Block a user