Inversores

Base de conocimientos

1 000 FAQ, 500 tutoriales y vídeos explicativos. ¡Aquí sólo hay soluciones!

Esta guía técnica detalla los límites de recursos de los servicios de alojamiento web de Infomaniak. Es fundamental distinguir entre el tiempo real (reloj) y el tiempo de cálculo (procesador) para comprender el origen de las interrupciones de los scripts.

 

1. Tiempo de conexión MySQL (E/S)

Límite: 30 segundos reales

Este límite corresponde al tiempo absoluto transcurrido, medido con un cronómetro. Afecta a la comunicación entre PHP y el servidor de la base de datos (MySQL/MariaDB).

En cuanto se abre una conexión, el servidor de la base de datos asigna un máximo de 30 segundos para recibir la solicitud, ejecutarla y devolver los resultados. Si se supera este tiempo límite (a menudo debido a una consulta SQL mal optimizada), el servidor MySQL corta la conexión abruptamente. Esto suele generar el error MySQL server has gone away.

 

2. Tiempo de procesamiento PHP (CPU)

Límite: 10 segundos de CPU

Este límite se refiere exclusivamente a la potencia de cálculo utilizada por el servidor web para ejecutar el código PHP.

Es fundamental tener en cuenta que el tiempo de espera no se contabiliza. Cuando PHP espera una respuesta de la base de datos, se encuentra en pausa y apenas consume tiempo de CPU. Por lo tanto, un script solo será interrumpido por el servidor web si realiza cálculos intensivos (bucles complejos, criptografía, procesamiento de archivos) durante más de 10 segundos acumulados.

 

Interacción de los dos límites

Para garantizar la estabilidad de la aplicación, cada operación debe cumplir simultáneamente con estas dos restricciones distintas:

  • La aplicación dispone de 30 segundos de tiempo total para interactuar con la base de datos (latencia de red + ejecución SQL).
  • La aplicación dispone de 10 segundos de tiempo de cálculo puro para procesar los datos recibidos.

Ejemplo de funcionamiento válido: un script que espera 25 segundos una respuesta compleja de MySQL (E/S) y luego procesa el resultado durante 2 segundos (CPU) funcionará perfectamente, ya que no ha superado ninguna de las dos cuotas individuales, aunque el tiempo total sea de 27 segundos.


¿Le ha sido útil esta FAQ?

Esta guía explica cómo redirigir el tráfico de un nombre de dominio alias (sinónimo) a su dominio principal, o forzar la visualización del dominio principal en la barra de direcciones de un navegador como Brave, Chrome, Edge, Firefox, Opera, Safari…

 

Evitar el contenido duplicado

Imaginemos que su sitio web está alojado en el dominio principal example.com y que ha configurado un dominio alias, como example-alias.com.

De forma predeterminada, cuando un visitante introduce una u otra de estas direcciones en su navegador, la URL introducida sigue mostrándose. Esto puede generar contenido duplicado, lo que perjudica el posicionamiento en los motores de búsqueda (SEO).

Para evitar esto, puede forzar la redirección: si un visitante escribe example-alias.com, se le redirigirá automáticamente a example.com.

Esta configuración se realiza en el archivo .htaccess ubicado en la raíz de su alojamiento (generalmente en la carpeta /web a través de su acceso FTP). Si este archivo aún no existe, deberá crearlo.

A continuación, inserte las siguientes directivas en el archivo:

RewriteEngine On

# Force HTTPS and canonical domain redirection
RewriteCond %{HTTP:X-Forwarded-Proto} !https [OR]
RewriteCond %{HTTP_HOST} !^example\.com$ [NC]
RewriteRule ^(.*)$ {{URL_1}} [R=301,L]

Adapte el código anterior según sus necesidades:

  • Reemplace example.com por su nombre de dominio principal y su extensión (.com, .org, .ch, etc.). Agregue www. delante de su dominio si prefiere forzar la visualización del subdominio www.
  • Si se produce un bucle de redirección, puede reemplazar la condición de protocolo por RewriteCond %{HTTPS} off (especialmente si su alojamiento no utiliza un proxy inverso).

Para obtener más información, consulte la documentación sobre las redirecciones automáticas a HTTPS.


¿Le ha sido útil esta FAQ?

Esta guía trata sobre la sincronización de los servidores mediante el protocolo NTP (Protocolo de Tiempo de Red) y la configuración de la zona horaria en los servidores de Infomaniak.

 

Sincronización precisa de los servidores mediante NTP

Todos los servidores de Infomaniak están sincronizados a través del protocolo NTP. La empresa pone a disposición sus propios servidores NTP de nivel 1, accesibles al público, para un uso flexible.

Para integrar estos servidores en su configuración, utilice el siguiente registro: pool.ntp.infomaniak.ch.

La configuración predeterminada de la zona horaria es UTC. Sin embargo, las funciones de PHP están diseñadas para tener en cuenta diferentes zonas horarias según las necesidades específicas.

