mirror of
https://github.com/Jarli01/xenorchestra_installer
synced 2025-12-23 03:59:59 +00:00
Compare commits
156 Commits
SSL-docume
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
15ddc7cea5 | ||
|
|
5a5f8035f2 | ||
|
|
3c3e7710c7 | ||
|
|
58fcac8659 | ||
|
|
ac22baf7a9 | ||
|
|
8c8f2e0d1d | ||
|
|
ada0c8dc91 | ||
|
|
e54fc57cdc | ||
|
|
47bd62ec0a | ||
|
|
c092780246 | ||
|
|
5a04a2aed6 | ||
|
|
bfc606a207 | ||
|
|
95c80ae455 | ||
|
|
d12423d78c | ||
|
|
910e9c2cae | ||
|
|
b8382da30d | ||
|
|
b1272516b9 | ||
|
|
91869f1d73 | ||
|
|
0cebde394a | ||
|
|
efb9114bcc | ||
|
|
99a4ee7590 | ||
|
|
4ed35c8fa3 | ||
|
|
722080371c | ||
|
|
1e38e80b20 | ||
|
|
8779dd628d | ||
|
|
f61fdcdff3 | ||
|
|
b7638ef28f | ||
|
|
095c7baf3c | ||
|
|
b9815e4271 | ||
|
|
bd6fcddf04 | ||
|
|
1a19441859 | ||
|
|
7d07d1ba9f | ||
|
|
8e8a3148c6 | ||
|
|
de67943d03 | ||
|
|
6f8fd30e78 | ||
|
|
f1d4008d23 | ||
|
|
51e9248f5e | ||
|
|
3d1721dd69 | ||
|
|
3a635498fc | ||
|
|
93e0f96829 | ||
|
|
b720be1b1d | ||
|
|
31967f4d17 | ||
|
|
a8713722d4 | ||
|
|
957c441f4d | ||
|
|
f3ef162d1f | ||
|
|
574cb48d9b | ||
|
|
c16ee4617c | ||
|
|
aee34338cd | ||
|
|
01392d4e02 | ||
|
|
803783403e | ||
|
|
8123839694 | ||
|
|
1b0d065af8 | ||
|
|
7491e6a711 | ||
|
|
fdead27043 | ||
|
|
e4efbc06c0 | ||
|
|
831a11ce8a | ||
|
|
4e8afcf2b7 | ||
|
|
4245771e5d | ||
|
|
b7419cda8b | ||
|
|
a54de7afba | ||
|
|
41eeb70190 | ||
|
|
1ca7eed492 | ||
|
|
ece9445fd4 | ||
|
|
ea3449139a | ||
|
|
5273ad5b09 | ||
|
|
d15b30776a | ||
|
|
ef3929cbb3 | ||
|
|
33d4a77164 | ||
|
|
821375b674 | ||
|
|
b1741267b3 | ||
|
|
6549f9fa8f | ||
|
|
5c8c4c3885 | ||
|
|
a3753004a9 | ||
|
|
4e3af20bd0 | ||
|
|
632e3e1659 | ||
|
|
044b513dd5 | ||
|
|
251793d077 | ||
|
|
b061efdf76 | ||
|
|
33d5e4fd39 | ||
|
|
5aab7cc740 | ||
|
|
a72e3b8295 | ||
|
|
f957eb5c0f | ||
|
|
6a065d7f35 | ||
|
|
450ae2d80f | ||
|
|
849a521945 | ||
|
|
7ac3e2bf2c | ||
|
|
174d0df759 | ||
|
|
70406d1191 | ||
|
|
7c4d8cc49f | ||
|
|
cf29ce65b5 | ||
|
|
fd3a080451 | ||
|
|
30674623fc | ||
|
|
32c00195b2 | ||
|
|
8096b69875 | ||
|
|
d2f8e85b8c | ||
|
|
f6a19807ef | ||
|
|
6cd254b818 | ||
|
|
e78174de6a | ||
|
|
0f9daf7a9a | ||
|
|
c0e0eaf99a | ||
|
|
bfe0693796 | ||
|
|
ae5f1567fd | ||
|
|
0803a856d0 | ||
|
|
405957bb6f | ||
|
|
c35e51382e | ||
|
|
61a16d36bd | ||
|
|
0c37e06812 | ||
|
|
bcf11ebeae | ||
|
|
d11212477d | ||
|
|
786121e1ba | ||
|
|
972b49c087 | ||
|
|
2682264cbe | ||
|
|
cd4acf239a | ||
|
|
657a30cb30 | ||
|
|
a7d8e2078e | ||
|
|
8819e2e278 | ||
|
|
dd046b485b | ||
|
|
7a8dafac6f | ||
|
|
ee2b149287 | ||
|
|
c59ce48a72 | ||
|
|
a20142ff64 | ||
|
|
c9b6d22ca1 | ||
|
|
34f6d29ef2 | ||
|
|
0bef04ccee | ||
|
|
497289ad7f | ||
|
|
58ae3c40b2 | ||
|
|
f3e41aac44 | ||
|
|
3553c1aa9e | ||
|
|
303fabf3b8 | ||
|
|
c2c4438a5b | ||
|
|
f1f9ca7790 | ||
|
|
b7b2527176 | ||
|
|
d4506d711f | ||
|
|
703ec75190 | ||
|
|
c07119107c | ||
|
|
6aa162aaaa | ||
|
|
309caa1d39 | ||
|
|
9b8c557eff | ||
|
|
23306312bd | ||
|
|
9f2220b36b | ||
|
|
669c684732 | ||
|
|
d2e079a672 | ||
|
|
cbd7d8a8c6 | ||
|
|
b6a5e6c9a9 | ||
|
|
55ca93427c | ||
|
|
14fa537cba | ||
|
|
798c69fb8a | ||
|
|
e267578e2e | ||
|
|
9689585263 | ||
|
|
af71f0d366 | ||
|
|
91e0922015 | ||
|
|
72e7c0e844 | ||
|
|
9b2841219f | ||
|
|
172bc49bb0 | ||
|
|
ae68b2313d | ||
|
|
25ef2828d2 |
50
.github/ISSUE_TEMPLATE/bug_report.md
vendored
Normal file
50
.github/ISSUE_TEMPLATE/bug_report.md
vendored
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
---
|
||||||
|
name: Bug report
|
||||||
|
about: Create a report to help us help you
|
||||||
|
title: ''
|
||||||
|
labels: ''
|
||||||
|
assignees: ''
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**Describe the bug**
|
||||||
|
A clear and concise description of what the trouble is.
|
||||||
|
|
||||||
|
**To Reproduce**
|
||||||
|
Steps to reproduce the behavior:
|
||||||
|
1. Go to '...'
|
||||||
|
2. Click on '....'
|
||||||
|
3. Scroll down to '....'
|
||||||
|
4. See error
|
||||||
|
|
||||||
|
**Expected behavior**
|
||||||
|
A clear and concise description of what you expected to happen.
|
||||||
|
|
||||||
|
**Screenshots**
|
||||||
|
If applicable, add screenshots to help explain your problem.
|
||||||
|
|
||||||
|
**Desktop/Server details (please complete the following information):**
|
||||||
|
- OS: [e.g. iOS]
|
||||||
|
- Browser [e.g. chrome, safari]
|
||||||
|
- Version [e.g. 22]
|
||||||
|
|
||||||
|
**Additional context**
|
||||||
|
Add any other context about the problem here.
|
||||||
|
|
||||||
|
**Confirm XOCE services are running**
|
||||||
|
Please run ```systemctl status xo-server.service``` and paste the resulting output below.
|
||||||
|
|
||||||
|
**Provide the output of journalctl logs**
|
||||||
|
Please run ```journalctl -u xo-server -f -n 50``` and paste the resulting output below.
|
||||||
|
|
||||||
|
**Provide answers to these questions:**
|
||||||
|
* Is this a fresh install or an upgrade?
|
||||||
|
* Version of XOCE server and web interface you're running
|
||||||
|
* What OS is XOCE running on?
|
||||||
|
* A link to the ISO you've used as as the server (so we can verify/troubleshoot)
|
||||||
|
* What method did you use to install XOCE (xo_install.sh, manual installation, etc)
|
||||||
|
* What specific XOCE page you're on, and what specific element you're interacting with to trigger the error
|
||||||
|
* If a stacktrace is provided in the error, include that too.
|
||||||
|
* Any errors that appear in your browser's error console.
|
||||||
|
* Include what you've done so far in the installation, and if you got any error messages along the way.
|
||||||
|
* Indicate whether or not you've manually edited any data directly.
|
||||||
@@ -71,7 +71,7 @@ further defined and clarified by project maintainers.
|
|||||||
### Enforcement
|
### Enforcement
|
||||||
|
|
||||||
Instances of abusive, harassing, or otherwise unacceptable behavior may be
|
Instances of abusive, harassing, or otherwise unacceptable behavior may be
|
||||||
reported by contacting the project team at [INSERT EMAIL ADDRESS]. All
|
reported by contacting the project team at xogithub@gmail.com. All
|
||||||
complaints will be reviewed and investigated and will result in a response that
|
complaints will be reviewed and investigated and will result in a response that
|
||||||
is deemed necessary and appropriate to the circumstances. The project team is
|
is deemed necessary and appropriate to the circumstances. The project team is
|
||||||
obligated to maintain confidentiality with regard to the reporter of an incident.
|
obligated to maintain confidentiality with regard to the reporter of an incident.
|
||||||
|
|||||||
@@ -1,34 +0,0 @@
|
|||||||
#### Expected Behavior
|
|
||||||
|
|
||||||
<!-- what you expect to happen goes here -->
|
|
||||||
|
|
||||||
-----
|
|
||||||
|
|
||||||
#### Actual Behavior
|
|
||||||
|
|
||||||
<!-- what actually happens goes here -->
|
|
||||||
|
|
||||||
-----
|
|
||||||
|
|
||||||
#### Confirm XOCE services are running
|
|
||||||
|
|
||||||
```systemctl status xo-server.service```
|
|
||||||
|
|
||||||
#### Provide the output of journalctl logs
|
|
||||||
|
|
||||||
```journalctl -u xo-server -f -n 50```
|
|
||||||
|
|
||||||
#### Provide answers to these questions:
|
|
||||||
|
|
||||||
- Is this a fresh install or an upgrade?
|
|
||||||
- Version of XOCE server and web interface you're running
|
|
||||||
- What OS is XOCE running on?
|
|
||||||
- What method you used to install XOCE (xo_install.sh, manual installation, etc)
|
|
||||||
- What specific XOCE page you're on, and what specific element you're interacting with to trigger the error
|
|
||||||
- If a stacktrace is provided in the error, include that too.
|
|
||||||
- Any errors that appear in your browser's error console.
|
|
||||||
- Include what you've done so far in the installation, and if you got any error messages along the way.
|
|
||||||
- Indicate whether or not you've manually edited any data directly.
|
|
||||||
|
|
||||||
<!-- Please do not post an issue without answering the related questions above. If you have opened a different issue and already answered these questions, answer them again, once for every ticket. It will be next to impossible for us to help you. -->
|
|
||||||
|
|
||||||
79
README.md
79
README.md
@@ -1,26 +1,73 @@
|
|||||||
# Xen-Orchestra (Community Edition) Installer
|
# Xen-Orchestra (Community Edition) Installer
|
||||||
|
|
||||||
Xen-Orchestra (Community Edition) allows you to administer Citrix XenServer and XCP-ng as well as backup any VM's running on these systems.
|
Xen-Orchestra (Community Edition) allows you to administer Citrix Hypervisor (aka XenServer) and XCP-ng as well as backup any VM's running on these systems. The single line installation script allows you to go from a bare-minimal installation of [Ubuntu](https://ubuntu.com/download/server) or [Debian (Server)](https://www.debian.org/distrib/netinst) to fully operational XOCE server.
|
||||||
|
|
||||||
The single line installation script allows you to go from a bare-minimal installation of Ubuntu or Debian (Server) to fully operational XOCE server. Run the following steps from a root shell.
|
## System Minimum Requirements for installation
|
||||||
|
|
||||||
sudo bash
|
* 1 vCPU
|
||||||
<password>
|
* 3 GiB RAM
|
||||||
sudo curl https://raw.githubusercontent.com/Jarli01/xenorchestra_installer/master/xo_install.sh | bash
|
* 10 GiB disk space
|
||||||
<password>
|
|
||||||
|
## System recommendations for operation
|
||||||
|
|
||||||
|
* 2 vCPU recommended
|
||||||
|
* 3 GiB of RAM (for environments containing 500+ VMs increase the amount RAM)
|
||||||
|
* 20 GiB disk space (for system updates)
|
||||||
|
|
||||||
|
## Assumptions
|
||||||
|
|
||||||
|
* We assume you have a Virtual or physical server running a currently supported Ubuntu or Debian server installation with internet connectivity
|
||||||
|
* You've read this community and understand what installation entails and does on your soon to be XOCE server
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
Run the following steps from a root shell on your **Ubuntu or Debian** host.
|
||||||
|
|
||||||
|
sudo bash
|
||||||
|
bash -c "$(curl https://raw.githubusercontent.com/Jarli01/xenorchestra_installer/master/xo_install.sh)"
|
||||||
|
|
||||||
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
|
||||||
|
|
||||||
If you don't want NFS capabilities run ```sudo apt-get remove nfs-common```.
|
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
|
## Updates
|
||||||
|
|
||||||
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
|
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.
|
||||||
|
|
||||||
The YAML file required can be found at ```/opt/xen-orchestra/packages/xo-server/.xo-server.yaml```
|
# 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.
|
||||||
|
|
||||||
|
# Self-signed SSL
|
||||||
|
|
||||||
|
If you are running this internally and need SSL (recommended) follow the below steps to create a self-signed SSL key and certificate; while browsers will still say the connection is unsecured, this is because the certificate isn't from a public authority and is on your LAN. You can add this cert to your systems root authority if it want to to remove the warning. Alternatively a reverse proxy can be used for public facing installations.
|
||||||
|
|
||||||
|
## Generate your key and cert from your XOCE installation
|
||||||
|
|
||||||
|
sudo openssl req -x509 -nodes -days 3650 -newkey rsa:4096 -keyout /etc/ssl/private/key.pem -out /etc/ssl/certs/certificate.pem
|
||||||
|
|
||||||
|
Now edit the xo-server.toml file
|
||||||
|
|
||||||
|
vi /opt/xen-orchestra/packages/xo-server/.xo-server.toml
|
||||||
|
|
||||||
|
Comment-out or edit the port from 80 to 443 and add the cert and key to the appropriate locations within this file.
|
||||||
|
|
||||||
|
port = 443
|
||||||
|
cert = '/etc/ssl/certs/certificate.pem'
|
||||||
|
key = '/etc/ssl/private/key.pem'
|
||||||
|
|
||||||
|
Restart xo-server.service
|
||||||
|
|
||||||
|
systemctl restart xo-server.service
|
||||||
|
|
||||||
|
Reload your XOCE website using SSL (https://your-host-ip)
|
||||||
|
|
||||||
|
# Problems?
|
||||||
|
|
||||||
|
Check out our [Troubleshooting Page](https://github.com/Jarli01/xenorchestra_installer/blob/master/TROUBLESHOOTING.md)!
|
||||||
|
|
||||||
# Goals/Backstory for this script
|
# Goals/Backstory for this script
|
||||||
|
|
||||||
@@ -28,9 +75,19 @@ I'm often asked "why can't this be run on CentOS or Fedora" to which my only rep
|
|||||||
|
|
||||||
That isn't to say that this installation script won't work on other distributions, please contribute and help us to spread XOCE to other platforms.
|
That isn't to say that this installation script won't work on other distributions, please contribute and help us to spread XOCE to other platforms.
|
||||||
|
|
||||||
Initially my goal was to simply setup and start using XOCE for a tiny production shop to be able to use an open source hypervisor (Citrix XenServer at the time) and have a management tool/backup solution. Which was initially NAUBackup and XenCenter, when I found XOA and that there was an open source management solution and backup solution that wasn't script based I jumped for it, taking the manuall installation process provided by Olivier and his team and automating it.
|
Initially my goal was to simply setup and start using XOCE for a tiny production shop to be able to use an open source hypervisor (Citrix XenServer at the time) and have a management tool/backup solution. Which was initially [NAUBackup](https://github.com/NAUbackup/VmBackup) and XenCenter, when I found XOA and that there was an open source management solution and backup solution that wasn't script based I jumped for it, taking the manual installation process provided by Olivier and his team and automating it.
|
||||||
|
|
||||||
That goal transformed into the desire to assist the developers of XOA by using and hopefully finding any bugs or quirks that needed to be worked out while staying in line with the original goal of being as nearly compatibile as possible to XOA.
|
That goal transformed into the desire to assist the developers of XOA by using and hopefully finding any bugs or quirks that needed to be worked out while staying in line with the original goal of being as nearly compatibile as possible to XOA.
|
||||||
|
|
||||||
While the goal initially was to have a solution as close to XOA as possible, with the script came the ability and goal to automate the installation. This is a big deal for these scripts today, while providing an as near-match solution to XOA as possible.
|
While the goal initially was to have a solution as close to XOA as possible, with the script came the ability and goal to automate the installation. This is a big deal for these scripts today, while providing an as near-match solution to XOA as possible.
|
||||||
|
|
||||||
|
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)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
71
TROUBLESHOOTING.md
Normal file
71
TROUBLESHOOTING.md
Normal file
@@ -0,0 +1,71 @@
|
|||||||
|
# Troubleshooting
|
||||||
|
|
||||||
|
If you are having problems, before you create an issue, please check the following. (You will be asked to provide this information anyways)
|
||||||
|
|
||||||
|
## Submitting a Support Request
|
||||||
|
|
||||||
|
Any issues, questions, or bugs during installation and usage of this script, that can not be solved by the steps below, should **first** be addressed in *this repository.*
|
||||||
|
|
||||||
|
Xen-Orchestra (VatesFR) is not obligated to support scripted (or manual) builds. Please give us the ability to first troubleshoot the issue and/or verify this script is not the culprit before moving on to posting in the Xen-Orchestra [Community Forums](https://xcp-ng.org/forum/category/12/xen-orchestra).
|
||||||
|
|
||||||
|
Please use the [ISSUE TEMPLATE](https://github.com/Jarli01/xenorchestra_installer/issues/new) when submitting an issue.
|
||||||
|
|
||||||
|
## XO Website not loading
|
||||||
|
|
||||||
|
If the XO website fails to load please run the below command to determine if the primary service is running.
|
||||||
|
|
||||||
|
systemctl status xo-server.service
|
||||||
|
|
||||||
|
A properly running system should look similar to this:
|
||||||
|
|
||||||
|
systemctl status xo-server.service
|
||||||
|
● xo-server.service - XO Server
|
||||||
|
Loaded: loaded (/lib/systemd/system/xo-server.service; enabled; vendor preset
|
||||||
|
Active: active (running) since Wed 2018-04-11 08:51:41 EDT; 51s ago
|
||||||
|
Main PID: 710 (node)
|
||||||
|
Tasks: 10 (limit: 4915)
|
||||||
|
Memory: 120.2M
|
||||||
|
CPU: 2.209s
|
||||||
|
CGroup: /system.slice/xo-server.service
|
||||||
|
└─710 /usr/local/bin/node ./bin/xo-server
|
||||||
|
|
||||||
|
## XO not updating or you're stuck on a specific version.
|
||||||
|
|
||||||
|
If you ever get stuck on a specific revision of XO, or are receiving an alert saying "Please tell us who you are" from git you need to run the below:
|
||||||
|
|
||||||
|
git config --global user.email "you@example.com"
|
||||||
|
git config --global user.name "Your Name"
|
||||||
|
|
||||||
|
Provide your name and email address in the quoted sections, without quotes and once done try updating again.
|
||||||
|
|
||||||
|
## Checking the logs
|
||||||
|
|
||||||
|
This will check and continually update the last 50 log files for your XOCE installation and thus is subject to any specific issues you're encountering. Just keep this command at the ready to check on things if you need too.
|
||||||
|
|
||||||
|
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
|
||||||
|
* lvm2
|
||||||
|
* cifs-utils
|
||||||
|
|
||||||
|
These dependencies (on Ubuntu) are available from the ```multiverse``` and ```universe``` repositories.
|
||||||
|
|
||||||
|
## System Performance or General Errors Guidance
|
||||||
|
|
||||||
|
While XOCE can and does operate without issue for many people there are benefits to using using more than the absolute minimum system specifications for the guest OS.
|
||||||
|
|
||||||
|
There is a mandate for 3 GB of ram built into the installation script. While this is a requirement of XO it isn't a requirement of the OS.
|
||||||
|
|
||||||
|
An additional check is being considered to match the XOA system which is supplied with 2 CPU (or 1 CPU with 2 cores). While this currently isn't implemented; if you encounter issues please try adding an additional CPU to your installation and see if the issue persists.
|
||||||
@@ -1,34 +0,0 @@
|
|||||||
If you are having issues before you create an issue please check the following. (We'll be asking you to look at and provide this information anyways)
|
|
||||||
|
|
||||||
# XO Website not loading
|
|
||||||
|
|
||||||
systemctl status xo-server.service
|
|
||||||
|
|
||||||
A properly running system should look similar to this:
|
|
||||||
|
|
||||||
systemctl status xo-server.service
|
|
||||||
● xo-server.service - XO Server
|
|
||||||
Loaded: loaded (/lib/systemd/system/xo-server.service; enabled; vendor preset
|
|
||||||
Active: active (running) since Wed 2018-04-11 08:51:41 EDT; 51s ago
|
|
||||||
Main PID: 710 (node)
|
|
||||||
Tasks: 10 (limit: 4915)
|
|
||||||
Memory: 120.2M
|
|
||||||
CPU: 2.209s
|
|
||||||
CGroup: /system.slice/xo-server.service
|
|
||||||
└─710 /usr/local/bin/node ./bin/xo-server
|
|
||||||
|
|
||||||
# XO not updating or you're stuck on a specific version.
|
|
||||||
|
|
||||||
If you ever get stuck on a specific revision of XO, or are receiving an alert saying "Please tell us who you are" from git you need to run the below:
|
|
||||||
|
|
||||||
git config --global user.email "you@example.com"
|
|
||||||
git config --global user.name "Your Name"
|
|
||||||
|
|
||||||
Provide your name and email address in the quoted sections, without quotes and once done try updating again.
|
|
||||||
|
|
||||||
# Checking the logs
|
|
||||||
|
|
||||||
This will check and continually update the last 50 log files for your XOCE installation and thus is subject to any specific issues you're encountering. Just keep this command at the ready to check on things if you need too.
|
|
||||||
|
|
||||||
journalctl -u xo-server -f -n 50
|
|
||||||
|
|
||||||
1
_config.yml
Normal file
1
_config.yml
Normal file
@@ -0,0 +1 @@
|
|||||||
|
theme: jekyll-theme-slate
|
||||||
@@ -1,50 +1,82 @@
|
|||||||
#!/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 required memory
|
||||||
|
totalk=$(awk '/^MemTotal:/{print $2}' /proc/meminfo)
|
||||||
|
if [ "$totalk" -lt "2000000" ]; then echo "XOCE Requires at least 2GB 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/tj/n/master/bin/n"
|
||||||
yarn_repo="deb https://dl.yarnpkg.com/debian/ stable main"
|
yarn_repo="deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/yarnkey.gpg] https://dl.yarnpkg.com/debian stable main"
|
||||||
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"
|
||||||
|
|
||||||
#Install node and yarn
|
# Ensures that Yarn dependencies are installed
|
||||||
|
/usr/bin/apt-get update
|
||||||
|
/usr/bin/apt-get --yes install git curl apt-transport-https gnupg
|
||||||
|
|
||||||
|
#Install yarn
|
||||||
cd /opt
|
cd /opt
|
||||||
|
|
||||||
/usr/bin/curl -sL $node_source | sudo -E bash -
|
/usr/bin/curl -sSL $yarn_gpg | gpg --dearmor | tee /usr/share/keyrings/yarnkey.gpg >/dev/null
|
||||||
/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 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
|
||||||
sudo /bin/chmod +x $n_location
|
/bin/chmod +x $n_location
|
||||||
sudo /usr/local/bin/n stable
|
|
||||||
|
|
||||||
#Install XO dependencies
|
# Install node via n
|
||||||
sudo /usr/bin/apt-get install --yes build-essential redis-server libpng-dev git python-minimal libvhdi-utils nfs-common
|
n lts
|
||||||
|
|
||||||
|
# Symlink node directories
|
||||||
|
ln -s /usr/bin/node /usr/local/bin/node
|
||||||
|
|
||||||
|
# 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 libfuse2t64
|
||||||
|
|
||||||
/usr/bin/git clone -b $xo_branch $xo_server
|
/usr/bin/git clone -b $xo_branch $xo_server
|
||||||
|
|
||||||
# Patch to allow config restore
|
|
||||||
sed -i 's/< 5/> 0/g' /opt/xen-orchestra/packages/xo-web/src/xo-app/settings/config/index.js
|
|
||||||
|
|
||||||
cd $xo_server_dir
|
cd $xo_server_dir
|
||||||
/usr/bin/yarn
|
/usr/bin/yarn
|
||||||
/usr/bin/yarn build
|
/usr/bin/yarn build
|
||||||
|
|
||||||
cd packages/xo-server
|
cd packages/xo-server
|
||||||
sudo cp sample.config.yaml .xo-server.yaml
|
cp sample.config.toml .xo-server.toml
|
||||||
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
|
dest=/usr/local/lib/node_modules/
|
||||||
|
#Create node_modules directory if doesn't exist
|
||||||
|
mkdir -p $dest
|
||||||
|
|
||||||
|
# Plugins to ignore
|
||||||
|
ignoreplugins=("xo-server-test")
|
||||||
|
|
||||||
|
# Symlink all plugins
|
||||||
|
for source in $(ls -d /opt/xen-orchestra/packages/xo-server-*); do
|
||||||
|
plugin=$(basename $source)
|
||||||
|
if [[ "${ignoreplugins[@]}" =~ $plugin ]]; then
|
||||||
|
echo "Ignoring $plugin plugin"
|
||||||
|
else
|
||||||
|
ln -s "$source" "$dest"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
[Unit]
|
[Unit]
|
||||||
Description= XO Server
|
Description= XO Server
|
||||||
@@ -52,18 +84,19 @@ 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 ./bin/xo-server
|
ExecStart=/usr/local/bin/node ./dist/cli.mjs
|
||||||
|
|
||||||
Restart=always
|
Restart=always
|
||||||
SyslogIdentifier=xo-server
|
SyslogIdentifier=xo-server
|
||||||
|
|
||||||
[Install]
|
[Install]
|
||||||
WantedBy=multi-user.target
|
WantedBy=multi-user.target
|
||||||
EOF
|
EOF
|
||||||
fi
|
|
||||||
|
|
||||||
sudo /bin/chmod +x $systemd_service_dir/$xo_service
|
|
||||||
sudo /bin/systemctl enable $xo_service
|
/bin/systemctl daemon-reload
|
||||||
sudo /bin/systemctl start $xo_service
|
/bin/systemctl enable $xo_service
|
||||||
|
/bin/systemctl start $xo_service
|
||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
echo ""
|
echo ""
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
XOCE_URL=https://drive.google.com/uc?export=download&confirm=ktXq&id=1eKz78LjkmrMHU95OC3qiQpPLuryJ2TEK
|
XOCE_URL=https://nc.nl.tab.digital/s/WQmCwmH4e9EdTTA/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 XenServer host.'
|
echo 'Please, make sure you are on a XCP-ng/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 XenServer (XCP-ng) host.\n\n"
|
printf "\nSorry, it seems you are not on a XCP-ng/XenServer host.\n\n"
|
||||||
printf "\n\033[1mThis script is meant to be deployed on XenServer (or XCP-ng) only.\033[0m\n\n"
|
printf "\n\033[1mThis script is meant to be deployed on XCP-ng or XenServer 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 will be started using DHCP\n\n"
|
printf "\nYour XOCE installation will be started using DHCP\n\n"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Downloading and importing the VM
|
# Downloading and importing the VM
|
||||||
@@ -56,7 +56,7 @@ fi
|
|||||||
import=$?
|
import=$?
|
||||||
if [ $import -ne 0 ]
|
if [ $import -ne 0 ]
|
||||||
then
|
then
|
||||||
printf "\n\nAuto deploy failed. Please contact us on xen-orchestra.com live chat for assistance.\nError:\n\n %s\n\n" "$uuid"
|
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"
|
||||||
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 your XOCE to be ready…\n"
|
printf "Waiting for 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 on https://%s/\033[0m\n" "$ip"
|
printf "\n\033[1mYour XOCE is ready at 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 on https://%s/\033[0m\n" "$url"
|
printf "\n\033[1mYour XOCE is ready at 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"
|
||||||
Reference in New Issue
Block a user