chore(all): major reorg of the doc
@@ -14,8 +14,12 @@ __XO is evolving fast, [check our blog](https://xen-orchestra.com/blog) or follo
|
||||
|
||||

|
||||
|
||||
## Documentation
|
||||
|
||||
Documentation is available here: https://xen-orchestra.com/docs
|
||||
|
||||
## Toolstack
|
||||
|
||||
Xen Orchestra is agent-less thanks to the [XAPI toolstack](http://wiki.xen.org/wiki/Choice_of_Toolstacks). This toolstack is configured out-of-the-box with [XenServer](http://xenserver.org). If you want to use your Xen on your own distribution, you'll have to [install XAPI manually](https://github.com/xenserver/buildroot).
|
||||
|
||||

|
||||

|
||||
|
||||
103
SUMMARY.md
@@ -1,55 +1,54 @@
|
||||
# Summary
|
||||
|
||||
* [Introduction](README.md)
|
||||
* [Architecture](architecture.md)
|
||||
* [xo-server](xo-server.md)
|
||||
* [xo-web](xo-web.md)
|
||||
* [xo-cli](xo-cli.md)
|
||||
* [others](others.md)
|
||||
* [Installation](installation.md)
|
||||
* [XOA](xoa.md)
|
||||
* [Updater](updater.md)
|
||||
* [Trial activation](trial_activation.md)
|
||||
* [Plugins](plugins.md)
|
||||
* [Logs](logs.md)
|
||||
* [Troubleshooting](troubleshooting.md)
|
||||
* [From the sources](from_the_sources.md)
|
||||
* [Configuration](configuration.md)
|
||||
* [Features](features.md)
|
||||
* [Administration](administration.md)
|
||||
* [Docker support](docker_support.md)
|
||||
* [Backups](backups.md)
|
||||
* [Full backups](full_backups.md)
|
||||
* [Rolling snapshots](rolling_snapshots.md)
|
||||
* [Continuous Delta backups](delta_backups.md)
|
||||
* [Continuous Replication](continuous_replication.md)
|
||||
* [Disaster recovery](disaster_recovery.md)
|
||||
* [User authentication](authentication.md)
|
||||
* [Built-in](built-in.md)
|
||||
* [LDAP](ldap.md)
|
||||
* [SAML](saml.md)
|
||||
* [GitHub](github.md)
|
||||
* [Google](google.md)
|
||||
* [Resources delegation](resources_delegation.md)
|
||||
* [ACLs](acls.md)
|
||||
* [CloudInit](cloudinit.md)
|
||||
* [Self Service](self_service.md)
|
||||
* [Visualizations](visualizations.md)
|
||||
* [Health](health.md)
|
||||
* [Job manager](scheduler.md)
|
||||
* [Alerts](alerts.md)
|
||||
* [Load balancing](load_balancing.md)
|
||||
* [Auto scalability](auto_scalability.md)
|
||||
* [Forecaster](forecaster.md)
|
||||
* [Recipes](recipes.md)
|
||||
* [Reverse proxy](reverse_proxy.md)
|
||||
* [How to contribute?](contributing.md)
|
||||
* [Roadmap](roadmap.md)
|
||||
* [Purchase](purchase.md)
|
||||
* [Direct purchase](directpurchase.md)
|
||||
* [Through purchase department](through_purchase_department.md)
|
||||
* [Reseller](reseller.md)
|
||||
* [Editions](editions.md)
|
||||
* [Trial](trial.md)
|
||||
* [Invoices](invoices.md)
|
||||
|
||||
* [Architecture](./doc/architecture.md)
|
||||
* [xo-server](./doc/xo-server.md)
|
||||
* [xo-web](./doc/xo-web.md)
|
||||
* [xo-cli](./doc/xo-cli.md)
|
||||
* [others](./doc/others.md)
|
||||
* [Installation](./doc/installation.md)
|
||||
* [XOA](./doc/xoa.md)
|
||||
* [Updater](./doc/updater.md)
|
||||
* [Trial activation](./doc/trial_activation.md)
|
||||
* [Plugins](./doc/plugins.md)
|
||||
* [Logs](./doc/logs.md)
|
||||
* [Troubleshooting](./doc/troubleshooting.md)
|
||||
* [From the sources](./doc/from_the_sources.md)
|
||||
* [Configuration](./doc/configuration.md)
|
||||
* [Features](./doc/features.md)
|
||||
* [Administration](./doc/administration.md)
|
||||
* [Docker support](./doc/docker_support.md)
|
||||
* [Backups](./doc/backups.md)
|
||||
* [Full backups](./doc/full_backups.md)
|
||||
* [Rolling snapshots](./doc/rolling_snapshots.md)
|
||||
* [Continuous Delta backups](./doc/delta_backups.md)
|
||||
* [Continuous Replication](./doc/continuous_replication.md)
|
||||
* [Disaster recovery](./doc/disaster_recovery.md)
|
||||
* [User authentication](./doc/authentication.md)
|
||||
* [Built-in](./doc/built-in.md)
|
||||
* [LDAP](./doc/ldap.md)
|
||||
* [SAML](./doc/saml.md)
|
||||
* [GitHub](./doc/github.md)
|
||||
* [Google](./doc/google.md)
|
||||
* [Resources delegation](./doc/resources_delegation.md)
|
||||
* [ACLs](./doc/acls.md)
|
||||
* [CloudInit](./doc/cloudinit.md)
|
||||
* [Self Service](./doc/self_service.md)
|
||||
* [Visualizations](./doc/visualizations.md)
|
||||
* [Health](./doc/health.md)
|
||||
* [Job manager](./doc/scheduler.md)
|
||||
* [Alerts](./doc/alerts.md)
|
||||
* [Load balancing](./doc/load_balancing.md)
|
||||
* [Auto scalability](./doc/auto_scalability.md)
|
||||
* [Forecaster](./doc/forecaster.md)
|
||||
* [Recipes](./doc/recipes.md)
|
||||
* [Reverse proxy](./doc/reverse_proxy.md)
|
||||
* [How to contribute?](./doc/contributing.md)
|
||||
* [Roadmap](./doc/roadmap.md)
|
||||
* [Purchase](./doc/purchase.md)
|
||||
* [Direct purchase](./doc/directpurchase.md)
|
||||
* [Through purchase department](./doc/through_purchase_department.md)
|
||||
* [Reseller](./doc/reseller.md)
|
||||
* [Editions](./doc/editions.md)
|
||||
* [Trial](./doc/trial.md)
|
||||
* [Invoices](./doc/invoices.md)
|
||||
|
||||
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 9.4 KiB After Width: | Height: | Size: 9.4 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
|
Before Width: | Height: | Size: 56 KiB After Width: | Height: | Size: 56 KiB |
|
Before Width: | Height: | Size: 124 KiB After Width: | Height: | Size: 124 KiB |
|
Before Width: | Height: | Size: 39 KiB After Width: | Height: | Size: 39 KiB |
|
Before Width: | Height: | Size: 74 KiB After Width: | Height: | Size: 74 KiB |
|
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 25 KiB |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 45 KiB After Width: | Height: | Size: 45 KiB |
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.8 KiB |
|
Before Width: | Height: | Size: 36 KiB After Width: | Height: | Size: 36 KiB |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 24 KiB |
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 60 KiB After Width: | Height: | Size: 60 KiB |
|
Before Width: | Height: | Size: 35 KiB After Width: | Height: | Size: 35 KiB |
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.1 KiB |
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 104 KiB After Width: | Height: | Size: 104 KiB |
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 674 B After Width: | Height: | Size: 674 B |
|
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 489 B After Width: | Height: | Size: 489 B |
|
Before Width: | Height: | Size: 36 KiB After Width: | Height: | Size: 36 KiB |
@@ -7,13 +7,13 @@ ACLs are the permissions for your users or groups. The ACLs view can be accessed
|
||||
3. Choose the role for this ACL
|
||||
4. Click on "Create"
|
||||
|
||||

|
||||

|
||||
|
||||
> Pro tip: you can click to add multiple objects at the same time!
|
||||
|
||||
Your ACL is now available in the right list:
|
||||
|
||||

|
||||

|
||||
|
||||
You can edit/remove existing ACLs here.
|
||||
|
||||
@@ -72,4 +72,4 @@ If the OS install needs a ISO, you need to give this user 2 permissions:
|
||||
|
||||
### Console only
|
||||
|
||||
If you want to give your user access to the VM console only, the *View* permission is enough.
|
||||
If you want to give your user access to the VM console only, the *View* permission is enough.
|
||||
@@ -197,8 +197,8 @@ You can change the CPU Weight in the VM view. Values are:
|
||||
* Normal
|
||||
* Double (x2)
|
||||
|
||||

|
||||

|
||||
|
||||
By default, each VM has a weight of 256.
|
||||
|
||||
If one VM got for example, "Double", it will have double priority for the Xen scheduler. [Read more on the official Citrix XenServer documentation](http://support.citrix.com/article/CTX117960).
|
||||
If one VM got for example, "Double", it will have double priority for the Xen scheduler. [Read more on the official Citrix XenServer documentation](http://support.citrix.com/article/CTX117960).
|
||||
@@ -1,116 +0,0 @@
|
||||
# Administration
|
||||
|
||||
Once Xen Orchestra is installed, you can configure some parameters in the configuration file. Let's see how to do that.
|
||||
|
||||
## Configuration
|
||||
|
||||
The configuration file is in the XO-server folder (for XOA users, it's in `/etc/xo-server/config.yaml`). If it's not already done, copy this file to `local.yaml` in the same folder. Now, you can edit the configuration safely (if you destroy it, you can reuse the dist file).
|
||||
|
||||
WARNING: YAML is very strict with indentation: use spaces, not tabs.
|
||||
|
||||
### User to run XO-server as
|
||||
|
||||
By default, XO-server is running with 'nobody' user and 'nogroup' group. You can change that by uncommenting these lines and choose whatever user/group you want:
|
||||
|
||||
```yaml
|
||||
user: 'nobody'
|
||||
group: 'nogroup'
|
||||
```
|
||||
|
||||
### HTTP listen address and port
|
||||
|
||||
By default, XO-server listens to all addresses (0.0.0.0) and runs on port 80. You can change this if you want in the `# Basic HTTP` section:
|
||||
|
||||
```yaml
|
||||
host: '0.0.0.0'
|
||||
port: 80
|
||||
```
|
||||
|
||||
### HTTPS
|
||||
|
||||
XO-server can also run in HTTPS (both HTTP and HTTPS can cohabit) - just modify what's needed in the `# Basic HTTPS` section, this time with certificates/keys you want and their path:
|
||||
|
||||
```yaml
|
||||
host: '0.0.0.0'
|
||||
port: 443
|
||||
certificate: './certificate.pem'
|
||||
key: './key.pem'
|
||||
```
|
||||
|
||||
> If a chain of certificates authorities is needed, you may bundle them directly in the certificate. Note: the order of certificates does matter, your certificate should come first followed by the certificate of the above certificate authority up to the root.
|
||||
|
||||
### Link to XO-web
|
||||
|
||||
On XOA, you shouldn't have to change this. On a manual install, you need to link files served by XO-server for XO-web. That's the mount section. In this example, "xo-web" folder is in the same folder than "xo-server":
|
||||
|
||||
```yaml
|
||||
mounts:
|
||||
'/':
|
||||
- '../xo-web/dist/'
|
||||
```
|
||||
|
||||
### Redis server
|
||||
|
||||
By default, XO-server will try to contact Redis server on `localhost`, with the port `6379`. But you can define anything else you want:
|
||||
|
||||
```yaml
|
||||
uri: 'tcp://db:password@hostname:port'
|
||||
```
|
||||
|
||||
### External auth (LDAP)
|
||||
|
||||
You should see at the end of the config file, something like this:
|
||||
|
||||
```
|
||||
plugins:
|
||||
|
||||
auth-ldap:
|
||||
auth-github:
|
||||
```
|
||||
|
||||
The plugin configuration is now done in the interface, in the plugin section of "Settings".
|
||||
|
||||
### Log file
|
||||
|
||||
On XOA, the log file for XO-server is in `/var/log/syslog`. It contains all the server information returned and can be a real help when you have trouble.
|
||||
|
||||
## First connection
|
||||
|
||||
### Login screen
|
||||
|
||||
This is the login screen:
|
||||
|
||||

|
||||
|
||||
Note the green *check* icons: it indicates that you are correctly connected to XO-server. If you see this icon: , then please check the Troubleshooting section.
|
||||
|
||||
The default user login/password is `admin@admin.net` with `admin` password. This is what you should see after been logged:
|
||||
|
||||

|
||||
|
||||
You should change your password now.
|
||||
|
||||
## Users and passwords
|
||||
|
||||
You can access users and servers management in the Setting view. It's accessible from the main menu:
|
||||
|
||||

|
||||
|
||||
From there, you can modify your current password, then Save:
|
||||
|
||||

|
||||
|
||||
You can add new users with limited rights. So far, **read** permission allow to see everything but not to interact with any objects. It's pretty basic for now, but [check how it will evolve soon](https://xen-orchestra.com/users-roles-in-xen-orchestra/) on our website.
|
||||
|
||||
## Add Xen hosts
|
||||
|
||||
Adding Xen hosts is in the same view (Settings) as users:
|
||||
|
||||

|
||||
|
||||
When you add a server, you just have to wait to be displayed (e.g: in the main view. Removing is less trivial, you need to restart XO-server (or it will not disappear).
|
||||
|
||||
|
||||
|
||||
|
||||
**Congrats! You've reached the end of this doc. See the next part, [about how the interface works](../layout/README.md).**
|
||||
|
Before Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 776 B |
|
Before Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 42 KiB |
@@ -1,76 +0,0 @@
|
||||
# Architecture
|
||||
|
||||
This part is dedicated to the architecture of Xen Orchestra. It will give you hints about how we build this software.
|
||||
|
||||
## Overview
|
||||
|
||||
Here is a diagram giving an overview of what Xen Orchestra is:
|
||||

|
||||
|
||||
Xen Orchestra is split in modules:
|
||||
- the core is "[xo-server](https://github.com/vatesfr/xo-server)", a daemon dealing directly with XenServer or XAPI capable hosts. This is where users are stored, and it's the center point for talking to your whole Xen infrastructure.
|
||||
- the Web interface is in "[xo-web](https://github.com/vatesfr/xo-web)": you are running it directly in your browser. The connection with "xo-server" is done via *WebSockets*.
|
||||
- "[xo-cli](https://github.com/vatesfr/xo-cli)" is a new module allowing to send commands directly from the command line.
|
||||
|
||||
We will use this modular architecture to add further parts later. It's completely flexible, allowing us to adapt Xen Orchestra in every existing work-flow.
|
||||
|
||||
## XO-server
|
||||
|
||||
XO-Server is the core of Xen Orchestra. Its central role opens a lot of possibilities versus other solutions. Let's see why.
|
||||
|
||||
### Daemon mode
|
||||
|
||||
As a daemon, XO-server is always up. In this way, it can listen and record every event occurring on your whole Xen infrastructure. Connections are always open and it can cache informations before serve it to another client (CLI, Web or anything else).
|
||||
|
||||
### Central point
|
||||
|
||||
Contrary to XenCenter, each Xen Orchestra's client is connected to one XO-Server, and not all the Xen servers. With a traditional architecture:
|
||||
|
||||

|
||||
|
||||
You can see how we avoid a lost of resources and bandwidth waste with a central point:
|
||||
|
||||

|
||||
|
||||
### Events
|
||||
|
||||
Legacy interfaces use the "pull" model, requesting data every "x" seconds:
|
||||
|
||||

|
||||
|
||||
It's **not scalable** and slow.
|
||||
|
||||
With XO < 3.4, we used events in this way:
|
||||
|
||||

|
||||
|
||||
But interface was still lagging behind the server. With XO 3.4, we got a full event system, allowing instant display of what's happening on your infrastructure:
|
||||
|
||||

|
||||
|
||||
### Pluggable
|
||||
|
||||
It's really easy to plug other modules to XO-server, and extend or adapt the solution to your needs (see XO-web and XO-cli for real examples).
|
||||
|
||||
### NodeJS under the hood
|
||||
|
||||
[NodeJS](https://en.wikipedia.org/wiki/Nodejs) is a software platform for scalable server-side and networking applications. It's famous for its efficiency, scalability and its asynchronous capabilities. Exactly what we need! Thus, XO-server is written in JavaScript.
|
||||
|
||||
## XO-web
|
||||
|
||||
This is probably the first thing you'll see of Xen Orchestra. It's the Web interface, allowing to interact with your virtual infrastructure. As a module for XO-web, it facilitates the everyday Xen administrator work, but also provide a solution to delegate some part of your infrastructure to other people.
|
||||
|
||||
### JavaScript
|
||||
|
||||
We are also using JavaScript for XO-web: we stay consistent from the back-end to the front-end with one main language. [AngularJS](https://en.wikipedia.org/wiki/Angularjs) and [Twitter Bootstrap](https://en.wikipedia.org/wiki/Bootstrap_%28front-end_framework%29) are also powerful allies to our everyday development.
|
||||
|
||||
## XO-cli
|
||||
|
||||
After [a request from someone on our Github repositoryy](https://github.com/vatesfr/xo-server/issues/23), we decided to add the possibility to do some actions with CLI. Just few hours after the request, [we created XO-cli](https://github.com/vatesfr/xo-cli). It's a real example of the Xen Orchestra modularity, and how we can be flexible.
|
||||
|
||||
## Other modules
|
||||
|
||||
In our vision, we think Xen Orchestra can be more than "just an Web GUI for Xen". With modularity, we can imagine a lot of things: because XO-server is a daemon, it can record any activity and thus create performance reports. The next step is auto-migrate VM for adapting the need to the demand (reducing the costs to only what you need). Everything is possible!
|
||||
|
||||
|
||||
**Congrats! You've reached the end of this doc. See the next part, [about how to install Xen Orchestra](../installation/README.md).**
|
||||
@@ -1,97 +0,0 @@
|
||||
# Architecture
|
||||
|
||||
Xen Orchestra is based on a [client-server architecture](https://en.wikipedia.org/wiki/Client%E2%80%93server_model).
|
||||
|
||||
The server's role is to:
|
||||
|
||||
- maintain connections to Xen Servers;
|
||||
- provide an up-to-date cache of their states (XAPI & RRDs);
|
||||
- provide users management system with ACLs.
|
||||
|
||||
The client's only role is to provide an easy-to-use yet powerful interface to users.
|
||||
|
||||
## The server, [XO-Server](https://github.com/vatesfr/xo-server)
|
||||
|
||||

|
||||
|
||||
xo-server/
|
||||
|-- node_modules/ # Node.js modules XO-Server is using.
|
||||
|
|
||||
|-- public/http/ # XO-Server embbeds an HTTP server which may
|
||||
| # be used to deliver XO-Web.
|
||||
|
|
||||
|-- src/
|
||||
| |-- collection.js # Every XO entity is an instance of a class
|
||||
| |-- model.js # which inherits from “Model”.
|
||||
| | # Collections of models are instances of
|
||||
| | # which inherits from “Collection”.
|
||||
| |
|
||||
| |-- session.js # A “session” is a model used to store various
|
||||
| | # data related to the current session.
|
||||
| |
|
||||
| |-- xapi.js # RPC connection to a Xen server.
|
||||
| |
|
||||
| |-- api.js # API errors & methods definitions.
|
||||
| |-- xo.js # Definitions of models & collections used in
|
||||
| | # XO.
|
||||
| |
|
||||
| `-- main.js # Instanciation of “XO”, “API” and creations of
|
||||
| # XO-Server HTTP, WebSocket & TCP interfaces.
|
||||
|
|
||||
|-- tests/ # Not much tests for the moment but it would be
|
||||
| # nice to have the whole API covered through
|
||||
| # all interfaces (WebSocket & TCP).
|
||||
|
|
||||
|-- README.md
|
||||
|
|
||||
|-- package.json # NPM description file, contains the dependencies.
|
||||
|
|
||||
`-- xo-server # The shell script which runs the server.
|
||||
|
||||
## The client, [XO-Web](https://github.com/vatesfr/xo-web)
|
||||
|
||||
xo-web/
|
||||
|-- public/
|
||||
| |-- css/ # CSS stylesheets of dependencies (Bootstrap,
|
||||
| | # FontAwesome, …) and XO-Web.
|
||||
| |
|
||||
| |-- font/ # Fonts used in XO-Web (FontAwesome).
|
||||
| |-- img/ # Images
|
||||
| |
|
||||
| |-- js/ # All JavaScript used in XO-Web (dependencies
|
||||
| | | # are not listed below).
|
||||
| | |
|
||||
| | |-- network-graph.js # Code used to generate the graph.
|
||||
| | |
|
||||
| | |-- xo.helpers.js # Old code which should be migrated
|
||||
| | | # in xo.js
|
||||
| | |
|
||||
| | `-- xo.js # Contains all the logic of XO-Web.
|
||||
| |
|
||||
| `-- index.html # Layout and templates of XO-Web.
|
||||
|
|
||||
`-- vendor/ # Contains all dependencies.
|
||||
|
||||
## Technologies
|
||||
|
||||
### [JSON-RPC](http://www.jsonrpc.org/specification) over [WebSocket](https://en.wikipedia.org/wiki/WebSocket)
|
||||
|
||||
Used for communication between the server and its clients.
|
||||
|
||||
WebSocket has been chosen because it is a full-duplex real-time protocol implemented in web browsers.
|
||||
|
||||
### [Node.js](http://nodejs.org/)
|
||||
|
||||
The framework Node.js is used to develop XO-Server in JavaScript, the same language already used in XO-Web.
|
||||
|
||||
It's perfectly fit to run efficient network services.
|
||||
|
||||
### [Redis](http://redis.io/)
|
||||
|
||||
This NoSQL data store is used by XO-Server to store persistent data such as users, Xen servers, etc.
|
||||
|
||||
### [AngularJS](https://angularjs.org/)
|
||||
|
||||
AngularJS is an open-source web application framework, maintained by Google and community, that assists with creating single-page applications, one-page web applications that only require HTML, CSS, and JavaScript on the client side.
|
||||
|
||||
|
||||
|
Before Width: | Height: | Size: 33 KiB |
|
Before Width: | Height: | Size: 38 KiB |
|
Before Width: | Height: | Size: 39 KiB |
|
Before Width: | Height: | Size: 86 KiB |
|
Before Width: | Height: | Size: 90 KiB |
|
Before Width: | Height: | Size: 67 KiB |
@@ -5,6 +5,6 @@ This method is the default one. Creating a user is very simple:
|
||||
1. Go into the Settings view, select "Users"
|
||||
2. You can create a *user* or an *admin*, with his password (or generate one)
|
||||
|
||||

|
||||

|
||||
|
||||
By default, a *user* won't have any permission. At the opposite, an *admin* will have every rights.
|
||||
By default, a *user* won't have any permission. At the opposite, an *admin* will have every rights.
|
||||
@@ -30,7 +30,7 @@ Just read twice the UI when you add a SMB store. If you have:
|
||||
|
||||
You'll have to fill it like this:
|
||||
|
||||

|
||||

|
||||
|
||||
**PATH TO BACKUP is only needed if you have subfolders in your share.**
|
||||
|
||||
@@ -91,4 +91,4 @@ To get the mount point persistent in XOA, edit the `/etc/fstab` file, and add:
|
||||
/dev/xvdb /var/lib/xoa-backups ext4 defaults 0 0
|
||||
```
|
||||
|
||||
This way, without modifying your previous scheduled snapshot, they will be written in this local mountpoint!
|
||||
This way, without modifying your previous scheduled snapshot, they will be written in this local mountpoint!
|
||||
@@ -12,8 +12,8 @@ When you got your `clientID` and your `clientSecret`, you can configure them in
|
||||
|
||||
Be sure to activate the plugin after you save the configuration (button on top). When it's done, you'll see a link in the log in view, this is where you'll go to authenticate:
|
||||
|
||||

|
||||

|
||||
|
||||
## Debugging
|
||||
|
||||
If you can't log in with your GitHub settings, please check the logs of `xo-server` while you attempt to connect. It will give you hints about the error encountered. You can do that with a `tail -f /var/log/syslog -n 100` on your XOA.
|
||||
If you can't log in with your GitHub settings, please check the logs of `xo-server` while you attempt to connect. It will give you hints about the error encountered. You can do that with a `tail -f /var/log/syslog -n 100` on your XOA.
|
||||
@@ -28,7 +28,7 @@ In Settings, then Plugins, expand the Google plugin detail and provide:
|
||||
* a `clientSecret`, e.g `HTDb8I4jXiLRMaRL15qCffQ`
|
||||
* the `callbackURL`, e.g `http://xo.company.net/signin/google/callback`
|
||||
|
||||

|
||||

|
||||
|
||||
Be sure to activate the plugin after you save the configuration (button on top).
|
||||
|
||||
@@ -38,4 +38,4 @@ You can now connect with your Google account in the log in page:
|
||||
|
||||
## Debugging
|
||||
|
||||
If you can't log in with your Google settings, please check the logs of `xo-server` while you attempt to connect. It will give you hints about the error encountered. You can do that with a `tail -f /var/log/syslog -n 100` on your XOA.
|
||||
If you can't log in with your Google settings, please check the logs of `xo-server` while you attempt to connect. It will give you hints about the error encountered. You can do that with a `tail -f /var/log/syslog -n 100` on your XOA.
|
||||
@@ -1,13 +0,0 @@
|
||||
# Installation
|
||||
|
||||
## Introduction
|
||||
|
||||
There are two ways to install Xen Orchestra. If you are just a user and not a developer, please consider using the pre-built applance, as this is the easier way (XOA).
|
||||
|
||||
## Default credentials
|
||||
|
||||
Be advised that our default user and password for a fresh install are **admin@admin.net** and **admin**. Remember to change the default password immediately after installation.
|
||||
|
||||
## [Xen Orchestra Appliance (XOA)](./xoa_installation.md)
|
||||
|
||||
## [Manual installation](./manual_installation.md)
|
||||
@@ -1,39 +0,0 @@
|
||||
# Installation on FreeBSD
|
||||
|
||||
This small guide is an addendum for installing XO on FreeBSD 10.
|
||||
|
||||
## Packages and Pre-requisites
|
||||
|
||||
Just install these packages:
|
||||
|
||||
```
|
||||
pkg install gmake redis python git npm node autoconf
|
||||
```
|
||||
You can update `npm` itself right now with a `npm update -g`
|
||||
|
||||
A few of the npm packages look for system binaries as part of their installation, and if missing will try to build it themselves. Installing these will save some time and allow for easier upgrades later:
|
||||
|
||||
```
|
||||
pkg install jpeg-turbo optipng gifsicle
|
||||
```
|
||||
|
||||
Because FreeBSD is shipped with CLANG and not GCC, you need to do this:
|
||||
|
||||
```
|
||||
ln -s /usr/bin/clang++ /usr/local/bin/g++
|
||||
```
|
||||
|
||||
To enable redis on boot, add this in your `/etc/rc.conf`:
|
||||
|
||||
```
|
||||
redis_enable="YES"
|
||||
```
|
||||
|
||||
Don't forget to start redis if you don't reboot now:
|
||||
|
||||
```
|
||||
service redis start
|
||||
```
|
||||
|
||||
You can now follow the rest of the procedure, starting at "[Fetching the code](./manual_installation.md#fetching-the-code)"
|
||||
|
||||
@@ -1,141 +0,0 @@
|
||||
# Manual installation
|
||||
|
||||
This installation is validated against a fresh Debian 7 (Wheezy) 64 bits. It should be almost the same on others dpkg systems. For RPMs based OS, it should be close, because most of our dependencies came from NPM and not the OS itself.
|
||||
|
||||
FreeBSD user? Check [our dedicated page](./installation_freebsd.md) for this.
|
||||
|
||||
As you may have seen, in other parts of the documentation, XO is composed of two parts: [XO-Server](https://github.com/vatesfr/xo-server/) and [XO-Web](https://github.com/vatesfr/xo-web/). They can be installed separately, even on different machines, but for the sake of simplicity we will set them up together.
|
||||
|
||||
## Packages and Pre-requisites
|
||||
|
||||
### NodeJS
|
||||
|
||||
XO needs Node.js. You can install it:
|
||||
- by [following this procedure](https://github.com/joyent/node/wiki/Installing-Node.js-via-package-manager).
|
||||
- on Wheezy, the build from source was tested and working well.
|
||||
- by using *n*, documented just below.
|
||||
|
||||
We'll use `n` because it's powerful and flexible. First, you need `curl`. Then, install it as root:
|
||||
|
||||
```bash
|
||||
curl -o /usr/local/bin/n https://raw.githubusercontent.com/visionmedia/n/master/bin/n
|
||||
chmod +x /usr/local/bin/n
|
||||
n stable
|
||||
```
|
||||
We'll consider at this point that you've got a working node on your box. E.g:
|
||||
|
||||
```
|
||||
$ node -v
|
||||
v0.12.2
|
||||
```
|
||||
|
||||
Be sure to have a recent version of `npm` (>=2.7):
|
||||
|
||||
```
|
||||
$ npm -v
|
||||
2.7.4
|
||||
```
|
||||
|
||||
### Packages
|
||||
|
||||
```
|
||||
apt-get install build-essential redis-server libpng-dev git python-minimal
|
||||
```
|
||||
|
||||
## Fetching the Code
|
||||
|
||||
You may either download them [here](https://github.com/vatesfr/xo-server/archive/stable.zip) and [here](https://github.com/vatesfr/xo-web/archive/stable.zip) or use `git` with these repositories from `http://github.com/vatesfr/xo-server` and `http://github.com/vatesfr/xo-web`:
|
||||
|
||||
```
|
||||
git clone -b stable http://github.com/vatesfr/xo-server
|
||||
git clone -b stable http://github.com/vatesfr/xo-web
|
||||
```
|
||||
|
||||
## Installing dependencies
|
||||
|
||||
### XO-Server
|
||||
|
||||
Once you have it, use `npm`, as the non-root user owning the fetched code, to install the other dependencies: go into XO-Server directory and launch the following command:
|
||||
|
||||
```
|
||||
npm install && npm run build
|
||||
```
|
||||
|
||||
Then, you have to create a config file for XO-Server:
|
||||
|
||||
```
|
||||
cp sample.config.yaml .xo-server.yaml
|
||||
```
|
||||
|
||||
Edit and uncomment it to have the right path to deliver XO-Web, because XO-Server embeds an HTTP server (we assume that XO-Server and XO-Web are on the same directory). It's near the end of the file:
|
||||
|
||||
```yaml
|
||||
mounts: '/': '../xo-web/dist/'
|
||||
```
|
||||
> Note this `dist` folder will be created in the next step (see the XO-Web section)
|
||||
|
||||
WARNING: YAML is very strict with indentation: use spaces for it, not tabs.
|
||||
|
||||
In this config file, you can also change default ports (80 and 443) for XO-Server.
|
||||
|
||||
You can try to start XO-Server to see if it works. You should have something like that:
|
||||
|
||||
```
|
||||
$ npm start
|
||||
WebServer listening on localhost:80
|
||||
[INFO] Default user: "admin@admin.net" with password "admin"
|
||||
```
|
||||
|
||||
### XO-Web
|
||||
|
||||
First, we'll also install dependencies:
|
||||
|
||||
```
|
||||
$ npm install
|
||||
```
|
||||
|
||||
You can now install `bower` dependencies and build the application:
|
||||
|
||||
```
|
||||
$ npm run build
|
||||
```
|
||||
|
||||
## Running XO
|
||||
|
||||
The sole part you have to launch is XO-Server which is quite easy to do, just launch the `xo-server` script, which is in the root of XO-Server's directory':
|
||||
|
||||
```
|
||||
$ npm start
|
||||
```
|
||||
That's it! Go on your browser to the XO-Server IP address, and it works! :)
|
||||
|
||||
## Misc
|
||||
|
||||
- You can also consider using [forever](https://github.com/nodejitsu/forever) to have always the process running.
|
||||
|
||||
```
|
||||
$ npm install -g forever
|
||||
$ forever start bin/xo-server
|
||||
```
|
||||
|
||||
- Our stable branch is *stable* and the beta branch is *next-release*. You can change it if you want to test our latest features (on both XO-Server and XO-Web, do NOT mix them):
|
||||
|
||||
```
|
||||
$ git checkout next-release
|
||||
```
|
||||
- If you want to update your current version, do this on both repositories:
|
||||
|
||||
```
|
||||
$ git pull --ff-only
|
||||
$ npm install
|
||||
$ npm run build
|
||||
```
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
If you have problem during the buiding phase in `xo-web`, follow these steps:
|
||||
|
||||
1. `rm -rf node_modules`
|
||||
1. `git checkout node_modules`
|
||||
1. `npm install`
|
||||
1. `npm run build`
|
||||
@@ -1,40 +0,0 @@
|
||||
# Xen Orchestra Appliance (XOA)
|
||||
|
||||
The fastest way to install Xen Orchestra is to use our Appliance. You can [download it from here](https://xen-orchestra.com/) (fill the form and click on "Try Now"). Basically, it's a Debian VM with all the stuff needed to run Xen Orchestra, no more, no less.
|
||||
|
||||
Once you've got it, you can import it with `xe vm-import filename=xoa_version_number.xva` or via XenCenter.
|
||||
|
||||
After the VM is imported, you just need to start it with a `xe vm-start vm=XOA` or with XenCenter.
|
||||
|
||||
XOA is in **DHCP** by default, so if you need to configure the IP, you need to edit `/etc/network/interfaces` as explained in the [Debian documentation](https://wiki.debian.org/NetworkConfiguration#Configuring_the_interface_manually). You can access the VM console through XenCenter or using VNC through a SSH tunnel.
|
||||
|
||||
Xen Orchestra is now accessible in your browser on ` http://your-vm-ip` or in HTTPS on the same URL.
|
||||
|
||||
## Default admin account
|
||||
|
||||
Default user is **admin@admin.net** with **admin** as a password.
|
||||
|
||||
## XOA credentials
|
||||
|
||||
By default, system/SSH user and password are **root**/**xoa**. Be smart and change the root password as soon as possible!
|
||||
|
||||
> For version of XOA < 3.6, user/pass combo in SSH is **root**/**root**. But we encourage you strongly to switch to the lastest XOA version (3.6).
|
||||
|
||||
## Restart XOA
|
||||
|
||||
You can restart XOA by going in XOA on SSH (or console) and type `systemctl restart xo-server.service`.
|
||||
|
||||
To check the status of `xo-server`, use `systemctl status xo-server.service`, it should display something like that:
|
||||
|
||||
```
|
||||
xo-server.service - XO Server
|
||||
Loaded: loaded (/etc/systemd/system/xo-server.service; enabled)
|
||||
Active: active (running) since Thu 2014-08-14 10:59:46 BST; 21min ago
|
||||
Main PID: 394 (node)
|
||||
CGroup: /system.slice/xo-server.service
|
||||
└─394 node /usr/local/bin/xo-server
|
||||
|
||||
Aug 14 10:59:46 xoa systemd[1]: Starting XO Server...
|
||||
Aug 14 10:59:46 xoa systemd[1]: Started XO Server.
|
||||
Aug 14 10:59:48 xoa xo-server[394]: WebServer listening on http://0.0.0.0:80
|
||||
```
|
||||
@@ -4,6 +4,6 @@ You can find all your invoices in your member zone: https://xen-orchestra.com/#!
|
||||
|
||||
Get in the "Invoices" tab:
|
||||
|
||||

|
||||

|
||||
|
||||
You can download your invoice in PDF format, by clicking in the "Export" row, on the invoice name with the PDF extension.
|
||||
You can download your invoice in PDF format, by clicking in the "Export" row, on the invoice name with the PDF extension.
|
||||
@@ -1,13 +0,0 @@
|
||||
# Known bugs
|
||||
|
||||
XO is currently under development and contains various known bugs/limitations.
|
||||
|
||||
We will try to list the most important here so that you know what to expect if you try it and that we are planning to fix them :)
|
||||
|
||||
## Lack of explicit error messages
|
||||
|
||||
Our error messages aren't really explicit. We need to fix that.
|
||||
|
||||
## Avoid aborted VM to stays in the template list
|
||||
|
||||
Due to the non-atomic process of VM creation in XAPI, if it fails, you'll have a template created with the name of the VM in your template list.
|
||||
@@ -1,62 +0,0 @@
|
||||
# Layout
|
||||
|
||||
In this section, we'll make a tour of the global layout of XO-web.
|
||||
|
||||
## Navigation bar
|
||||
|
||||
The navigation bar, on the top, is displayed on every views/pages. You can go to the main view by clicking on "Xen Orchestra", use the search bar, access to the main menu and disconnect your session from there.
|
||||
|
||||

|
||||
|
||||
### Main menu
|
||||
|
||||
It's represented by the . It gives you access to the main zones of XO-web.
|
||||
|
||||

|
||||
|
||||
### Search bar
|
||||
|
||||
The search bar is very useful to filter information, to quickly find what you need. The live filter works with every data on every object. Check the result in the Flat view section.
|
||||
|
||||
## Main view
|
||||
|
||||
The main view is a global view of all your pools, servers and VMs. The concept is to display all the important information with an horizontal hierarchy.
|
||||
|
||||
### Extended navigation bar
|
||||
|
||||
The first change is an extended navigation bar, with statistics and the "master checkbox":
|
||||
|
||||

|
||||
|
||||
This master checkbox can be use to select multiple VM in one action: all VM running, halted, or VM on one host.
|
||||
|
||||
The bar change when you select a VM with its checkbox (or *via* the master checkbox):
|
||||
|
||||

|
||||
|
||||
From this bar, you've got also Migrate VM display.
|
||||
|
||||
### Quick actions
|
||||
|
||||
We hovering a VM, you can see buttons for stop, start, reboot VM, and also access its console:
|
||||
|
||||

|
||||
|
||||
### Host and pools submenu
|
||||
|
||||
Don't forget to expand Pool and hosts submenus to explore what you can do:
|
||||
|
||||

|
||||
|
||||
## Flat view
|
||||
|
||||
Flat view is non-hierarchical view, with the main goal to serve the filtered results of the search field.
|
||||
|
||||
Here is a example with an IP address:
|
||||
|
||||

|
||||
|
||||
It also work for names, descriptions, everything else!
|
||||
|
||||
|
||||
**Congrats! You've reached the end of this doc. See the next part, [about how to manage VMs](../vm_usage/README.md).**
|
||||
|
Before Width: | Height: | Size: 49 KiB |
|
Before Width: | Height: | Size: 197 B |
|
Before Width: | Height: | Size: 6.2 KiB |
|
Before Width: | Height: | Size: 9.8 KiB |
|
Before Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 6.2 KiB |
|
Before Width: | Height: | Size: 11 KiB |
@@ -4,7 +4,7 @@ XO currently support connection to LDAP directories, like *Open LDAP* or *Active
|
||||
|
||||
To configure your LDAP, go need to go in the *Plugins* section in the "Settings" view. Then configure it:
|
||||
|
||||

|
||||

|
||||
|
||||
Don't forget to save the configuration, and also check if the plugin is activated (green button on top).
|
||||
|
||||
@@ -19,4 +19,4 @@ After finishing the configuration, you can try to log in with your LDAP username
|
||||
|
||||
## Debugging
|
||||
|
||||
If you can't log in with your LDAP settings, please check the logs of `xo-server` while you attempt to connect. It will give you hints about the error encountered. You can do that with a `tail -f /var/log/syslog -n 100` on your XOA.
|
||||
If you can't log in with your LDAP settings, please check the logs of `xo-server` while you attempt to connect. It will give you hints about the error encountered. You can do that with a `tail -f /var/log/syslog -n 100` on your XOA.
|
||||
@@ -6,7 +6,7 @@ Xen Orchestra plugins allow to extend features without rewriting the core of the
|
||||
|
||||
You can see your installed plugins in "Settings" then "Plugins" page:
|
||||
|
||||

|
||||

|
||||
|
||||
Every plugin configuration should be done in the web interface.
|
||||
|
||||
@@ -14,4 +14,4 @@ A plugin can be:
|
||||
|
||||
* activated/deactivated
|
||||
* loaded on start of the application
|
||||
* configured (extend the plugin settings by clicking on the "+" icon
|
||||
* configured (extend the plugin settings by clicking on the "+" icon
|
||||
@@ -1,6 +0,0 @@
|
||||
# Recipes
|
||||
|
||||
The place to find how to do cool things with Xen Orchestra :)
|
||||
|
||||
- [Xen Orchestra behind an Apache reverse proxy](apache-reverse.md) (thanks to *schn0052* [on our forum](https://xen-orchestra.com/forum/93-apache-reverse-proxy)!)
|
||||
- [Xen Orchestra behind a NGINX reverse proxy](nginx-reverse.md)
|
||||
@@ -1,13 +0,0 @@
|
||||
# Xen Orchestra behind an Apache reverse proxy
|
||||
|
||||
As XO-web and XO-server communicates with *WebSockets*, you need to have the `mod_proxy_wstunnel` in Apache (please [check the Apache documentation](http://httpd.apache.org/docs/2.4/mod/mod_proxy_wstunnel.html) about it). It's available for Apache 2.4.5 and later.
|
||||
|
||||
|
||||
Please use this configuration in this order or it will not work:
|
||||
|
||||
```apache
|
||||
ProxyPass /[<path>]/api ws://<xo-server ip>:<xo-server port>/api
|
||||
ProxyPass /[<path>] http://<xo-server ip>:<xo-server port>/
|
||||
|
||||
ProxyPassReverse /[<path>] /
|
||||
```
|
||||
@@ -1,16 +0,0 @@
|
||||
Just configure your VirtualHost as usual (or your default site), with a section `location` like this one:
|
||||
|
||||
|
||||
```nginx
|
||||
location /[<path>] {
|
||||
proxy_pass http://<XOA ip address>[:<port>]/;
|
||||
|
||||
proxy_http_version 1.1;
|
||||
proxy_set_header Connection "upgrade";
|
||||
proxy_set_header Upgrade $http_upgrade;
|
||||
|
||||
proxy_redirect default;
|
||||
}
|
||||
```
|
||||
|
||||
That's all!
|
||||
@@ -1 +0,0 @@
|
||||
recipes
|
||||