GNU/Linux >> Znalost Linux >  >> Linux

Jak nainstalovat a zabezpečit PostgreSQL Server na RockyLinux 8

PostgreSQL je populární open-source systém pro správu relačních databází. Známý pro svou spolehlivost, získává na popularitě díky své robustnosti, flexibilitě a výkonu. PostgreSQL se používá pro správu databází a četných webových a analytických aplikací. V době psaní tohoto článku je PostgreSQL 13 nejnovější verzí. Tato verze přichází s významnými vylepšeními indexovacího a vyhledávacího systému, která jsou přínosem pro velké databáze.

V tomto příspěvku vám ukážeme, jak nainstalovat a zabezpečit PostgreSQL na Rocky Linux 8.

Předpoklady

  • Server se systémem Rocky Linux 8 na cloudové platformě Atlantic.Net
  • Heslo uživatele root nakonfigurované na vašem serveru

Krok 1 – Vytvořte cloudový server Atlantic.Net

Nejprve se přihlaste ke svému cloudovému serveru Atlantic.Net. Vytvořte nový server a jako operační systém vyberte Rocky Linux 8 s alespoň 2 GB RAM. Připojte se ke svému cloudovému serveru přes SSH a přihlaste se pomocí přihlašovacích údajů zvýrazněných v horní části stránky.

Jakmile se přihlásíte na svůj server, spusťte následující příkaz a aktualizujte svůj základní systém nejnovějšími dostupnými balíčky.

dnf update -y

Krok 2 – Přidejte úložiště PostgreSQL 13

dnf module list postgresql

Měli byste vidět, že je k dispozici pouze PostgreSQL verze 10:

Rocky Linux 8 - AppStream
Name                         Stream                   Profiles                             Summary                                             
postgresql                   9.6                      client, server [d]                   PostgreSQL server and client module                 
postgresql                   10 [d]                   client, server [d]                   PostgreSQL server and client module                 
postgresql                   12                       client, server [d]                   PostgreSQL server and client module                 
postgresql                   13                       client, server [d]                   PostgreSQL server and client module                 

Abyste mohli nainstalovat nejnovější verzi PostgreSQL, budete muset do svého systému nainstalovat repo PostgreSQL.

Můžete jej nainstalovat pomocí následujícího příkazu:

dnf install https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm

Jakmile je repo vytvořeno, můžete přejít k dalšímu kroku.

Krok 3 – Instalace PostgreSQL 13 na Rocky Linux 8

Nyní aktualizujte své úložiště pomocí následujícího příkazu:

dnf update -y

Dále deaktivujte výchozí úložiště PostgreSQL pomocí následujícího příkazu:

dnf -qy module disable postgresql

Dále nainstalujte nejnovější verzi PostgreSQL spuštěním následujícího příkazu:

dnf install postgresql13 postgresql13-server

Po instalaci PostgreSQL 13 získáte následující výstup:

Last metadata expiration check: 0:00:08 ago on Fri 22 Oct 2021 08:38:58 AM UTC.
Dependencies resolved.
===============================================================================================================================================
 Package                                  Architecture                Version                                Repository                   Size
===============================================================================================================================================
Installing:
 postgresql13                             x86_64                      13.4-1PGDG.rhel8                       pgdg13                      1.5 M
 postgresql13-server                      x86_64                      13.4-1PGDG.rhel8                       pgdg13                      5.5 M
Installing dependencies:
 postgresql13-libs                        x86_64                      13.4-1PGDG.rhel8                       pgdg13                      414 k

Transaction Summary
===============================================================================================================================================
Install  3 Packages

Total download size: 7.4 M
Installed size: 31 M
Is this ok [y/N]: y

Dále inicializujte PostgreSQL databázi pomocí následujícího příkazu:

/usr/pgsql-13/bin/postgresql-13-setup initdb

Ukázkový výstup:

Initializing database ... OK

Dále spusťte službu PostgreSQL a povolte její spuštění při restartu systému pomocí následujícího příkazu:

systemctl start postgresql-13
systemctl enable postgresql-13

Stav PostgreSQL můžete zkontrolovat pomocí následujícího příkazu:

systemctl status postgresql-13

Měli byste získat následující výstup:

● postgresql-13.service - PostgreSQL 13 database server
   Loaded: loaded (/usr/lib/systemd/system/postgresql-13.service; disabled; vendor preset: disabled)
   Active: active (running) since Fri 2021-10-22 08:39:47 UTC; 7s ago
     Docs: https://www.postgresql.org/docs/13/static/
  Process: 36412 ExecStartPre=/usr/pgsql-13/bin/postgresql-13-check-db-dir ${PGDATA} (code=exited, status=0/SUCCESS)
 Main PID: 36417 (postmaster)
    Tasks: 8 (limit: 11411)
   Memory: 16.8M
   CGroup: /system.slice/postgresql-13.service
           ├─36417 /usr/pgsql-13/bin/postmaster -D /var/lib/pgsql/13/data/
           ├─36419 postgres: logger 
           ├─36421 postgres: checkpointer 
           ├─36422 postgres: background writer 
           ├─36423 postgres: walwriter 
           ├─36424 postgres: autovacuum launcher 
           ├─36425 postgres: stats collector 
           └─36426 postgres: logical replication launcher 
ss -antpl | grep 5432

Získáte následující výstup:

LISTEN 0      128        127.0.0.1:5432       0.0.0.0:*    users:(("postmaster",pid=36417,fd=7))
LISTEN 0      128            [::1]:5432          [::]:*    users:(("postmaster",pid=36417,fd=6))

Krok 4 – Nastavte heslo pro uživatele Postgres

Chcete-li nastavit heslo, přihlaste se do PostgreSQL pomocí následujícího příkazu:

su - postgres

Dále nastavte bezpečné heslo pomocí následujícího příkazu:

psql -c "alter user postgres with password 'securepassword'"

Dále ukončete prostředí PostgreSQL pomocí následujícího příkazu:

exit

Krok 5 – Změňte metodu autentizace PostgreSQL

Můžete to změnit úpravou hlavního konfiguračního souboru PostgreSQL:

nano /var/lib/pgsql/13/data/pg_hba.conf

Najděte následující řádek:

local   all             all                                     peer

A nahraďte jej následujícím řádkem:

local   all             all                                     scram-sha-256

Uložte a zavřete soubor a poté restartujte službu PostgreSQL, aby se změny projevily.

systemctl restart postgresql-13

Krok 6 – Vytvoření databáze a uživatele v PostgreSQL

Nejprve se přihlaste do prostředí PostgreSQL pomocí následujícího příkazu:

sudo -u postgres psql

Získáte následující výstup:

could not change directory to "/root": Permission denied
psql (13.4)
Type "help" for help.

postgres=# 

Dále vytvořte nového PostgreSQL uživatele s názvem user1 pomocí následujícího příkazu:

CREATE USER user1 WITH CREATEDB CREATEROLE PASSWORD 'passoword';

Chcete-li ověřit uživatele PostgreSQL, spusťte:

\du

Získáte následující výstup:

                                   List of roles
 Role name |                         Attributes                         | Member of 
-----------+------------------------------------------------------------+-----------
 postgres  | Superuser, Create role, Create DB, Replication, Bypass RLS | {}
 user1     | Create role, Create DB                                     | {}

Chcete-li vytvořit novou databázi PostgreSQL s názvem user1db, spusťte:

CREATE DATABASE user1db OWNER user1;

Chcete-li ověřit databáze PostgreSQL, spusťte:

\l

Získáte následující výstup:

                                  List of databases
   Name    |  Owner   | Encoding |   Collate   |    Ctype    |   Access privileges   
-----------+----------+----------+-------------+-------------+-----------------------
 postgres  | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 
 template0 | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres          +
           |          |          |             |             | postgres=CTc/postgres
 template1 | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres          +
           |          |          |             |             | postgres=CTc/postgres
 user1db   | user1    | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 

Závěr

Gratulujeme! Úspěšně jste nainstalovali a zabezpečili PostgreSQL na Rocky Linux 8. Z bezpečnostních důvodů se vždy doporučuje nainstalovat nejnovější verzi PostgreSQL v produkčním prostředí. Vyzkoušejte to na hostingu VPS od Atlantic.Net!


Linux
  1. Jak nainstalovat a zabezpečit Redis na Ubuntu 18.04

  2. Jak nainstalovat server PostgreSQL na Ubuntu 18.04

  3. CentOS / RHEL:Jak nainstalovat a nakonfigurovat OpenSSH server a klienta

  1. Jak nainstalovat a nakonfigurovat Postgres 13 na Centos 8

  2. Jak nainstalovat a nakonfigurovat Postgres 14 na Fedoře 34

  3. Jak nainstalovat PostgreSQL Server na CentOS 8

  1. Jak nainstalovat PostgreSQL na CentOS 8

  2. Jak zabezpečit PostgreSQL Server

  3. Jak nainstalovat a zabezpečit MongoDB 4 v CentOS 8