Para ajustar la zona horaria en sus scripts PHP, utilice la función date_default_timezone_set('UTC').

 

MySQL: características relacionadas con el tiempo

La infraestructura de Infomaniak es compatible con las funciones que permiten trabajar con datos temporales de forma precisa y eficiente, teniendo en cuenta las zonas horarias, lo cual es fundamental para muchas aplicaciones modernas:

  • MySQL utiliza una base de datos de zonas horarias para almacenar y gestionar la información sobre las zonas horarias.
  • La tabla mysql.time_zone contiene los datos de las zonas horarias, incluida la información sobre las diferencias horarias, los nombres de las zonas horarias, etc.
  • La función CONVERT_TZ se utiliza para convertir una hora de una zona horaria a otra en MySQL con la siguiente sintaxis: CONVERT_TZ(dt, from_tz, to_tz), donde:
    • dt es la fecha/hora que se va a convertir.
    • from_tz es la zona horaria de origen.
    • to_tz es la zona horaria de destino.
  • Ejemplo: CONVERT_TZ('2024-05-14 12:00:00', 'UTC', 'America/New_York') convertirá la hora 12:00:00 UTC a la hora local de Nueva York.

¿Le ha sido útil esta FAQ?

Esta guía le ayudará a solucionar un error del tipo "Consulta no válida: el servidor MySQL se ha desconectado".

 

Introducción

 

Soluciones

Para evitar el error "El servidor MySQL se ha desconectado", aquí hay varias soluciones posibles:

Verificación y reconexión automática

Antes de ejecutar una consulta, se recomienda comprobar si la conexión MySQL sigue activa. Si la conexión se ha cerrado, puede restablecerla automáticamente antes de continuar con su consulta. Aquí tiene un ejemplo en PHP:

if (!mysqli_ping($connexion)) {
mysqli_close($connexion);
$connexion = mysqli_connect($host, $user, $password, $database);
}

La función mysqli_ping() comprueba si la conexión sigue siendo válida. Si no lo es, el script cierra la conexión y abre una nueva.

Envío periódico de un "ping"

Otra opción consiste en ejecutar un script que envíe periódicamente un "ping" a la base de datos para mantener la conexión activa. Por ejemplo, podría crear una tarea programada (cron job) que envíe una consulta ligera, como SELECT 1;, a intervalos regulares.

Ajuste de los parámetros MySQL (Servidor Cloud)

Con un Servidor Cloud, puede aumentar los valores de las variables wait_timeout e interactive_timeout desde el menú MySQL de su servidor para prolongar la duración de la conexión antes de que se cierre.


¿Le ha sido útil esta FAQ?

Esta guía presenta la función del archivo browscap.ini, que PHP utiliza para identificar ciertas características de un navegador, como Brave, Chrome, Edge, Firefox, Opera, Safari, etc. (nombre, versión, sistema operativo y capacidades), a partir de su encabezado HTTP User-Agent.

Hoy en día, el uso de browscap.ini está orientado principalmente a garantizar la compatibilidad con aplicaciones existentes. Para los nuevos desarrollos, generalmente se prefieren métodos más modernos.

 

Uso con la función get_browser()

La función nativa de PHP get_browser() requiere acceso a un archivo browscap.ini actualizado para identificar las características del navegador que realizó la solicitud.

En los servicios de alojamiento web de Infomaniak, este archivo suele estar disponible en la siguiente ubicación:

/opt/php/lib/php/browscap.ini

Si es necesario, puede verificar su contenido utilizando el siguiente script:

<?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.';
}

Debido a su tamaño y al costo de su carga, el uso de browscap.ini puede afectar el rendimiento de las aplicaciones que dependen de get_browser().

 

Alternativas recomendadas

Para los nuevos proyectos, generalmente es preferible utilizar soluciones más adaptadas a las prácticas actuales del desarrollo web:

  • Bibliotecas PHP instaladas con Composer, como matomo/device-detector o whichbrowser/parser, que ofrecen una detección de navegadores y dispositivos más completa y actualizada.
  • Indicadores del agente de usuario (UA-CH), cuando el navegador los admite, para obtener información estructurada a través de los mecanismos previstos por los estándares HTTP actuales.
  • Detección de funciones, verificando directamente la disponibilidad de una función (por ejemplo, en JavaScript o con la regla CSS @supports) en lugar de deducir el comportamiento a partir del navegador utilizado.

¿Le ha sido útil esta FAQ?

Esta guía se refiere a Django, un framework de código abierto para el desarrollo web en Python.

 

Requisitos previos

  • Un VPS Cloud o VPS Lite (no se admiten el alojamiento compartido ni el Servidor Cloud gestionado).
  • Python 3 y el gestor de paquetes pip instalados en el servidor y acceso SSH completo.
  • Dominar la línea de comandos (CLI de Linux) y la gestión de entornos virtuales de Python (por ejemplo, venv).

 

