Linux - instalace a nastavení Nginx, PostgreSQL a phpPgAdmin

Linux - instalace a nastavení Nginx, PostgreSQL a phpPgAdmin

Modelová situace: Máme Linux Ubuntu server a chceme na něm nainstalovat a zprovoznit webserver Nginx s databázovým serverem PostgreSQL včetně webové správy phpPgAdmin.

ODPOVĚĎ


Instalaci a nastavení webserveru Nginx jsme se věnovali již v systémovém dotazu:
Linux - instalace a nastavení Nginx, PHP a MySQL (LEMP) .

Toto je pokračování kdy nastavíme PostgreSQL a phpPgAdmin:

#instalace PostgreSQL
apt install postgresql postgresql-contrib

#spuštění PostgreSQL
/usr/lib/postgresql/10/bin/pg_ctl -D /var/lib/postgresql/10/main -l logfile start

#po spuštění PostgreSQL se může objevit chyba

pg_ctl: cannot be run as root
Please log in (using, e.g., "su") as the (unprivileged) user that will
own the server process.
pg_ctl: could not open PID file "/var/lib/postgresql/10/main/postmaster.pid": Permission denied

- lze jí vyřešit např. příkazem service postgresql start (či systemctl start postgresql)

#instalace phppgadmin
apt install phppgadmin

#nastaveni nginx virtualhostu pro phppgadmin na portu 82
vim /etc/nginx/sites-available/phppgadmin

server {
listen 82;
root /usr/share/phppgadmin;
index index.php index.html index.htm index.nginx-debian.html;
#server_name phppgadmin;

location / {
try_files $uri $uri/ =404;
client_max_body_size 100M;
}

location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
}

location ~ /\.ht {
deny all;
}
}

#symlink do sites-enabled
ln -s /etc/nginx/sites-available/phppgadmin /etc/nginx/sites-enabled/

#povolení portu 82 ve firewalld
firewall-cmd --zone=public --permanent --add-port=82/tcp
firewall-cmd --reload
systemctl reload nginx

#instalace PDO ovladače do PHP
apt install php-pgsql
systemctl reload nginx

#vyzkoušet připojení k databázi PostgreSQL
sudo -i -u postgres
psql
\q #konec

#založení uživatele user3 do PostgreSQL
sudo -i -u postgres
createuser --interactive -P user3
heslo
n
y
n

#založení databáze mydb do PostgreSQL pro user3
createdb -O user3 mydb

#připojení k mydb jako uživatel user3
psql -U user3 -h 127.0.0.1 mydb

-----------------------------------------------------------------------------------------------
Starší článek věnovaný PostgreSQL:
PostgreSQL - vytvoření databáze, uživatele a oprávnění

Související obsah

linux

bash

terminal

webserver

nginx

postgresql

Komentáře

Vaše reakce na Linux - instalace a nastavení Nginx, PostgreSQL a phpPgAdmin

Reference

Podívejte se na naše reference

Prohlédnout

Aplikace

Podívejte se na naše aplikace

Prohlédnout

Co umíme?

Podívejte se co umíme

Prohlédnout

Co umíme?

Vytváříme sofistikované aplikace pro náročné

Od webových aplikací přes android až po převodové můstky či složité informační systémy.

Podívejte se k nám

Máte ještě čas? Podívejte se na další rubriky

Tento web používá soubory cookie. Dalším procházením tohoto webu vyjadřujete souhlas s jejich používáním.. Více informací zde.