Linux - instalace a nastavení Nginx, PostgreSQL a phpPgAdmin

Co nejvíce stručné řešení pro vývojáře a linux administrátory

Na superuser.cz nenaleznete žádný zbytečný obsah, vždy se jde přímo k věci, denně se zde objevují nové problémy a jejich řešení...

Začít používat

Linux - instalace a nastavení Nginx,…

02.11.2019 napsal SYSTEM (update 06.11.2019)

Vyřešeno Linux - install and settings Nginx, PostgreSQL and 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.
Nejlépe hodnocení uživatelé
Hanz

Počet UP: 4855

React: 211

Rusty

Počet UP: 2250

React: 94

OL3G

Počet UP: 1567

React: 59

SYSTEM

Počet UP: 403

React: 23

Strosmajer

Počet UP: 460

React: 22

Oxytocin

Počet UP: 276

React: 15

Hyacint

Počet UP: 17

React: 10

RE: Linux - instalace a nastavení…

06.11.2019 odpověděl SYSTEM (update 06.11.2019)

Zkontrolováno

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í
Tento web používá k poskytování služeb, personalizaci reklam a analýze návštěvnosti soubory cookie. Používáním tohoto webu s tím souhlasíte. Další informace