Instalación e inicialización

A continuación, se indican los pasos generales para configurar su entorno en su servidor:

  1. Conéctese a su VPS mediante SSH.
  2. Cree y active un entorno virtual para aislar las dependencias de su proyecto:
    python3 -m venv my_environment && source my_environment/bin/activate
  3. Instale el framework:
    pip install django
  4. Inicialice su proyecto:
    django-admin startproject nombre_del_proyecto

 

Puesta en producción

El servidor de desarrollo integrado (runserver) no está diseñado para un entorno de producción. Para exponer su aplicación en Internet de forma segura, configure un servidor de aplicaciones (por ejemplo, Gunicorn o uWSGI) detrás de un proxy inverso (Reverse Proxy) como Nginx o Apache.


¿Le ha sido útil esta FAQ?

Esta guía le ayudará a encontrar la dirección IP pública de su dispositivo, lo cual puede ser útil en determinadas solicitudes de asistencia técnica.

 

Mostrar la dirección IP pública en el dispositivo conectado

Haga clic aquí para obtener la dirección IP pública de su dispositivo en formato IPv4 y IPv6.

 

Métodos alternativos

Visite ipinfo.io o ifconfig.me.

… en macOS

  1. Desde una aplicación de tipo Terminal (interfaz de línea de comandos, CLI /Command Line Interface) en su dispositivo, ejecute el comando curl ifconfig.me y presione Intro.
  2. La dirección que se muestra es la dirección IP pública del ordenador.

 

Tenga en cuenta que esta dirección puede cambiar periódicamente, especialmente si el router se reinicia o si el proveedor de servicios de Internet utiliza una asignación dinámica de direcciones IP.

 

Para automatizar la búsqueda de la dirección IP pública, utilice comandos o scripts que consulten servicios como api.ipify.org...


¿Le ha sido útil esta FAQ?

Esta guía explica cómo utilizar PHPMailer con los servicios de alojamiento web de Infomaniak para enviar correos electrónicos desde un sitio web.

 

⚠ ATENCIÓN ⚠

Infomaniak garantiza que sus servicios cumplen con los protocolos estándar (IMAP, S3, etc.), perono ofrece asistencia adicional para servicios o software externos, ya que su configuración puede variar según el proveedor o el editorPor lo tanto, esta guía se proporciona únicamente como referencia y su implementación es su responsabilidad (véase: Política de asistencia / Art. 11.9 de las CGU). Si es necesario, un profesional cualificado puede ayudarle.


 

Prólogo

  • PHPMailer es una biblioteca PHP que permite crear y enviar correos electrónicos desde un sitio web, especialmente a través de SMTP.
  • Permite, entre otras cosas, enviar mensajes en formato HTML, añadir una versión de texto alternativa, gestionar archivos adjuntos y utilizar la autenticación SMTP.
  • Para el envío autenticado a través de SMTP, el entorno PHP utilizado por el sitio web debe ser compatible con una conexión cifrada reciente, en particular TLS 1.2 o superior.
    • Una versión demasiado antigua de PHP o de la biblioteca OpenSSL utilizada por PHP puede provocar un error de conexión o de autenticación, incluso si la dirección de correo electrónico y la contraseña son correctas.
    • No utilice PHP 5.3/5.4 para este tipo de envío; utilice una versión de PHP reciente y con soporte activo.
  • Con el envío SMTP autenticado, la dirección utilizada como remitente debe coincidir con la dirección de correo electrónico utilizada para la autenticación SMTP.

 

Instalar PHPMailer

Para utilizar PHPMailer, instale la biblioteca en los archivos de su sitio web.

  1. Descargue PHPMailer desde su repositorio oficial o instálelo con Composer si su proyecto lo utiliza.
  2. Copie los archivos de PHPMailer en un directorio de su sitio a través de FTP.
  3. Cargue los archivos necesarios en su script PHP, adaptando la ruta según la ubicación elegida:

    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';

 

Configurar el envío SMTP con Infomaniak

Utilice la siguiente configuración SMTP autenticada:

  • Servidor SMTP: mail.infomaniak.com
  • Puerto: 465
  • Cifrado: SMTPS / SSL-TLS
  • Autenticación: obligatoria
  • Nombre de usuario: la dirección de correo electrónico completa
  • Contraseña: la contraseña de la dirección de correo electrónico utilizada

Ejemplo de configuración completa:

<?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 su aplicación requiere el uso del puerto 587, utilice STARTTLS:

$mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS;
$mail->Port       = 587;

 

Verifique la versión de PHP y la compatibilidad TLS

El envío SMTP autenticado requiere una conexión cifrada reciente. Si el sitio utiliza una versión demasiado antigua de PHP, por ejemplo PHP 5.3, o una biblioteca OpenSSL demasiado antigua, PHPMailer puede fallar antes o durante la autenticación. Los errores pueden ser engañosos, por ejemplo:

  • SMTP connect() failed
  • No se pudo autenticar
  • stream_socket_enable_crypto()
  • un error de autenticación aunque la contraseña sea correcta

