Prijeđi na glavni sadržaj
Simbioza

PHP-FPM instalacija

PHP-FPM: obična i izolirana instalacija

Ova hrvatska uputa prati dvije FPM arhitekture iz izdanja 0.2.4: obični FPM na SimbiozaHR_FPM i izolirani FPM na SimbiozaHR_FPMsecured. Obični FPM koristi zajednički web-račun i CLI za kasnije paketne radnje. Izolirani FPM ima zaseban servis, identitete i ograničeni helper pa dopušta GUI upravljanje modulima, jezicima i nadogradnjama. Ne miješajte prava ni portove tih načina.

Testni Apache i Nginx slušali su samo na 127.0.0.1. Za javni site koristite HTTPS i vlastitu domenu. Primjeri pokazuju stvarne lokalne putanje, a uz njih i prijenos na Linux. Jednokratni instalacijski tokeni i lozinke namjerno nisu zabilježeni.

1. Zajednički preduvjeti i izvorni tag

Provjerite web-poslužitelj, PHP CLI, FPM binarij i ekstenzije. Za odabranu bazu treba odgovarajući PDO driver; u dvije hrvatske provjere niže korišten je SQLite. PHP web-radnika i CLI moraju biti kompatibilni, ali pokretanje php -v ne dokazuje verziju FPM radnika. Na Debianu instalirajte php-fpm, php-cli, php-sqlite3, php-xml, php-mbstring, php-intl, php-zip, Composer 2 i acl. Ako planirate Apache, uključite rewrite, proxy i proxy_fcgi. Nginx koristi FastCGI bez Apache modula.

php -v
php -m
/opt/homebrew/sbin/php-fpm -v
composer --version
git --version
id -un
id -Gn

Čist tag preuzmite jednom, bez prenošenja .git u instalacije. Primjer koristi točan tag koji je provjeren u ovom vodiču. Ako je objavljen noviji, zamijenite ga i provjerite njegove release bilješke prije početka. Na čistom tagu bez composer.lock koristite composer update; kasnije postojeće instalacije nadograđuje Simbiozin updater, ne samostalni Composer.

SIMBIOZA_TAG=0.2.4
SIMBIOZA_FETCH_DIR="$(mktemp -d)"
mkdir "$SIMBIOZA_FETCH_DIR/release"
git -C "$SIMBIOZA_FETCH_DIR/release" init -q
git -C "$SIMBIOZA_FETCH_DIR/release" remote add origin https://github.com/kmihalj/Simbioza.git
git -C "$SIMBIOZA_FETCH_DIR/release" fetch --quiet --depth 1 origin "refs/tags/$SIMBIOZA_TAG:refs/tags/$SIMBIOZA_TAG"
git -C "$SIMBIOZA_FETCH_DIR/release" -c advice.detachedHead=false checkout --quiet "$SIMBIOZA_TAG"
cat "$SIMBIOZA_FETCH_DIR/release/VERSION"

2. Obični FPM: hrvatska instalacija

U lokalnom laboratoriju hrvatski obični FPM radi u root-owned servisu s poolom pod zajedničkim web-računom _www. Pool sluša samo na 127.0.0.1:9077. Ne oslanjajte se na korisnikov Homebrew www pool s drukčijim Unix računom. Na Linuxu prilagodite pool stvarnom servisu i računu, npr. www-data.

2.1. Hrvatski obični FPM — datoteke, Composer i prava

mkdir -p /Users/Shared/Simbioza/SimbiozaHR_FPM
rsync --archive --exclude=.git/ "$SIMBIOZA_FETCH_DIR/release/" /Users/Shared/Simbioza/SimbiozaHR_FPM/
cd /Users/Shared/Simbioza/SimbiozaHR_FPM
composer update --with-all-dependencies --optimize-autoloader
composer check-platform-reqs
mkdir -p config data/cache data/logs data/sessions data/setup-requests data/tmp resources/config/menu resources/config/theme
sudo chgrp -R _www config data resources/config/menu resources/config/theme
sudo chmod 3770 config
sudo chmod 2770 resources/config/menu resources/config/theme
sudo chmod -R g+rwX data resources/config/menu resources/config/theme
sudo chmod +a 'user:kmihalj allow read,write,append,execute,delete,readattr,writeattr,readextattr,writeextattr,readsecurity,file_inherit,directory_inherit' config
sudo find data resources/config/menu resources/config/theme -type d -exec chmod +a 'user:kmihalj allow read,write,append,execute,delete,readattr,writeattr,readextattr,writeextattr,readsecurity,file_inherit,directory_inherit' {} +
ls -lde data data/sessions data/tmp

