====== 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