Preparazione¶
Bisogna seguire alcuni passaggi di preparazione per l’installazione di Galette. Il percorso varia in base a ciò che si vuole ottenere.
Autorizzazioni file¶
Avvertimento
Un trucco comunemente usato è quello di dare i diritti a tutti ricorsivamente sulla directory (chmod 777). Questa è una pessima idea dal punto di vista della sicurezza. Si sconsiglia di usare questo trucco, siete stati avvertiti ;)
Alcune cartelle di Galette hanno bisogno di diritti specifici. L’applicazione dovrà scrivere in alcune di esse, quindi sarà necessario assicurarsi che sia possibile. Ecco le cartelle che hanno bisogno di accesso in scrittura:
config 1,
data/attachments,
data/cache,
data/exports,
data/files,
data/imports,
data/logs,
data/photos,
data/tempimages,
data/templates_c
- 1
l’accesso in scrittura sulla cartella
configè necessario solo per l’installazione di Galette, quindi consigliamo di rimuovere l’accesso in scrittura una volta installato Galette :)
Crea il database¶
Nota
Non usare mai l’utente root del database!
Per motivi di sicurezza, si consiglia vivamente di affidarsi a un utente specifico per il database Galette, e dargli solo l’accesso al singolo database Galette richiesto.
Per esempio, useremo un database chiamato mygalette con un utente mygaletteuser con mypass come password.
MariaDB
$ mysql -u root -p mysql> CREATE DATABASE mygalette; mysql> GRANT ALL ON magalette.* to ->'mygaletteuser'@'localhost' IDENTIFIED BY 'mypass';
PostgreSQL
$ su - # su - postgres $ createuser -P mygaletteuser $ createdb -O mygaletteuser mygalette
Tali comandi possono variare, si prega di fare riferimento alla documentazione di MariaDB o di PostgreSQL o di utilizzare uno strumento grafico:
phpMyAdmin per MariaDB;
phpPgAdmin o PgAdmin per PostgreSQL.
Esposizione della cartella del server Web¶
Nuovo nella versione 0.9.
L’installazione di Galette può consistere nella copia di una cartella completa in una posizione che il server web può leggere. Questo metodo può funzionare, ma questo espone al Web file e cartelle che non dovrebbero essere disponibili in questo modo.
È possibile limitare ciò esponendo solo la cartella webroot. Tutte le altre cartelle saranno più sicure se non sarà possibile raggiungerle dal server web!
Avvertimento
L’esposizione solo della cartella webroot è il metodo raccomandato, e il solo sicuro.
Uso di un sottodominio¶
Ecco un esempio di configurazione host virtuale, incluso il mascheramento di index.php:
<VirtualHost *:80>
ServerName galette.localhost
#https - add *:443 in the <VirtualHost>
#SSLEngine on
#SSLProtocol all -SSLv2 -SSLv3
#Header always add Strict-Transport-Security "max-age=15768000; includeSubDomains; preload"
#SSLCertificateFile /etc/pki/tls/certs/galette.localhost.crt
#SSLCertificateChainFile /etc/pki/tls/certs/galette.localhost.chain.crt
#SSLCertificateKeyFile /etc/pki/tls/private/galette.localhost.key
DocumentRoot /var/www/galette/galette/webroot/
<Directory /var/www/galette/galette/webroot/>
RewriteEngine On
#You may need to set RewriteBase if you setup
#rewritting in a .htaccess file for example.
#RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L]
</Directory>
</VirtualHost>
Con Nginx sarebbe:
server {
#http
listen 80;
listen [::]:80;
# https
#listen 443 ssl http2;
#listen [::]:443 ssl http2;
#ssl_certificate /etc/ssl/certs/galette.localhost.pem;
#ssl_certificate_key /etc/ssl/private/galette.localhost.key;
server_name galette.localhost;
root /var/www/galette/galette/webroot;
index index.html index.php;
location / {
try_files $uri $uri/ @galette;
}
location @galette {
rewrite ^(.*)$ /index.php last;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
# You may have to adapt this path, depending on your distribution.
fastcgi_pass unix:/var/run/php7.0-fpm.sock;
}
location ~ /(data|config|lib)/ {
deny all;
}
}
Uso di alias¶
Una configurazione alternativa protetta, se non si dispone di un sottodominio specifico per Galette è quella di utilizzare un alias` nel proprio host virtuale esistente:
<VirtualHost *:80>
ServerName mydomain.tld
DocumentRoot /var/www/mydomain.tld
Alias /mygalette/ /var/www/galette/galette/webroot/
<Directory /var/www/galette/galette/webroot/>
RewriteEngine On
#You need to set RewriteBase to Alias path
RewriteBase /mygalette/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L]
</Directory>
</VirtualHost>
Non si dimentichi che con tale soluzione sarà necessario impostare correttamente la direttiva RewriteBase.
Linux/Unix¶
L’installazione di Galette su Linux implica l’accesso al terminale sul server e le ACL necessarie sulle cartelle.
Per esempio, su Fedora, si eseguirà (come root):
# cd /var/www/galette/
# chown -R apache:apache config data
Sotto Debian, sostituiremo apache:apache con www-data:www-data.
Su sistemi abilitati SELinux, aggiungeremo anche:
# semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/galette/config(/.*)?'
# semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/galette/data(/.*)?'
# restorecon -R -v /var/www/html/galette/
Bisognerà anche autorizzare il webserver a connettersi alla rete, con un booleano SELinux:
# setsebool httpd_can_network_connect on
FTP¶
Avvertimento
Alcuni software di archivio o FTP possono corrompere i file… Con Windows si consiglia vivamente di usare 7zip per decomprimere e FileZilla per i trasferimenti TFP.
Una volta recuperato il codice sorgente localmente, usare il comando tar xjvf galette.tar.bz2 sotto Linux/unix/macOS o uno strumento grafico in Windows.
Basta copiare la cartella non compressa ottenuta con tutte le sue sottocartelle e i suoi file, tramite un client FTP.
Casi specifici¶
Ionos¶
Se si sta usando l’hosting su Ionos e si desidera usare un sottodominio specifico per Galette, è necessario creare il proprio sottodominio dalla loro interfaccia utente e farlo puntare alla cartella Webroot. Bisogna anche modificare il file .htaccess contenuto e decommentare la direttiva RewriteBase /.
OVH¶
Questa società di hosting offre la possibilità di modificare la versione PHP utilizzata dal proprio account cliente.
Ulteriori informazioni sono disponibili su: https://help.ovhcloud.com/csm/it-web-hosting-change-php-version?id=kb_article_view&sysparm_article=KB0053021
Avvertimento
Molti utenti hanno problemi di immagini o con i fogli di partecipazione sugli host OVH. La soluzione a questo problema è creare un file .ovhconfig alla radice dell’hosting con i seguenti contenuti:
app.engine=phpcgi
Nginx¶
Web server Nginx La configurazione è diversa da quella di Apache (consultare la Documentazione Nginx per una spiegazione più completa).
Perciò è necessario convertire i file di restrizione di accesso nella configurazione Nginx, come per esempio:
location ~ /(data|config|lib)/ {
deny all;
}
Windows¶
L’installazione descritta qui si basa su XAMPP; esistono altri metodi di installazione ma non sono elencati qui.
Prima di tutto, scaricare XAMPP sul proprio computer. Installiamolo sotto c:\xampp.
Avviare l’eseguibile xampp-control (si trova in C:\XAMPP), in modo da poter avviare i servizi Apache e MySQL.
Una volta eseguiti questi passaggi, scaricare Galette e spostalo su C:\wampp\htdocs\galette, l’applicazione Web sarà disponibile su http://127.0.0.1/galette/. Basterà visitare questo URL per iniziare il processo di installazione.
Nota
Abilitando i moduli PHP sotto XAMPP viene eseguito in xampp/php/php.ini. La maggior parte delle estensioni richieste sono già presenti, ma sono commentate (la linea inizia con un «;»); basta decommentarle e riavviare XAMPP.
L’estensione openssl manca nel file, per attivarla basta aggiungere quanto segue al proprio php.ini: extension = php_openssl.dll