En este caso, compruebe los siguientes puntos:

  1. la versión de PHP utilizada por el sitio web;
  2. la versión de OpenSSL utilizada por PHP;
  3. la versión de PHPMailer utilizada por su proyecto;
  4. la correspondencia entre el puerto SMTP y el cifrado elegido.

Para una configuración fiable, utilice una versión reciente de PHP, compatible con TLS 1.2 o superior, así como una versión actual de PHPMailer. Consulte estas guías si es necesario:

 

Cómo solucionar un error de "remitente no coincidente"

El error Sender mismatch SMTP code: 550 Additional SMTP info: 5.7.1 puede ocurrir cuando la dirección utilizada como remitente no coincide con la dirección de correo electrónico utilizada para la autenticación SMTP. A continuación, se muestra un ejemplo que debe evitarse:

$mail->Username = 'sender@domain.xyz';
$mail->setFrom('another-address@domain.xyz', 'Nom du site');

En este ejemplo, el script se autentica con sender@domain.xyz, pero intenta enviar el mensaje con una dirección de remitente diferente.

Utilice la misma dirección de correo electrónico para la autenticación SMTP y para el remitente:

$mail->Username = 'sender@domain.xyz';
$mail->setFrom('sender@domain.xyz', 'Nom du site');

El nombre del remitente puede personalizarse, pero la dirección de correo electrónico debe seguir siendo coherente con la cuenta SMTP utilizada.

Caso de un formulario de contacto

Si un visitante introduce su dirección de correo electrónico en un formulario, no la utilice como dirección de remitente del mensaje. Utilice la dirección de correo electrónico autenticada como remitente y añada la dirección del visitante como dirección de respuesta.

Ejemplo:

$mail->Username = 'sender@domain.xyz';
$mail->setFrom('sender@domain.xyz', 'Formulaire du site');
$mail->addReplyTo($email_visiteur);

Esta configuración permite responder al visitante desde su programa de correo electrónico sin enviar el mensaje con una dirección de remitente no autorizada.

 

Activar el modo de depuración temporalmente

En caso de error, active temporalmente el modo de depuración de PHPMailer para obtener más detalles sobre la conexión SMTP:

$mail->SMTPDebug = 2;
$mail->Debugoutput = 'html';

Desactive este modo después de realizar las pruebas para evitar mostrar información técnica a los visitantes del sitio.

 

Más información


¿Le ha sido útil esta FAQ?

Esta guía trata sobre el uso de la tecnología Java, que, especialmente en lo que respecta al consumo de memoria RAM, es incompatible con las limitaciones de las ofertas de alojamiento compartido de Infomaniak. Las aplicaciones Java suelen consumir muchos recursos, lo que puede afectar al rendimiento y la estabilidad de los servidores compartidos entre varios usuarios.

 

Soporte limitado a los applets del lado del cliente

Solo las aplicaciones Java del lado del cliente, es decir, las que se ejecutan en un navegador como Brave, Chrome, Edge, Firefox, Opera, Safari… del usuario, son compatibles con los servidores compartidos. Estas aplicaciones no requieren recursos del servidor importantes y, por lo tanto, no plantean los mismos problemas que las aplicaciones Java del lado del servidor. En consecuencia, no se admite ningún producto que utilice la tecnología Java del lado del servidor.

 

Productos y tecnologías no compatibles

A continuación, se muestra una lista no exhaustiva de los productos y tecnologías específicos que no son compatibles con los servidores compartidos:

Esta política permite garantizar un rendimiento óptimo y un uso equitativo de los recursos para todos los usuarios de los servidores compartidos.


¿Le ha sido útil esta FAQ?

Esta guía trata sobre la ejecución del lenguaje C# y del framework .NET mediante la implementación Mono en los servicios de alojamiento de Infomaniak.

 

Tecnologías para el desarrollo de software

Para utilizar el lenguaje C# y el framework .NET con la implementación Mono, con el fin de desarrollar aplicaciones de software que puedan implementarse y ejecutarse en varias plataformas, fuera del entorno Windows, se recomienda optar por soluciones como:

La flexibilidad y la portabilidad que ofrecen estos entornos multiplataforma significan que un alojamiento web compartido no permite la ejecución de proyectos basados en C#, .NET o Mono.


¿Le ha sido útil esta FAQ?

Esta guía explica cómo modificar una oferta de Alojamiento Web existente para, por ejemplo, poder alojar sitios web adicionales si se ha alcanzado el límite máximo de sitios, o para obtener una solución de alojamiento más reciente y beneficiarse de las últimas versiones de PHP y MySQL.

 

Introducción

  • Para migrar un Servidor Cloud, consulte esta otra guía sobre la migración a una nueva generación de Servidor Cloud.

 

