Base di conoscenze
1 000 FAQ, 500 tutorial e video esplicativi. Qui ci sono delle soluzioni!
Questa guida spiega come eseguire il gestore di dipendenze open source Composer 2 utilizzando un comando SSH.
Premessa
- Composer è un gestore di dipendenze open source per PHP che consente di definire, installare e aggiornare le librerie necessarie per un progetto PHP.
- Composer 1 è obsoleto dal 2021 e non consente più, dal 2025, di installare nuovi pacchetti o di eseguire aggiornamenti.
- Solo la versione 2 di Composer è ora supportata e disponibile su tutte le versioni di PHP da 7.2 a 8.3.
Eseguire Composer 2
Composer 2 è già preinstallato e accessibile tramite SSH. Non è quindi necessario installarlo manualmente.
Utilizzo semplice
Accedi al tuo hosting tramite SSH, quindi utilizza il comando seguente:
composerQuesto comando eseguirà automaticamente la versione 2 di Composer compatibile con la versione di PHP attualmente utilizzata nella tua sessione.
Verificare la versione attiva
Puoi verificare la versione di Composer disponibile con:
composer --versionEsempio di output: Composer versione 2.5.0 2022-12-20 10:44:08
Forzare una versione specifica di PHP
Se desideri eseguire Composer con una versione specifica di PHP, sono disponibili degli alias. Ad esempio:
composer_php8.1 --versiono anche:
composer_php7.4Questi alias consentono di eseguire Composer 2 con l'interprete PHP specificato, utile per testare o distribuire un progetto su una versione target di PHP.
Link a questa FAQ:
Questa FAQ è stata utile?
Questa guida spiega come specificare un file che verrà caricato prima della pagina desiderata o all'inizio di ogni script PHP eseguito sul tuo server, incluso come se fosse stato chiamato con la funzione require(), ma in modo più globale utilizzando la direttiva auto_prepend_file di PHP.
Premessa
- Ad esempio, per dichiarare gli header di un sito web, è possibile creare un file
headers.phpche contiene funzioni PHPheader()e che venga prepend all'inizio di ogni file PHP…- … tramite un file
.user.ini(proprio di una cartella), - … o tramite la configurazione del sito del Manager (globale) come spiegato di seguito.
- … tramite un file
Includere un file globalmente dal Manager
Per accedere alla gestione del sito web:
- Clicca qui per accedere alla gestione del tuo sito sul Manager Infomaniak (hai bisogno di aiuto?).
- Clicca direttamente sul nome attribuito al sito interessato:

- Clicca su Gestisci i parametri avanzati:

- Clicca sulla scheda PHP / Apache:

- Completa la riga interessata inserendo il percorso del file da includere.
- Clicca sul pulsante Salva in fondo alla pagina:

Dopo aver definito questa direttiva, tutte le pagine PHP sul tuo server includeranno automaticamente il file specificato prima di eseguire il proprio codice.
Gli header definiti in un file .htaccess sono validi solo per il contenuto non PHP (quindi statico).
Infomaniak utilizza php-fpm che riceve i vari header tramite apache fast_cgi. Nella RFC di cgi_www l'header Strict-Transport-Security non fa parte degli header passati tramite CGI e la documentazione Apache lo conferma. Prendi visione di questa altra RFC.
Link a questa FAQ:
Questa FAQ è stata utile?
Questa guida dettaglia l'invio di e-mail da un sito web ospitato da Infomaniak utilizzando la funzione PHP mail() disattivata per impostazione predefinita.
Premessa
- Infomaniak sconsiglia fortemente l'uso della funzione PHP mail() per l'invio di e-mail dalle tue applicazioni:
- Le e-mail saranno considerate come "non autenticate" e saranno quindi soggette a limiti.
- La loro consegna sarà compromessa, il che può danneggiare il tuo sito web.
- È vivamente consigliato utilizzare un metodo di invio SMTP autenticato per l'invio di e-mail dalle tue applicazioni; Infomaniak offre a tal fine un servizio corrispondente.
Specificare l'indirizzo di spedizione
Per far sì che i messaggi partano correttamente dal tuo CMS/applicazione web (e evitare un errore di tipo Could not instantiate mail function o sender mismatch) è necessario specificare un indirizzo valido nelle impostazioni del sito lato Infomaniak:
- Clicca qui per accedere alla gestione del tuo sito sul Manager Infomaniak (hai bisogno di aiuto?).
- Clicca direttamente sul nome attribuito al sito interessato:

- Clicca su Gestisci le impostazioni avanzate:

- Dalla scheda Generale, inserisci un indirizzo email esistente nel campo Email del mittente.
- Clicca sul pulsante blu Salva:

Riattivare la funzione mail
Se desideri comunque utilizzare la funzione mail di PHP, sarà necessario attivarla su ciascuno dei siti del tuo Hosting Web interessato:
- Clicca qui per accedere alla gestione del tuo sito sul Manager Infomaniak (hai bisogno di aiuto?).
- Clicca direttamente sul nome attribuito al sito interessato:

- Clicca su Gestisci le impostazioni avanzate:

- Clicca sulla scheda PHP / Apache:

- Attiva la funzione mail:

- Clicca sul pulsante Salva in fondo alla pagina per confermare le modifiche.
Esempi PHP mail()…
… su WordPress
Configura l'invio del modulo di contatto predefinito incluso con Divi Builder:
- Accedi alla dashboard di amministrazione di WordPress.
- Vai nell'editor Divi della pagina contenente il modulo di contatto.
- Clicca sull'icona Impostazioni per configurare il modulo di contatto Divi:

- Sotto EMAIL, inserisci l'indirizzo email che riceverà le invii del modulo e salva:

- Per impostazione predefinita, quando un visitatore utilizza il modulo per contattarti, riceverai un'email da
mail@nome-del-tuo-sitoe se rispondi, il destinatario sarà automaticamente l'indirizzo email indicato dal visitatore durante la compilazione del modulo di contatto.
… su Prestashop
Accedi alle impostazioni avanzate di Prestashop:
- Specifica la modalità SMTP.
- Inserisci
localhostcome server. - Inserisci la porta
25. - Non specificare né nome utente né password.

… su Joomla
Configurare l'invio delle email tramite PHPmail (non raccomandato) in Joomla:
- Accedi alla dashboard di amministrazione del tuo sito Joomla.
- Vai su Configurazione poi Server.
- Non inserire NULLA nel campo Email del sito:

Questo impedisce purtroppo qualsiasi test di invio tramite il pulsante a tale scopo, ma funzionerà se configuri un modulo di contatto sul tuo sito. Clicca su Salva una volta lasciato il campo vuoto.
Indirizzo di risposta PHP mail()
Quando invii un'email con la funzione mail() di PHP, il return-path sarà indicato nella forma root@h2web3.infomaniak.ch ad esempio. Al contrario, l'intestazione Reply-To: presente nel codice del tuo modulo consente di specificare un indirizzo di risposta valido.
Link a questa FAQ:
Questa FAQ è stata utile?
Questa guida spiega come accedere alla configurazione di un sito Web Infomaniak per visualizzare informazioni tecniche come la versione di PHP, di Apache o le estensioni e i moduli PHP attivati.
Visualizzare le informazioni tecniche del sito
Per accedere alla gestione del sito Web:
- Clicca qui per accedere alla gestione del tuo sito sul Manager Infomaniak (hai bisogno di aiuto?).
- Clicca direttamente sul nome assegnato al sito interessato:

- Clicca su Gestisci i parametri avanzati:

- Prendi visione delle informazioni del sito Web nelle schede Generale, PHP / Apache e Estensioni PHP.
- Clicca su Basi di dati nel menu laterale sinistro per ottenere la versione di MySQL dell'hosting Web:

Link a questa FAQ:
Questa FAQ è stata utile?
Questa guida spiega come modificare le variabili dell'estensione PHP-CLI disponibile di default sul Server Cloud Infomaniak.
Modifica delle variabili PHP_CLI
Per accedere alle estensioni PHP del Server Cloud:
- Clicca qui per accedere alla gestione del tuo Server Cloud sul Manager Infomaniak (hai bisogno di aiuto?).
- Clicca direttamente sul nome attribuito al Server Cloud interessato.
- Clicca su Estensioni PHP nel menu laterale sinistro.
- Clicca sul menu azione ⋮ a destra di PHP-CLI nella tabella che si visualizza.
- Clicca su Configura:

- Modifica le seguenti variabili:
allow_url_fopen,allow_url_include,memory_limit,max_execution_time,short_open_tag,allow_local_infile - Clicca sul pulsante blu Salva.
Link a questa FAQ:
Questa FAQ è stata utile?
Questa guida spiega a cosa serve l'opzione "Prefisso MySQL" nelle impostazioni di un sito e quali sono le sue implicazioni per il funzionamento delle tue applicazioni Web (CMS) e script PHP.
Premessa
- Quando l'opzione "Prefisso MySQL" è attivata per un sito, non è più necessario aggiungere il prefisso "
wxyz_" prima del nome e degli utenti delle tue basi di dati MySQL. - Uno script PHP potrà quindi connettersi a MySQL con l'utente "monuser" e un database "mabase" e l'accesso avverrà automaticamente con l'utente "wxyz_monuser" e il database "wxyz_mabase".
- ⚠ Se effettui una migrazione da un'offerta Infomaniak precedente:
- Dopo aver migrato un sito dalla vecchia console, l'opzione "Prefisso MySQL" è attivata per impostazione predefinita per mantenere automaticamente la connessione delle tue applicazioni Web (WordPress, Joomla, Drupal, ecc.) e script PHP con le tue basi di dati MySQL.
- Per garantire il corretto funzionamento dei tuoi siti in caso di migrazione del tuo hosting su un altro server, è fortemente consigliato disattivare questa funzione ed effettuare gli aggiustamenti che comporta.
Gestire l'opzione Prefisso MySQL
Andare oltre con le variabili di ambiente
È possibile configurare le variabili di ambiente direttamente dal Manager per l'intero sito Web:
- Clicca qui per accedere alla gestione del tuo sito sul Manager Infomaniak (hai bisogno di aiuto?).
- Clicca direttamente sul nome assegnato al sito interessato:

- Clicca su Gestisci le impostazioni avanzate:

- Clicca sulla scheda PHP / Apache:

- Attiva o disattiva l'interruttore (toggle switch) Prefisso MySQL:

- Clicca sul pulsante Salva in fondo alla pagina.
- Effettua le modifiche necessarie nei file di configurazione delle tue applicazioni Web e script PHP…
Implicazioni e modifiche da apportare
Dopo aver disattivato l'opzione Prefisso MySQL per un sito, alcuni script PHP o CMS potrebbero smettere di funzionare.
Per ripristinare la connessione alle tue basi di dati, dovrai aggiornare le seguenti informazioni nel/nei file di configurazione degli script interessati:
- il nome del database MySQL: dovrai aggiungere il prefisso del tuo server
- prima:
dbname - dopo:
wxyz_dbname
- prima:
- l'utente del database MySQL: dovrai aggiungere il prefisso del tuo server
- prima:
dbuser - dopo:
wxyz_dbuser
- prima:
Link a questa FAQ:
Questa FAQ è stata utile?
Questa guida dettaglia l'uso di Crontab (crons tramite SSH), disponibile solo su Server Cloud, di default (esiste anche un pianificatore di attività per qualsiasi hosting).
Prerequisiti
- I file script chiamati dal cron devono essere eseguibili (CHMOD).
Percorso completo
I compiti Cron non conoscono il percorso assoluto (path). Chiamare PHP senza specificare i percorsi completi dell'eseguibile rende quindi impossibile l'esecuzione del compito. È necessario specificare
/opt/phpX.X/bin/phpsostituendo X.X con la versione di PHP desiderata (/opt/php8.1/bin/php ad esempio).
Altre operazioni
Ad esempio:
Elencare i crons dell'utente SSH in questione:
crontab -l -u UsernameModificare i crons:
crontab -e -u UsernameRicevere una notifica via email del risultato dei propri compiti cron (da aggiungere all'inizio del file):
MAILTO=e-mail@domain.xyz
Ripristinare un backup
Infomaniak salva i crons degli ultimi 7 giorni (una volta al giorno). In caso di cancellazione accidentale, contattare il supporto Infomaniak per richiedere un ripristino specificando l'ora e la data della cancellazione.
Link a questa FAQ:
Questa FAQ è stata utile?
Questa guida tecnica dettaglia i limiti delle risorse sugli hosting Web Infomaniak; è essenziale distinguere il tempo reale (orologio) dal tempo di calcolo (processore) per comprendere l'origine delle interruzioni degli script.
1. Tempo di connessione MySQL (I/O)
Limite: 30 secondi reali
Questo limite corrisponde al tempo assoluto trascorso "orologio alla mano". Si riferisce alla comunicazione tra PHP e il server del database (MySQL/MariaDB).
Non appena una connessione viene aperta, il server del database assegna un massimo di 30 secondi per ricevere la richiesta, eseguirla e restituire i risultati. Se questo tempo viene superato (spesso a causa di una richiesta SQL non ottimizzata), il server MySQL interrompe bruscamente la connessione. Questo genera generalmente l'errore MySQL server has gone away.
2. Tempo di elaborazione PHP (CPU)
Limite: 10 secondi CPU
Questo limite riguarda esclusivamente la potenza di calcolo consumata dal server Web per eseguire il codice PHP.
È fondamentale notare che il tempo di attesa non conta. Quando PHP attende una risposta dal database, è in pausa e non consuma quasi tempo CPU. Di conseguenza, uno script verrà interrotto dal server Web solo se esegue calcoli intensivi (cicli complessi, crittografia, elaborazione di file) per più di 10 secondi cumulativi.
Interazione dei due limiti
Per garantire la stabilità dell'applicazione, ogni operazione deve rispettare simultaneamente queste due distinte limitazioni:
- L'applicazione dispone di 30 secondi di tempo totale per interagire con il database (latenza di rete + esecuzione SQL).
- L'applicazione dispone di 10 secondi di tempo di calcolo puro per elaborare i dati ricevuti.
Esempio di funzionamento valido: uno script che attende una risposta complessa da MySQL per 25 secondi (I/O) e poi elabora il risultato per 2 secondi (CPU) funzionerà perfettamente, poiché non ha superato nessuno dei due limiti individuali, anche se il tempo totale è di 27 secondi.
Link a questa FAQ:
Questa FAQ è stata utile?
Questa guida fornisce indicazioni di base per creare e utilizzare un file .htaccess e .user.ini con un Hosting Web Infomaniak.
Premessa
- Un file
.htaccesssi posiziona alla radice di un sito web e permette di configurare il server HTTP Apache.- In qualità di file di configurazione decentralizzato, offre una flessibilità significativa per regolare il comportamento del server in base alle esigenze specifiche del sito.
- Questo file permette di definire regole di rewrite degli URL, imporre restrizioni di accesso, gestire gli errori HTTP e persino personalizzare aspetti di sicurezza come la disattivazione della visualizzazione dei file/cartelle.
- Facilita anche l'implementazione di reindirizzamenti e alias, offrendo così un controllo preciso sull'organizzazione e l'accessibilità del sito.
- Un file
.user.inipermette di personalizzare le direttive PHP della cartella (e delle sottocartelle) in cui si trova.- Agendo a livello dell'interprete PHP, questo file permette di definire configurazioni specifiche per una cartella data e le sue sottocartelle.
- Grazie alla sua sintassi chiara, offre la possibilità di modificare vari parametri come il limite di memoria, il tempo di esecuzione degli script, la gestione degli errori e altre direttive relative a PHP.
- Questo approccio granulare permette agli sviluppatori di personalizzare finemente il comportamento di PHP in base alle esigenze specifiche di ogni sezione del sito.
Creare un file…
… .htaccess
- Accedi al tuo hosting tramite FTP o SSH.
- Alla radice del sito web interessato, crea un nuovo file e dagli il seguente nome:
.htaccess. - Scrivi le direttive desiderate nel file, consulta ad esempio questa guida.
… .user.ini
- Accedi al tuo hosting tramite FTP o SSH.
- Nel punto desiderato, crea un nuovo file e dagli il seguente nome:
.user.ini. - Scrivi i parametri di configurazione PHP desiderati nel file.
La modifica del file .user.ini richiede diversi minuti per essere efficace.
Link a questa FAQ:
Questa FAQ è stata utile?
Questa guida è rivolta agli sviluppatori e ai webmaster che riscontrano problemi di visualizzazione di caratteri speciali (ad esempio accenti, caratteri arabi, cinesi, emoji, ecc.), sia su un sito Web Infomaniak che nel suo database.
Premessa
- Cause frequenti dei caratteri non visualizzati correttamente che appaiono al posto di caratteri speciali o emoji come
??:- Connessione PHP in
utf8invece diutf8mb4 - Tabella o colonna MySQL in
latin1outf8invece diutf8mb4 - File SQL codificato diversamente dal parametro di importazione
- File HTML/CSS/JS codificati in modo errato
- Assenza o dichiarazione errata del charset lato HTML, PHP o HTTP
- Connessione PHP in
- Soluzioni abituali:
- Utilizzare
utf8mb4ovunque: base, connessioni, tabelle, colonne, file, intestazioni - Validare la codifica di tutti i file e i dump
- Testare la visualizzazione degli emoji, degli accenti e di altri caratteri multilingue
- Utilizzare
- Prendere anche visione di questa altra guida per forzare un'altra codifica durante la connessione a un database MySQL.
Utilizzare un editor di testo che supporta il salvataggio in UTF-8 senza BOM (Visual Studio Code, Sublime Text, Notepad++...)
1. Utilizzare UTF-8 o UTF-8MB4 ovunque
La codifica utf8 di MySQL non supporta i caratteri su 4 byte, come gli emoji. Questi ultimi appariranno come ??. È quindi necessario utilizzare utf8mb4, che è una vera e propria implementazione completa di UTF-8.
2. HTML – Dichiarazione corretta della codifica
Nel <head> delle vostre pagine HTML:
<meta charset="UTF-8">Assicurarsi anche che i file CSS/JS siano salvati in UTF-8 (senza BOM).
3. PHP – Forzare UTF-8 o UTF-8MB4
a) Intestazioni HTTP
header('Content-Type: text/html; charset=utf-8');b) Connessione MySQL (API MySQL)
$connection = mysql_connect($host, $user, $pass);
mysql_set_charset('utf8mb4', $connection);c) Connessione PDO
$dsn = "mysql:host=localhost;dbname=ma_base;charset=utf8mb4";
$pdo = new PDO($dsn, $user, $pass, [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
]);4. Database MySQL
a) Configurazione in phpMyAdmin
- Il database, le tabelle e le colonne devono essere in
utf8mb4_unicode_cioutf8mb4_general_ci. - Nella scheda Operazioni, scegliere
utf8mb4_unicode_ciper la collazione.
b) Comandi SQL utili
ALTER DATABASE ma_base CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
ALTER TABLE ma_table CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;c) Dopo la connessione PHP
mysqli_query($conn, "SET NAMES 'utf8mb4'");
mysqli_query($conn, "SET CHARACTER SET 'utf8mb4'");5. File .user.ini / .htaccess
Per forzare la codifica lato server (Apache):
AddDefaultCharset utf-8
Header set Content-Type "text/html; charset=utf-8"
# Pour PHP
php_value default_charset UTF-8
php_value mbstring.internal_encoding UTF-86. Importazione / esportazione di dump SQL
Errori come é che diventa ? o un emoji ☺ che diventa ?? derivano spesso da un disallineamento di codifica.
Verifica la codifica del file SQL prima dell'importazione. Usa iconv se necessario:
iconv -f ISO-8859-1 -t UTF-8 dump.sql > dump_utf8.sqlIn phpMyAdmin, specificare la codifica di importazione (ad esempio UTF-8, UTF-8MB4 o latin1 a seconda del file).
Link a questa FAQ:
Questa FAQ è stata utile?
Questa guida dettaglia le differenze tra i protocolli IMAP e POP3 su un software/client di posta elettronica (Outlook, Microsoft 365, Thunderbird, Apple Mail, eM Client, ecc.) e spiega perché è fondamentale non utilizzarli contemporaneamente per lo stesso indirizzo email gestito da Infomaniak.
IMAP (consigliato)
L'IMAP è il protocollo di sincronizzazione. I messaggi rimangono sul server e sono consultabili ovunque.
- Accesso multi-dispositivo: le tue email sono sincronizzate tra il tuo computer, il tuo mobile e l'app Web Mail Infomaniak.
- Lavoro collaborativo: ideale per le caselle condivise. Se un utente sposta o elimina un messaggio, la modifica è visibile a tutti.
- Sicurezza: in caso di guasto del tuo computer, i tuoi messaggi rimangono salvati sul server.
POP3 (uso specifico)
Il POP3 è un protocollo di download. I messaggi vengono recuperati sul tuo computer e generalmente eliminati dal server.
- Consultazione offline: i messaggi sono memorizzati localmente sul tuo disco rigido.
- Svantaggio principale: una volta scaricati, i messaggi non sono più visibili sull'app Web Mail Infomaniak o sui tuoi altri dispositivi.
- Rischi: se utilizzi l'opzione "conservare una copia dei messaggi sul server", rischi di scaricare duplicati e di avere errori di sincronizzazione.
Importante: non mescolare mai POP e IMAP
L'uso simultaneo di questi due protocolli per lo stesso indirizzo provoca gravi conflitti tecnici:
- Scomparsa inspiegabile di messaggi su alcuni dispositivi.
- Scaricamenti ripetuti di vecchi messaggi già letti (soprattutto su Outlook).
- Saturazione inutile dello spazio di archiviazione.
Consiglio: privilegia l'uso dell'IMAP su tutti i tuoi software/client di posta elettronica.
Consulta queste altre guide per configurare un account in IMAP o per passare da POP a IMAP.
Link a questa FAQ:
Questa FAQ è stata utile?
Questa guida riguarda IonCube Loader, un modulo PHP che consente di decodificare gli script PHP che sono stati codificati con IonCube Encoder.
Premessa
- La codifica IonCube viene utilizzata per proteggere il codice sorgente di un'applicazione e impedire la modifica o la distribuzione illegale dello stesso.
- Utilizzando IonCube Loader, i proprietari di siti possono garantire la sicurezza del loro codice e del loro contenuto, consentendo al contempo una distribuzione sicura e facile delle loro applicazioni.
Utilizzare ionCube Loader
Con un hosting condiviso non è più offerto. Puoi verificarlo dal pannello di controllo:
- Clicca qui per accedere alla gestione del tuo sito sul Manager Infomaniak (hai bisogno di aiuto?).
- Clicca direttamente sul nome assegnato al sito interessato:

