====== Instalacija PostgreSQL na Linux operativnom sistemu ======
Balans 4 podržava rad sa bazom podataka i pratećom strukturom fajlova i na Linux operativnim sistemima. Testiranja su uspešno sprovedena na Ubuntu i Centos distribucijama, ali pošto se koriste standardni servisi (postgresql, pgagent i samba) verovatno će raditi i bilo koja druga distribucija.
===== Instalacija PostgreSQL servera =====
Potrebno je instalirati poslednju **9.6** verziju PostgreSQL. Novije verzije 10 i 11 testiraju se u razvojnom odeljenju i nisu odobrene za produkciju.\\
Na internetu se mogu naći brojna uputstva kako se instalacija sprovodi konkretno za svaku distribuciju ponaosob.
Ako posmatramo CentOS, ovo su neophodni paketi:
postgresql96-server\\
postgresql96-contrib\\
postgresql96-devel
==== Podešavanja ====
Nakon instalacije potrebno je podesiti radno okruženje servera. To se pre svega odnosi na dve celine:
=== Performanse sistema ===
Postgres je inicijalno postavljen za minimalističku konfiguraciju pa je potrebno sprovesti analizu i upisati ispravnu konfiguraciju u **postgres.conf**.\\
Za dobijanje spiska i vrednosti parametara optimizacije za najbolje performanse preporučujemo konfigurator [[https://pgtune.leopard.in.ua/#/|PgTune]].
=== Pravila pristupa ===
Pod pravilima pristupa podrazumevaju se IP adrese ili opsezi adresa na kojima će server biti dostupan. Inicijalna postavka je samo //localhost// (127.0.0.1).\\
Osim adrese, ukazuje se i način identifikacije korisnika (uglavnom dve opcije su u upotrebi: //trust// i //md5//)
Postavke prava pristupa čuvaju se u fajlu **pg_hba.conf** \\
Primer postavki za IPv4 (bez IPv6): pristup sa //localhost// adrese ne tražu autentifikaciju, dok sa mreže 192.168.8.0/24 traži autentifikaciju šifrom kriptovanom **md5 **algoritmom.
# "local" is for Unix domain socket connections only
local all all trust
# IPv4 local connections:
host all all 127.0.0.1/32 trust
host all all 192.168.8.0/24 md5
# IPv6 local connections (ne sluša se na IPv6):
# host all all ::1/128 ident
=== Postavke firewall ===
Ne zaboraviti otvoriti serverski port u firewall-u. Podrazumevano, postgres radi na portu **5432**. Na linux firewall-u to se može uraditi sledećom komandom:
firewall-cmd –permanent –add-service=postgresql
firewall-cmd –reload
=== Korisnički nalozi ===
Baza dozvoljava otvaranje korisničkih naloga, a dolazi sa jednim, glavnim nalogom - **postgres**. Administrator nakon instalacije može da otvori drugog korisnika sa sistemskim ovlašćenjima.\\
U svakom slučaju nama je neophodan jedan sistemski nalog koji može da otvara baze i definiše korisnike. Korisničko ime i lozinku treba zaštititi unutar fajla zaključanog trećom lozinkom.
===== Instalacija PgAgent (v. 3.4.0) sa pripadajućim paketima =====
wxGTK.x86_64 wxGTK-devel.x86_64\\
wxWidgets-2.8.12
Pored standardne instalacije dodata je skripta za pokretanje servisa.\\
vim /etc/rc.d/init.d/pgagent
**Windows** instalacija pgAgent 4.0 za PostgreSQl 12 je na [[ftp://melany.rs/install/support/pg/edb_pgagent_pg12.exe|ftp:\\install\support\pg\edb_pgagent_pg12.exe]]
Nakon instalacije pgAgent (windows) servisa potrebno je izmeniti fajl __korisnika pod kojim se pokreće pgAgent servis__ \\
npr. C:\Users\KORISNIK\AppData\Roaming\postgresql\pgpass.conf tako da u njemu\\
piše nešto kao 127.0.0.1:5432:*:pgskorisnik:pgslozinka što znači da se za sve baze na serveru 127.0.0.1 koristi isti pgs korisnički nalog (inicijalno umesto * piše postgres).\\
Umesto 127.0.0.1 može pisati localhost ili nešto treće i to __treba prepisati__ iz komandne linije pgAgent servisa.
===== Instalacija SAMBA servera =====
Potrebna je instanca Samba Server sa jednim deljenim direktorijumom - **balans** \\
\\
SMB user: balans_user\\
SMB Pass: (password)
Paketi:
samba
samba-commons
cups-libs
policycoreutils-python
samba-client
\\
Deljeni direktorijum:
mkdir /balans
chmod -R 777 /balans
chcon -R -t samba_share_t /balans/
semanage fcontext -a -t samba_share_t /balans/
setsebool -P samba_enable_home_dirs on
\\
Kreiranje korisnika i grupeuseradd balans_user:
groupadd balanseri
usermod -G balanseri balans_user
chgrp -R balanseri /balans
smbpasswd -a balans_user
\\
Sadržaj dodat u /etc/samba/smb.conf je:
[balans]
comment = shared-directory
security = share
path = /balans
public = no
valid users = balans_user, @balanseri
writable = yes
browseable = yes
create mask = 0775
\\
Otvoriti port na firewall
firewall-cmd –permanent –add-service=samba
firewall-cmd –reload