Base de connaissances
1 000 FAQ, 500 tutoriels et vidéos explicatives. Ici, il n'y a que des solutions !
Ce guide détaille les restrictions relatives au nombre de connexions simultanées autorisées sur les bases de données MySQL des hébergements Web.
Seuils de connexions MySQL simultanées
Afin de préserver la stabilité, la sécurité et la réactivité du serveur pour l'ensemble des utilisateurs, des limites de connexions simultanées sont appliquées par le système.
Pour chaque utilisateur de base de données chez Infomaniak, le plafond est fixé à 38 connexions MySQL simultanées.
Ce quota prévient toute saturation des ressources partagées. Si ce seuil est franchi, l'accès est momentanément bloqué et des erreurs de type User has already more than 'max_user_connections' active connections ou Too many connections peuvent s'afficher.
En pratique, ce seuil est rarement atteint. Si nécessaire, il est tout à fait possible de répartir la charge en créant des utilisateurs MySQL distincts pour les différents scripts ou services de votre site.
Aucun quota de connexions horaires
Infomaniak n'impose aucune restriction sur le volume de requêtes par heure. Les paramètres tels que MAX_QUERIES_PER_HOUR ou MAX_CONNECTIONS_PER_HOUR ne sont pas activés.
À l'inverse de certaines offres concurrentes, vous ne rencontrerez pas d'erreur de dépassement de ressources de type SQL Error : 1226 liée à un volume d'activité horaire.
En savoir plus
Lien vers cette FAQ: https://faq.infomaniak.com/471
Cette FAQ a été utile?
Ce guide technique détaille les limites de ressources sur les hébergements Web Infomaniak ; il est essentiel de distinguer le temps réel (horloge) du temps de calcul (processeur) pour comprendre l'origine des interruptions de scripts.
1. Temps de connexion MySQL (I/O)
Limite : 30 secondes réelles
Cette limite correspond au temps absolu écoulé "montre en main". Elle concerne la communication entre PHP et le serveur de base de données (MySQL/MariaDB).
Dès qu'une connexion est ouverte, le serveur de base de données alloue 30 secondes maximum pour recevoir la requête, l'exécuter et renvoyer les résultats. Si ce délai est dépassé (souvent à cause d'une requête SQL mal optimisée), le serveur MySQL coupe brutalement la connexion. Cela génère généralement l'erreur MySQL server has gone away.
2. Temps de traitement PHP (CPU)
Limite : 10 secondes CPU
Cette limite concerne exclusivement la puissance de calcul consommée par le serveur Web pour exécuter le code PHP.
Il est crucial de noter que le temps d'attente ne compte pas. Lorsque PHP attend une réponse de la base de données, il est en pause et ne consomme quasiment pas de temps CPU. Par conséquent, un script sera interrompu par le serveur Web uniquement s'il effectue des calculs intensifs (boucles complexes, cryptographie, traitement de fichiers) pendant plus de 10 secondes cumulées.
Interaction des deux limites
Pour garantir la stabilité de l'application, chaque opération doit respecter simultanément ces deux contraintes distinctes :
- L'application dispose de 30 secondes de temps total pour interagir avec la base de données (latence réseau + exécution SQL).
- L'application dispose de 10 secondes de temps de calcul pur pour traiter les données reçues.
Exemple de fonctionnement valide : un script qui attend 25 secondes une réponse complexe de MySQL (I/O) puis traite le résultat pendant 2 secondes (CPU) fonctionnera parfaitement, car il n'a dépassé aucun des deux quotas individuels, même si le temps total est de 27 secondes.
Lien vers cette FAQ: https://faq.infomaniak.com/481
Cette FAQ a été utile?
Ce guide explique comment rediriger le trafic d'un nom de domaine alias (synonyme) vers votre domaine principal, ou forcer l'affichage du domaine principal dans la barre d'adresse du navigateur.
Prévenir le contenu dupliqué (duplicate content)
Imaginons que votre site web soit hébergé sous le domaine principal example.com et que vous ayez configuré un domaine alias tel que example-alias.com.
Par défaut, lorsqu'un visiteur saisit l'une ou l'autre de ces adresses dans son navigateur, l'URL tapée reste affichée. Cela peut générer du contenu dupliqué (duplicate content), ce qui nuit au référencement naturel (SEO).
Pour éviter cela, vous pouvez forcer la redirection : si un visiteur tape example-alias.com, il sera automatiquement redirigé vers example.com.
Cette configuration s'effectue dans le fichier .htaccess situé à la racine de votre hébergement (généralement dans le dossier /web via votre accès FTP). Si ce fichier n'existe pas encore, vous devez le créer.
Insérez ensuite les directives suivantes dans le fichier :
RewriteEngine On
# Force HTTPS and canonical domain redirection
RewriteCond %{HTTP:X-Forwarded-Proto} !https [OR]
RewriteCond %{HTTP_HOST} !^example\.com$ [NC]
RewriteRule ^(.*)$ https://example.com/$1 [R=301,L]Adaptez le code ci-dessus selon vos besoins :
- Remplacez
example.compar votre nom de domaine principal et son extension (.com, .org, .ch, etc.). Ajoutezwww.devant votre domaine si vous préférez forcer l'affichage du sous-domainewww. - Si une boucle de redirection survient, vous pouvez remplacer la condition de protocole par
RewriteCond %{HTTPS} off(notamment si votre hébergement n'utilise pas de proxy inverse / reverse proxy).
Pour en savoir plus, consultez la documentation relative aux redirections automatiques vers HTTPS.
Lien vers cette FAQ: https://faq.infomaniak.com/482
Cette FAQ a été utile?
Ce guide concerne la synchronisation des serveurs via le protocole NTP (Network Time Protocol) et la configuration de la timezone sur les serveurs d'Infomaniak.
Synchronisation précise des serveurs via NTP
Les serveurs d'Infomaniak sont tous synchronisés via le protocole NTP. La société met à disposition ses propres serveurs NTP stratum-1 accessibles au public pour une utilisation flexible.
Pour intégrer ces serveurs dans vos paramètres, utiliser l'enregistrement suivant: pool.ntp.infomaniak.ch.
La configuration par défaut de la timezone est en UTC. Cependant, les fonctions PHP sont conçues pour prendre en compte différentes timezones en fonction des besoins spécifiques.
Pour ajuster la timezone dans vos scripts PHP, utiliser la fonction date_default_timezone_set('UTC').
MySQL: spécificités temporelles
L'infrastructure Infomaniak prend en charge les fonctionnalités permettant de travailler avec des données temporelles de manière précise et efficace, en tenant compte des fuseaux horaires, ce qui est crucial pour de nombreuses applications modernes:
- MySQL utilise une base de données de fuseaux horaires pour stocker et gérer les informations sur les fuseaux horaires.
- La table
mysql.time_zonecontient les données des fuseaux horaires, y compris les informations sur les décalages de temps, les noms de fuseaux horaires, etc. - La fonction CONVERT_TZ est utilisée pour convertir une heure d'un fuseau horaire à un autre dans MySQL avec la syntaxe suivante :
CONVERT_TZ(dt, from_tz, to_tz), oĂą :dtest la date/heure Ă convertir.from_tzest le fuseau horaire source.to_tzest le fuseau horaire cible.
- Exemple:
CONVERT_TZ('2024-05-14 12:00:00', 'UTC', 'America/New_York')convertira le temps 12:00:00 UTC en temps local Ă New York.
Lien vers cette FAQ: https://faq.infomaniak.com/487
Cette FAQ a été utile?
Ce guide permet de résoudre une erreur de type "Invalid query: MySQL server has gone away".
Préambule
- Ce type d'erreur a souvent comme origine le fait de garder une connexion MySQL ouverte sans soumettre de requĂŞtes pendant un intervalle de temps au-delĂ duquel la connexion est close: http://dev.mysql.com/doc/refman/5.7/en/gone-away.html
- Les variables
wait_timeoutetinteractive_timeoutqui contrôlent cette déconnexion sont à 30 secondes: http://dev.mysql.com/doc/refman/5.0/en/communication-errors.html
Solutions
Pour éviter l'erreur "MySQL server has gone away", voici plusieurs approches possibles:
Vérification et reconnexion automatique
Avant d'exécuter une requête, il est recommandé de tester si la connexion MySQL est toujours active. Si la connexion a été fermée, vous pouvez la rétablir automatiquement avant de poursuivre avec votre requête. Voici un exemple en PHP :
if (!mysqli_ping($connexion)) {
mysqli_close($connexion);
$connexion = mysqli_connect($host, $user, $password, $database);
}La fonction mysqli_ping() vérifie si la connexion est toujours valide. Si elle ne l'est pas, le script ferme la connexion et en ouvre une nouvelle.
Envoi de "Ping" régulier
Un autre moyen consiste à exécuter un script qui envoie régulièrement un "ping" à la base de données pour maintenir la connexion active. Par exemple vous pourriez créer une tâche planifiée (cron job) qui envoie une requête légère, comme SELECT 1; à intervalles réguliers.
Ajustement des paramètres MySQL (Serveur Cloud)
Avec un Serveur Cloud, vous pouvez augmenter les valeurs des variables wait_timeout et interactive_timeout depuis le menu MySQL de votre serveur pour prolonger la durée de la connexion avant qu'elle ne soit fermée.
Lien vers cette FAQ: https://faq.infomaniak.com/499
Cette FAQ a été utile?
Ce guide présente le rôle du fichier browscap.ini, utilisé par PHP pour identifier certaines caractéristiques d'un navigateur web (nom, version, système d'exploitation et capacités) à partir de son en-tête HTTP User-Agent.
L'utilisation de browscap.ini est aujourd'hui principalement destinée à assurer la compatibilité avec des applications existantes. Pour les nouveaux développements, des méthodes plus modernes sont généralement privilégiées.
Utilisation avec la fonction get_browser()
La fonction native PHP get_browser() nécessite l'accès à un fichier browscap.ini à jour afin d'identifier les caractéristiques du navigateur ayant effectué la requête.
Sur les Hébergements Web Infomaniak, ce fichier est généralement disponible à l'emplacement suivant :
/opt/php/lib/php/browscap.iniSi nécessaire, vous pouvez vérifier son contenu à l'aide du script suivant :
<?php
header('Content-Type: text/plain');
$file = '/opt/php/lib/php/browscap.ini';
if (file_exists($file)) {
echo file_get_contents($file);
} else {
echo 'File not found.';
}En raison de sa taille et du coût de son chargement, l'utilisation de browscap.ini peut avoir un impact sur les performances des applications qui s'appuient sur get_browser().
Alternatives recommandées
Pour les nouveaux projets, il est généralement préférable d'utiliser des solutions plus adaptées aux pratiques actuelles du développement web :
- Bibliothèques PHP installées avec Composer, telles que
matomo/device-detectorouwhichbrowser/parser, qui proposent une détection régulièrement mise à jour et plus complète des navigateurs et appareils. - User-Agent Client Hints (UA-CH), lorsque le navigateur les prend en charge, afin d'obtenir des informations structurées via les mécanismes prévus par les standards HTTP actuels.
- Détection de fonctionnalités (Feature Detection), en vérifiant directement la disponibilité d'une fonctionnalité (par exemple en JavaScript ou avec la règle CSS
@supports) plutôt qu'en déduisant le comportement à partir du navigateur utilisé.
Lien vers cette FAQ: https://faq.infomaniak.com/505
Cette FAQ a été utile?
Ce guide concerne Django, un framework open-source de développement Web en Python, particulièrement réputé pour sa robustesse et sa rapidité de développement.
Installation de Django
Prérequis
- Un hébergement adapté:
- Le déploiement d'une application Python nécessitant un serveur d'applications fonctionnant en continu, un hébergement Web mutualisé standard n'est pas indiqué.
- Un accès complet au serveur via SSH est requis.
- Environnement technique:
- Python 3 installé sur le serveur, ainsi que le gestionnaire de paquets
pip.
- Python 3 installé sur le serveur, ainsi que le gestionnaire de paquets
- Connaissances de base:
- Une familiarité avec l'interface en ligne de commande (CLI) sous Linux et la gestion des environnements virtuels Python (comme
venv).
- Une familiarité avec l'interface en ligne de commande (CLI) sous Linux et la gestion des environnements virtuels Python (comme
Voici les étapes générales pour initialiser votre environnement sur votre serveur :
Il est nécessaire d'installer Django sur des offres Web garantissant un contrôle total sur l'environnement d'exécution, telles que les VPS Cloud / VPS Lite : découvrir les différents hébergements Web d'Infomaniak.
- Connectez-vous Ă votre serveur VPS en SSH.
- Créez et activez un environnement virtuel dédié à votre projet afin d'isoler vos dépendances (ex:
python3 -m venv my_environnementpuissource my_environnement/bin/activate). - Procédez à l'installation du framework via le gestionnaire de paquets :
pip install django. - Initialisez votre nouveau projet avec la commande :
django-admin startproject name_of_project.
Mise en production
Attention, le serveur de développement intégré à Django (lancé via runserver) n'est pas conçu pour un environnement de production. Pour exposer votre site sur Internet en toute sécurité sur votre VPS Infomaniak, il sera nécessaire de configurer un serveur d'applications (comme Gunicorn ou uWSGI) derrière un proxy inverse (Reverse Proxy) tel que Nginx ou Apache.
Lien vers cette FAQ: https://faq.infomaniak.com/516
Cette FAQ a été utile?
Ce guide permet de trouver l'adresse IP publique de votre équipement, ce qui peut être utile lors de certaines demandes de support notamment.
Afficher l'adresse IP publique sur l'appareil connecté
Cliquez ici afin d'obtenir l'adresse IP publique de votre appareil au format IPv4 et IPv6.
Méthodes alternatives
Visitez ipinfo.io ou ifconfig.me.
… sur macOS
- Depuis une application de type
Terminal(interface en ligne de commande,CLI /Command Line Interface) sur votre appareil, exécutez la commandecurl ifconfig.meet appuyez sur entrée. - L'adresse affichée est l'adresse IP publique de l'ordinateur.
N'oubliez pas que cette adresse peut changer périodiquement, surtout si le routeur redémarre ou si le fournisseur d'accès internet utilise une attribution dynamique des adresses IP.
Pour automatiser la recherche de l'adresse IP publique, utilisez des commandes ou des scripts qui interrogent des services tels que api.ipify.org ...
Lien vers cette FAQ: https://faq.infomaniak.com/528
Cette FAQ a été utile?
Ce guide explique comment utiliser PHPMailer avec les hébergements Web Infomaniak pour envoyer des e-mails depuis un site Web.
⚠ATTENTION ⚠‍
Infomaniak garantit la conformité de ses services aux protocoles standards (IMAP, S3, etc.) mais ne fournit pas d'aide supplémentaire pour les services ou logiciels externes, car leur configuration peut changer selon le fournisseur ou l'éditeur. Ce guide est donc fourni à titre indicatif et sa mise en place reste sous votre responsabilité (réf.: Politique de support / Art. 11.9 des CGU). Si besoin, une personne qualifiée peut vous accompagner.
Préambule
- PHPMailer est une librairie PHP permettant de créer et d'envoyer des e-mails depuis un site Web, notamment via SMTP.
- Elle permet notamment d'envoyer des messages au format HTML, d'ajouter une version texte alternative, de gérer les pièces jointes et d'utiliser une authentification SMTP.
- Pour un envoi authentifié via SMTP, l'environnement PHP utilisé par le site doit être compatible avec une connexion chiffrée récente, notamment TLS 1.2 ou supérieur.
- Une version trop ancienne de PHP ou de la librairie OpenSSL utilisée par PHP peut provoquer une erreur de connexion ou d'authentification, même si l'adresse mail et le mot de passe sont corrects.
- N'utilisez pas PHP 5.3/5.4 pour ce type d'envoi ; utilisez une version de PHP récente et maintenue.
- Avec l'envoi SMTP authentifié, l'adresse utilisée comme expéditeur doit correspondre à l'adresse mail utilisée pour l'authentification SMTP.
Installer PHPMailer
Pour utiliser PHPMailer, installez la librairie dans les fichiers de votre site Web.
- Téléchargez PHPMailer depuis son dépôt officiel ou installez-la avec Composer si votre projet l'utilise.
- Copiez les fichiers de PHPMailer dans un répertoire de votre site Web par FTP.
Chargez les fichiers nécessaires dans votre script PHP, en adaptant le chemin selon l'emplacement choisi:
use PHPMailer\PHPMailer\PHPMailer; use PHPMailer\PHPMailer\Exception; require **DIR** . '/PHPMailer/src/Exception.php'; require **DIR** . '/PHPMailer/src/PHPMailer.php'; require **DIR** . '/PHPMailer/src/SMTP.php';
Configurer l'envoi SMTP avec Infomaniak
Utilisez les paramètres SMTP authentifiés suivants:
- Serveur SMTP:
mail.infomaniak.com - Port:
465 - Chiffrement:
SMTPS/ SSL-TLS - Authentification: obligatoire
- Nom d'utilisateur: l'adresse mail complète
- Mot de passe: le mot de passe de l'adresse mail utilisée
Exemple de configuration complète:
<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
require **DIR** . '/PHPMailer/src/Exception.php';
require **DIR** . '/PHPMailer/src/PHPMailer.php';
require **DIR** . '/PHPMailer/src/SMTP.php';
$mail = new PHPMailer(true);
try {
// Configuration SMTP
$mail->isSMTP();
$mail->Host = 'mail.infomaniak.com';
$mail->SMTPAuth = true;
$mail->Username = '[sender@domain.xyz](mailto:sender@domain.xyz)';
$mail->Password = 'mot_de_passe_de_l_adresse_mail';
$mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS;
$mail->Port = 465;
$mail->CharSet = 'UTF-8';
```
// Expéditeur
// L'adresse doit correspondre à celle utilisée pour l'authentification SMTP.
$mail->setFrom('sender@domain.xyz', 'Nom du site');
// Destinataire
$mail->addAddress('recipient@example.com');
// Adresse de réponse facultative
$mail->addReplyTo('sender@domain.xyz', 'Nom du site');
// Contenu du message
$mail->isHTML(true);
$mail->Subject = 'Message envoyé depuis le site';
$mail->Body = '<p>Contenu HTML du message.</p>';
$mail->AltBody = 'Contenu texte du message.';
$mail->send();
echo 'Message envoyé';
```
} catch (Exception $e) {
echo 'Le message n'a pas pu être envoyé. Erreur: ' . htmlspecialchars($mail->ErrorInfo);
}Si votre application impose l'utilisation du port 587, utilisez STARTTLS:
$mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS;
$mail->Port = 587;
Vérifier la version de PHP et la compatibilité TLS
L'envoi SMTP authentifié nécessite une connexion chiffrée récente. Si le site utilise une version trop ancienne de PHP, par exemple PHP 5.3, ou une librairie OpenSSL trop ancienne, PHPMailer peut échouer avant ou pendant l'authentification. Les erreurs peuvent alors être trompeuses, par exemple:
SMTP connect() failedCould not authenticatestream_socket_enable_crypto()- une erreur d'authentification alors que le mot de passe est correct
Dans ce cas, vérifiez les points suivants:
- la version de PHP utilisée par le site Web;
- la version d'OpenSSL utilisée par PHP;
- la version de PHPMailer utilisée par votre projet;
- la correspondance entre le port SMTP et le chiffrement choisi.
Pour une configuration fiable, utilisez une version récente de PHP, compatible avec TLS 1.2 ou supérieur, ainsi qu'une version actuelle de PHPMailer. Prenez connaissance de ces guides si nécessaire:
- Modifier la version de PHP d'un site Web
- Résoudre un problème PHP lié à une version obsolète
- Afficher les informations techniques du site
Résoudre une erreur Sender mismatch
L'erreur Sender mismatch SMTP code: 550 Additional SMTP info: 5.7.1 peut se produire lorsque l'adresse utilisée comme expéditeur ne correspond pas à l'adresse mail utilisée pour l'authentification SMTP. Exemple à éviter:
$mail->Username = 'sender@domain.xyz';
$mail->setFrom('another-address@domain.xyz', 'Nom du site');Dans cet exemple, le script s'authentifie avec sender@domain.xyz, mais tente d'envoyer le message avec une autre adresse d'expéditeur.
Utilisez la même adresse mail pour l'authentification SMTP et pour l'expéditeur:
$mail->Username = 'sender@domain.xyz';
$mail->setFrom('sender@domain.xyz', 'Nom du site');Le nom d'expéditeur peut être personnalisé, mais l'adresse mail doit rester cohérente avec le compte SMTP utilisé.
Cas d'un formulaire de contact
Si un visiteur renseigne son adresse mail dans un formulaire, ne l'utilisez pas comme adresse d'expéditeur du message. Utilisez l'adresse mail authentifiée comme expéditeur, puis ajoutez l'adresse du visiteur comme adresse de réponse.
Exemple:
$mail->Username = 'sender@domain.xyz';
$mail->setFrom('sender@domain.xyz', 'Formulaire du site');
$mail->addReplyTo($email_visiteur);Cette configuration permet de répondre au visiteur depuis votre logiciel de messagerie sans envoyer le message avec une adresse d'expéditeur non autorisée.
Activer le mode debug temporairement
En cas d'erreur, activez temporairement le mode debug de PHPMailer afin d'obtenir plus de détails sur la connexion SMTP:
$mail->SMTPDebug = 2;
$mail->Debugoutput = 'html';Désactivez ce mode après vos tests afin de ne pas afficher d'informations techniques aux visiteurs du site.
En savoir plus
Lien vers cette FAQ: https://faq.infomaniak.com/576
Cette FAQ a été utile?
Ce guide concerne l'utilisation de la technologie Java qui, notamment en termes de consommation de mémoire RAM, est incompatible avec les contraintes des offres d'hébergement mutualisé Infomaniak. Les applications Java sont souvent gourmandes en ressources, ce qui peut affecter les performances et la stabilité des serveurs partagés entre plusieurs utilisateurs.
Support limité aux applets côté client
Seules les applets Java côté client, c'est-à -dire exécutées dans le navigateur Web de l'utilisateur, sont supportées par les serveurs mutualisés. Ces applets ne requièrent pas de ressources serveurs importantes et ne posent donc pas les mêmes problèmes que les applications Java côté serveur. Par conséquent, aucun produit utilisant la technologie Java côté serveur n'est pris en charge.
Produits et technologies non supportés
Voici une liste non exhaustive des produits et technologies spécifiques qui ne sont pas supportés sur les serveurs mutualisés :
- Apache OFBiz
- Greenstone
- Opentaps
- Compiere (qui nécessite Tomcat)
- Play!
- Solr
- Resin
- Jboss
- Scala
- jftp
- Jakarta EE (anciennement Java 2 Platform, Enterprise Edition, ou J2EE puis Java Platform, Enterprise Edition ou Java EE)
Cette politique permet de garantir des performances optimales et une utilisation équitable des ressources pour tous les utilisateurs des serveurs mutualisés.
Lien vers cette FAQ: https://faq.infomaniak.com/591
Cette FAQ a été utile?
Ce guide explique comment activer l'option MultiViews via un fichier .htaccess sur les sites hébergés par Infomaniak.
Préambule
- Dans certains cas, l'option MultiViews doit être activée afin de gérer des problèmes de redirection et de réécriture d'URL.
- Cette option permet au serveur de deviner quel fichier l'utilisateur cherche. Exemple :
- Si le dossier
configurationet le fichierconfiguration.phpse trouvent à la racine de votre site et que vous tentez d'atteindre l'adressedomain.xyz/configuration, l'option MultiViews doit être activée pour que le serveur puisse deviner que vous souhaitez accéder au fichierconfiguration.php.
- Si le dossier
- L'option MultiViews peut parfois entrer en conflit avec des règles de réécriture d'URL plus complexes définies par
mod_rewrite(utilisées par de nombreux CMS).
Activer l'option MultiViews
Pour cela :
- Ouvrez ou créez le fichier
.htaccessqui se trouve à la racine du site concerné. Ajoutez la directive suivante:
Options +MultiViews- Sauvegardez les modifications.
Lien vers cette FAQ: https://faq.infomaniak.com/605
Cette FAQ a été utile?
Ce guide traite de l'exécution du langage C# et du framework .NET via l'implémentation Mono sur les hébergements Infomaniak.
Technologies pour le développement logiciel
Pour utiliser le langage C# et le framework .NET avec l'implémentation Mono, afin de développer des applications logicielles déployables et exécutables sur plusieurs plateformes, en dehors de l'environnement Windows, il est recommandé d'opter pour des solutions telles que :
La souplesse et la portabilité offertes par ces environnements multiplateformes signifient qu'un hébergement Web mutualisé ne permet pas l'exécution de projets basés sur C#, .NET ou Mono.
Lien vers cette FAQ: https://faq.infomaniak.com/607
Cette FAQ a été utile?
Ce guide explique comment modifier une offre d'Hébergement Web existante afin de par exemple pouvoir y héberger des sites Web supplémentaires si le quota de sites maximum est atteint, ou obtenir une solution d'hébergement plus récente pour bénéficier des dernières versions de PHP & MySQL.
Modifier l'offre d'hébergement Web afin de…
… commander des sites, de l'espace disque ou des IP supplémentaires
Pour accéder au configurateur de l'hébergement Web:
- Cliquez ici afin d'accéder à la gestion de votre hébergement sur le Manager Infomaniak (besoin d'aide ?).
- Cliquez sur le menu d'action ⋮ situé à droite de l'hébergement concerné.
- Cliquez sur Modifier l'offre:

- Augmentez les valeurs que vous souhaitez modifier.
- Cliquez sur le bouton Suivant pour accéder au paiement des modifications apportées à l'hébergement:

… passer sur un serveur le plus récent
Pour obtenir une solution d'hébergement sur un serveur plus récent et ainsi bénéficier entre autre des dernières versions de PHP & MySQL, vous pouvez soit…
- … prendre connaissance de cet autre guide en suivant la procédure qui y est indiquée jusqu'au bout:

- … prendre connaissance de cet autre guide en suivant la procédure qui y est indiquée jusqu'au point 4 puis cliquez sur le bouton pour mettre à jour:

Si aucun bandeau d'information n'est affiché, c'est que vous bénéficiez déjà d'une offre d'hébergement récente.
Lien vers cette FAQ: https://faq.infomaniak.com/626
Cette FAQ a été utile?
Ce guide détaille l'intégration de l'environnement ASP / ASP.NET au sein de l'écosystème Infomaniak.
Compatibilité & Infrastructure
Les solutions d'Hébergement Web et Serveurs Cloud managés sont optimisées pour des environnements Linux/Apache. Par conséquent, le module Apache::ASP n'est pas supporté nativement sur ces offres mutualisées.
Alternatives & solutions Cloud
Pour déployer vos applications ASP en toute fluidité, plusieurs options s'offrent à vous :
- VPS Cloud : installez et configurez votre propre stack ASP/IIS ou utilisez Mono/Core sur une distribution de votre choix.
- Jelastic Cloud (PaaS) : déployez vos applications ASP.NET Core via des conteneurs Docker en quelques clics avec un scaling horizontal automatique.
- Public Cloud : pour les infrastructures à haute disponibilité utilisant OpenStack, idéal pour les architectures micro-services.
Lien vers cette FAQ: https://faq.infomaniak.com/631
Cette FAQ a été utile?
Ce guide explique comment limiter le hotlinking sur les fichiers hébergés par votre Hébergement Web Infomaniak.
Préambule
- Le hotlinking consiste pour un site tiers à afficher directement des images, vidéos ou autres fichiers hébergés sur votre serveur en utilisant leur URL publique, sans les héberger lui-même.
- Cette pratique utilise les ressources de votre hébergement (bande passante, connexions HTTP et ressources serveur) sans votre autorisation. Elle peut également porter atteinte à vos droits d'auteur ou à la maîtrise de la diffusion de vos contenus.
- Même si les capacités réseau actuelles rendent l'impact sur la bande passante généralement moins critique qu'auparavant, il reste recommandé de limiter le hotlinking afin d'éviter une consommation inutile des ressources de votre hébergement.
EmpĂŞcher le hotlinking avec un fichier .htaccess
Si votre site utilise le serveur web Apache et le module mod_rewrite, vous pouvez restreindre l'accès direct à certains fichiers en ajoutant des règles dans le fichier .htaccess situé à la racine de votre site.
L'exemple ci-dessous protège les principaux formats d'image, y compris les formats modernes WebP et AVIF :
RewriteEngine On
# Allow requests without a Referer header
RewriteCond %{HTTP_REFERER} !^$
# Allow requests from your own domain (replace with your domain)
RewriteCond %{HTTP_REFERER} !^https?://(www\.)?votre-domaine\.com [NC]
# Allow major search engines
RewriteCond %{HTTP_REFERER} !^https?://(www\.)?google\. [NC]
RewriteCond %{HTTP_REFERER} !^https?://(www\.)?bing\. [NC]
RewriteCond %{HTTP_REFERER} !^https?://(www\.)?yahoo\. [NC]
# Block hotlinking for image files
RewriteRule \.(jpg|jpeg|png|gif|svg|webp|avif)$ - [F,NC,L]Ă€ adapter avant utilisation :
- Remplacez
votre-domaine\.compar votre propre nom de domaine. - Les requĂŞtes ne comportant pas d'en-tĂŞte HTTP
Referersont autorisées afin de préserver la compatibilité avec certains navigateurs, applications ou mécanismes de protection de la vie privée qui ne transmettent pas cet en-tête. - Les règles autorisant les principaux moteurs de recherche permettent à leurs robots d'accéder aux images afin qu'elles puissent être indexées. Les supprimer empêchera l'indexation de ces images.
- La règle utilise l'option
[F], qui renvoie une réponse HTTP403 Forbidden. Cette méthode bloque immédiatement la requête sans servir de contenu supplémentaire, ce qui limite la consommation des ressources du serveur.
Si vous utilisez Cloudflare comme CDN devant votre hébergement Infomaniak, vous pouvez également activer la fonctionnalité Hotlink Protection depuis son interface d'administration afin de bloquer ce type d'accès avant qu'il n'atteigne votre hébergement.
Lien vers cette FAQ: https://faq.infomaniak.com/678
Cette FAQ a été utile?
Ce guide présente des commandes qui peuvent être exécutées dans un but de tester une connexion ou un réseau et ainsi préciser davantage la source d'erreur éventuelle.
Effectuer un Telnet…
TELNET permet de tester la connexion à un serveur sans tenir compte de tout les réglages supplémentaires d'une application mail ou FTP afin de déterminer l'origine d'un problème. Si la connexion ne passe pas sur un serveur SMTP, il vous faudra par exemple regarder si votre pare-feu ne bloque pas le port 587 ou 465.
… sur macOS
- Recherchez Utilitaire de réseau.
- Rendez-vous sous l'onglet
Ping,LookupouTracerouteselon ce que vous souhaitez tester. - Vous pouvez également utiliser une application de type
Terminal(interface en ligne de commande,CLI /Command Line Interface) sur votre appareil et, selon ce que vous souhaitez tester, entrez:traceroute [server]nc [server] [port]
Remplacez[server]par le nom du serveur ou son adresse IP, idem pour[port]…
… sur Windows
Activez Telnet au préalable si nécessaire.
- Utilisez une application de type
Terminal(interface en ligne de commande,CLI /Command Line Interface) sur votre appareil, par exemple en tapant Exécuter puiscmd. - Dans la fenêtre qui s'ouvre, selon ce que vous souhaitez tester, tapez:
tracert [server]telnet [server] [port]
Exemple:telnet mail.infomaniak.com 587(permet de tester le port SMTP si votre logiciel/client de messagerie ne permet pas l'envoi d'e-mail)…
… sur Android
- Utilisez l'application Simple Telnet Client qui permet de tester très simplement via 2 champs à remplir (par exemple
mail.infomaniak.comet le port143ou993)…
Effectuer un PING
PING permet de savoir si une machine est accessible par Internet. Vous pouvez aussi contrĂ´ler avec cet outil si vous vous adressez bien Ă la bonne machine, lors d'un changement de DNS par exemple, en regardant l'adresse IP obtenue. Il est possible d'effectuer un ping sur un nom de domaine, un hostname ou une adresse IP.
PING est définitivement bloqué sur les hébergements mutualisés Infomaniak.
Lien vers cette FAQ: https://faq.infomaniak.com/727
Cette FAQ a été utile?
Ce guide explique comment travailler sans le module PECL SSH2 client indisponible sur les hébergements Web et Serveurs Cloud Infomaniak, en utilisant plutôt la bibliothèque phpseclib, qui fonctionne en PHP natif sans nécessiter d'extension spécifique.
Préambule
- L'utilisation de
PECL SSH2 cliententraine des erreurs de typeNo compatible key exchange algorithms foundouUnable to exchange encryption keysdans sa derniere version disponible. Phpseclibpermet :- L'authentification SSH par mot de passe ou clé privée.
- L'exécution de commandes à distance.
- Le transfert de fichiers sécurisés (SFTP).
- La gestion des clés SSH.
Utiliser phpseclib
Pour intégrer une connexion SSH dans un script PHP, utilisez phpseclib comme suit :
use phpseclib3\Net\SSH2;
use phpseclib3\Crypt\PublicKeyLoader;
$ssh = new SSH2('domain.xyz');
$key = PublicKeyLoader::load(file_get_contents('/path/to/private_key'));
if (!$ssh->login('utilisateur', $key)) {
exit('Authentication Failed');
}
echo $ssh->exec('ls -la');Lien vers cette FAQ: https://faq.infomaniak.com/767
Cette FAQ a été utile?
Ce guide détaille les actions à effectuer en priorité si vous ne voyez pas de différence entre votre site Web après un changement que vous auriez effectué dessus, et sa version avant le changement. Ces conseils sont également valables si vous rencontrez des soucis lors de l'utilisation de l'interface de produits Infomaniak.
Préambule
- Pendant votre navigation, un navigateur Web sauvegarde dans un espace réservé les données consultées, ceci afin d'éviter de demander une nouvelle fois au serveur les données déjà consultées, pour gagner du temps et des ressources.
- Votre cache peut contenir énormément de données et parfois le navigateur s'emmêle les pinceaux. Les sites peuvent alors mal s'afficher ou afficher une version obsolète.
- Effacer le cache permet d'être sûr d'avoir la toute dernière version en date de la page ou du dossier consulté.
Effacer le cache du navigateur Web …
… sur Safari
Choisissez votre version macOS afin de prendre connaissance de l'aide Apple correspondante.
… sur les outils Google (Chrome, Android, etc.)
Prenez connaissance de l'aide de Google.
… sur Firefox
Prenez connaissance de l'aide Mozilla.
… sur Edge / Internet Explorer
Prenez connaissance de l'aide Microsoft.
Lien vers cette FAQ: https://faq.infomaniak.com/793
Cette FAQ a été utile?
Ce guide détaille les fonctionnalités disponibles en matière de gestion des bases de données relationnelles sur les hébergements Infomaniak.
Utilisation de Vues, Triggers, Procedures stockées et Routines
En ce qui concerne la gestion des bases de données relationnelles, la fonctionnalité des vues ("views") est disponible par défaut, permettant ainsi aux utilisateurs de créer des vues pour simplifier la gestion et la présentation des données.
Cependant, certaines fonctionnalités avancées permettant une manipulation plus fine et plus complexe des données, telles que…
- “triggers” (déclencheurs)
- procédures stockées ("stored procedures")
- routines
- et la création de fonctions
… ne sont disponibles que sur Serveurs Cloud.
Elles ne sont pas autorisées sur les serveurs mutualisés.
Cette restriction est principalement due aux risques potentiels pour la stabilité de l'infrastructure. Une mauvaise configuration ou une utilisation excessive de ces fonctionnalités pourrait créer des boucles infinies ou des surcharges importantes, affectant non seulement les performances du serveur concerné, mais aussi l'expérience de tous les clients hébergés sur la même infrastructure.
Résoudre un problème d'importation de dump MySQL/MariaDB
Lors de l'exportation puis de la réimportation d'une base de données MySQL ou MariaDB via l'interface d'hébergement Infomaniak, il peut arriver que l'opération échoue en raison d'erreurs liées aux DEFINER des triggers ou des views. Ce cas survient lorsque les objets de la base ont été créés avec un utilisateur spécifique (appelé definer) qui n'existe plus au moment de l'importation.
Concrètement, le processus d'exportation et d'importation met en œuvre un utilisateur temporaire, utilisé uniquement pendant ces opérations. Après suppression de cet utilisateur, les vues ou triggers définis avec ce compte comme DEFINER deviennent invalides, provoquant des erreurs du type :
General error: 1449 The user specified as a definer ('xxxx_temp_1'@'%') does not exist
Pour éviter ce problème, il est possible de corriger le fichier de sauvegarde (dump.sql ou dump.sql.gz) avant son importation en remplaçant les définitions de definer par CURRENT_USER. Cela permet de rattacher automatiquement les triggers et vues à l'utilisateur en cours au moment de l'import.
Voici un exemple de commande permettant de modifier le dump avant importation :
sed -E 's/DEFINER=`[^`][^`]*`@`[^`][^`][^`]*`/DEFINER=CURRENT_USER/g' dump.sql > dump-corrected.sql
Une fois ce remplacement effectué, le fichier corrigé peut être importé normalement via le Manager Infomaniak. Ce comportement est connu et lié au fonctionnement des utilisateurs temporaires lors du dump/restore. Aucune modification du processus d'export/import n'est prévue à court terme, mais le sujet reste en évaluation côté infrastructure.
Pour plus d'informations sur la variable CURRENT_USER, prenez connaissance de la documentation officielle de :
Lien vers cette FAQ: https://faq.infomaniak.com/821
Cette FAQ a été utile?
Ce guide explique comment modifier le mot de passe d'une base de données MySQL / MariaDB d'un Hébergement Web.
Préambule
- Prenez connaissance de cet autre guide si vous recherchez des informations au sujet de la mise à jour des informations de connexion (scripts, sites...) relative à un changement de mot de passe de base de données.
- Un utilisateur de base de données créé suite à l'installation d'une Application Web (proposée par Infomaniak) ne pourra être modifié (un cadenas s'affiche à côté de celui-ci, cf point 5 ci-dessous).
- Pour accéder à la base de données à laquelle il est rattaché, il faut créer un nouvel utilisateur de base de données avec le mot de passe de votre choix puis lui attribuer les droits sur la base de données désirée.
Changer le mot de passe MySQL MariaDB etc.
Pour cela il est nécessaire d'intervenir sur l'utilisateur rattaché à la base de données en question, et de lui changer le mot de passe (sans avoir à fournir l'ancien) depuis le Manager Infomaniak:
- 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 Bases de données dans le menu latéral gauche.
- Cliquez sur l'onglet Utilisateurs.
- Cliquez sur le menu d'action ⋮ situé à droite de l'élément concerné.
- Cliquez sur Modifier:

- Cliquez sur Modifier le mot de passe.
- Entrez le nouveau mot de passe désiré.
- Cliquez sur le bouton Enregistrer:

- Si nécessaire, vous pouvez configurer les nouveaux droits éventuels (lecture / écriture / administration) de l'utilisateur pour l'accès aux bases de données existantes sur l'hébergement.
Lien vers cette FAQ: https://faq.infomaniak.com/846
Cette FAQ a été utile?