Pedir sitios web, espacio en disco o direcciones IP adicionales

Para acceder al configurador del alojamiento web:

  1. Haga clic aquí para acceder a la gestión de alojamientos y sitios web en su Panel de control de Infomaniak (❓: ayuda).
  2. Haga clic en el menú de acciones ⋮ situado a la derecha del alojamiento correspondiente.
    • Si el alojamiento no contiene ningún sitio web, haga clic en su nombre y, a continuación, en Gestionar.
  3. Haga clic en Modificar la oferta:
  4. Aumente los valores que desea modificar.
  5. Haga clic en el botón Siguiente para acceder al pago de las modificaciones realizadas en el alojamiento:

 

 

Migrar a un servidor más reciente

Para obtener una solución de alojamiento en un servidor más reciente y, por lo tanto, beneficiarse de las últimas versiones de PHP y MySQL:

  • Consulte esta otra guía: si la sigue y antes de realizar el paso del punto 4, debería ver en su panel de control una barra informativa en la parte superior de la página; haga clic en el botón de migración:
    • Si no se muestra ninguna barra informativa, es que ya dispone de una oferta de alojamiento reciente.

  • También puede consultar esta otra guía y seguir el procedimiento que se indica hasta el final:

¿Le ha sido útil esta FAQ?

Esta guía explica cómo alojar una aplicación ASP, ASP.NET Framework o ASP.NET Core (.NET moderno) en la infraestructura Cloud de Infomaniak.

 

Introducción

  • Las ofertas de Alojamiento Web y de Servidor Cloud Gestionado se basan en una infraestructura Linux/Apache; no admiten IIS (Internet Information Services) ni la ejecución nativa de aplicaciones desarrolladas para Microsoft Windows (ASP clásico o ASP.NET Framework).
  • A continuación, se presentan las soluciones y alternativas.

 

Detalles de las soluciones de alojamiento compatibles

 

1. VPS Cloud con Windows Server ASP clásico (ASP 3.0) y ASP.NET Framework (v1.0 a 4.8)

