case 4586

This commit is contained in:
2024-05-20 23:18:31 +00:00
parent f262907440
commit 28b81b9844
7 changed files with 79 additions and 42 deletions

View File

@@ -41,13 +41,18 @@ sudo apt-get -y install postgresql
sudo -u postgres psql -U postgres -d postgres -c "alter user postgres with password 'YOUR_PASSWORD_HERE';" sudo -u postgres psql -U postgres -d postgres -c "alter user postgres with password 'YOUR_PASSWORD_HERE';"
echo INSTALL REPORTING LIBS echo INSTALL REPORTING LIBS
# Ubuntu 22.04 # Ubuntu 22.04
# was in chromium days:
# sudo apt-get install -yq gconf-service libasound2 libatk1.0-0 libc6 libcairo2 libcups2 libdbus-1-3 libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 libgbm1 ca-certificates fonts-liberation libappindicator1 libnss3 lsb-release xdg-utils wget # sudo apt-get install -yq gconf-service libasound2 libatk1.0-0 libc6 libcairo2 libcups2 libdbus-1-3 libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 libgbm1 ca-certificates fonts-liberation libappindicator1 libnss3 lsb-release xdg-utils wget
# Now for chrome may 2024 (note: these were determined entirely through trial and error)
sudo apt-get update
sudo apt-get install -y libatk1.0-0 libatk-bridge2.0-0 libcups2 libxcomposite1 libxdamage1 libxfixes3 libxrandr2 libgbm1 libxkbcommon0 libpango-1.0-0 libcairo2 libasound2 fonts-liberation
# Ubuntu 24.04 # Ubuntu 24.04
sudo apt-get update # sudo apt-get update
sudo apt-get install -y libatk1.0-0t64 libc6 libcairo2 libdbus-1-3 libexpat1 libfontconfig1 libgcc-s1 libgdk-pixbuf2.0-0 libglib2.0-0t64 libgtk-3-0t64 libnspr4 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 ca-certificates fonts-liberation libnss3 lsb-release libgbm-dev xdg-utils # sudo apt-get install -y libatk1.0-0t64 libc6 libcairo2 libdbus-1-3 libexpat1 libfontconfig1 libgcc-s1 libgdk-pixbuf2.0-0 libglib2.0-0t64 libgtk-3-0t64 libnspr4 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 ca-certificates fonts-liberation libnss3 lsb-release libgbm-dev xdg-utils
sudo apt-get update # sudo apt-get update
sudo apt-get install -y libatk-bridge2.0-0t64 libcups2t64 libxcomposite1 libxdamage1 libpangocairo-1.0-0 libxfixes3 libxrandr2 libgbm1 libcairo2 libpango-1.0-0 libasound2t64 wget # sudo apt-get install -y libatk-bridge2.0-0t64 libcups2t64 libxcomposite1 libxdamage1 libpangocairo-1.0-0 libxfixes3 libxrandr2 libgbm1 libcairo2 libpango-1.0-0 libasound2t64 wget
# NOTE: for future releases of ubuntu when need to update packages this was helpful https://itsfoss.com/unable-to-locate-package-error-ubuntu/ # NOTE: for future releases of ubuntu when need to update packages this was helpful https://itsfoss.com/unable-to-locate-package-error-ubuntu/
echo INSTALL AYANOVA echo INSTALL AYANOVA
apt install zip unzip -y apt install zip unzip -y

View File

