PostgreSQL (většina lidí tomu říká Postgres) je pokročilý objektově-relační systém pro správu databází (ORDBMS). Postgres je open source databázový server s více než 18 lety aktivního vývoje, díky kterému je Postgres nejlepší volbou pro aplikace podnikové třídy.
Postgresql je multiplatformní a běží na mnoha operačních systémech, jako je Linux, OSX, Windows a rodina BSD. Je to správná volba, pokud máte aplikaci s velkým zatížením databáze. Postgres využívá mnoho velkých organizací včetně Yahoo, Instagramu a Disqus. Postgres nabízí také jako software jako službu (SaaS) např. Heroku a AWS (Amazon Web Services).
V tomto tutoriálu vám ukážu, jak nainstalovat Postgres na svůj vlastní server s operačním systémem OpenSUSE Leap. Poté nainstaluji phpPgAdmin, abychom mohli spravovat naši databázi Postgres z webového prohlížeče.
Předpoklad
- OpenSUSE Leap 42.1
- Oprávnění uživatele root
Krok 1 – Instalace PostgreSQL
Úložiště openSUSE obsahuje dvě verze Postgres. V tomto kroku nainstalujeme PostgreSQL 9.4 na openSUSE pomocí příkazu zypper.
Nainstalujte PostgreSQL pomocí Zypper:
zypper na postgresql94 postgresql94-contrib postgresql94-server
Spusťte postgresql pomocí systemctl:
systemctl start postgresql
Krok 2 – Konfigurace výchozího uživatele
V tomto kroku nastavíme heslo pro uživatele postgres. Postgresql používá pro základní autentizaci a autorizaci koncept, který je podobný uživatelskému systému Linuxu zvanému „role“. Ve výchozím nastavení vytvoří postgresql nového uživatele s názvem „postgres“, který bude spravovat server postgresql.
Udělejme první krok ke konfiguraci databáze postgresql přihlášením k uživateli postgres z terminálu:
sudo su
su - postgres
Nyní použijeme příkaz psql. psql je front-end příkazového řádku pro PostgreSQL, můžeme z něj přímo spouštět dotazy PostgreSQL.
psql
Z prostředí psql můžeme změnit heslo uživatele „postgres“ pomocí příkazu „password“ níže:
\password postgres
Nové heslo:
Zadejte své nové heslo pro uživatele postgres.
Krok 3 – Vytvoření nového uživatele PostgreSQL
V tomto kroku vytvoříme nového uživatele/roli s právy superuživatele a vytvoříme novou databázi a udělíme uživateli přístup.
Chcete-li vytvořit nového uživatele, musíme se přihlásit jako uživatel postgres a poté pomocí příkazu níže vytvořit novou roli a databázi:
su - postgres
createuser -s nano
createdb nano_db
Poznámka:
Volba -s se používá k udělení oprávnění superuživatele novému uživateli.
nano je nové uživatelské jméno.
nano_db je nový název databáze.
Nyní se přihlaste do prostředí postgresql psql a dejte naší nové roli heslo a udělte přístup k databázi.
psql
změňte uživatele nano se zašifrovaným heslem '[email protected]';
udělte nano všechna oprávnění k databázi nano_db;
Zde použiji heslo '[email protected]' pro uživatele nano a udělím práva databázi nano_db.
Tento uživatel bude použit k přihlášení do postgresql z webového rozhraní phpPgAdmin, protože bychom neměli povolit žádnému výchozímu uživateli nebo uživateli bez hesla, aby se přihlásil do postgresql z phpPgAdmin.
Krok 4 – Konfigurace PostgreSQL
V tomto kroku nakonfigurujeme PostgreSQL tak, aby naslouchal na veřejné IP, abychom k němu mohli přistupovat pomocí nástrojů pro modelování DB vzdáleně z našeho stolního počítače. Tento krok můžete přeskočit, pokud nechcete vzdáleně přistupovat k Postgresu.
Přejděte do adresáře postgresql "/var/lib/pgsql/" a upravte hlavní konfigurační soubor "postgresql.conf" pomocí svého oblíbeného editoru:
cd /var/lib/pgsql/
cd data/
vim postgresql.conf
Odkomentujte řádek 59 a změňte hodnotu z localhost na "*".
Odkomentujte řádek 63 pro konfiguraci výchozího portu.
listen_addresses ='*'
port =5432
Uložte soubor a ukončete editor.
Abychom umožnili přístup z webové aplikace phpPgAdmin k databázi PostgreSQL, musíme upravit soubor pg_hba.conf a změnit některá konfigurační nastavení.
Upravte soubor "pg_hba.conf" pomocí vim:
vim pg_hba.conf
Na konci řádku změňte konfiguraci pro ověřování na md5:
Local All MD5
Hostujte všechny 127.0.0.1/32 MD5
Host All ::1/128 MD5
Pokud chcete povolit nová připojení z vnějšku serveru jako pomocí PgAdmin3, můžete přidat více "hostitelských" záznamů, např. pro IP vašeho počítače.
Uložte a ukončete.
Nyní restartujte službu PostgreSQL příkazem systemctl:
systemctl restart postgresql
Krok 5 – Instalace a konfigurace phpPgAdmin
phpPgAdmin je webová aplikace pro správu PostgreSQL databází. Je založen na PHP a poskytuje GUI pro správu databází a vytváření rolí. V tomto kroku nainstalujeme phpPgAdmin a protože je přístupný z webového prohlížeče, použijeme jako webový server apache2.
Nainstalujte phpPgAdmin pomocí tohoto příkazu zypper:
zypper v phpPgAdmin
Příkaz automaticky nainstaluje závislosti PHP a webový server apache.
Dále přejděte do adresáře phpPgAdmin a upravte konfigurační soubor config.inc.php.
cd /etc/phpPgAdmin/
vim config.inc.php
V konfiguračním řádku 18 nastavte hodnotu na "localhost".
$conf['servers'][0]['host'] ='localhost';
Pokud chcete uživateli se jménem „postgres“ nebo „root“ povolit přihlášení k postgresql pomocí phpPgAdmin, můžete nastavit extra zabezpečení na false, ale nedoporučujeme to nastavit false. zkontrolujte řádek 93.
$conf['extra_login_security'] =true;
Uložte a ukončete.
Poté aktivujte rozšíření PHP a verze v Apache, jak je potřebuje phpPgAdmin:
a2enmod php5
verze a2enmod
Nyní restartujte všechny služby příkazem systemctl:
systemctl restart postgresql
systemctl restart apache2
Krok 6 – Testování
Přístup k phpPgAdmin z webového prohlížeče s URL:
http://192.168.1.101/phpPgAdmin/
Přihlaste se pomocí uživatelského nano a hesla „[email protected]“.
pokud se přihlásíte pomocí uživatele 'postgres' a správného hesla, je to zakázáno.