Para las aplicaciones que se basan en el ecosistema Windows tradicional (IIS, VBScript, C#, .NET Framework):

  • Implemente un VPS Cloud o un VPS Lite con Windows Server (versiones 2019, 2022 o 2025).
  • Active el rol Servidor web (IIS) con acceso de administrador completo a través de RDP.

 

2. Jelastic Cloud (ASP.NET Core y .NET moderno)

Para las aplicaciones ASP.NET Core multiplataforma:

  • Implementación simplificada mediante contenedor Docker o entorno de ejecución .NET.
  • Ajuste automático de los recursos (CPU/RAM) y alta disponibilidad.

 

3. VPS Cloud Linux ASP.NET Core (.NET 6, 8, 9+)

También puede alojar una aplicación ASP.NET Core en un VPS Cloud Linux (Debian, Ubuntu, etc.) configurado con un proxy inverso (Nginx o Apache) delante del servidor Kestrel de .NET.

 

4. Nube pública (OpenStack)

Adaptado a proyectos empresariales que requieren una red privada virtual (VPN), almacenamiento en bloques/objetos o un despliegue híbrido a gran escala.


¿Le ha sido útil esta FAQ?

Esta guía explica cómo limitar el hotlinking de los archivos alojados en su Alojamiento Web de Infomaniak.

 

Introducción

  • El hotlinking consiste en que un sitio web externo muestre directamente imágenes, vídeos u otros archivos alojados en su servidor utilizando su URL pública, sin alojarlos él mismo.
  • Esta práctica utiliza los recursos de su alojamiento (ancho de banda, conexiones HTTP y recursos del servidor) sin su autorización. También puede infringir sus derechos de autor o el control sobre la distribución de sus contenidos.
  • Aunque las capacidades de red actuales hacen que el impacto en el ancho de banda sea generalmente menos crítico que antes, sigue siendo recomendable limitar el hotlinking para evitar un consumo innecesario de los recursos de su alojamiento.

 

Evitar el hotlinking con un archivo .htaccess

Si su sitio web utiliza el servidor web Apache y el módulo mod_rewrite, puede restringir el acceso directo a determinados archivos añadiendo reglas en el archivo .htaccess situado en la raíz de su sitio web.

El ejemplo que se muestra a continuación protege los formatos de imagen más comunes, incluidos los formatos modernos WebP y AVIF:

RewriteEngine On

# Permitir solicitudes sin una cabecera Referer
RewriteCond %{HTTP_REFERER} !^$

# Permitir solicitudes desde su propio dominio (reemplace con su dominio)
RewriteCond %{HTTP_REFERER} !^https?://(www\.)?votre-domaine\.com [NC]

# Permitir los principales motores de búsqueda
RewriteCond %{HTTP_REFERER} !^https?://(www\.)?google\. [NC]
RewriteCond %{HTTP_REFERER} !^https?://(www\.)?bing\. [NC]
RewriteCond %{HTTP_REFERER} !^https?://(www\.)?yahoo\. [NC]

# Bloquear el enlace directo de archivos de imagen
RewriteRule \.(jpg|jpeg|png|gif|svg|webp|avif)$ - [F,NC,L]

Debe adaptarse antes de su uso:

  • Reemplace votre-domaine\.com con su propio nombre de dominio.
  • Se permiten las solicitudes que no contengan una cabecera HTTP Referer para mantener la compatibilidad con ciertos navegadores, aplicaciones o mecanismos de protección de la privacidad que no transmiten esta cabecera.
  • Las reglas que permiten a los principales motores de búsqueda acceder a las imágenes permiten que estas sean indexadas. Eliminarlas impedirá la indexación de estas imágenes.
  • La regla utiliza la opción [F], que devuelve una respuesta HTTP 403 Forbidden. Este método bloquea inmediatamente la solicitud sin proporcionar contenido adicional, lo que limita el consumo de los recursos del servidor.

Si utiliza Cloudflare como CDN delante de su alojamiento de Infomaniak, también puede activar la función Protección contra enlaces directos desde su interfaz de administración para bloquear este tipo de acceso antes de que llegue a su alojamiento.


¿Le ha sido útil esta FAQ?

Esta guía presenta comandos que se pueden ejecutar con el fin de probar una conexión o una red y, de este modo, determinar con mayor precisión la posible fuente del error.

 

Realizar un Telnet…

TELNET permite probar la conexión a un servidor sin tener en cuenta la configuración adicional de una aplicación de correo electrónico o FTP, lo que permite determinar el origen de un problema. Por ejemplo, si la conexión no se establece con un servidor SMTP, deberá comprobar si su firewall está bloqueando los puertos 587 o 465.

 

… en macOS

  1. Busque Utilidad de red.
  2. Vaya a la pestaña Ping, Lookup o Traceroute, según lo que desee probar.
  3. También puede utilizar una aplicación tipo Terminal (interfaz de línea de comandos, CLI /Command Line Interface) en su dispositivo y, según lo que desee probar, introduzca: 
    traceroute [servidor] 
    nc [servidor] [puerto] 
    Reemplace [servidor] por el nombre del servidor o su dirección IP, lo mismo para [puerto]…

 

… en Windows

Active Telnet previamente si es necesario.

  1. Utilice una aplicación tipo Terminal (interfaz de línea de comandos, CLI /Command Line Interface) en su dispositivo, por ejemplo, escribiendo Ejecutar y luego cmd.
  2. En la ventana que se abre, según lo que desee probar, escriba:
    tracert [servidor]
    telnet [servidor] [puerto]
    Ejemplo: telnet mail.infomaniak.com 587(permite probar el puerto SMTP si su software/cliente de correo electrónico no permite el envío de correos electrónicos)...

 

… en Android

  1. Utilice la aplicación Simple Telnet Client, que permite realizar pruebas de forma muy sencilla mediante dos campos que deben completarse (por ejemplo, mail.infomaniak.com y el puerto 143 o 993)…

 

Realizar un PING

PING permite saber si una máquina es accesible a través de Internet. También puede utilizar esta herramienta para comprobar si se está accediendo a la máquina correcta, por ejemplo, después de un cambio de DNS, observando la dirección IP obtenida. Es posible realizar un ping a un nombre de dominio, un hostname o una dirección IP.

El protocolo PING está definitivamente bloqueado en los alojamientos compartidos de Infomaniak.


¿Le ha sido útil esta FAQ?

Esta guía explica cómo trabajar sin el módulo PECL SSH2 client, que no está disponible en los servicios de alojamiento web y servidores en la nube de Infomaniak, utilizando en su lugar la biblioteca phpseclib, que funciona con PHP nativo sin necesidad de una extensión específica.

 

Introducción

  • El uso de PECL SSH2 client provoca errores de tipo No se encontraron algoritmos de intercambio de claves compatibles o No se pudieron intercambiar las claves de cifrado en su última versión disponible.
  • Phpseclib permite:
    • La autenticación SSH mediante contraseña o clave privada.
    • La ejecución de comandos remotos.
    • La transferencia de archivos seguros (SFTP).
    • La gestión de claves SSH.

 

Utilizar phpseclib

Para integrar una conexión SSH en un script PHP, utilice phpseclib de la siguiente manera:

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('usuario', $key)) {
    exit('Autenticación fallida');
}

echo $ssh->exec('ls -la');

¿Le ha sido útil esta FAQ?

Esta guía detalla las acciones que debe realizar con prioridad si no observa ninguna diferencia entre su sitio después de realizar un cambio y su versión anterior al cambio. Estos consejos también son válidos si tiene problemas al utilizar la interfaz de los productos de Infomaniak.

 

