Base de conocimientos
1000 FAQ, 500 tutoriales y vídeos explicativos. ¡Aquí sólo hay soluciones!
Esta guía técnica detalla los límites de recursos en los alojamientos web de Infomaniak; es esencial distinguir el tiempo real (reloj) del tiempo de cálculo (procesador) para comprender el origen de las interrupciones de los scripts.
1. Tiempo de conexión MySQL (I/O)
Límite: 30 segundos reales
Este límite corresponde al tiempo absoluto transcurrido "en mano". Afecta a la comunicación entre PHP y el servidor de la base de datos (MySQL/MariaDB).
Tan pronto como se abre una conexión, el servidor de la base de datos asigna un máximo de 30 segundos para recibir la consulta, ejecutarla y devolver los resultados. Si este plazo se excede (a menudo debido a una consulta SQL mal optimizada), el servidor MySQL corta bruscamente la conexión. Esto generalmente genera el error MySQL server has gone away.
2. Tiempo de procesamiento PHP (CPU)
Límite: 10 segundos CPU
Este límite se refiere exclusivamente a la potencia de cálculo consumida por el servidor web para ejecutar el código PHP.
Es crucial señalar que el tiempo de espera no cuenta. Cuando PHP espera una respuesta de la base de datos, está en pausa y no consume casi tiempo de CPU. Por lo tanto, un script será interrumpido por el servidor web solo 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 respetar simultáneamente 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 (I/O) y luego procesa el resultado durante 2 segundos (CPU) funcionará perfectamente, ya que no ha excedido ninguno de los dos límites individuales, aunque el tiempo total sea de 27 segundos.
Esta guía explica cómo cambiar la contraseña de gestión de WordPress o cualquier otra aplicación web (Joomla, Drupal, Typo3, PrestaShop, ownCloud, etc.) instalada a través de las herramientas Infomaniak incluidas en las ofertas deAlojamiento web De pago.
Preámbulo
- Algunas aplicaciones también permiten un cambio de contraseña de usuario directamente desde su interfaz dedicada:
- Ejemplo: WordPress (Administrar usuarios, nombres, contraseñas, roles, etc.).
Editar contraseña de una app web
Para cambiar la contraseña de acceso al panel de administración de su aplicación web, realice las siguientes acciones:
- Haga clic aquí para acceder a la gestión de su producto en el Manager Infomaniak (¿Necesitas ayuda?).
- Haga clic directamente en el nombreasignado al producto afectado:

- Haga clic en el menú de acciónsituado a la derecha de la aplicación web de que se trate.
- Haga clic en Parámetros de la aplicación:

- Haga clic en Editar A la derecha de la aplicación:

- Bajo Contraseña Introduzca la nueva contraseña (para la conexión con el identificador indicado anteriormente):

