This commit is contained in:
2022-03-30 19:51:58 +00:00
parent 186e03254f
commit 78dc608003
2 changed files with 64 additions and 58 deletions

View File

@@ -15,16 +15,16 @@ These instructions were compiled and tested on an Ubuntu 21.10 Desktop OS howeve
- Disk space: minimum 2GB of free disk space
- RAM : 1GB (minimum), 2+ GB (recommended)
- Modern web browser with Javascript enabled
- Curl package installed
- Unzip package installed
- Curl package **installed** (`sudo apt install curl`)
- Unzip package **installed** (`sudo apt-get install zip unzip`)
## Installation procedure
### 1/. ASP.NET Core runtime
### 1\. ASP.NET Core runtime
AyaNova requires the ASP.NET Core runtime version 6.0 or newer and Microsoft provides a step by step guide to install it properly on each version of Linux.
Install the **"ASP.NET CORE RUNTIME"** (NOT SDK VERSION) using this guide for your specific OS version [https://docs.microsoft.com/en-us/dotnet/core/install/linux](https://docs.microsoft.com/en-us/dotnet/core/install/linux)
Install the **"ASP.NET CORE RUNTIME" (NOT SDK VERSION)** using this guide for your specific OS version [https://docs.microsoft.com/en-us/dotnet/core/install/linux](https://docs.microsoft.com/en-us/dotnet/core/install/linux)
There are different procedures for different versions of Linux so be sure to read through the instructions carefully.
@@ -45,7 +45,7 @@ Microsoft.NETCore.App 6.0.3 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
If you do not see this go through the installation steps above again.
### 2/. PostgreSQL server
### 2\. PostgreSQL server
AyaNova requires access to a PostgreSQL database server version 12 or newer. If you do not have a PostgreSQL server already available then it must be installed to a location visible to the AyaNova server (same computer or a local computer on the same network).
@@ -53,7 +53,7 @@ We recommend _not_ using the version of PostgreSQL provided by your OS package m
To install PostgreSQL directly start here [https://www.postgresql.org/download/linux/](https://www.postgresql.org/download/linux/)
### Set the PostgreSQL password
### 3\. Set the PostgreSQL password
If you are installing a local copy of PostgreSQL for the first time to use with AyaNova a password will need to be set for secure access. PostgreSQL on linux defaults to no password and must be secured. If you have an existing PostgreSQL server then you can skip this step but will need a PostgreSQL server password in a later step.
@@ -71,7 +71,7 @@ ALTER USER postgres PASSWORD 'YOUR_PASSWORD_HERE';
If successful psql will display "ALTER ROLE" in response and you can close the psql console by typing `\q` to quit.
### 3/.n Create folders for AyaNova
### 4\. Create folders for AyaNova
AyaNova requires two folders to be created, one to hold the AyaNova binary and other AyaNova server and web application files and one to hold the AyaNova data. AyaNova will need to write to both these locations so be sure you choose locations with appropriate permissions.
@@ -89,7 +89,26 @@ Create the AyaNova binary files folder. For desktop linux we recommend `/opt/aya
sudo mkdir /opt/ayanova
```
### Download the AyaNova binaries archive
### 5\. Download / unzip and run the AyaNova binaries archive
The following shell script will automatically download and unzip the latest AyaNova files then start the server.
You *must* have the Curl and Unzip utilities installed before running this command.
From a terminal window run the following commands:
```bash
cd /opt/ayanova && \
sudo curl -O https://www.ayanova.com/download/ayanova-linux-x64-desktop.zip && \
sudo unzip -o ayanova-linux-x64-desktop.zip && \
sudo chmod 777 ./AyaNova && \
sudo ./AyaNova
```
If there is an issue or error break apart the commands and execute each one individually to find the error.
AyaNova server should start with the final command.
The AyaNova binaries are located here:
[https://www.ayanova.com/download/ayanova-linux-x64-desktop.zip](https://www.ayanova.com/download/ayanova-linux-x64-desktop.zip)

View File

@@ -40,10 +40,12 @@ An up to date modern web browser (not Internet Explorer) with Javascript enabled
- Modern web browser with Javascript enabled
- Static IP address if AyaNova will be used from the internet
- Domain or subdomain name if AyaNova will be used from the internet
- Curl package **installed** (`sudo apt install curl`)
- Unzip package **installed** (`sudo apt-get install zip unzip`)
## Installation procedure
### Swap space
### 1\. Swap space configuration
If your server has 2 GB of RAM or less or will be rendering many reports simultaneously it's important to set a swap file to ensure your server doesn't completely run out of memory during report rendering. Report rendering is memory intensive and it's easily possible to completely run out of memory, particularly on a 2GB or less RAM scenario with no swap space available which can crash the server or render it completely unresponsive.
@@ -51,16 +53,16 @@ Swap memory should be considered a stopgap emergency measure only and not relied
DigitalOcean [has a guide](https://www.digitalocean.com/community/tutorials/how-to-add-swap-space-on-ubuntu-20-04) for Ubuntu droplets that walks through the process or see your distribution documentation for setting this. We recommend double the size of ram allocated to swap space so if you have 1GB of ram then a 2GB swap space is appropriate.
### Install ASP.NET Core runtime
### 2\. Install ASP.NET Core runtime
AyaNova requires the ASP.NET Core runtime version 6.0 or newer and Microsoft provides a step by step guide to install it properly on each version of Linux.
Install the **"ASP.NET CORE RUNTIME"** (NOT SDK VERSION) using this guide for your specific OS
Install the **"ASP.NET CORE RUNTIME" (NOT SDK VERSION)** using this guide for your specific OS
[https://docs.microsoft.com/en-us/dotnet/core/install/linux](https://docs.microsoft.com/en-us/dotnet/core/install/linux)
There are three different versions of .net core listed, be sure you select the "ASP.NET Core Runtime" version.
There are different procedures for different versions of Linux so be sure to read through the instructions carefully.
There are different procedures for different versions of Linux and there is a step **before** the actual installation to add the microsoft package repository so be sure to read through the instructions carefully.
Confirm ASP.NET Core runtime is installed and available before proceeding to the next step:
@@ -77,7 +79,7 @@ Microsoft.NETCore.App 6.0.3 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
If you do not see this go through the installation steps above again.
### Install PostgreSQL server
### 3\. Install PostgreSQL server
AyaNova requires access to a PostgreSQL database server version 12 or newer. If you do not have a PostgreSQL server already available then it must be installed to a location visible to the AyaNova server (same computer or a local computer on the same network).
@@ -86,7 +88,7 @@ We recommend _not_ using the version of PostgreSQL provided by your OS package m
To install PostgreSQL directly start here
[https://www.postgresql.org/download/linux/](https://www.postgresql.org/download/linux/)
### Set the PostgreSQL password
### 4\. Set the PostgreSQL password
If you are installing a local copy of PostgreSQL for the first time to use with AyaNova a password will need to be set for secure access. PostgreSQL on linux defaults to no password and must be secured. If you have an existing PostgreSQL server then you can skip this step but will need a PostgreSQL server password in a later step.
@@ -104,7 +106,7 @@ ALTER USER postgres PASSWORD 'YOUR_PASSWORD_HERE';
If successful psql will display "ALTER ROLE" in response and you can close the psql console by typing `\q` to quit.
### Install Chromium browser support libraries
### 5\. Install Chromium browser support libraries
AyaNova uses a "headless" Chromium browser to render report templates. Server versions of Linux do not have the required support libraries for Chromium to render reports so they must be installed in advance.
@@ -116,7 +118,7 @@ libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss
ca-certificates fonts-liberation libappindicator1 libnss3 lsb-release xdg-utils wget
```
### Create folders for AyaNova
### 6\. Create folders for AyaNova
AyaNova requires several folders to be created: the AyaNova binary and other server and web application files, AyaNova data and the .local-chromium folder to contain a local copy of the Chromium browser for report rendering.
@@ -138,38 +140,23 @@ Create the .local-chromium folder:
sudo mkdir /var/ayanova/.local-chromium
```
### Download the AyaNova binaries archive
### 7\. Download and unzip the AyaNova binaries archive
Switch to the AyaNova binary folder
The following shell script will automatically download and unzip the latest AyaNova server files.
You _must_ have the Curl and Unzip utilities installed before running this command.
From a terminal window run the following commands:
```bash
cd /var/ayanova
cd /var/ayanova && \
sudo curl -O https://www.ayanova.com/download/ayanova-linux-x64-server.zip && \
sudo unzip -o ayanova-linux-x64-server.zip
```
Download the AyaNova archive to the binary files folder created in the previous step.
[https://www.ayanova.com/download/ayanova-linux-x64-server.zip](https://www.ayanova.com/download/ayanova-linux-x64-server.zip)
If there is an issue or error break apart the commands and execute each one individually to find the error.
Using curl utility:
```bash
sudo curl -O https://www.ayanova.com/download/ayanova-linux-x64-server.zip
```
### Unzip the archive
Unzip the archive into the AyaNova server binary files folder created in the previous step:
```bash
sudo unzip ayanova-linux-x64-server.zip
```
If you need to install the unzip utility:
```bash
sudo apt-get install zip unzip
```
### Server configuration
### 8\. Server configuration
The server **must** be configured before it will be able to start properly and find the database server.
@@ -207,7 +194,7 @@ sudo nano config.json
Make changes and save with `ctr-x` and type `y` to answer "Save modified buffer?" prompt.
### Set ownership and permissions
### 9\. Set ownership and permissions
AyaNova will be assumed for these instructions to run as `www-data`.
@@ -229,7 +216,7 @@ Set permissions to read / write / execute for the .local-chromium folder:
sudo chmod -R g+rwx /var/ayanova/.local-chromium
```
### Create and install a service to run AyaNova automatically
### 10\. Create and install a service to run AyaNova automatically
As AyaNova is a server application running on a server operating system it needs to start automatically when the Linux server boots and restart automatically in the (unlikely) event that it crashes.
@@ -269,7 +256,7 @@ Enable the service:
sudo systemctl enable ayanova.service
```
### Start and confirm AyaNova server
### 11\. Start and confirm AyaNova server
Start the server service
@@ -293,14 +280,14 @@ If all is well the status will display "BOOT: COMPLETED - SERVER OPEN" as well a
To exit the status display type `q` and enter to quit.
### Local network access
### Local network access only
If users are accessing AyaNova only on a private local area network no more installation steps are required and AyaNova should be ready for use.
Assuming the default port of 7575 is in use then the URL would be similar to:
`http://YOUR_LOCAL_NETWORK_AYANOVA_SERVER_IP_ADDRESS:7575`
If users will need to access AyaNova from the internet continue to the next step "Internet access" otherwise you can skip it and move on to "Getting started and using AyaNova" below.
If users will need to access AyaNova from the internet continue to the next step [Internet access](#internet-access) otherwise you can skip it and move on to [Getting started and using AyaNova](#getting-started-and-using-ayanova) below.
### Internet access
@@ -325,7 +312,7 @@ These instructions will assume use of a free SSL certificate from [LetsEncrypt](
We will provide instructions for using the free and open source [NGINX](https://nginx.org/) as a reverse proxy server, if you already have another server capable of being a reverse proxy (such as Apache) you will need to adapt these instructions to match your situation.
#### Install NGINX
#### A\. Install NGINX
Install NGINX to be the reverse proxy server:
@@ -365,7 +352,7 @@ Enable NGINX under ufw:
sudo ufw allow 'Nginx Full'
```
#### Configure NGINX site for AyaNova
##### Configure NGINX site for AyaNova
NGINX needs to be configured to reverse proxy to AyaNova server.
@@ -499,7 +486,7 @@ Restart NGINX so the new configuration takes effect:
sudo systemctl restart nginx
```
#### Confirm DNS has propagated
#### B\. Confirm DNS has propagated
Confirm that you can now navigate to AyaNova web app login page through **un-encrypted HTTP** via the domain name configured earlier. i.e. `http://ayanova.yourdomain.com` or `http://yourdomain.com` if not using a subdomain.
@@ -509,11 +496,11 @@ NOTE: In some cases the browser may not allow you to open an unecrypted HTTP sit
If DNS has propogated but you see an NGINX error page instead, confirm that AyaNova server is up and running and re-check the NGINX configuration.
### Add domain name to NGNIX config
#### C\. Add domain name to NGNIX config
Open the NGINX config file previously modified again in your editor, remove the `#` symbol that is commenting out the `server_name` line and replace the server name `example.com` with your domain and or subdomain names previously registered, save and exit.
### SSL Certificate through Let's Encrypt
#### D\. SSL Certificate through Let's Encrypt
Install the Let's Encrypt Certbot application and it's NGINX handler at the server:
@@ -531,7 +518,7 @@ sudo certbot --nginx -d ayanova.example.com
Accept the prompts choose the option to redirect to https. Certbot will re-write the default config file to properly include the https ports and SSL certificates.
If you get the following error you may have forgot to [add the domain name to NGINX config](#add-domain-name-to-ngnix-config):
If you get the following error you may have forgot to [add the domain name to NGINX config](#c-add-domain-name-to-ngnix-config):
```
Could not automatically find a matching server block for ayanova.example.com. Set the `server_name` directive to use the Nginx installer.
@@ -595,16 +582,12 @@ server {
Certbot will also install a systemd timer event which will auto-renew the SSL certificate if it is within 30 days of expiration. Certificates are valid for 90 days currently with Let's Ecrypt.
#### Confirm AyaNova can be access securely
#### E\. Confirm AyaNova can be accessed securely
Confirm that you can now navigate to AyaNova web app login page through encrypted HTTPS via the domain name configured earlier. i.e. `https://ayanova.yourdomain.com` or `https://yourdomain.com` if not using a subdomain.
You should now see the login (or license agreement) page through an encrypted SSL connection and AyaNova is ready for use.
### Report rendering first time delay
The very first time a report is rendered in AyaNova there will be a delay while the Chromium browser report rendering components are installed.
## Getting started and using AyaNova
The next step is to [login](ay-start-login.md), request or install a [license](adm-license.md) and if are trying out AyaNova for the first time follow the [evaluation trial guide](ay-evaluate.md).
@@ -612,3 +595,7 @@ The next step is to [login](ay-start-login.md), request or install a [license](a
To ensure AyaNova runs smoothly and data is safe and secure be sure to look over the [Server operations](ops-intro.md) configuration and maintenance guide.
For Business administration and setting things up from a business perspective, review the [Getting started](adm-getting-started.md) guide for Administrators.
### Report rendering first time delay
The very first time a report is rendered in AyaNova there will be a delay while the Chromium browser report rendering components are installed.