@@ -25,7 +25,7 @@ We gratefully acknowledge the following open source tools and libraries that wer
- [Bogus](https://github.com/bchavez/Bogus) - [Bogus](https://github.com/bchavez/Bogus)
- [Bouncy Castle](https://github.com/chrishaly/bc-csharp) - [Bouncy Castle](https://github.com/chrishaly/bc-csharp)
- [bwip-js](https://github.com/metafloor/bwip-js) - [bwip-js](https://github.com/metafloor/bwip-js)
- [Chromium](https://www.chromium.org/Home) - [Chrome](https://www.google.com/chrome/index.html)
- [Enums.NET](https://github.com/TylerBrinkley/Enums.NET) - [Enums.NET](https://github.com/TylerBrinkley/Enums.NET)
- [Handlebars.js](https://handlebarsjs.com/) - [Handlebars.js](https://handlebarsjs.com/)
- [jose-jwt](https://github.com/dvsekhvalnov/jose-jwt) - [jose-jwt](https://github.com/dvsekhvalnov/jose-jwt)

View File

@@ -1,8 +1,8 @@
# Report render browser path setting # Report render browser path setting
This optional setting sets the _full_ path to the Chromium web browser executable that is used by AyaNova to render reports. This optional setting sets the _full_ path to the Chrome web browser executable that is used by AyaNova to render reports.
If not set, AyaNova will attempt to automatically download a copy of Chromium to a `.local-chromium` folder under the AyaNova executable folder on first report rendering. If not set, AyaNova will attempt to automatically download a copy of Chrome to a `Chrome` and `ChromeHeadlessShell` folders under the AyaNova executable folder on first report rendering.
This setting is typically not required to be set. This setting is typically not required to be set.
@@ -16,27 +16,27 @@ AyaNova expects the report rendering browser path to be provided by a config.jso
`AYANOVA_REPORT_RENDER_BROWSER_PATH` `AYANOVA_REPORT_RENDER_BROWSER_PATH`
The value specified should be a string containing a fully qualified file path to the Chromium browser. The value specified should be a string containing a fully qualified file path to the Chrome browser.
Example config.json entry Example config.json entry
```json ```json
{ {
...other properties... ...other properties...
"AYANOVA_REPORT_RENDER_BROWSER_PATH": "/usr/bin/chromium-browser" "AYANOVA_REPORT_RENDER_BROWSER_PATH": "/usr/bin/Chrome"
} }
``` ```
Example command line parameter Example command line parameter
`ayanova.exe --AYANOVA_REPORT_RENDER_BROWSER_PATH="/usr/bin/chromium-browser"` ) `ayanova.exe --AYANOVA_REPORT_RENDER_BROWSER_PATH="/usr/bin/Chrome"` )
Example environment variable Example environment variable
Windows Windows
`set "AYANOVA_REPORT_RENDER_BROWSER_PATH=o C:\Program Files\Chromium\chrome.exe"` `set "AYANOVA_REPORT_RENDER_BROWSER_PATH=o C:\Program Files\Chrome\chrome.exe"`
Linux Linux
`export AYANOVA_REPORT_RENDER_BROWSER_PATH="/usr/bin/chromium-browser"` `export AYANOVA_REPORT_RENDER_BROWSER_PATH="/usr/bin/Chrome"`

View File

@@ -6,14 +6,14 @@ The "desktop" installation is appropriate for a single user of AyaNova on a Linu
## Linux distributions ## Linux distributions
These instructions were compiled and tested on an Ubuntu 21.10 Desktop OS however any Linux x64 distribution should work provided the ASP.NET Core framework can be installed to it. These instructions were compiled and tested on an Ubuntu 22.04 Desktop OS however any Linux x64 distribution should work provided the ASP.NET Core framework can be installed to it.
You may need to "translate" these instructions into your Linux distribution's package manager and shell equivalent to the Apt package manager and Bash shell script commands shown here. You may need to "translate" these instructions into your Linux distribution's package manager and shell equivalent to the Apt package manager and Bash shell script commands shown here.
## System requirements ## System requirements
- OS : Linux x64 desktop operating system [supported by ASP.NET Core](https://docs.microsoft.com/en-us/dotnet/core/install/linux) - OS : Linux x64 desktop operating system [supported by ASP.NET Core](https://docs.microsoft.com/en-us/dotnet/core/install/linux)
- Internet connection : required to install license and to automatically download the Chromium report rendering engine - Internet connection : required to install license and to automatically download the Chrome report rendering engine
- Disk space: minimum 2GB of free disk space - Disk space: minimum 2GB of free disk space
- RAM : 1GB (minimum), 2+ GB (recommended) - RAM : 1GB (minimum), 2+ GB (recommended)
- Modern web browser with Javascript enabled - Modern web browser with Javascript enabled
@@ -51,9 +51,7 @@ If you do not see '8' as the first major version digit (the rest may vary) go th
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). 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).
We recommend _not_ using the version of PostgreSQL provided by your OS package manager as they tend to be out of date. If your package manager supports PostgreSQL 12 or newer then by all means use that however if you need to install directly start here [https://www.postgresql.org/download/linux/](https://www.postgresql.org/download/linux/)
To install PostgreSQL directly start here [https://www.postgresql.org/download/linux/](https://www.postgresql.org/download/linux/)
### 3\. Set the PostgreSQL password ### 3\. Set the PostgreSQL password
@@ -175,7 +173,11 @@ sudo ./AyaNova
## Report rendering first time delay ## 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. The very first time a report is rendered in AyaNova there may be a delay while a "headless" Chrome browser report rendering engine is installed if you do not already have Chrome installed.
## Reporting Fonts / layout
All stock reports included with AyaNova are designed to layout correctly as long as the specified fonts are available. If you find the layouts are broken on the stock reports or don't align properly be sure that the `fonts-liberation` package is installed.
## Getting started and using AyaNova ## Getting started and using AyaNova

View File

@@ -4,8 +4,6 @@ Please read through all the instructions below **before** proceeding with instal
These instructions assume shell access to a Linux server and a working knowledge of Linux adminstration tasks. These instructions assume shell access to a Linux server and a working knowledge of Linux adminstration tasks.
We also offer installation services, contact AyaNova support for details and pricing.
The "SERVER" installation configuration is appropriate for use both within a private office network or from the internet. The "SERVER" installation configuration is appropriate for use both within a private office network or from the internet.
Once the AyaNova server is up and running users can access it with their web browsers pointed to the address of the AyaNova server. Once the AyaNova server is up and running users can access it with their web browsers pointed to the address of the AyaNova server.
@@ -14,7 +12,7 @@ No installation is required at the user end to access the AyaNova web app with a
## Linux distributions ## Linux distributions
These instructions were compiled and tested on an Ubuntu 20 server OS however any Linux x64 distribution should work provided the ASP.NET Core framework can be installed to it. These instructions were compiled and tested on an Ubuntu 22.04 and 24.04 server OS however any Linux x64 distribution should work provided the ASP.NET Core framework can be installed to it.
## Hosted linux ## Hosted linux
@@ -32,8 +30,8 @@ An up to date modern web browser (not Internet Explorer) with Javascript enabled
## System requirements ## System requirements
- OS : Linux x64 operating system [supported by ASP.NET Core](https://docs.microsoft.com/en-us/dotnet/core/install/linux) - OS : Linux x64 operating system [supported by ASP.NET Core 8.x](https://docs.microsoft.com/en-us/dotnet/core/install/linux)
- Internet connection : required to install license and to automatically download the Chromium report rendering engine - Internet connection : required to install license and to automatically download the Chrome report rendering engine
- Disk space: minimum 2GB of free disk space - Disk space: minimum 2GB of free disk space
- RAM : 1GB (minimum), 2+ GB (recommended) - RAM : 1GB (minimum), 2+ GB (recommended)
- Sufficient swap space if a low memory server is used ( < 4gb) - Sufficient swap space if a low memory server is used ( < 4gb)
@@ -62,7 +60,7 @@ Install the **"ASP.NET CORE RUNTIME" (NOT SDK VERSION)** using this guide for yo
There are three different versions of .net core listed, be sure you select the "ASP.NET Core Runtime" version. 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 and there is a step **before** the actual installation to add the microsoft package repository so be sure to read through the instructions carefully. There are different procedures for different versions of Linux and there may be 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: Confirm ASP.NET Core runtime is installed and available before proceeding to the next step:
@@ -83,7 +81,7 @@ If you do not see an '8' as the first digit of the version number (the rest may
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). 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).
We recommend _not_ using the version of PostgreSQL provided by your OS package manager as they tend to be out of date. If your package manager has PostgreSQL version 12 or newer then you can go that route or install directly:
To install PostgreSQL directly start here To install PostgreSQL directly start here
[https://www.postgresql.org/download/linux/](https://www.postgresql.org/download/linux/) [https://www.postgresql.org/download/linux/](https://www.postgresql.org/download/linux/)
@@ -108,21 +106,34 @@ If successful psql will display "ALTER ROLE" in response and you can close the p
**Warning**: Be careful about using special characters for your Postgres connection string, particularly the password and database name, we've encountered issues with the automatic internal backup failing due to a @ or $ symbol in the password. On some platforms when AyaNova attempts to run the backup utility it may fail if that operating system does not support certain special characters found in the password as they may interfere with the "shell" command called to perform the backup. **Warning**: Be careful about using special characters for your Postgres connection string, particularly the password and database name, we've encountered issues with the automatic internal backup failing due to a @ or $ symbol in the password. On some platforms when AyaNova attempts to run the backup utility it may fail if that operating system does not support certain special characters found in the password as they may interfere with the "shell" command called to perform the backup.
### 5\. Install Chromium browser support libraries ### 5\. Install Chrome 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. AyaNova uses a "headless" Chrome browser to render report templates. Server versions of Linux do not have the required support libraries for Chrome to render reports so they must be installed in advance.
These examples below are tested with Ubuntu LTS releases; your distro may require different files or the requirements may change for Chrome over time. If in doubt, run a report and if you see an error check the [server log](ops-log.md) and if a library is missing causing Chrome to fail the error in the log will show the missing library file that will need to be installed if that is the issue.
#### Ubuntu 22.04 Chrome support libraries
```bash ```bash
sudo apt-get install -yq gconf-service libasound2 libatk1.0-0 libc6 libcairo2 libcups2 libdbus-1-3 \ sudo apt-get install -y libatk1.0-0 libatk-bridge2.0-0 libcups2 libxcomposite1 libxdamage1 libxfixes3 libxrandr2 libgbm1 libxkbcommon0 libpango-1.0-0 libcairo2 libasound2 fonts-liberation
libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 \
libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 \
libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 libgbm1 \
ca-certificates fonts-liberation libappindicator1 libnss3 lsb-release xdg-utils wget
``` ```
#### Ubuntu 24.04 Chrome support libraries
```bash
sudo apt-get install -y libatk1.0-0t64 libc6 libcairo2 libdbus-1-3 libexpat1 libfontconfig1 libgcc-s1 libgdk-pixbuf2.0-0 libglib2.0-0t64 libgtk-3-0t64 libnspr4 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 ca-certificates fonts-liberation libnss3 lsb-release libgbm-dev xdg-utils \
sudo apt-get update \
sudo apt-get install -y libatk-bridge2.0-0t64 libcups2t64 libxcomposite1 libxdamage1 libpangocairo-1.0-0 libxfixes3 libxrandr2 libgbm1 libcairo2 libpango-1.0-0 libasound2t64 wget
```
#### Fonts / layout
All stock reports included with AyaNova are designed to layout correctly as long as the specified fonts are available. If you find the layouts are broken on the stock reports or don't align properly be sure that the `fonts-liberation` package is installed to your server.
### 6\. Create directories for AyaNova ### 6\. Create directories for AyaNova
AyaNova requires several directories to be created: the AyaNova binary and other server and web application files, AyaNova data and the .local-chromium directory to contain a local copy of the Chromium browser for report rendering. AyaNova requires several directories to be created: the AyaNova binary and other server and web application files, AyaNova data and the folders to contain a local copy of the Chrome browser for report rendering.
Create the AyaNova binary files directory. We recommend `/var/ayanova`: Create the AyaNova binary files directory. We recommend `/var/ayanova`:
@@ -136,10 +147,14 @@ Create the data directory. We recommend and AyaNova defaults to '/var/ayanova/da
sudo mkdir /var/ayanova/data sudo mkdir /var/ayanova/data
``` ```
Create the .local-chromium directory: Create the Chrome binary directories:
```bash ```bash
sudo mkdir /var/ayanova/.local-chromium sudo mkdir /var/ayanova/Chrome
```
```bash
sudo mkdir /var/ayanova/ChromeHeadlessShell
``` ```
### 7\. Download and unzip the AyaNova binaries archive ### 7\. Download and unzip the AyaNova binaries archive

View File

@@ -8,7 +8,7 @@ For example both the automated daily backup and rendering a report from a User r
## Authorization Roles required ## Authorization Roles required
Many roles can *select* this object on other records where approriate. Editing or viewing this object in detail is only available to Users with the following [roles](ay-biz-admin-roles.md): Editing or viewing this object in detail is only available to Users with the following [roles](ay-biz-admin-roles.md):
Full access Full access

View File

@@ -8,6 +8,21 @@ The server log file is archived when it reaches 1mb in size to a rotating set of
This means there are a total of 10mb of server logs kept at any given time. This means there are a total of 10mb of server logs kept at any given time.
## Authorization Roles required
Editing or viewing this object from within the web app is only available to Users with the following [roles](ay-biz-admin-roles.md):
- System operations
- System operations - restricted
## How to access the server error log
You can view the log file directly by opening the log file in an editor from the [log path](#log-path) location or from within the AyaNova web app where you can view and / or download the log files from any remote location:
The server log form is accessed in the following ways:
- From the `Server operations` [navigation drawer](ay-start-form-overview.md#navigation-drawer) `Server log` item to open this form
## Log path ## Log path
By default AyaNova logs to a `logs` folder in the location specified by [AYANOVA_DATA_PATH](ops-config-data-path.md) setting. By default AyaNova logs to a `logs` folder in the location specified by [AYANOVA_DATA_PATH](ops-config-data-path.md) setting.
@@ -33,12 +48,12 @@ For example from the command line
Below are listed the accepted values for log level from highest to lowest. A level logs everything at that level and above. Below are listed the accepted values for log level from highest to lowest. A level logs everything at that level and above.
So, for example, "Trace" level will log the most and "Fatal" will log the least. So, for example, "Trace" level will log the most and "Fatal" will log the least.
- `Fatal` - Critical errors that prevent AyaNova from running or force it to shut down. This setting results in the least amount of logging. - `Fatal` - Critical errors that prevent AyaNova from running or force it to shut down. This setting results in the least amount of logging.
- `Error` - Logs all of the above plus errors that AyaNova can recover from and continue to operate. - `Error` - Logs all of the above plus errors that AyaNova can recover from and continue to operate.
- `Warn` - Logs all of the above plus issues that AyaNova can work around but should be looked into and are warnings to system operators. - `Warn` - Logs all of the above plus issues that AyaNova can work around but should be looked into and are warnings to system operators.
- `Info` - Default level. Logs all the above levels plus normal behavior in low level of detail. Basic general operations are logged like startup and shutdown, configuration changes etc. - `Info` - Default level. Logs all the above levels plus normal behavior in low level of detail. Basic general operations are logged like startup and shutdown, configuration changes etc.
- `Debug` - Logs all the above plus every request to the server in detail and information about internal operations. - `Debug` - Logs all the above plus every request to the server in detail and information about internal operations.
- `Trace` - Logs all the above plus highest level detail of internal program code operations. Useful primarily to AyaNova technical support to troubleshoot a specific issue, but too detailed for normal purposes. - `Trace` - Logs all the above plus highest level detail of internal program code operations. Useful primarily to AyaNova technical support to troubleshoot a specific issue, but too detailed for normal purposes.
## Troubleshooting logging ## Troubleshooting logging