Introducción

  • Mientras navega, un navegador como Brave, Chrome, Edge, Firefox, Opera, Safari… guarda en un espacio reservado los datos que consulta, con el fin de evitar tener que solicitarlos de nuevo al servidor, ahorrando tiempo y recursos.
  • Su caché puede contener una gran cantidad de datos y, a veces, el navegador se equivoca. Los sitios web pueden entonces mostrarse incorrectamente o mostrar una versión obsoleta.
  • Borrar la caché garantiza que se esté utilizando la versión más reciente de la página o carpeta que se está consultando.

 

Borrar la caché del navegador…

 

… en Safari

Elija su versión de macOS para consultar la ayuda correspondiente de Apple.

 

… sobre las herramientas de Google (Chrome, Android, etc.)

Consulte la ayuda de Google.

 

… sobre Firefox

Consulte la ayuda de Mozilla.

 

… sobre Edge / Internet Explorer

Consulte la ayuda de Microsoft.


¿Le ha sido útil esta FAQ?

Esta guía detalla las funciones disponibles para la gestión de bases de datos relacionales en los servicios de alojamiento de Infomaniak.

 

Uso de vistas, disparadores, procedimientos almacenados y rutinas

En lo que respecta a la gestión de bases de datos relacionales, la funcionalidad de las vistas está disponible de forma predeterminada, lo que permite a los usuarios crear vistas para simplificar la gestión y la presentación de los datos.

Sin embargo, algunas funcionalidades avanzadas que permiten una manipulación más precisa y compleja de los datos, como…

  • “disparadores”
  • procedimientos almacenados
  • rutinas
  • y la creación de funciones

… solo están disponibles en los Servidores Cloud.

No están permitidas en los servidores compartidos.

Esta restricción se debe principalmente a los riesgos potenciales para la estabilidad de la infraestructura. Una configuración incorrecta o un uso excesivo de estas funciones podría generar bucles infinitos o sobrecargas importantes, lo que afectaría no solo el rendimiento del servidor en cuestión, sino también la experiencia de todos los clientes alojados en la misma infraestructura.

 

Solucionar un problema de importación de un archivo de volcado MySQL/MariaDB

Al exportar e importar una base de datos MySQL o MariaDB a través de la interfaz de alojamiento de Infomaniak, es posible que la operación falle debido a errores relacionados con los DEFINER de los disparadores o las vistas. Esto ocurre cuando los objetos de la base de datos se han creado con un usuario específico (denominado definer) que ya no existe en el momento de la importación.

En la práctica, el proceso de exportación e importación utiliza un usuario temporal, que se utiliza únicamente durante estas operaciones. Después de eliminar este usuario, las vistas o los disparadores definidos con esta cuenta como DEFINER se vuelven inválidos, lo que provoca errores como:

Error general: 1449 El usuario especificado como definidor ('xxxx_temp_1'@'%') no existe

 

Para evitar este problema, es posible corregir el archivo de copia de seguridad (dump.sql o dump.sql.gz) antes de su importación, reemplazando las definiciones de definer por CURRENT_USER. Esto permite asociar automáticamente los triggers y las vistas al usuario actual en el momento de la importación.

Aquí tiene un ejemplo de comando para modificar el archivo de volcado antes de importarlo:

sed -E 's/DEFINER=`[^`][^`]*`@`[^`][^`][^`]*`/DEFINER=CURRENT_USER/g' dump.sql > dump-corrected.sql

 

Una vez realizado este reemplazo, el archivo corregido se puede importar normalmente a través del Panel de control de Infomaniak. Este comportamiento es conocido y está relacionado con el funcionamiento de los usuarios temporales durante la copia de seguridad/restauración. No se prevén modificaciones en el proceso de exportación/importación a corto plazo, pero el tema sigue en evaluación a nivel de infraestructura.

Para obtener más información sobre la variable CURRENT_USER, consulte la documentación oficial de:


¿Le ha sido útil esta FAQ?

Esta guía explica cómo cambiar la contraseña de una base de datos MySQL / MariaDB de un Alojamiento Web.

 

Introducción

  • Consulte esta otra guía si busca información sobre cómo actualizar los datos de inicio de sesión (scripts, sitios web, etc.) en caso de un cambio de contraseña de la base de datos.
  • No se podrá modificar un usuario de base de datos creado tras la instalación de una aplicación web (ofrecida por Infomaniak).
    • Para acceder a la base de datos a la que está asociado, debe crear un nuevo usuario de base de datos con la contraseña que desee y, a continuación, asignarle los permisos correspondientes a la base de datos deseada.

 

Cambiar la contraseña de MySQL, MariaDB, etc.

