1. Інсталяція серверу FusionAuth
FusionAuth дуже легко встановлюється на будь-який компьютер або сервер.
Маємо на увазі, що у нас встановлена система Linux, а саме Debian 10.
Встановлення в поточну теку:
sh -c "curl -fsSL https://raw.githubusercontent.com/FusionAuth/fusionauth-install/master/install.sh | sh -s - -z"
Встановлення в поточну теку разом з Elasticsearch:
sh -c "curl -fsSL https://raw.githubusercontent.com/FusionAuth/fusionauth-install/master/install.sh | sh -s - -z -s"
Встановлення для всіх користувачів системи використовуючи DEB або RPM пакунки (потрібний доступ до sudo):
sh -c "curl -fsSL https://raw.githubusercontent.com/FusionAuth/fusionauth-install/master/install.sh | sh"
Встановлення для всіх користувачів системи використовуючи DEB або RPM пакунки разом з Elasticsearch (потрібний доступ до sudo):
sh -c "curl -fsSL https://raw.githubusercontent.com/FusionAuth/fusionauth-install/master/install.sh | sh -s - -s"
2. Запуск FusionAuth
Наступним кроком є запуск FusionAuth за допомогою команди, створеної інсталятором Fast Path. Цей сценарій називається startup.sh і ми можемо виконати його з каталогу встановлення наступним чином:
fusionauth/bin/startup.sh
Це запустить компонент fusionauth-app та компонент fusionauth-search якщо ви завантажили параметр Elasticsearch.
3. Встановлення PostgreSQL серверу.
Щоб інсталювати PostgreSQL, спочатку оновіть локальний індекс пакетів вашого сервера:
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt-get update
sudo apt-get -y install postgresql
Це встановить саму нову стабільну версію сервера.
Для більшості систем користувачем Postgres за замовчуванням є postgres і пароль не потрібен для автентифікації. Таким чином, щоб додати пароль, ми повинні спочатку ввійти та підключитися як користувач Postgres.
sudo -u postgres psql
Після встановлення з’єднання з Postgres у запиті psql виконайте команду ALTER USER, щоб змінити пароль користувача postgres:
postgres=# ALTER USER postgres PASSWORD 'myPassword';
ALTER ROLE
У разі успіху Postgres виведе підтвердження ALTER ROLE як показано вище
Нарешті, вийдіть із клієнта psql за допомогою команди \q .
postgres=# \q
Ви все зробили. Користувач Postgres за замовчуванням тепер має пароль, пов’язаний з обліковим записом для використання в інших програмах.
4. Встановлення nginx
$ sudo apt install nginx
5. Встановлення Certbot (Let'sencrypt) для випуску безкоштовного ssl-сертифікату
$ sudo apt-get install certbot
Запускаємо certbot:
$ sudo certbot certonly
Дотримуємося підказок на екрані. Більше детальна документація тут (англійською)
Далі створюємо файл конфігурації etc/nginx/conf.d/yourdomain.conf із наступним вмістом:
#Setup upstream for backend server
upstream auth {
server 127.0.0.1:9011;
keepalive 8;
}
#The Nginx server instance
server {
server_name auth.example.io;
access_log /var/log/nginx/example.com.log;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
# proxy_set_header X-NginX-Proxy true;
proxy_set_header X-Forwarded-Port "443";
proxy_set_header X-Forwarded-Proto "https";
proxy_pass http://auth/;
proxy_redirect off;
}
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/auth.example.io/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/auth.example.io/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}
server {
if ($host = auth.example.io) {
return 301 https://$host$request_uri;
} # managed by Certbot
listen 0.0.0.0:80;
server_name auth.example.io;
return 404; # managed by Certbot
}
Рестартуємо nginx.
# sudo systemctl restart nginx
Тепер заходимо браузером на адресу auth.example.io, та закінчуємо встановлення сервера використовуючі дані наведені вище.
На цьому все.
Коментарі