- Haga clic en el botón Guardar Al final de la página.
Esta guía explica cómo convertir una oferta Web Starter gratuita a una oferta de pago más completa y mejorada, como un Alojamiento Web compartido o un alojamiento web en Servidor Cloud.
Preámbulo
- Al comprar un nombre de dominio con Infomaniak, obtiene 1 dirección de correo electrónico gratuita y un espacio web básico de 10 Mo.
- En unos pocos clics, es posible hacer evolucionar esta oferta para beneficiarse de una experiencia enriquecida.
Modificar la oferta Starter - página web básica
Para hacer evolucionar esta oferta gratuita:
- Haga clic aquí para acceder a la gestión de su producto en el Gestor de Infomaniak (¿Necesita ayuda?).
- Haga clic en el menú de acción ⋮ situado a la derecha del elemento concernido.
- Haga clic en Modificar la oferta:
- Siga el asistente para elegir el nuevo tipo de alojamiento, pague para finalizar el cambio de oferta.
Esta guía trata sobre la sincronización de servidores a través del protocolo NTP (Network Time Protocol) y la configuración de la zona horaria en los servidores de Infomaniak.
Sincronización precisa de los servidores a través de 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 stratum-1 accesibles al público para un uso flexible.
Para integrar estos servidores en sus parámetros, utilice el siguiente registro: pool.ntp.infomaniak.ch.
La configuración predeterminada de la zona horaria está en UTC. Sin embargo, las funciones 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: especificidades temporales
La infraestructura de Infomaniak admite las funcionalidades que permiten trabajar con datos temporales de manera precisa y eficiente, teniendo en cuenta los husos horarios, lo cual es crucial para muchas aplicaciones modernas:
- MySQL utiliza una base de datos de husos horarios para almacenar y gestionar la información sobre los husos horarios.
- La tabla
mysql.time_zonecontiene los datos de los husos horarios, incluidas las informaciones sobre los desplazamientos de tiempo, los nombres de los husos horarios, etc. - La función CONVERT_TZ se utiliza para convertir una hora de un huso horario a otro en MySQL con la siguiente sintaxis:
CONVERT_TZ(dt, from_tz, to_tz), donde:dtes la fecha/hora a convertir.from_tzes el huso horario de origen.to_tzes el huso horario 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.
Esta guía explica por qué existe una carpeta /icons/ dentro de los Alojamientos Web de Infomaniak.
Carpeta /icons/ en tu Alojamiento Web
En algunos casos, una carpeta llamada /icons/ está presente por defecto en tu alojamiento web. Esta carpeta generalmente es accesible a través de HTTP, pero no es visible en la estructura FTP (www.domain.xyz/icons/).
Este directorio /icons/ se utiliza a menudo para almacenar iconos o imágenes específicas que sirven para mostrar las listas de directorios. Estos iconos generalmente son utilizados por los servidores web para representar visualmente los diferentes tipos de archivos en los directorios cuando se consultan a través de un navegador.
Esta guía explica cómo agregar direcciones IP a la lista blanca de un sitio web de Infomaniak.
Prólogo
- Permitir IP en
xmlrpc.phppermite acceder a las URLs que están bloqueadas por defecto, ya que se consideran de riesgo. - Este tipo de bloqueo es efectivo en todos los servidores recientes.
- En cuanto a WordPress, su funcionalidad XML-RPC solo está disponible por defecto a través de los servicios de Infomaniak y JetPack por razones de seguridad.
Agregar direcciones IP a la lista blanca de xmlrpc.php
Para acceder a la gestión del sitio web:
- Haga clic aquí para acceder a la gestión de su producto en el Manager Infomaniak (¿Necesita ayuda?).
- Haga clic directamente en el nombre asignado al producto correspondiente:
- Haga clic en Gestionar bajo Configuración avanzada:

- Haga clic en la pestaña PHP / Apache.
- Complete la línea correspondiente:

- Haga clic en el botón al final de la página para guardar.
Esta guía proporciona información precisa sobre la compatibilidad del entorno de desarrollo ASP (Active Server Pages, aspx) dentro de la infraestructura de Infomaniak.
Compatibilidad con ASP
Los servicios de alojamiento web y servidores en la nube se basan en una arquitectura de servidor Apache que no admite nativamente el módulo Apache::ASP.
Sin embargo, existe la posibilidad de instalar y configurar este entorno ASP en VPS Cloud de Infomaniak.
Esta guía explica cómo configurar una red de sitios WordPress para gestionar varios sitios desde una misma instalación de WordPress Infomaniak, con direcciones URL del tipo site1.domain.xyz, site2.domain.xyz, o incluso con domain1.com, domain2.com, etc.
¡Simplifíquese la vida! En caso de necesidad, socios locales y recomendados por Infomaniak pueden encargarse de estos trámites. Lance una solicitud de oferta gratuita. Ellos se encargan de todo, liberándolo de los detalles técnicos.
Instalación de WordPress multisite
Para empezar:
- Instale WordPress a través de Infomaniak en su espacio de alojamiento con un nombre de dominio principal:

- Este primer sitio WordPress debe ser accesible y funcionar correctamente:

- Este primer sitio WordPress debe ser accesible y funcionar correctamente:
- Conéctese por FTP.
- Edite el archivo
wp-config.phpde este primer sitio WordPress. - Por encima de la línea "
/* That's all, stop editing! Happy blogging. */" (#94) copie y pegue el códigodefine('WP_ALLOW_MULTISITE', true);:
- Guarde sus cambios.
- Luego, conéctese a la administración de su sitio WordPress.
- Desactive temporalmente todas las extensiones de WordPress:

- Vaya al menú HERRAMIENTAS para crear una Red:

- Elija el método de creación de sus diferentes WordPress (en subdominios)…
- Haga clic en el botón de instalación:

- Añada las indicaciones que se muestran en pantalla en el
wp-config.phpy.htaccessen el servidor. - Después de volver a conectarse a su WordPress obtendrá un nuevo menú "Mis sitios" en el que podrá añadir y gestionar sus diferentes sitios de la misma red:

- Reactive sus extensiones desactivadas.
- En el Manager, añada un alias a su sitio de la forma
*.su-dominio-aquí (el asterisco permite crear un alias comodín) con actualización DNS para que elCNAMEcorrecto se añada automáticamente en la zona:
- Instale o actualice sus certificados SSL:

- Cuando cree un nuevo sitio dentro de la red, por ejemplo, nombrándolo
home2, entonces será accesible a través dehome2.domain.xyzy así sucesivamente:
Esta guía permite resolver un error de tipo "Invalid query: MySQL server has gone away".
Prólogo
- Este tipo de error a menudo se debe al hecho de mantener una conexión MySQL abierta sin enviar consultas durante un intervalo de tiempo más allá del cual la conexión se cierra: http://dev.mysql.com/doc/refman/5.7/en/gone-away.html
- Las variables
wait_timeoutyinteractive_timeoutque controlan esta desconexión son de 30 segundos: http://dev.mysql.com/doc/refman/5.0/en/communication-errors.html
Soluciones
Para evitar el error "MySQL server has gone away", aquí hay varias aproximaciones posibles:
Verificación y reconexión automática
Antes de ejecutar una consulta, se recomienda probar si la conexión MySQL sigue activa. Si la conexión ha sido cerrada, puede restablecerse automáticamente antes de continuar con su consulta. Aquí hay un ejemplo en PHP:
if (!mysqli_ping($connexion)) {
mysqli_close($connexion);
$connexion = mysqli_connect($host, $user, $password, $database);
}La función mysqli_ping() verifica si la conexión sigue siendo válida. Si no lo es, el script cierra la conexión y abre una nueva.
Envío de "Ping" regular
Otro medio consiste en ejecutar un script que envía regularmente 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ía una consulta ligera, como SELECT 1; a intervalos regulares.
Ajuste de los parámetros MySQL (Servidor en la nube)
Con un Servidor en la nube, puede aumentar los valores de las variables wait_timeout y interactive_timeout desde el menú MySQL de su servidor para prolongar la duración de la conexión antes de que se cierre.
Esta guía le concierne si desea realizar pruebas de vulnerabilidad de su sitio / servidor alojado por Infomaniak.
Tolerados y restringidos
Es libre de realizar pruebas de vulnerabilidad (inyección SQL, XSS, etc.), de intrusión, o pruebas de penetración (pentest) de su alojamiento Infomaniak únicamente según las siguientes condiciones:
- … entre las 9h y las 17h CET
- … de lunes a viernes
- … con el mínimo de paquetes de ataque independientemente del software utilizado (AppScan por ejemplo)
- … sin nunca realizar un solo ataque de tipo DoS o DDoS (Denegación de servicio / Denial of Service)
- … respetando los Términos y Condiciones de Infomaniak, en particular el marco compartido de los servicios
Cualquier uso abusivo podrá dar lugar a una rescisión anticipada por parte de Infomaniak.
Esta guía detalla los errores de tipo "502 Bad Gateway" que se pueden obtener al visitar un sitio web.
Prólogo
- El error 502 Bad Gateway se produce cuando el servidor que actúa como pasarela entre el navegador y el servidor web original recibe una respuesta no válida.
- Este error puede ser causado por un servidor web sobrecargado, problemas de comunicación entre un CDN y el servidor web de alojamiento o un servidor proxy mal configurado.
- A veces, el error puede ser causado por una entrada incorrecta en el servidor DNS.
Posibles soluciones
Para resolver el error 502 Bad Gateway, a menudo es necesario proceder por eliminación:
- Verifique si no se trata de una sobrecarga temporal del servidor: basta con recargar la página después de unos minutos para que el error desaparezca.
- Borrar la caché del navegador.
- Inténtelo desde otro navegador.
Esta guía explica cómo resolver un problema de importación de un archivo .csv en una tabla MySQL. La alternativa propuesta consiste en leer el archivo CSV línea por línea con PHP e insertar los datos en la base de datos MySQL.
Función "LOAD DATA LOCAL INFILE" desactivada
La función LOAD DATA LOCAL INFILE permite importar un archivo CSV directamente en una tabla MySQL. Sin embargo, esta funcionalidad se utiliza a menudo por los atacantes para obtener acceso no autorizado a sitios alojados en servidores que la aceptan.
Para prevenir cualquier riesgo de seguridad y proteger los datos de los clientes, Infomaniak ha desactivado la función LOAD DATA LOCAL INFILE. Los usuarios que importan sus archivos CSV a través de phpMyAdmin (sin marcar la opción “CSV via LOAD DATA”) no están afectados.
Aquí hay un método alternativo para importar datos en formato CSV en una tabla MySQL. El ejemplo a continuación muestra cómo manejar correctamente los errores al abrir el archivo CSV y al insertar los datos en la base de datos.
Este script utiliza mysqli para conectarse a la base de datos y consultas preparadas para insertar los datos. Esto garantiza una mejor seguridad, compatibilidad óptima con las versiones recientes de PHP y una integración sencilla en su proyecto, ya sea en un script existente o en un nuevo archivo ubicado en el directorio /web:
$fileName = "data.csv";
// Connect to MySQL database using mysqli
$link = new mysqli("localhost", "username", "password", "database");
// Check database connection
if ($link->connect_error) {
die("Connection failed: " . $link->connect_error);
}
// Open the CSV file for reading
if (($handle = fopen($fileName, "r")) !== FALSE) {
// Read each line of the CSV file
while (($data = fgetcsv($handle, 1000, ";")) !== FALSE) {
// Prepare the SQL query dynamically
$query = "INSERT INTO `test` VALUES (" . str_repeat('?,', count($data) - 1) . "?)";
$stmt = $link->prepare($query);
// Check if query preparation was successful
if ($stmt === FALSE) {
die("Query preparation failed: " . $link->error);
}
// Bind parameters (assuming all columns are strings)
$types = str_repeat('s', count($data));
$stmt->bind_param($types, ...$data);
// Execute the query
if (!$stmt->execute()) {
die("Query execution failed: " . $stmt->error);
}
// Close the statement
$stmt->close();
}
// Close the CSV file
fclose($handle);
} else {
echo "Error: unable to open the file.\n";
exit(1);
}
// Close the database connection
$link->close();
?>Obtener ayuda
Desafortunadamente, no es posible indicar con precisión en qué parte del script deben insertarse estas líneas de código.
Si este método presenta problemas (por ejemplo, en caso de importación simultánea de varios archivos CSV sin mensaje de error), es posible que la estructura de las tablas o la indexación de los campos sea la causa. En este caso, póngase en contacto con su webmaster para su verificación.
Consulte también la documentación oficial de PHP relativa a la función fgetcsv().
¡Simplifíquese la vida! En caso de necesidad, socios locales y certificados por Infomaniak pueden encargarse de estos trámites. Lance una solicitud de oferta gratuita — ellos se encargan de todo, liberándolo de los aspectos técnicos.
Esta guía trata sobre la optimización de sitios web y, más específicamente, el uso de un motor de caché en ellos.
Prólogo
- Cuando Infomaniak se da cuenta de que su sitio web consume más recursos que otros sitios en el mismo servidor, se realiza un análisis.
- A menudo, resulta que un simple cambio en una solicitud o en un parámetro permitiría optimizar su sitio y aliviar la carga del servidor.
- Entonces, recibirá un correo electrónico con las instrucciones a seguir, que a menudo incluyen la instalación o activación de un motor de cache.
- El consumo de recursos no está necesariamente relacionado con el número de visitantes.
- Un sitio bien optimizado, actualizado y con un motor de caché correctamente configurado puede gestionar varias decenas de miles de visitantes diarios, mientras que un sitio mal optimizado puede consumir demasiados recursos con solo unas pocas visitas al día.
- Un motor de caché almacena temporalmente datos frecuentemente utilizados para proporcionarlos más rápidamente en nuevas solicitudes.
- Esto mejora significativamente la rapidez del sitio y reduce la carga en las bases de datos o servicios web.
- Para instalar un sistema de caché en Serveur Cloud Infomaniak, consulte esta otra guía.
Activar un motor de caché…
… en WordPress
WordPress cuenta con muchos plugins de caché. Aquí están los más populares y eficaces:
- WP Super Cache (gratuito, fácil de configurar)
- W3 Total Cache (avanzado, múltiples opciones)
- WP Rocket (de pago, interfaz sencilla y eficiente)
Procedimiento de activación:
- Inicia sesión en tu administración de WordPress.
- Ve a Extensiones > Añadir.
- Busque uno de los plugins mencionados, instálalo y actívalo.
- Configure las opciones de caché según sus necesidades: almacenamiento en caché de páginas, minificación de archivos CSS/JS, compresión gzip, etc.
- Pruebe el rendimiento con y sin caché utilizando herramientas como Google PageSpeed Insights o GTmetrix.
Para profundizar, consulte también:
- https://news.infomaniak.com/6-moyens-techniques-pour-optimiser-un-site-wordpress/
- https://news.infomaniak.com/memcached-w3totalcache/
- https://www.seomix.fr/?s=cache
… en Joomla
Inicia sesión en la administración de Joomla y sigue estos pasos:
- Accede a Sistema > Configuración global.
- Selecciona la pestaña Sistema.
- En la sección Caché, active el caché del sistema.
- Elige el tipo de caché: Conservador (caché individual por usuario) o Progresivo (caché compartido entre usuarios). La caché progresiva es recomendada para mejores rendimientos.
- Establezca la duración de validez del cache en minutos (por ejemplo, 60 minutos para un sitio activo o más tiempo para un sitio estático).
- Guarde los parámetros.
- Para vaciar manualmente la caché, vaya a Sistema > Gestionar la caché y luego elimine los archivos de caché.
Joomla 5 cuenta con una mejor gestión de la caché y una interfaz modernizada en comparación con la versión 4.x.
… en PrestaShop
Inicia sesión en la administración de PrestaShop y luego:
- Vaya al menú Configuración avanzada > Rendimiento.
- En la sección Smarty, active la opción Cache.
- En el bloque CCC (Combine, Compress and Cache), active todas las opciones disponibles.
- En el bloque Cache, active Usar la caché.
- Siga las instrucciones para instalar las extensiones o módulos recomendados (ex. Memcached, Redis) para una optimización adicional.
- Guarde los cambios.
… sobre Magento
Magento 1.x está obsoleto. Para Magento 2, proceda de la siguiente manera:
- Inicia sesión en la administración de Magento.
- Accede a Sistema > Gestión de la caché.
- La caché está activada por defecto. Puede purgar o actualizar la caché desde esta interfaz.
- Asegúrate de que todos los tipos de caché recomendados (Configuración, Caché de página, Diseños, etc.) estén activados.
- Para un rendimiento óptimo, utilice soluciones complementarias como Redis o Varnish si su alojamiento las soporta.
… en Contao (versión 4.x)
Inicia sesión en el back office de Contao y luego:
- Vaya a Módulos > Sistema > Configuración.
- En Modo de la caché, marque las opciones Usar la caché del sistema y Usar la caché del navegador.
- Guarde los cambios.
… en Drupal (versión 9.x)
Para Drupal 7.x (aún utilizado pero no recomendado), proceda de la siguiente manera:
- Inicie sesión en la administración de Drupal.
- Vaya a Configuración > Rendimiento.
- Marque la casilla Almacenar en caché las páginas para los usuarios anónimos.
- Guarde.
Para Drupal 9.x (recomendado): la caché está activada por defecto y gestionada a través de los módulos internos. Puede configurar la caché en Configuración > Desarrollo > Rendimiento. Para mejorar aún más el rendimiento, utilice sistemas externos como Redis o Varnish si están disponibles.
Esta guía trata sobre el nombre de las páginas de inicio que es posible tener en su Alojamiento Web Infomaniak, y que se tendrán en cuenta en prioridad cuando un visitante acceda a su sitio web a través de su nombre de dominio.
En cuanto a Site Creator, consulte esta otra guía.
Prólogo
- Las páginas de inicio predeterminadas en un servidor web son las primeras páginas que se muestran cuando un usuario accede a un sitio web sin especificar un archivo en particular.
- Si ingresas simplemente
http://domain.xyzen la barra de direcciones de tu navegador, el servidor web buscará una página de inicio por defecto para mostrar, por ejemploindex.html,index.php,index.htm, o otras variaciones similares.
Orden de prioridad de las páginas de inicio
Aquí están, en orden de prioridad, las páginas cargadas por defecto en Infomaniak:
- index.html
- index.htm
- home.html
- home.htm
- default.html
- default.htm
- index.cgi
- index.php
- index.php5
- index.php4
- index.php3
- default.php
- home.php
- welcome.php
En resumen:
- Si tienes 2 páginas en la raíz de tu alojamiento, gracias a la clasificación anterior, observas que
index.phpes reconocido en prioridad con respecto awelcome.php. - También se puede deducir que si solo tiene
welcome.phpcomo página en el directorio raíz, se cargará y funcionará como página de inicio. - Si tienes una página
accueil.html, no funcionará porque este nombre no está en la lista. - Cuando escribas
www.domaine.xyzen el navegador, solo se mostrará automáticamenteindex.php(y para mostrarwelcome.phpdeberás escribir el nombre exacto de la páginawww.domaine.xyz/welcome.php).
Personalizar la página de inicio por defecto
Para definir otra página de inicio que se cargue por defecto, agregar DirectoryIndex y luego las páginas adecuadas en el archivo .htaccess:
DirectoryIndex accueil.html index.php index.htmlEsto significa que el servidor web primero buscará un archivo llamado accueil.html. Si no encuentra accueil.php, buscará index.php, y luego index.html.
Para evitar un error “Crear una base de datos: ningún privilegio” es imprescindible pasar por el Manager Infomaniak y no por phpMyAdmin para añadir una nueva base de datos.
Esta guía explica cómo obtener información sobre la presencia de un sistema de caché en un sitio utilizando el comando curl.
Prólogo
- En el mundo de la programación y la administración de sistemas, a menudo es necesario determinar si un sitio web utiliza un sistema de caché para mejorar su rendimiento.
- Los sistemas de caché como Fastly se utilizan comúnmente para almacenar temporalmente datos con el fin de servirlos más rápidamente a los usuarios.
- Siguiendo estos pasos, podrás determinar si un sitio web utiliza un sistema de caché para mejorar su rendimiento y comprender el funcionamiento y la optimización de los sitios.
Uso del comando curl
curl es una herramienta de línea de comandos que permite transferir datos utilizando URL.
La opción -svo /dev/null se utiliza para realizar una solicitud silenciosa (-s), mostrar información detallada sobre la solicitud (-v) y redirigir los datos de salida a /dev/null para ignorarlos (/dev/null es un dispositivo especial en los sistemas Unix/Linux que se comporta como una papelera). -H "Fastly-Debug: true" es un encabezado HTTP añadido a la solicitud para solicitar información de depuración específica de Fastly.
Ejecutar el comando
Ejecuta el siguiente comando desde una aplicación de tipo Terminal (interfaz de línea de comandos, CLI / Command Line Interface) en tu dispositivo:
curl -svo /dev/null [url] -H “Fastly-Debug: true”y reemplaza [url] por la dirección del sitio web que deseas verificar.
Si el sitio utiliza Fastly o algún otro sistema de caché similar, verás información de depuración específica en la salida del comando. Los detalles proporcionados pueden incluir información sobre las solicitudes y respuestas HTTP, así como información sobre la caché y el rendimiento.
Esta guía explica cómo activar la opción MultiViews a través de un archivo .htaccess en los sitios alojados por Infomaniak.
Prólogo
- En algunos casos, la opción MultiViews debe estar activada para gestionar problemas de redirección y reescritura de URL.
- Esta opción permite al servidor adivinar qué archivo está buscando el usuario. Ejemplo:
- Si la carpeta
configurationy el archivoconfiguration.phpse encuentran en la raíz de su sitio y intenta acceder a la direccióndomain.xyz/configuration, la opción MultiViews debe estar activada para que el servidor pueda adivinar que desea acceder al archivoconfiguration.php.
- Si la carpeta
- La opción MultiViews puede entrar en conflicto a veces con reglas de reescritura de URL más complejas definidas por
mod_rewrite(utilizadas por muchos CMS).
Activar la opción MultiViews
Para ello:
- Abra o cree el archivo
.htaccessque se encuentra en la raíz del sitio correspondiente. Agregue la siguiente directiva:
Options +MultiViews- Guarde los cambios.
Esta guía trata sobre ImageMagick, una solución poderosa para la manipulación de imágenes, que puede instalar en un Albergue Web Infomaniak.
Para la instalación, lo más sencillo es utilizar Instalador rápido.
ImageMagick y alternativas
Estas soluciones de manipulación de imágenes son compatibles con los alojamientos web y servidores en la nube:
ImageMagick: la suite de software principal para la manipulación versátil de imágenes a través de la línea de comandosPerlMagick: interfaz Perl para integrar las funcionalidades de ImageMagick en scripts Perl- Módulo Perl
Image::Magick: extensión Perl para acceder a las funcionalidades de ImageMagick sin especificar la ruta absoluta del ejecutable GD 2.x: biblioteca gráfica de código abierto que ofrece funcionalidades similares a ImageMagick, a menudo utilizada en contextos de desarrollo webGallery 2: plataforma de gestión de galerías de imágenes compatible con ImageMagick para la presentación en línea
Si es necesario, la ruta para ImageMagick es estándar ya que se instala a través del depósito Debian:
/usr/biny para el módulo Perl Image::Magick:
/usr/local/bin/converto sin especificar la ruta absoluta:
$ perl -e 'use Image::Magick';Todos los comandos de imagemagick están en /usr/bin/ :
/usr/bin/animate
/usr/bin/compare
/usr/bin/composite
/usr/bin/conjure
/usr/bin/convert
/usr/bin/display
/usr/bin/identify
/usr/bin/import
/usr/bin/mogrify
/usr/bin/montage
/usr/bin/streamEsta guía detalla el uso de Crontab (crons a través de SSH), disponible únicamente en Servidor Cloud, por defecto (también existe un programador de tareas para cualquier alojamiento).
Requisitos previos
- Los archivos de script llamados por el cron deben ser ejecutables (CHMOD).
Ruta completa
Las tareas Cron no conocen la ruta absoluta (path). Llamar a PHP sin especificar las rutas completas al ejecutable hace que la ejecución de la tarea sea imposible. Es necesario especificar
/opt/phpX.X/bin/phpreemplazando X.X por la versión de PHP deseada (/opt/php7.1/bin/php por ejemplo).
Otras operaciones
Listar los crons del usuario SSH en cuestión:
crontab -l -u NomUtilisateurSSHEditar los crons:
crontab -e -u NomUtilisateurSSHRecibir una notificación por correo electrónico del resultado de sus tareas cron (para agregar al inicio del archivo):
MAILTO=e-mail@domain.xyz
Restaurar una copia de seguridad
Infomaniak guarda los crons de los últimos 7 días (una vez al día). En caso de eliminación accidental, contacte con el soporte de Infomaniak para solicitar una restauración especificando la hora y la fecha de la eliminación.
Este guía explica cómo optimizar la caché de recursos web mediante las cabeceras HTTP.
Prólogo
- Una buena estrategia de caché permite mejorar significativamente el rendimiento de su sitio evitando retransmitir innecesariamente archivos sin cambios.
- La caché web se basa en dos mecanismos complementarios:
- La duración de validez de la caché (a través de la cabecera
Expires) que indica cuánto tiempo un recurso puede ser reutilizado sin contactar con el servidor. - La validación condicional (a través de las cabeceras
Last-Modified/If-Modified-Since) que permite verificar si un recurso ha cambiado antes de volver a descargarlo.
- La duración de validez de la caché (a través de la cabecera
Configuración de la duración de la caché con Expires
La cabecera Expires permite especificar una duración durante la cual el navegador puede reutilizar directamente los recursos desde su caché local. Aquí le mostramos cómo configurarlo en su archivo .htaccess:
- Cree o abra el archivo
.htaccessen la raíz de su sitio (generalmente en/webo/sites/domain.xyz). Añada la configuración del módulo
expires:<IfModule mod_expires.c>Defina las duraciones de caché adecuadas para cada tipo de recurso:
ExpiresActive On ExpiresByType text/html "access plus 1 week" ExpiresByType image/jpeg "access plus 1 month" ExpiresByType text/css "access plus 1 month" ExpiresByType application/javascript "access plus 1 month"Estas directivas significan que:
- Las páginas HTML se conservarán en caché durante una semana.
- Las imágenes JPEG, archivos CSS y JavaScript se guardarán durante un mes.
Adapte estas duraciones según la frecuencia de actualización de sus recursos.
Cierre la sección de configuración:
</IfModule>
Validación condicional con Last-Modified
Incluso cuando un recurso ha expirado en la caché, no siempre es necesario volver a descargarlo por completo. El mecanismo de validación condicional permite al navegador verificar si su versión en caché sigue estando actualizada. Este proceso funciona así:
- El servidor envía automáticamente una cabecera
Last-Modifiedcon cada recurso, indicando su fecha de última modificación.- Apache gestiona esto de forma nativa para los archivos estáticos - no se requiere configuración adicional.
Cuando el navegador solicita nuevamente el recurso, envía una cabecera
If-Modified-Sinceque contiene la fecha que tiene en caché:GET /resource HTTP/1.1 Host: www.example.com If-Modified-Since: Wed, 21 Oct 2015 07:28:00 GMT- El servidor compara esta fecha con la fecha real de modificación del archivo:
- Si el archivo no ha cambiado, simplemente devuelve un código
304 No Modificado, ahorrando así ancho de banda. - Si el archivo ha sido modificado, devuelve la nueva versión con un código
200 OK.
- Si el archivo no ha cambiado, simplemente devuelve un código