Para ello, es necesario modificar el usuario asociado a la base de datos en cuestión y cambiar su contraseña (sin necesidad de proporcionar la contraseña anterior) desde el Panel de control de Infomaniak:

  1. Haga clic aquí para acceder a la gestión de alojamientos y sitios web en su Panel de control de Infomaniak (❓: ayuda).
  2. Haga clic en el nombre del alojamiento correspondiente.
  3. Haga clic en Bases de datos en el menú lateral izquierdo.
  4. Haga clic en el menú Usuarios.
  5. Haga clic en el menú de acciones ⋮ situado a la derecha del elemento correspondiente.
  6. Haga clic en Modificar:
  7. Haga clic en Cambiar contraseña.
  8. Introduzca la nueva contraseña deseada.
  9. Haga clic en el botón Guardar:
  10. Si es necesario, puede configurar los nuevos permisos (lectura / escritura / administración) del usuario para acceder a las bases de datos existentes en el alojamiento.

¿Le ha sido útil esta FAQ?

Esta guía explica cómo iniciar un análisis del contenido de un Alojamiento Web para detectar y eliminar los archivos que contienen virus y otros scripts maliciosos que podrían poner en peligro la seguridad de los sitios web.

 

Introducción

  • Recibirá un correo electrónico cuando la operación se haya completado (el análisis antivirus puede tardar un tiempo; puede cerrar el gestor).
  • Infomaniak garantiza la protección de los alojamientos analizando exclusivamente las carpetas de los sitios web (webroot); fuera de esto, no se realiza ningún análisis sincrónico en el resto del alojamiento.
  • Considere también la posibilidad de utilizar la herramienta de detección de vulnerabilidades para supervisar las posibles vulnerabilidades que se corrigen automáticamente en sus sitios web.

 

Iniciar un análisis antivirus de los sitios

Para analizar el contenido que pueda estar infectado:

  1. Haga clic aquí para acceder a la gestión de alojamientos y sitios web en su Panel de control de Infomaniak (❓: ayuda).
  2. Haga clic en el nombre del alojamiento correspondiente.
  3. Haga clic en Seguridad en el menú lateral izquierdo.
  4. Haga clic en Antivirus en el menú lateral izquierdo.
  5. Haga clic en el botón azul Analizar:
  6. Seleccione el sitio o los sitios que desea analizar.
  7. Haga clic en el botón azul Iniciar el análisis:
  8. Siga la procedura hasta que se inicie el análisis de los archivos.

¿Le ha sido útil esta FAQ?

Esta guía explica cómo instalar rápidamente aplicaciones, extensiones PHP y tecnologías (lista no exhaustiva a continuación) en unos pocos clics en Servidor Cloud únicamente.

 

Consulte esta otra guía si busca información sobre aplicaciones web adicionales que se pueden instalar en cualquier tipo de alojamiento, incluidas las ofertas estándar/compartidas.

 

Instalar (o desinstalar) aplicaciones/extensiones PHP…

Para encontrar la lista de tecnologías y proceder a su instalación:

  1. Haga clic aquí para acceder a la gestión de su Servidor Cloud en el Panel de control de Infomaniak (¿necesita ayuda?).
  2. Haga clic directamente en el nombre asignado al Servidor Cloud correspondiente:
  3. Haga clic en el menú lateral izquierdo:
    1. Extensiones PHP
    2. Instalador rápido
  4. Haga clic en el menú de acciones ⋮ a la derecha de la extensión que desea desinstalar en la tabla que se muestra.
  5. Haga clic en Desinstalar.
  6. De lo contrario, haga clic en el botón azul.Instalar una extensión / Instalar una aplicación:
  7. Luego, seleccione la nueva instalación que desee:

 

Lista no exhaustiva de las aplicaciones y extensiones disponibles

  • AdvanceCOMP
  • BuildEssential
  • electron_dev
  • ExifTool
  • FFmpeg ↗ guía
  • Ghostscript
  • Gifsicle
  • GraphicsMagick
  • HAProxy
  • Imagemagick ↗ guía
  • Jpegoptim
  • libjpeg_turbo
  • libqrencode
  • libX11_xcb1
  • MidnightCommander
  • Memcached ↗ guía
  • mongoDB ↗ guía
  • NVM, administrador de versiones de Node
  • OptiPNG
  • p7zip
  • PDFtk
  • PHP_APCu
  • PHP_CLI ↗ guía
  • PHP_FPM
  • PHP_GnuPG (extensión obsoleta) ↗ guía para la alternativa PHP pura
  • PHP_gRPC
  • PHP_igbinary
  • PHP_IonCube ↗ guía
  • PHP_OPcache
  • PHP_PDF
  • PHP_PDO_ODBC ↗ guía
  • PHP_Swoole
  • pip
  • Pngcrush
  • Pngquant
  • Redis ↗ guía
  • RRDTool, la herramienta de base de datos Round Robin
  • RubyCompass
  • systemd ↗ guía
  • tesseract_ocr
  • varnish ↗ guía
  • virtualenv
  • WebP
  • xauth
  • xpdf
  • xvfb
  • ZSH

¿Le ha sido útil esta FAQ?