Praktično otkrivena zamka: kada smo prvi put otvorili obični FPM prije izrade data/sessions, PHP je prijavio session_start(): No such file or directory. Nakon izrade radnih direktorija i novog jednokratnog tokena ekran je bio čist. Stoga taj redak nije opcionalan. data/tmp mora biti zapisiv i FPM radniku, ne samo održavatelju. Na Linuxu koristite uski setfacl umjesto macOS chmod +a; ne otvarajte cijeli kod chmod 777 naredbom.

2.2. FPM pool i servis za obični način

Ovo su ključne stavke hrvatskog običnog poola i globalne datoteke /opt/homebrew/etc/php/8.5/php-fpm-install-guides.conf. Pool ima vlastiti port, sesije i TMPDIR. Port ne otvarajte prema mreži.

[global]
pid = /opt/homebrew/var/run/php-fpm-install-guides.pid
error_log = /opt/homebrew/var/log/php-fpm-install-guides.log
daemonize = no
include = /opt/homebrew/etc/php/8.5/php-fpm-install-guides.d/*.conf

[simbioza-guide-hr]
user = _www
group = _www
listen = 127.0.0.1:9077
listen.allowed_clients = 127.0.0.1
pm = ondemand
pm.max_children = 4
pm.process_idle_timeout = 10s
pm.max_requests = 500
clear_env = yes
security.limit_extensions = .php
env[TMPDIR] = /Users/Shared/Simbioza/SimbiozaHR_FPM/data/tmp
php_admin_value[session.save_path] = /Users/Shared/Simbioza/SimbiozaHR_FPM/data/sessions
php_admin_value[upload_tmp_dir] = /Users/Shared/Simbioza/SimbiozaHR_FPM/data/tmp
php_admin_value[sys_temp_dir] = /Users/Shared/Simbioza/SimbiozaHR_FPM/data/tmp

Raspored datoteka: blok [global] do include spremite kao php-fpm-install-guides.conf, a hrvatski pool kao php-fpm-install-guides.d/hr.conf. Nakon izrade datoteka provjerite sintaksu. Ne kopirajte drugi pool u ovaj postupak.

sudo mkdir -p /opt/homebrew/etc/php/8.5/php-fpm-install-guides.d
sudoedit /opt/homebrew/etc/php/8.5/php-fpm-install-guides.conf
sudoedit /opt/homebrew/etc/php/8.5/php-fpm-install-guides.d/hr.conf
sudoedit /Library/LaunchDaemons/hr.simbioza-guide-ordinary.php-fpm.plist

U zadnju datoteku stavite cijeli ovaj sadržaj. Radi se o zasebnom testnom servisu, ne o zamjeni Homebrewova postojećeg FPM servisa:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>Label</key><string>hr.simbioza-guide-ordinary.php-fpm</string>
  <key>ProgramArguments</key>
  <array>
    <string>/opt/homebrew/sbin/php-fpm</string>
    <string>--nodaemonize</string>
    <string>--fpm-config</string>
    <string>/opt/homebrew/etc/php/8.5/php-fpm-install-guides.conf</string>
  </array>
  <key>RunAtLoad</key><true/>
  <key>KeepAlive</key><true/>
  <key>StandardOutPath</key><string>/opt/homebrew/var/log/php-fpm-install-guides-launchd.log</string>
  <key>StandardErrorPath</key><string>/opt/homebrew/var/log/php-fpm-install-guides-launchd.log</string>
</dict>
</plist>

Za Linux nemojte kopirati macOS plist ni putanju /opt/homebrew. Postavite hrvatski pool u direktorij verzije PHP-a koju ste stvarno instalirali, primjerice /etc/php/8.4/fpm/pool.d/; zamijenite _www stvarnim web-računom, prilagodite putanje /srv/..., zatim pokrenite sudo php-fpm8.4 -t i sudo systemctl restart php8.4-fpm. Te su Linux naredbe obrazac za prilagodbu, a prikazani hrvatski prolazi provedeni su na macOS-u; provjerite naziv servisa svoje distribucije.

Na macOS-u servis mora pokretati master proces kao root kako bi pool mogao promijeniti identitet u _www. U provjeri je korišten LaunchDaemon s ProgramArguments za /opt/homebrew/sbin/php-fpm --nodaemonize --fpm-config /opt/homebrew/etc/php/8.5/php-fpm-install-guides.conf, uz RunAtLoad i KeepAlive. Na Linuxu odgovarajući PHP-FPM servis vodi systemd; provjerite systemctl status php8.4-fpm i stvarne radnike, ne samo slušanje porta.

sudo chown root:wheel /Library/LaunchDaemons/hr.simbioza-guide-ordinary.php-fpm.plist
sudo chmod 644 /Library/LaunchDaemons/hr.simbioza-guide-ordinary.php-fpm.plist
/opt/homebrew/sbin/php-fpm --test --fpm-config /opt/homebrew/etc/php/8.5/php-fpm-install-guides.conf
sudo launchctl bootstrap system /Library/LaunchDaemons/hr.simbioza-guide-ordinary.php-fpm.plist
sudo launchctl print system/hr.simbioza-guide-ordinary.php-fpm
lsof -nP -iTCP:9077 -sTCP:LISTEN

Ako je servis već učitan, nemojte drugi put izvršiti bootstrap: provjerite ga naredbom launchctl print, a izmjene konfiguracije učitajte kontrolirano. Zabilježite identitet pool radnika (_www ili www-data) i uskladite prava prije instalera.

2.3. Apache ili Nginx — birajte jedan web-poslužitelj

Na Apacheu je hrvatski obični FPM alias usmjeren na port 9077 preko mod_proxy i mod_proxy_fcgi. Apache ne pokreće FPM servis. ProxyTimeout 900 dopušta dulje zahtjeve, ali ne zamjenjuje PHP/FPM ograničenja. U produkciji koristite TLS virtualni host i samo public/ kao web-korijen.

LoadModule proxy_module lib/httpd/modules/mod_proxy.so
LoadModule proxy_fcgi_module lib/httpd/modules/mod_proxy_fcgi.so
ProxyTimeout 900
Alias /SimbiozaHR_FPM "/Users/Shared/Simbioza/SimbiozaHR_FPM/public"
<Directory "/Users/Shared/Simbioza/SimbiozaHR_FPM/public">
    Options -Indexes +FollowSymLinks
    AllowOverride All
    Require local
    DirectoryIndex index.php
    <FilesMatch "\.php$">
        SetHandler "proxy:fcgi://127.0.0.1:9077"
    </FilesMatch>
</Directory>
/opt/homebrew/bin/httpd -t -f /opt/homebrew/etc/httpd/extra/httpd-simbioza-install-guides.conf
sudo /opt/homebrew/bin/httpd -k graceful -f /opt/homebrew/etc/httpd/extra/httpd-simbioza-install-guides.conf

Za Nginx je provjeren zaseban lokalni test na portu 8091 s HR običnim poolom 9077: sintaksa je prošla, /, /auth/login i /about vratili su 200, a /.env 403. Nginx je nakon pokusa potpuno uklonjen. Sljedeći primjer prikazuje isti FastCGI obrazac za javni TLS virtualni host; zamijenite putanje i certifikate. Nginx nikad ne koristi mod_php.

server {
    listen 443 ssl;
    server_name simbioza.example.org;
    root /srv/simbioza/public;
    index index.php;
    ssl_certificate /putanja/do/fullchain.pem;
    ssl_certificate_key /putanja/do/privkey.pem;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }
    location ~ \.php$ {
        try_files $uri =404;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_pass 127.0.0.1:9077;
        fastcgi_read_timeout 900s;
    }
    location ~ /\. {
        deny all;
    }
}
nginx -t
curl -I https://simbioza.example.org/auth/login

U lokalnom Nginx testu, gdje TLS namjerno nije bio potreban jer je sve ostalo na loopbacku, iste root, try_files, SCRIPT_FILENAME i fastcgi_pass direktive obrađivale su stvarne Simbioza stranice. Nginx ne mijenja pravila za bazu, datoteke ni FPM račun.

2.4. Priprema paketa i četiri koraka čarobnjaka — obični FPM

Obični pool nema GUI helper. Održavatelj zato prije web-obrasca u CLI-ju priprema opcionalne pakete. Naredba php scripts/installation_packages.php prepare bez popisa priprema sve; u novom instaleru svi su početno označeni, a nepotrebne odznačite. Za manji skup upotrijebite --modules=theme,calendar,email, za nijedan --modules=, a pripremljeno provjerite naredbom php scripts/installation_packages.php status. Nakon uspjeha pokrenite php scripts/installation_packages.php cleanup. Snimke niže bilježe test izdanja 0.2.4, u kojem je pripremljena samo Tema, uz privremeni Backup za početne upute. Izradite jedan token s točnom HR podputanjom.

cd /Users/Shared/Simbioza/SimbiozaHR_FPM
php scripts/installation_packages.php prepare
php scripts/installation_packages.php status
php bin/simbioza install:prepare --base-url=http://127.0.0.1:8090/SimbiozaHR_FPM

U pregledniku odaberite „Simbioza HR FPM”, hrvatski kao primarni jezik i prvog administratora. Redom provjerite preduvjete, testirajte SQLite, ispunite obrazac, pregledajte sažetak i tek tada pokrenite instalaciju.

2.5. Hrvatski obični FPM — snimke svakog ekrana

Hrvatski obični FPM: provjera preduvjeta.
Hrvatski obični FPM — 1. snimka. Provjera preduvjeta je obavljena u HR običnom FPM poolu, ne u Apacheovom mod_php-u. Redci za PHP, ekstenzije, bazu, konfiguraciju, podatke, temu i upute svi moraju proći. Ako se pojavi upozorenje za sesije, vratite se na izradu data/sessions prije nastavka.
Hrvatski obični FPM: baza i probni upit.
Hrvatski obični FPM — 2. snimka. SQLite je odabran za ovu zasebnu instalaciju. Gumb Provjeri vezu i nastavi otvara stvarnu bazu i izvodi testni upit; host i port za SQLite se zanemaruju. Kod mrežne baze unesite prethodno pripremljenog aplikacijskog korisnika.
Hrvatski obični FPM: prazan obrazac aplikacije.
Hrvatski obični FPM — 3. snimka. Prije upisa identiteta jasno su razdvojene postavke sitea, jezici, vremenska zona, opcionalni moduli i prvi administrator. Tema je dostupna jer je pripremljena u CLI-ju. Nedostupni paketi ostaju vidljivi i onemogućeni umjesto da se bez objašnjenja izgube.
Hrvatski obični FPM: ispunjen obrazac.
Hrvatski obični FPM — 4. snimka. Upisani su zaseban naziv HR FPM sitea i prvi administratorski račun. Primarni jezik je HR, a HR i EN ostaju dostupni. Lozinka je na snimci maskirana; na vlastitoj instalaciji stvorite jedinstvenu tajnu i spremite je izvan uputa.
Hrvatski obični FPM: završni pregled.
Hrvatski obični FPM — 5. snimka. Sažetak prikazuje SQLite, jezike, Temu, vremensku zonu, oznaku i e-mail administratora. Usporedite ga s planom prije pokretanja migracija. Povjerljive vrijednosti se namjerno ne vraćaju u pregledni HTML.
Hrvatski obični FPM: potvrda instalacije.
Hrvatski obični FPM — 6. snimka. Poruka potvrđuje dovršene migracije i prvog administratora. Installer se zaključava i jednokratni token više se ne smije ponovno koristiti. Ne prelazite na čišćenje privremenog Backup paketa prije ove potvrde.
Hrvatski obični FPM: prijava.
Hrvatski obični FPM — 7. snimka. Otvorena je stvarna prijava HR običnog FPM sitea. Usporedite jezik sučelja i naziv putanje, pa se prijavite novim računom. Uspješan status FPM servisa sam po sebi ne dokazuje da prijava radi.
Hrvatski obični FPM: početna stranica.
Hrvatski obični FPM — 8. snimka. Nakon prve prijave vidi se početna stranica sa stvarnom temom i izbornikom. Time je potvrđen kompletan put Apache → FPM → aplikacija → SQLite → sesija, a ne samo PHP sintaksa. U Setupu provjerite da je Tema uključena.

3. Izolirani FPM: zasebni računi i GUI upravljanje

Izolirani način nije samo drukčiji port. Skripta configure_fpm_setup.php stvara namjenski FPM servis, identitete i grupe za web/deploy, prava samo na potrebnim putanjama te ograničeni helper za provjerene paketne radnje. Različite instalacije moraju dobiti različite --instance oznake i portove. --check ne mijenja stanje, a --finalize se poziva tek nakon web-čarobnjaka.

3.1. Hrvatska izolirana instalacija — točan slijed

mkdir -p /Users/Shared/Simbioza/SimbiozaHR_FPMsecured
rsync --archive --exclude=.git/ "$SIMBIOZA_FETCH_DIR/release/" /Users/Shared/Simbioza/SimbiozaHR_FPMsecured/
cd /Users/Shared/Simbioza/SimbiozaHR_FPMsecured
composer update --with-all-dependencies --optimize-autoloader
composer check-platform-reqs
sudo php scripts/configure_fpm_setup.php --install --instance=hrsecure --listen=127.0.0.1:9079 --app-root=/Users/Shared/Simbioza/SimbiozaHR_FPMsecured --maintainer=kmihalj --php-fpm=/opt/homebrew/sbin/php-fpm
php scripts/configure_fpm_setup.php --check --instance=hrsecure --listen=127.0.0.1:9079 --app-root=/Users/Shared/Simbioza/SimbiozaHR_FPMsecured --maintainer=kmihalj --php-fpm=/opt/homebrew/sbin/php-fpm
php bin/simbioza install:prepare --base-url=http://127.0.0.1:8090/SimbiozaHR_FPMsecured

U web-obrascu nije potreban prethodni installation_packages.php prepare: nakon izbora Tema helper je iz GUI-ja preuzeo tagirani paket. Taj zahtjev može trajati dulje od minute. Pool u 0.2.4 zato postavlja php_admin_value[max_execution_time] = 900, a Apache proxy ProxyTimeout 900; na Nginxu uskladite fastcgi_read_timeout 900s. Prikaz 503/504 nije normalan dio postupka.

Apache alias ovog izoliranog sitea usmjeren je na 9079. Za Linux skripti predajte stvarnu putanju FPM-a i poslužiteljske direktorije; nakon generiranja pregledajte pool, servis, sudoers pravilo i prava prije otvaranja tokena.

ProxyTimeout 900
Alias /SimbiozaHR_FPMsecured "/Users/Shared/Simbioza/SimbiozaHR_FPMsecured/public"
<Directory "/Users/Shared/Simbioza/SimbiozaHR_FPMsecured/public">
    Options -Indexes +FollowSymLinks
    AllowOverride All
    Require local
    DirectoryIndex index.php
    <FilesMatch "\.php$">
        SetHandler "proxy:fcgi://127.0.0.1:9079"
    </FilesMatch>
</Directory>

Kontrolirajte sintaksu Apachea pa ga učitajte prije web-čarobnjaka. Nginx umjesto SetHandler koristi isti provjereni location ~ \.php$ iz odjeljka 2.3, ali fastcgi_pass 127.0.0.1:9079 za ovaj site.

3.2. Hrvatski izolirani FPM — snimke svakog koraka

Hrvatski izolirani FPM: provjera preduvjeta.
Hrvatski izolirani FPM — 1. snimka. Ove provjere izvodi zaseban HR FPM servis pod računom koji je pripremila skripta, a ne zajednički _www pool. Sve obvezne ekstenzije, radne putanje i ugrađene upute prolaze. Na ovom ekranu se može stati prije bilo kakve promjene baze.
Hrvatski izolirani FPM: baza i probni upit.
Hrvatski izolirani FPM — 2. snimka. SQLite baza je zasebna od obične FPM instalacije. Provjera veze izvršava probni upit u izoliranim radnim putanjama. Polja za mrežni DB nisu potrebna dok je SQLite označen.
Hrvatski izolirani FPM: prazan obrazac aplikacije.
Hrvatski izolirani FPM — 3. snimka. Obrazac nudi Temu i ostale opcionalne module bez CLI-poruke o nedostupnosti, jer ograničeni helper može pripremiti paket. Odaberite samo mogućnosti koje želite aktivirati; ovdje je izabrana Tema. Prvi admin, jezici i zona ostaju zasebna odluka.
Hrvatski izolirani FPM: ispunjen obrazac.
Hrvatski izolirani FPM — 4. snimka. Upisan je HR naziv izolirane instalacije i njezin prvi administrator. Polja za lozinku su na snimci maskirana, a identitet ne smije biti kopiran s obične FPM instalacije. Primarni jezik je hrvatski.
Hrvatski izolirani FPM: završni pregled.
Hrvatski izolirani FPM — 5. snimka. Pregled se pojavio nakon GUI pripreme Teme kroz helper. Taj korak može potrajati; preglednik ne zatvarajte samo zato što jedan klik traje dulje od nekoliko sekundi. U pregledu još jednom potvrdite zaseban naziv, bazu, jezike i admina.
Hrvatski izolirani FPM: potvrda instalacije.
Hrvatski izolirani FPM — 6. snimka. Poruka potvrđuje da su paket, migracije i prvi admin uspješno dovršeni kroz izolirani FPM. U staroj konfiguraciji PHP 8.5 duži zahtjev prekinuo bi se oko jedne minute; izdanje 0.2.4 postavlja ograničenje 900 sekundi i ovaj je stvarni put završio bez 503. Nakon ovog ekrana izvršite --finalize.
Hrvatski izolirani FPM: prijava.
Hrvatski izolirani FPM — 7. snimka. Otvorena je zasebna HR prijava nakon finalizacije vlasništva. Prijava potvrđuje da web radnik može čitati aplikaciju i pisati u vlastiti direktorij sesija, ali ne i cijeli kod. Upotrijebite upravo stvorenog admina.
Hrvatski izolirani FPM: početna stranica.
Hrvatski izolirani FPM — 8. snimka. Početna stranica potvrđuje stvarni prikaz teme i izbornika. Nakon nje otvorite Setup: helper mora biti zdrav, a GUI instaliranje modula dostupno. U ovom siteu smo zatim dodatno instalirali Pristupačnost i provjerili njezine postavke.

3.3. Učvrstite vlasništvo tek nakon dovršenog čarobnjaka

Izolirani hrvatski čarobnjak završio je instalacijom teme, migracijama i zasebnim adminom. Tek tada pozovite --finalize s istim --instance, --listen, --app-root i --php-fpm vrijednostima kao pri --install. Promjena instance samo u zadnjoj naredbi bi ciljala drugi servis. Održavatelj se nakon dodavanja u grupe mora ponovno prijaviti u shell kako bi aktivirao članstvo.

cd /Users/Shared/Simbioza/SimbiozaHR_FPMsecured
sudo php scripts/configure_fpm_setup.php --finalize --instance=hrsecure --listen=127.0.0.1:9079 --app-root=/Users/Shared/Simbioza/SimbiozaHR_FPMsecured --maintainer=kmihalj --php-fpm=/opt/homebrew/sbin/php-fpm
php scripts/configure_fpm_setup.php --check --instance=hrsecure --listen=127.0.0.1:9079 --app-root=/Users/Shared/Simbioza/SimbiozaHR_FPMsecured --maintainer=kmihalj --php-fpm=/opt/homebrew/sbin/php-fpm

4. Moduli, jezici, nadogradnje i završne provjere

Na običnom FPM-u GUI čarobnjak i uključivanje/isključivanje već prisutnog modula rade, ali instaliranje/uklanjanje paketa i nadogradnja trebaju CLI vlasnika koda. Na izoliranom FPM-u Setup GUI smije pokrenuti te radnje kroz ograničeni helper; ne dajte samom web-radniku pravo pisanja u vendor/. U HR izoliranom siteu kroz GUI smo instalirali Pristupačnost 0.1.2 te provjerili da su odmah nastali stavka Postavke → Pristupačnost i widget. Time nije provjeren samo PHP test, nego stvarni ciklus modula u pregledniku.

Pristupačnost prije GUI instaliranja, vidljiv gumb Instaliraj.
Prije GUI instalacije. Redak Pristupačnost označen je „Nije instaliran”; gumb Instaliraj je dostupan jer izolirani helper i prava prolaze. U običnom FPM-u paket bi se prvo dodavao u CLI-ju.
Pristupačnost nakon GUI instaliranja, verzija i uključeno stanje.
Nakon GUI instalacije. Redak prikazuje tagiranu verziju i „Uključen”, uz gumbe Isključi i Deinstaliraj. Zasebno smo otvorili njegovu stavku u izborniku Postavki i stvarnu stranicu postavki; modul nije ručno upisan u izbornik.

CLI naredbe vrijede u oba FPM načina ako ih pokreće ovlašteni deploy račun. Obvezni modul ne može se ukloniti, a opcionalni se ne uklanja bez provjere ovisnosti. Isključivanje čuva podatke; uklanjanje stvara kopiju iz koje se kasnije može vratiti modul. Jezični paketi mogu se ažurirati neovisno o izdanju aplikacije.

vendor/bin/hph modules list
vendor/bin/hph modules add calendar --fresh
vendor/bin/hph modules disable calendar
vendor/bin/hph modules enable calendar
vendor/bin/hph modules backups calendar
vendor/bin/hph modules remove calendar --yes
vendor/bin/hph modules add calendar --restore
vendor/bin/hph languages available
vendor/bin/hph languages install de
vendor/bin/hph languages update
php update.php --check
php update.php

Prije produkcijske nadogradnje zasebno kopirajte SQLite/MySQL/PostgreSQL bazu, config/, privatne korisničke datoteke i teme. Ne pokrećite redovne nadogradnje kao root. Na postojećoj instalaciji ne zamjenjujte Simbiozin updater samostalnim composer update, jer updater čuva odabrane opcionalne pakete, migracije i stanje održavanja.

Na obje hrvatske FPM instalacije provedite provjeru ispod. U našem testu obje prijave vratile su 200, oba zaključana installera 404, Composer platforma prošla, a obje baze imale 22 izvršene i nula migracija na čekanju. Na običnoj instalaciji prije toga izvršite php scripts/installation_packages.php cleanup kako bi se uklonio samo privremeni Backup paket.

cd /Users/Shared/Simbioza/SimbiozaHR_FPM
php scripts/installation_packages.php cleanup
vendor/bin/hph modules migrate-status
composer check-platform-reqs
curl -sS -o /dev/null -w '%{http_code}\n' http://127.0.0.1:8090/SimbiozaHR_FPM/auth/login
curl -sS -o /dev/null -w '%{http_code}\n' http://127.0.0.1:8090/SimbiozaHR_FPM/install
cd /Users/Shared/Simbioza/SimbiozaHR_FPMsecured
vendor/bin/hph modules migrate-status
composer check-platform-reqs
curl -sS -o /dev/null -w '%{http_code}\n' http://127.0.0.1:8090/SimbiozaHR_FPMsecured/auth/login
curl -sS -o /dev/null -w '%{http_code}\n' http://127.0.0.1:8090/SimbiozaHR_FPMsecured/install

Za svaki site na kraju ručno provjerite prijavu, početnu stranicu, izbornik, temu i očekivane module. Terminalski status servisa nije zamjena za stvarni korisnički tok. Za Apache, Nginx i FPM pravila usporedite Apache mod_proxy_fcgi, Nginx FastCGI i PHP-FPM priručnik.

Privitci

Datoteka Verzija Tip datoteke Veličina Učitao/la
SimbiozaEN_FPMsecured-08-home.png v1 image/png 215.6 KB Krešimir Mihalj · 28. ruj 2026. 18:54
SimbiozaEN_FPMsecured-07-login.png v1 image/png 150.0 KB Krešimir Mihalj · 28. ruj 2026. 18:54
SimbiozaEN_FPMsecured-06-success.png v1 image/png 56.7 KB Krešimir Mihalj · 28. ruj 2026. 18:54
SimbiozaEN_FPMsecured-05-review.png v1 image/png 85.1 KB Krešimir Mihalj · 28. ruj 2026. 18:54
SimbiozaEN_FPMsecured-04-application-filled.png v1 image/png 151.7 KB Krešimir Mihalj · 28. ruj 2026. 18:54
SimbiozaEN_FPMsecured-03-application-blank.png v1 image/png 135.7 KB Krešimir Mihalj · 28. ruj 2026. 18:54
SimbiozaEN_FPMsecured-02-database.png v1 image/png 72.0 KB Krešimir Mihalj · 28. ruj 2026. 18:54
SimbiozaEN_FPMsecured-01-prerequisites.png v1 image/png 138.6 KB Krešimir Mihalj · 28. ruj 2026. 18:54
SimbiozaHR_FPMsecured-10-module-after.png v1 image/png 13.6 KB Krešimir Mihalj · 28. ruj 2026. 18:54
SimbiozaHR_FPMsecured-09-module-before.png v1 image/png 11.8 KB Krešimir Mihalj · 28. ruj 2026. 18:54
SimbiozaHR_FPMsecured-08-home.png v1 image/png 204.0 KB Krešimir Mihalj · 28. ruj 2026. 18:54
SimbiozaHR_FPMsecured-07-login.png v1 image/png 152.3 KB Krešimir Mihalj · 28. ruj 2026. 18:54
SimbiozaHR_FPMsecured-06-success.png v1 image/png 57.8 KB Krešimir Mihalj · 28. ruj 2026. 18:54
SimbiozaHR_FPMsecured-05-review.png v1 image/png 87.0 KB Krešimir Mihalj · 28. ruj 2026. 18:54
SimbiozaHR_FPMsecured-04-application-filled.png v1 image/png 154.5 KB Krešimir Mihalj · 28. ruj 2026. 18:54
SimbiozaHR_FPMsecured-03-application-blank.png v1 image/png 137.8 KB Krešimir Mihalj · 28. ruj 2026. 18:54
SimbiozaHR_FPMsecured-02-database.png v1 image/png 71.9 KB Krešimir Mihalj · 28. ruj 2026. 18:54
SimbiozaHR_FPMsecured-01-prerequisites.png v1 image/png 145.8 KB Krešimir Mihalj · 28. ruj 2026. 18:54
SimbiozaEN_FPM-08-home.png v1 image/png 190.7 KB Krešimir Mihalj · 28. ruj 2026. 18:54
SimbiozaEN_FPM-07-login.png v1 image/png 150.0 KB Krešimir Mihalj · 28. ruj 2026. 18:54
SimbiozaEN_FPM-06-success.png v1 image/png 55.1 KB Krešimir Mihalj · 28. ruj 2026. 18:54
SimbiozaEN_FPM-05-review.png v1 image/png 83.2 KB Krešimir Mihalj · 28. ruj 2026. 18:54
SimbiozaEN_FPM-04-application-filled.png v1 image/png 176.7 KB Krešimir Mihalj · 28. ruj 2026. 18:54
SimbiozaEN_FPM-03-application-blank.png v1 image/png 162.9 KB Krešimir Mihalj · 28. ruj 2026. 18:54
SimbiozaEN_FPM-02-database.png v1 image/png 72.0 KB Krešimir Mihalj · 28. ruj 2026. 18:54
SimbiozaEN_FPM-01-prerequisites.png v1 image/png 138.6 KB Krešimir Mihalj · 28. ruj 2026. 18:54
08-home.png v1 image/png 203.5 KB Krešimir Mihalj · 28. ruj 2026. 18:53
07-login.png v1 image/png 152.3 KB Krešimir Mihalj · 28. ruj 2026. 18:53
06-success.png v1 image/png 56.3 KB Krešimir Mihalj · 28. ruj 2026. 18:53
05-review.png v1 image/png 85.4 KB Krešimir Mihalj · 28. ruj 2026. 18:53
04-application-filled.png v1 image/png 184.4 KB Krešimir Mihalj · 28. ruj 2026. 18:53
03-application-blank.png v1 image/png 170.1 KB Krešimir Mihalj · 28. ruj 2026. 18:53
02-database.png v1 image/png 71.9 KB Krešimir Mihalj · 28. ruj 2026. 18:53
01-prerequisites.png v1 image/png 145.8 KB Krešimir Mihalj · 28. ruj 2026. 18:53

Komentari

0

Još nema komentara.

Za dodavanje komentara potrebna je prijava.

Kreirao: Krešimir Mihalj 28. ruj 2026. 18:28 · Zadnja izmjena: Krešimir Mihalj 30. ruj 2026. 11:26