- Clicca su Gestisci i parametri avanzati:

- Clicca sulla scheda Estensioni PHP.
- Clicca su ionCube Loader (se presente nell'elenco) per vedere i dettagli:

- In questo caso, sarà necessario considerare un Server Cloud.
Link a questa FAQ:
Questa FAQ è stata utile?
Jelastic Cloud Infomaniak è una delle soluzioni PaaS più complete e flessibili del mercato.
Premessa
Node.js= nome ufficiale del linguaggio/ambiente.NodeJS= nome "tecnico" o semplificato in alcuni contesti (spesso per motivi pratici, non c'è una vera differenza tecnica).
Linguaggi supportati
Potrai distribuire applicazioni Java, PHP, Ruby, Node.js, Python e Go senza dover adattare il tuo codice utilizzando Docker, Kubernetes, GIT, SVN o estensioni integrate come Maven, Ant, Eclipse, NetBeans o IntelliJ IDEA.
Database SQL e NoSQL supportati
MariaDB, MongoDB, MySQL, Postgre, Redis, Neo4j, Cassandra, OrientDB, PerconaDB, CouchDB, Couchbase.
Server di applicazioni supportati
Tomcat, TomEE, Jetty, GlassFish, Payara, Apache PHP, Apache Ruby, Apache Python, NGINX PHP, NGINX Ruby, NodeJS, JBoss, SmartFoxServer, SpringBoot, WildFly, Golang.
Load balancer supportati
NGINX, Apache Balancer, HAProxy, Varnish.
Link a questa FAQ:
Questa FAQ è stata utile?
Questa guida spiega come disattivare o configurare HSTS per un sito Web.
Premessa
- Quando HSTS è attivato per un sito Web, il server indica al visitatore del sito (se il suo browser Web è compatibile) di sostituire tutti i link non sicuri con link sicuri.
- Esempio:
http://www.domain.xyz.com/one/page/viene automaticamente sostituito dahttps://www.domain.xyz/one/page/. - Dopo aver attivato un certificato SSL su un sito Web, HSTS è configurato come segue:
max-age=16000000.
Disattivare HSTS…
… con un CMS (WordPress, Joomla, ecc.)
Includere in tutte le pagine generate dal CMS la seguente riga:
header( 'Strict-Transport-Security: max-age=0;' );Per WordPress, ad esempio, è possibile aggiungere questa direttiva nel file functions.php del tema:
add_action( 'send_headers', 'add_header_xua' );
function add_header_xua() {
header( 'Strict-Transport-Security: max-age=0;' );
}Maggiori dettagli su WordPress
… con un sito PHP
Includere la seguente riga in tutte le pagine php:
header( 'Strict-Transport-Security: max-age=0;' );Per fare questo senza dover modificare ogni pagina php di un sito, è possibile utilizzare la direttiva auto_prepend_file nel file .user.ini del sito interessato:
auto_prepend_file=/home/clients/xxxx/web/hsts_disable.php... con il file hsts_disable.php seguente:
header( 'Strict-Transport-Security: max-age=0;' );
… con un sito a contenuto statico (non PHP)
Includere questo header in un file .htaccess:
# BEGIN DISABLE HSTS
<IfModule mod_headers.c>
Header always set Strict-Transport-Security "max-age=0; includeSubDomains;"
</IfModule>
# END DISABLE HSTS
Personalizzare HSTS
Il valore predefinito può essere modificato nei file php del sito Web con la seguente direttiva:
header( 'Strict-Transport-Security: max-age=X; includeSubdomains; preload' );(X è il numero di secondi desiderato).
Attivare HSTS per tutti i sottodomini ospitati
includeSubDomains; è attivato per impostazione predefinita e, come indica il nome, include i sottodomini nelle "Strict Transport Security".
Quando il visitatore accede a un sottodominio non sicuro, il browser reindirizzerà automaticamente a HTTPS e causerà un errore di sicurezza.
Se questo comportamento non è desiderato, è necessario rimuovere questo header.
Cancellare la cache HSTS del browser…
… su Chrome
- In Chrome, digitate
chrome://net-internals/#hsts. - Inserisci il nome di dominio nel campo di testo della sezione "Elimina le politiche di sicurezza del dominio".
- Fai clic sul pulsante Elimina.
- Inserisci il nome di dominio nel campo di testo della sezione "Interroga HSTS".
- Fai clic sul pulsante Interroga.
- La risposta deve essere "
Non trovato" (non trovato).
… su Safari
- Con Safari, inizia chiudendo il browser.
- Cancella il file
~/Library/Cookies/HSTS.plist. - Riapri Safari.
… su Firefox
- Con Firefox, chiudi tutte le schede.
- Apri il menu di Firefox e fai clic su Cronologia / Visualizza cronologia.
- Cerca la pagina delle cui preferenze HSTS desideri eliminare.
- Esegui un clic destro su una delle voci corrispondenti.
- Scegli Dimentica questo sito.
Link a questa FAQ:
Questa FAQ è stata utile?
Questa guida spiega come aumentare il valore max_children su Server Cloud per aumentare il numero di processi PHP simultanei che possono essere utilizzati dal tuo sito. Questo sarà molto utile per risolvere problemi di caricamento infinito delle pagine del tuo sito.
Premessa
- Per impostazione predefinita su qualsiasi hosting, il limite di
max_childrenè impostato su 20.- Sebbene sia possibile aumentare questo valore dal Manager Infomaniak, il limite di
max_childrenviene automaticamente regolato in base alla configurazione del tuo Server Cloud. - Per aumentare questo limite su hosting condiviso, migrate su Server Cloud.
- Sebbene sia possibile aumentare questo valore dal Manager Infomaniak, il limite di
- Per capire come calcolare al meglio i
max_childrennecessari, consulta questo articolo sull'argomento.
Aumentare il valore max_children
Prerequisiti
- Assicurarsi di disporre delle risorse necessarie sul server Cloud.
- Assicurarsi che tutte le risorse del server Cloud non siano utilizzate; se risulta che queste sono completamente utilizzate, l'aumento del valore
max_childrennon avrà alcun effetto (Modificare le risorse del Server Cloud). - Controllare il monitoraggio delle risorse del tuo server, nel caso in cui le risorse del tuo server siano esaurite, sarà necessario verificare l'ottimizzazione dei processi e del tuo sito prima di considerare l'aumento del valore
max_children. - Consultare i rapporti di errore PHP dalla cartella
/ik-logs(master process php logs - nome del file: php-fpm.log) per verificare se il limite "max_children" è stato superato... esempio di errore:[05-Jul-2024 09:08:58] WARNING: [pool www.infomaniak.ch] server reached max_children setting (20), consider raising it
Per accedere alla gestione dei parametri PHP / Apache del sito di cui è necessario aumentare il valore max_children su Server Cloud, consulta questa altra guida.
Potrai in particolare...
- ... scegliere un nuovo valore di
max_children:
Non dimenticare di salvare le modifiche in fondo alla pagina.
Limiti in base al server
Limite dei max_children in base alle risorse del Server Cloud:
| Configurazione Server Cloud | max_children |
|---|---|
| 2 CPU / 6 Go RAM | 20 |
| 4 CPU / 12 Go RAM | 40 |
| 6 CPU / 18 Go RAM | 60 |
| 8 CPU / 24 Go RAM | 80 |
| 12 CPU / 36 Go RAM | 120 |
| 16 CPU / 48 Go RAM | 160 |
| 24 CPU / 72 Go RAM | 240 |
| 32 CPU / 96 o 128 Go RAM | 320 |
Link a questa FAQ:
Questa FAQ è stata utile?
Questa guida riguarda Laravel, un framework web open-source scritto in PHP che rispetta il principio modello-vista-controllore (MVC). Consultate anche la loro documentazione.
Prerequisiti
- Possedere un Hosting Web condiviso o un Server Cloud con MySQL/MariaDB più recente.
- Sito sotto PHP 8.2.
- Creare un accesso SSH.
- Creare un database.
Installazione di Laravel 11
Per fare questo:
- Connettersi al server tramite SSH (bisogno di aiuto?).
- Posizionarsi nella directory del sito eseguendo il comando “cd percorso-al-sito” (ad esempio
cd sites/laravel.domain.xyz). - Creare un nuovo progetto eseguendo il comando
composer create-project laravel/laravel example-app. - Modificare il file
.envalla radice dell'hosting per aggiornare i parametri di connessione al nuovo database:- DB_CONNECTION=mysql
- DB_HOST=xxxx.myd.infomaniak.com
- DB_PORT=3306
- DB_DATABASE= il nome del database MySQL (xxxx_newbdd)
- DB_USERNAME= l'utente MySQL con i diritti su questo database
- DB_PASSWORD= la sua password
- Posizionarsi nella directory del progetto e pubblicare tramite SSH:
cd example-appphp artisan migrate - Modificare la directory di destinazione per farla puntare nella sottodirectory «public» del progetto, qui
/sites/laravel.domain.xyz/example-app/public.
Link a questa FAQ:
Questa FAQ è stata utile?
Questa guida riguarda la configurazione e la gestione di ModSecurity sui server Infomaniak. Comprendendo i suoi limiti, le restrizioni e gestendo efficacemente gli errori, è possibile ottimizzare la sicurezza del sito mantenendone la funzionalità.
Configurazione predefinita
ModSecurity (mod_secure) è disponibile e attivato per impostazione predefinita sui server Infomaniak. Ciò significa che tutte le richieste HTTP saranno sottoposte alle regole di sicurezza definite da ModSecurity.
Non è possibile disattivare ModSecurity sui server Infomaniak. Il parametro è globale per il server su cui è ospitato il sito, il che significa che tutte le regole di sicurezza definite saranno applicate al sito.
Gestione degli errori
Se il messaggio di errore ModSecurity: Accesso negato con codice 403 (fase 2). L'operatore EQ corrisponde a 0 in REQUEST_HEADERS. (...) viene visualizzato riguardo a ModSecurity, è necessario verificare che una lingua predefinita sia configurata correttamente nel browser Web. Questo errore può talvolta essere causato da parametri di lingua configurati in modo errato nel browser.
L'estensione PHP uploadprogress non è disponibile sui server Infomaniak, poiché PHP viene utilizzato nella sua versione FPM.
Link a questa FAQ:
Questa FAQ è stata utile?
Questa guida spiega come modificare il valore della direttiva PHP include_path.
Modifica include_path
Come qualsiasi altro parametro PHP, include_path è definito nel file .user.ini.
Ecco un esempio di percorso da utilizzare nel file .user.ini:
include_path = ".:/home/clients/123456789a12345b12fc345d/web/www.domain.xyz/include"- Il punto (
.) all'inizio permette di mantenere la directory corrente nella ricerca. - I due punti (
:) servono da separatore tra le diverse cartelle.
Prendi visione di questa altra guida riguardo al phpinfo per verificare l'applicazione della tua nuova direttiva (la modifica potrebbe impiegare alcuni minuti ad apparire).
Sebbene questo metodo sia ancora funzionante, l'uso dell'autoloader di Composer è oggi la soluzione preferita per la gestione delle inclusioni.
Link a questa FAQ:
Questa FAQ è stata utile?
Questa guida riguarda Redis, un modulo PHP per Server Cloud Infomaniak.
Premessa
Redisviene utilizzato con PHP per accelerare le prestazioni fungendo da cache per i dati temporanei e per gestire le sessioni utente, migliorando così l'efficienza delle applicazioni web.Redisconsente inoltre di implementare sistemi di coda e di memorizzare temporaneamente i dati per compiti asincroni o statistiche.
Installare Redis
Redis si installa tramite Fast Installer, le applicazioni disponibili in pochi clic su Server Cloud:
- Dopo l'installazione,
Redisè accessibile tramite l'IP/portalocalhost:6379o127.0.0.1:6379 - La password per
Redisdeve essere compresa tra 15 e 99 caratteri (inclusi).
Link a questa FAQ:
Questa FAQ è stata utile?
Questa guida spiega come passare, in un software/client di posta elettronica, da una configurazione POP a una configurazione IMAP per la stessa casella di posta. Infatti, per molte ragioni, è fortemente consigliato utilizzare il protocollo IMAP invece di POP.
Passare dal protocollo POP al protocollo IMAP…
Se il tuo indirizzo email è già configurato con il protocollo POP nel tuo software/client di posta elettronica (Mozilla Thunderbird, Microsoft Outlook, ecc.), è impossibile passare al protocollo IMAP direttamente sull'account. Infatti, i software/client di posta elettronica più comuni non permettono di modificare un account POP3 esistente e di definirlo come IMAP.
La soluzione è quindi di aggiungere lo stesso account email ma con il protocollo IMAP nel tuo software/client di posta elettronica e poi di spostare i tuoi messaggi e cartelle dall'account POP (del tuo computer) all'account IMAP (sul server di posta).
⚠️ Attenzione: un account POP3 nel tuo software/client di posta elettronica implica che Infomaniak non possiede la maggior parte delle volte alcun backup. È quindi necessario fare attenzione a salvare i tuoi messaggi prima di qualsiasi operazione critica.
… con Microsoft Outlook
Alcune versioni di Outlook come la 2016 impediscono l'aggiunta semplice di un secondo account che avrebbe la stessa denominazione (indirizzo email identico).
Per aggirare questo problema, è necessario aggiungere l'account dalla sezione Profili:
E da lì potrai aggiungere l'account aggiuntivo, in IMAP:
- Configura il nuovo account email con il protocollo IMAP (lo stesso account configurato in POP ma questa volta in IMAP):
- Sposta una cartella alla volta trascinandole nella casella di posta in arrivo del nuovo account configurato in IMAP:
- Attendi durante il trasferimento degli elementi (può richiedere molto tempo a seconda del volume da trasferire sul server); l'attività è indicata in basso nella finestra:
Se il tuo account POP conservava una copia dei messaggi sul server (opzione sconsigliata presente nelle impostazioni avanzate del tuo Outlook), rischi di avere messaggi duplicati.
… con Apple Mail
L'eliminazione dell'account email configurato in POP elimina i messaggi che contiene. È quindi consigliato disattivare l'account POP invece di eliminarlo!
Una volta disattivato l'account POP, prendi visione di questa altra guida per configurare il tuo indirizzo email in Apple Mail, in IMAP.
Quando avrai terminato, non ti resterà che trascinare i messaggi presenti nella tua struttura di account POP nella struttura del nuovo account IMAP.
Link a questa FAQ:
Questa FAQ è stata utile?