Installazione
v1.0.0+GeckoFlag è un software self-hosted che si installa sul proprio server; un programma di installazione dedicato La guida durante il processo, così che chiunque possa configurarlo con facilità.
Prima di iniziare
- Verifichi che il Suo server soddisfi i requisiti di sistema. Non è richiesto Composer: il pacchetto distribuito include già le dipendenze (la cartella vendor), quindi funziona anche in ambienti in cui non è possibile eseguire Composer.
- Tenga pronti i dati di connessione al database: un database nuovo o uno esistente che sia vuoto. Sconsigliamo di condividere il database con un'altra applicazione.
- HTTPS non è strettamente obbligatorio, ma poiché GeckoFlag gestisce credenziali di accesso e dati personali, Le raccomandiamo vivamente di eseguirlo con HTTPS.
- Completi l'installazione subito dopo aver caricato i file. Finché l'installazione non è completata, chiunque conosca l'URL può aprire il programma di installazione.
- Se utilizza Nginx, configuri prima le impostazioni descritte più sotto in «Se utilizza Nginx».
Passaggi di installazione
- 1Carichi i file di GeckoFlag sul Suo server tramite FTP/SFTP o il pannello di controllo del Suo hosting e li estragga.

- 2Apra il programma di installazione nel browser. Esso verifica l'ambiente del Suo server (versione di PHP, estensioni richieste e permessi delle cartelle) e mostra un elenco di controllo.

- 3Inserisca i dati di connessione al database (host, porta, nome del database, nome utente e password) e prosegua.

- 4Faccia clic su Esegui per inizializzare il database; in questo modo vengono create le tabelle di cui GeckoFlag ha bisogno.

- 5Crei il Suo account amministratore con un nome, un indirizzo e-mail e una password.

- 6Inserisca la Sua chiave di licenza per verificarla.

- 7Una volta verificata la licenza, è tutto pronto: acceda con il Suo nuovo account amministratore e inizi a configurare i Suoi progetti.

Note sull'hosting
È stato confermato che GeckoFlag funziona su molti comuni provider di hosting condiviso. A seconda della configurazione di PHP, ad esempio upload_max_filesize, le funzioni di caricamento file possono risultare limitate su alcuni provider.
Se utilizza Nginx
Con Apache, il file .htaccess incluso in GeckoFlag nega automaticamente l'accesso diretto ai file di configurazione, ai log e ad altri file. Nginx non utilizza .htaccess, quindi aggiunga quanto segue alla configurazione del server. In caso contrario, i file di configurazione e i file caricati potrebbero essere visibili dall'esterno.
Sugli hosting che combinano Nginx e Apache (configurazioni in cui le richieste ricevute da Nginx vengono elaborate da Apache), .htaccess è attivo, quindi questa configurazione non è necessaria. Per sapere se è possibile utilizzare .htaccess, consulti la documentazione del Suo provider di hosting.
- Imposti come cartella pubblica (document root) non la cartella di GeckoFlag, ma la cartella
webrootal suo interno. - Modifichi
server_name(dominio),root(percorso in cui si trova GeckoFlag) efastcgi_pass(destinazione della connessione a PHP-FPM) in base al Suo ambiente. - Aggiunga la configurazione HTTPS (
listen 443 ssle l'indicazione del certificato) seguendo il metodo di configurazione del Suo ambiente.
server {
listen 80;
server_name pm.example.com;
# La cartella pubblica (document root) è la cartella webroot di GeckoFlag
root /var/www/geckoflag/webroot;
index index.php;
# Non mostrare l'elenco del contenuto delle cartelle
autoindex off;
# Per consentire il caricamento dei file ZIP di aggiornamento e di backup
# (il valore predefinito di Nginx è 1MB). Imposti anche upload_max_filesize
# e post_max_size di PHP a un valore uguale o superiore
client_max_body_size 100m;
# I file nascosti (.htaccess, .git, ecc.) non vengono serviti
location ~ /\.(?!well-known/) {
deny all;
}
# Dalle cartelle delle immagini caricate vengono servite solo immagini
location ~ ^/img/(avatars|project_thumbnails|branding)/ {
location ~* \.(jpe?g|jfif|png|gif|webp|ico)$ {
add_header X-Content-Type-Options "nosniff" always;
try_files $uri =404;
}
# Le immagini SVG vengono solo visualizzate (gli script non vengono eseguiti)
location ~* \.svg$ {
add_header X-Content-Type-Options "nosniff" always;
add_header Content-Security-Policy "default-src 'none'; img-src data:; style-src 'unsafe-inline'; sandbox" always;
try_files $uri =404;
}
return 403;
}
# La cartella files non viene servita direttamente
location ^~ /files/ {
return 404;
}
location / {
try_files $uri $uri/ /index.php?$args;
}
# Solo index.php viene eseguito come PHP
location = /index.php {
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root/index.php;
fastcgi_pass unix:/run/php/php8.3-fpm.sock;
}
location ~ \.php$ {
return 404;
}
}
Dopo aver modificato la configurazione, verifichi la sintassi con nginx -t e ricarichi Nginx.
Se si passa attraverso una CDN o un reverse proxy (come Cloudflare)
GeckoFlag utilizza l'indirizzo IP di origine ricevuto dal server per limitare i tentativi di accesso non riusciti e per la restrizione di accesso (indirizzo IP). Passando attraverso una CDN o un reverse proxy, tutti gli utenti sembrano accedere dall'indirizzo IP del proxy, con le seguenti conseguenze:
- Se qualcuno non riesce ad accedere più volte, anche gli altri utenti potrebbero non riuscire ad accedere per un certo tempo.
- La Restrizione di accesso (indirizzo IP) non funziona correttamente.
In configurazioni di questo tipo, imposti il server web in modo che riceva l'indirizzo IP di origine reale (ad esempio mod_remoteip per Apache, il modulo real_ip per Nginx o, nel caso di Cloudflare, la registrazione dell'elenco degli indirizzi IP pubblicato dalla società). Per le modalità di configurazione, consulti la documentazione del Suo provider di hosting o della CDN.