Base de connaissances
1 000 FAQ, 500 tutoriels et vidéos explicatives. Ici, il n'y a que des solutions !
Ce guide concerne Redis
, un module PHP pour Serveur Cloud Infomaniak.
Préambule
Redis
est utilisé avec PHP pour accélérer les performances en servant de cache pour des données temporaires et pour gérer les sessions utilisateur, améliorant ainsi l'efficacité des applications Web.Redis
permet également de mettre en place des systèmes de file d'attente et de stocker temporairement des données pour des tâches asynchrones ou des statistiques.
Installer Redis
Redis
s'installe depuis Fast Installer, les applications disponibles en quelques clics sur Serveur Cloud:
- Après installation,
Redis
est accessible via l'IP/portlocalhost:6379
ou127.0.0.1:6379
- Le mot de passe pour
Redis
doit faire entre 15 et 99 caractères (inclus).
Ce guide explique comment modifier la valeur de la directive php_value include_path
.
Modifier le include_path
Comme tout autre paramètre PHP, include_path est défini dans le fichier .user.ini.
Voici un exemple de chemin Ă utiliser dans le fichier .user.ini
:
include_path = .:/home/clients/123456789a12345b12fc345d/web/www.domainetest.abc/public/abc/include
Prenez connaissance de cet autre guide au sujet du phpinfo afin de vérifier la prise en compte de votre nouvelle directive.
Ce guide explique comment modifier les variables de l'extension PHP-CLI qui est disponible par défaut sur Serveur Cloud Infomaniak.
Modifier les variables PHP_CLI
Pour accéder aux extensions PHP du Serveur Cloud :
- Cliquez ici afin d'accéder à la gestion de votre Serveur Cloud sur le Manager Infomaniak (besoin d'aide ?).
- Cliquez directement sur le nom attribué au Serveur Cloud concerné.
- Cliquez sur Extensions PHP dans le menu latéral gauche.
- Cliquez sur le menu d'action â‹® Ă droite de PHP-CLI dans le tableau qui s'affiche.
- Cliquez sur Configurer:
- Modifiez les variables suivantes :
allow_url_fopen
,allow_url_include
,memory_limit
,max_execution_time
,short_open_tag
,allow_local_infile
- Cliquez sur le bouton bleu Enregistrer.
Ce guide explique comment autoriser certains ports entrants et/ou sortants dans le pare-feu (ou firewall) d'un serveur VPS Cloud / VPS Lite.
Accéder à l'outil de gestion
Pour gérer le pare-feu VPS Cloud / VPS Lite:
- Cliquez ici afin d'accéder à la gestion de votre produit sur le Manager Infomaniak (besoin d'aide ?).
- Cliquez directement sur le nom attribué au produit concerné.
- Cliquez sur Firewall dans le menu latéral gauche:
Règle pour autoriser le ping sur VPS Cloud / VPS Lite
Pour ajouter une règle sur le pare-feu:
- Cliquez sur le bouton bleu pour Ajouter une règle.
- Cliquez sur Sélection manuelle.
- Sélectionnez ICMP:
- Validez en bas de page.
Ouvrir le port sortant 25 de façon globale
Le port sortant 25
(port SMTP Mail) est bloqué par défaut.
Il est recommandé d'utiliser une solution d'envoi mail authentifié.
Pour ouvrir ce port, contactez le support Infomaniak en justifiant votre demande.
Ce guide explique comment modifier la configuration d'un VPS Cloud / VPS Lite.
Modifier la taille de stockage sur VPS Cloud / VPS Lite
Pour accéder au VPS Cloud / VPS Lite :
- Cliquez ici afin d'accéder à la gestion de votre produit sur le Manager Infomaniak (besoin d'aide ?).
- Cliquez sur le menu d'action ⋮ à droite de l'objet concerné dans le tableau qui s'affiche.
- Cliquez sur Modifier l'offre:
- Effectuez les ajustements souhaités et terminez la procédure en bas:
- Il est nécessaire d'étendre le volume après une augmentation du volume de stockage.
Infomaniak ne propose pas de chiffrement de disque virtuel sur VPS Cloud / VPS Lite mais fournit un périphérique bloc que vous pouvez formater et chiffrer si vous le souhaitez.
Ce guide concerne le swap sur Serveur Cloud.
Swap et mémoire RAM
Il peut y avoir du swap alors que la consommation de RAM est faible. En effet le système peut utiliser le swap à tout moment s'il le juge utile.
Le swap n'est pas un espace mémoire dédié à être utilisé s'il n'y a pas de RAM libre, bien que ce soit souvent son utilisation principale.
Si vous souhaitez en savoir plus, il existe un paramètre "swappiness" qui permet de définir la manière dont le système utilisera le swap. La valeur par défaut est 60
et elle ne peut pas être modifiée.
Ce guide explique comment se connecter à Elasticsearch après l'avoir installé sur Magento depuis un Serveur Cloud Infomaniak.
Prérequis
- Posséder un Serveur Cloud Infomaniak.
- Installer Magento.
- Prendre contact avec le support Infomaniak pour l'installation d'Elasticsearch.
Informations de connexion
Une fois connecté à votre espace Magento, il sera nécessaire d'indiquer les informations suivantes pour démarrer Elasticsearch :
- Hostname :
localhost
ou127.0.0.1
- Port :
9200
- Préfixe :
magento2
⚠️ Pour de l'aide supplémentaire contactez un partenaire ou lancez gratuitement un appel d'offres — découvrez aussi le rôle de l'hébergeur.
Ce guide présente plusieurs exemples d'utilisation de Varnish sur Serveur Cloud Infomaniak.
⚠️ Pour de l'aide supplémentaire contactez un partenaire ou lancez gratuitement un appel d'offres — découvrez aussi le rôle de l'hébergeur.
Configuration de Varnish
Après installation, la configuration de Varnish inclut des règles importantes pour la mise en cache et le purging. Soyez attentif à ne pas autoriser accidentellement des adresses IP non souhaitées.
Voici à quoi pourrait ressembler un fichier de configuration de base avec quelques cas courants et différentes actions/règles dans un seul exemple:
vcl 4.0;
# Configuration du backend par défaut
backend default {
.host = "127.0.0.80"; # Adresse IP du backend
.port = "80"; # Port du backend
}
# Définition d'une liste de contrôle d'accès (ACL) pour les IPs autorisées à purger le cache
acl purge {
"localhost"; # IP locale
"1.2.3.4"; # IP de votre domicile
"42.42.42.0"/24; # Plage d'IP publique de votre entreprise
! "42.42.42.7"; # Exclusion d'une IP spécifique (ex : un collègue gênant)
}
# Traitement des requêtes à leur réception par Varnish
sub vcl_recv {
# Autoriser les requĂŞtes de purge
if (req.method == "PURGE") {
# Vérification si l'IP du client est autorisée à purger
if (!client.ip ~ purge) { # 'purge' fait référence à l'ACL définie plus haut
# Retourne une page d'erreur si l'IP n'est pas autorisée
return (synth(405, "Cette IP n'est pas autorisée à envoyer des requêtes PURGE."));
}
# Si l'IP est autorisée, purger le cache pour cette requête
return (purge);
}
# Autoriser la purge de toutes les images via une requĂŞte PURGEALL
if (req.method == "PURGEALL" && req.url == "/images") {
if (!client.ip ~ purge) {
return (synth(405, "Cette IP n'est pas autorisée à envoyer des requêtes PURGE."));
}
# Invalider tous les objets en cache correspondant Ă des images
ban("req.url ~ \.(jpg|png|gif|svg)$");
return (synth(200, "Images purgées."));
}
# Ne pas mettre en cache les pages avec une autorisation (header Authorization)
if (req.http.Authorization) {
# Passer la requĂŞte directement au backend sans la mettre en cache
return (pass);
}
}
# Traitement de la réponse du backend avant de la renvoyer au client
sub vcl_backend_response {
# Mise en cache des images pour une durée de 1 jour
if (beresp.http.content-type ~ "image") {
set beresp.ttl = 1d;
}
# Si le backend indique que la réponse ne doit pas être mise en cache, respecter cette consigne
if (beresp.http.uncacheable) {
set beresp.uncacheable = true;
}
}
Purge Ă partir de l'interface CLI
À partir de là , les règles énoncées dans la configuration ci-dessus fonctionnent sur toutes les demandes, donc si le site configuré est "domain.xyz", vous pouvez simplement utiliser l'outil CLI "curl
" et faire ce qui suit:
# Envoyer une requĂŞte PURGE pour purger la page d'accueil de "domain.xyz"
$ curl -X PURGE https://domain.xyz/
# Réponse renvoyée par le serveur Varnish
<!DOCTYPE html>
<html>
<head>
<title>200 Purged</title>
</head>
<body>
<h1>Erreur 200 : Purge effectuée</h1>
<p>La page a été purgée avec succès.</p>
<h3>Guru Meditation:</h3>
<p>XID: 2</p>
<hr>
<p>Serveur de cache Varnish</p>
</body>
</html>
Et là , la page d'accueil a été purgée. Ou pour purger une autre URL, il suffit de faire pointer la requête vers cette dernière:
# Envoyer une requête PURGE pour purger un fichier spécifique à "domain.xyz"
$ curl -X PURGE https://domain.xyz/some_path/some_file.html
# Réponse renvoyée par le serveur Varnish
<!DOCTYPE html>
<html>
<head>
<title>200 Purged</title>
</head>
<body>
<h1>Erreur 200 : Purge effectuée</h1>
<p>Le fichier a été purgé avec succès.</p>
<h3>Guru Meditation:</h3>
<p>XID: 4</p>
<hr>
<p>Serveur de cache Varnish</p>
</body>
</html>
Ou, comme indiqué dans la configuration VCL, purger toutes les images:
# Envoyer une requĂŞte PURGEALL pour purger toutes les images dans "domain.xyz"
$ curl -X PURGEALL https://domain.xyz/images
# Réponse renvoyée par le serveur Varnish
<!DOCTYPE html>
<html>
<head>
<title>200 Purged images</title>
</head>
<body>
<h1>Erreur 200 : Images purgées</h1>
<p>Toutes les images ont été purgées avec succès.</p>
<h3>Guru Meditation:</h3>
<p>XID: 32770</p>
<hr>
<p>Serveur de cache Varnish</p>
</body>
</html>
Purge Ă partir d'un CMS
C'est un peu plus difficile d'illustrer ce cas car il existe de nombreuses façons de gérer la mise en cache depuis un backend. Dans l'exemple de configuration ci-dessus, un contrôle sur l'en-tête "Uncacheable
" est ajouté, qui désactive la mise en cache. Avec cette option, n'importe quel CMS pourrait simplement définir cet en-tête sur la réponse pour désactiver la mise en cache de cette requête p.ex.
A partir de n'importe quel code PHP et avec la configuration ci-dessus, vous pouvez simplement envoyer une requĂŞte HTTP et utiliser cet extrait pour effectuer un PURGE du cache:
<?php
if ($curl = curl_init("http://127.0.0.1/some_url")) {
curl_setopt_array($curl, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "PURGE",
CURLOPT_HTTPHEADER => [
"Host: {$_SERVER['HTTP_HOST']}"
]
]);
curl_exec($curl);
if (curl_getinfo($curl, CURLINFO_HTTP_CODE) == 200) {
echo "Cache purged!";
}
curl_close($curl);
}
?>
En savoir plus
Liens utiles concernant le langage de configuration Varnish (VCL) pour contrĂ´ler le traitement des demandes, le routage, la mise en cache et plusieurs autres aspects:
Il n'est pas possible de commander et d'obtenir davantage d'adresses IP sur un VPS Cloud / VPS Lite.
Les alternatives possibles seraient d'utiliser…
- … un hébergement de type Public Cloud (il est possible d'y ajouter autant d'adresses IP que désiré),
- … l'outil Newsletter selon vos besoins.