## Description ##
A FusionAuth server [https://fusionauth.io/](http://https://fusionauth.io/) resource repository for running it on RockyLinux 9.x
## Installation ##
To setup your FusionAuth server start out with a fresh RockyLinux 9.x server/vps/LXC - i use a ProxMox (https://www.proxmox.com/en/proxmox-ve) LXC,
and will assumes that your server has:
* (atleast) 4Gb of memory available.
* Firewall ports for HTTP/HTTPS should be open(ed).
* SSH acccess to the box.
Out of scope:
* SSL configuration of nginx reverse proxy
###### Install required packages:
```
dnf install wget nano tar unzip postgresql-server postgresql-contrib nginx
```
###### Prepare PostgreSQL server.
```
/usr/bin/postgresql-setup --initdb
```
###### Edit PostgreSQL configfiles for security
```
vi /var/lib/pgsql/data/pg_hba.conf
# change to following line in this file:
host all all 127.0.0.1/32 ident
# to:
host all all 127.0.0.1/32 scram-sha-256
# Save the file after modification.
vi /var/lib/pgsql/data/postgresql.conf
# change the following line in this file:
#password_encryption = md5 # md5 or scram-sha-256
# to:
password_encryption = scram-sha-256 # md5 or scram-sha-256
# Save the file after modification.
```
###### Create Database and user in PostgreSQL
```
systemctl enable postgresql --now
sudo -u postgres psql
postgres=# create database fusionauth;
postgres=# create user fusionauth with encrypted password 'your-supersecret-password';
postgres=# alter database fusionauth owner to fusionauth;
postgres=# \q
```
###### Download latest available version from FusionAuth website (at the time of writing this was 1.51.2)
```
VERSION=$(curl -fsSL https://license.fusionauth.io/api/latest-version)
curl -fsSL https://files.fusionauth.io/products/fusionauth/${VERSION}/fusionauth-app-${VERSION}-1.noarch.rpm > fusionauth-app-${VERSION}-1.noarch.rpm
dnf install fusionauth-app-1.51.2-1.noarch.rpm
# OPTIONAL Install for Fusionauth-search
curl -fsSL https://files.fusionauth.io/products/fusionauth/${VERSION}/fusionauth-search-${VERSION}-1.noarch.rpm > fusionauth-search-${VERSION}-1.noarch.rpm
dnf install fusionauth-search-1.51.2-1.noarch.rpm
```
###### Start the fusionauth server.
```
systemctl start fusionauth-app
# if you also installed the search -package also start that one
systemctl start fusionauth-search
```
Your fusionauth server should now be running, and available via (http) on port 9011