Knowledge base
1000 FAQs, 500 tutorials and explanatory videos. Here, there are only solutions!
This guide helps resolve an error of type "Invalid query: MySQL server has gone away
".
Preamble
- This type of error often occurs when a MySQL connection is kept open without submitting queries for a period of time beyond which the connection is closed: http://dev.mysql.com/doc/refman/5.7/en/gone-away.html
- The variables
wait_timeout
andinteractive_timeout
that control this disconnection are set to 30 seconds: http://dev.mysql.com/doc/refman/5.0/en/communication-errors.html
Solutions
To avoid the "MySQL server has gone away" error, here are several possible approaches:
Automatic verification and reconnection
Before executing a query, it is recommended to test if the MySQL connection is still active. If the connection has been closed, you can re-establish it automatically before proceeding with your query. Here is an example in PHP:
if (!mysqli_ping($connexion)) {
mysqli_close($connexion);
$connexion = mysqli_connect($host, $user, $password, $database);
}
The function mysqli_ping()
checks if the connection is still valid. If it is not, the script closes the connection and opens a new one.
Sending regular "Pings
Another method involves running a script that regularly sends a "ping" to the database to keep the connection active. For example, you could create a scheduled task (cron job) that sends a light query, such as SELECT 1;
at regular intervals.
Adjusting MySQL parameters (Cloud Server)
With a Cloud Server, you can increase the values of the variables wait_timeout
and interactive_timeout
from the MySQL menu of your server to extend the duration of the connection before it is closed.
This guide is for you if you wish to perform vulnerability tests on your site/server hosted by Infomaniak.
Allowed and restricted
You are free to perform vulnerability tests (SQL injection, XSS, etc.), intrusion, or penetration testing (pentest) on your Infomaniak hosting only under the following conditions:
- … between 9 AM and 5 PM CET
- … from Monday to Friday
- … with the minimum number of attack packets regardless of the software used (AppScan for example)
- … without ever performing a single DoS or DDoS (Denial of Service) attack
- … while respecting the Infomaniak Terms of Service, particularly the shared service framework
Any abusive use may result in early termination by Infomaniak.
This guide explains how to create a PTR record on the dedicated IPs of VPS Cloud / VPS Lite.
Preamble
- A PTR (Pointer Record) is a type of DNS record used to resolve IP addresses into domain names.
- The PTR record is used to associate an IP address with a domain name or subdomain.
- This is the opposite of the A record which is used to resolve domain names into IP addresses.
Create a PTR on the VPS Cloud / VPS Lite IP
If you have a VPS Cloud / VPS Lite and you want to create a PTR record for your dedicated IP address, here are the steps to follow:
- Make sure your domain or subdomain points to the IP address (v4 or v6) of your VPS Cloud / VPS Lite server.
- You can do this by creating an A record for your domain or by modifying the existing record to point to the IP address of your VPS Cloud / VPS Lite.
- Check that your domain is correctly pointing to the IP address of your VPS Cloud / VPS Lite (see 1).
- Contact Infomaniak support to request the creation of a PTR record for your dedicated IP address.
- Mention the IP address of your VPS Cloud / VPS Lite server (you can find this IP address in your server management dashboard or by using a command line command like "
ifconfig
" or "ipconfig
" depending on the operating system you are using).
- Mention the IP address of your VPS Cloud / VPS Lite server (you can find this IP address in your server management dashboard or by using a command line command like "
- Once the PTR record is created, use an online verification tool to ensure that the PTR record points to your domain or subdomain.
This guide explains how to connect to an external database from a Cloud Server.
Preamble
- It is possible to connect to MySQL via SSL (external or not) - this must be specified when establishing the connection.
- The MySQL port
3306
is closed by default - to open it, refer to this other guide. - Infomaniak does not install
PDO_DBLIB
.
Install PHP_PDO_ODBC
Prerequisites
- Have the PHP Extensions menu on the Infomaniak Manager in the Cloud Server section (if not, it will be necessary to upgrade the Cloud Server).
It is possible to install the PHP_PDO_ODBC
extension from the PHP Extensions menu of your Cloud Server:
- Click here to access the management of your product on the Manager Infomaniak (need help?).
- Click directly on the name assigned to the relevant product.
- Click on PHP Extensions in the left sidebar.
- Click on the blue button Install an extension.
- Select the extension
PHP_PDO_ODBC
. - Confirm the installation.
Configure the connector
The driver configuration is already defined in /etc/odbcinst.ini
:
[FreeTDS]
Description = MS SQL database access with Free TDS Driver
Driver = /usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so
Setup = /usr/lib/x86_64-linux-gnu/odbc/libtdsS.so
There is no need to redefine it statically in the .odbc.ini
or in the user's home directory ~~/.odbc.ini
or also dynamically in the PHP code.
Example with the driver FreeTDS
defined in advance, it is also necessary to specify the version of the driver at the end of the pdo
object declaration:
$con = new PDO('odbc:Driver=FreeTDS;Server=__SERVER IP__;Port=3306;DATABASE=__DATABASE NAME__;UID=__USERNAME__;PWD=__PASSWORD__;TDS_Version=8.0');
This guide explains how to obtain information about the presence of a cache system on a site using the curl
command.
Preamble
- In the world of programming and system administration, it is often necessary to determine if a website uses a caching system to improve its performance.
- Caching systems like Fastly are commonly used to temporarily store data to serve it faster to users.
- By following these steps, you will be able to determine if a website uses a caching system to improve its performance and understand the operation and optimization of websites.
Using the curl command
curl
is a command-line tool for transferring data using URLs.
The option -svo /dev/null
is used to perform a silent request (-s
), display detailed information about the request (-v
) and redirect the output data to /dev/null
to ignore it (/dev/null is a special device on Unix/Linux systems that acts like a trash can). -H "Fastly-Debug: true"
is an HTTP header added to the request to request Fastly-specific debugging information.
Run the command
Run the following command from a Terminal
type application (command-line interface, CLI / Command Line Interface
) on your device:
curl -svo /dev/null [url] -H “Fastly-Debug: true”
and replace [url]
with the address of the website you want to check.
If the site uses Fastly or another similar caching system, you will see specific debugging information in the command output. The details provided may include information about HTTP requests and responses, as well as information about the cache and performance.
This guide lists the versions of the Windows operating system that can be installed when ordering a VPS Cloud / VPS Lite.
Supported Windows Versions
When ordering your Server, you will be able to choose the version of Windows to install.
Windows Server
Possible variations with Windows Server 2025, 2022 or 2019:
- Windows Server Standard designed for low-density or non-virtualized environments
- Windows Server Datacenter ideal for datacenter-defined and highly virtualized environments
Note:
- As a Microsoft partner, Infomaniak provides VPS Cloud / VPS Lite Windows Server 2025, 2022 or 2019 containing a Microsoft Windows Server license. In case of activation failure, refer to this other guide.
- As a Microsoft partner, Infomaniak does not offer the possibility to use your own Windows Server license (or Bring Your Own License).
- If you use Microsoft software within Windows Server that requires a Mobility License, such as Microsoft SQL Server, Microsoft Sharepoint Server or Microsoft Exchange Server, you must submit the Software Assurance document via the Infomaniak contact form.
Windows 11 Pro Evaluation
Windows 11 Professional has all the features of Windows 11 Home, as well as professional features for encryption, remote connection, virtual machine creation, and much more.
The version 10 of Windows Professionnel Evaluation is also available.
Note:
- It will be necessary to activate Windows, Infomaniak provides only an evaluation version.
This guide concerns ImageMagick, a powerful solution for image manipulation, which you can install on a Web Hosting Infomaniak.
For installation, the easiest way is to use Fast installer.
ImageMagick and alternatives
These image manipulation solutions are compatible with Web Hosting and Cloud Servers:
ImageMagick
: the main software suite for versatile image manipulation via the command linePerlMagick
: Perl interface to integrate ImageMagick functionalities into Perl scripts- Perl Module
Image::Magick
: Perl extension to access ImageMagick features without specifying the absolute path of the executable GD 2.x
: open-source graphics library offering similar functionalities to ImageMagick, often used in web development contextsGallery 2
: an online image gallery management platform compatible with ImageMagick
If necessary, the path for ImageMagick is standard since it is installed through the Debian repository:
/usr/bin
and for the Perl module Image::Magick
:
/usr/local/bin/convert
or without specifying the absolute path:
$ perl -e 'use Image::Magick';
All ImageMagick commands are under /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/stream
This guide details "502 Bad Gateway" errors that can occur when visiting a website.
Introduction
- The 502 Bad Gateway error occurs when the server acting as a gateway between the browser and the origin web server receives an invalid response.
- This error can be caused by an overloaded web server, communication issues between a CDN and the hosting web server, or a misconfigured proxy server.
- Sometimes, the error may be caused by a bad entry in the DNS server.
Troubleshooting steps
To resolve the 502 Bad Gateway error, you often need to troubleshoot by elimination:
- Check if the server is not temporarily overloaded: simply reload the page after a few minutes for the error to disappear.
- Clear the browser cache.
- Try using another browser.
This guide explains how to view file activity on the server of your hosting Infomaniak.
FTP activity logs
To find out about the activity of exchanges on your FTP space, contact Infomaniak support to request FTP logs by first authenticating with the credentials corresponding to the management of your web hosting.
Help reading logs: http://www.castaglia.org/proftpd/doc/xferlog.html
The user and the process "cloud base - ini
" are used within the VPS Cloud / VPS Lite infrastructure of Infomaniak (for example, in the case where the instance is rebuilt). Learn more
This guide explains how to modify your current Serveur Cloud offer.
Modification of resources and configuration
The base Cloud Server plan includes 5 hostings and 20 websites. To add an additional hosting or modify the server configuration to increase CPU / RAM:
- Click here to access the management of your product on the Infomaniak Manager (need help?).
- Click on the action menu ⋮ located to the right of the relevant item.
- Click on Modify the offer:
- Make the desired adjustments and complete the procedure.
To reduce the size of the entire Server Cloud disk space:
- Order a new server with the desired new storage (contact support to order the new server for free while you complete the steps below).
- Move the hosting from the old server to the new one.
- Cancel the old server.
Refer to this other guide to modify the disk space of a hosting.
Increase the process limit
On Linux, the number of processes that a user or system can create simultaneously is limited. These limits help prevent processes that are too fast from consuming excessive resources and affecting the overall stability of the system. Process limits are managed by the Linux kernel and can be viewed and modified using specific commands and configuration files. You can request to increase the limits by contacting support.
This guide details the use of Crontab (crons via SSH), available only on Serveur Cloud, by default (there is also a task scheduler for all hosting).
Prerequisites
- The script files called by the cron must be executable (CHMOD).
Absolute path
Cron tasks are not aware of the absolute path. Calling PHP without specifying the full paths to the executable therefore makes it impossible to execute the task.
It is necessary to specify
/opt/phpX.X/bin/php
by replacing X.X
with the desired PHP version (/opt/php7.1/bin/php
for example).
Other operations
List the crons for the SSH user in question:
crontab -l -u NomUtilisateurSSH
Edit the crons:
crontab -e -u NomUtilisateurSSH
To be notified by email of the result of your cron tasks (to be added at the beginning of the file):
MAILTO=e-mail@domain.xyz
Restore a backup
Infomaniak backs up crons for the last 7 days (once a day). In case of accidental deletion, contact Infomaniak support to request a restoration by specifying the time and date of the deletion.
This guide helps you find the public IP address of your device, which can be useful for certain support requests, among other things.
Display the public IP address on the connected device
Click here to obtain the public IP address of your device in IPv4
and IPv6
format.
Alternative methods
Visit ipinfo.io or ifconfig.me.
... on macOS
- From a terminal application (command line interface, CLI) on your device, run the command
curl ifconfig.me
and press enter. - The displayed address is the public IP address of the computer.
Do not forget that this address can change periodically, especially if the router restarts or if the internet service provider uses dynamic IP address allocation.
To automate the search for the public IP address, use commands or scripts that query services such as api.ipify.org
...
This guide explains how to use PHP environment variables with Web Hosting that runs on php-fpm
.
Preamble
- PHP environment variables (
REDIRECT_
) are system variables used to store information about HTTP requests and redirects. - They are generally used on web servers to store details about previous requests or redirections that have been performed.
- The prefix "
REDIRECT_
" is often added to environment variables to indicate that they are related to specific redirections performed by the server. - These variables can contain information such as previous URLs, HTTP methods, or other data related to the client's navigation on the web server.
Using environment variables
To use PHP environment variables:
- Define the PHP environment variables in a
.htaccess
file:SetEnv EXAMPLEVARIABLE hello
- In your PHP file, the name of the variable to call must be prefixed with
REDIRECT_
:<?php getenv('REDIRECT_EXAMPLEVARIABLE');
In this example, the displayed result will be hello.
Going further with environment variables
It is possible to configure environment variables directly from the Manager for your entire website:
- Click here to access the management of your product on the Infomaniak Manager (need help?).
- Click directly on the name assigned to the concerned product:
- Click on Manage under Advanced settings:
- Click on the PHP / Apache tab.
- Click on the chevron to expand the Environment Variables section.
- Click on the icon Add.
- Enter the variable and its value.
- Click on the button to save:
This guide helps resolve issues related to special characters (accents, emojis, etc.) that do not display correctly or appear as symbols like ??, often due to incorrect encoding when connecting to MySQL.
Preamble
- By default, MySQL uses
UTF-8
. - Recent MySQL servers are generally configured to use
UTF-8
orUTF-8MB4
by default.- This is suitable for most cases, especially for international languages and emojis.
- Also refer to this other guide to learn how to avoid causing encoding issues with non-European characters and emojis in your developments.
Set the default MySQL / MariaDB charset (Cloud Server)
With a Infomaniak Cloud Server, it is possible to set the default charset (utf8
or utf8mb4
):
- Click here to access the management of your product on the Infomaniak Manager (need help?).
- Click directly on the name assigned to the relevant product.
- Click on MariaDB in the left sidebar and then choose the default charset:
If you have not yet migrated to MariaDB, the principle is the same:
Force a specific encoding (e.g., latin1
)
If you need to work with a database in latin1
(ISO-8859-1), you must explicitly set the encoding when connecting, depending on your environment.
For current offers, place the following code in a user.ini
file located at the root of your hosting:
mysql.connect_charset = "latin1"
mysqli.connect_charset = "latin1"
pdo_mysql.connect_charset = "latin1"
or in PHP (MySQL API):
mysql_query("SET CHARACTER SET latin1");
On older hosting plans, force the MySQL connection to latin1
via the .htaccess
file located at the root of your hosting:
php_value mysql.connect_charset latin1
php_value mysqli.connect_charset latin1
php_value pdo_mysql.connect_charset latin1
Supervisor is not offered directly because systemd
is recommended, better integrated with Debian and available in Fast installer.
If you were to install it anyway, contact Infomaniak support in writing.
This guide explains how to back up a VPS Cloud in the form of a snapshot.
Introduction
- A snapshot is like a photo of your VPS Cloud at a given moment in time, containing everything on your server, including your operating system, applications, data, etc.
- Snapshots can be used notably for…
- … protect your VPS Cloud in case of an issue: if you encounter a problem with your VPS Cloud, you can restore a snapshot to revert to a previous state.
- … test changes without risk: before making significant changes to your VPS Cloud, you can create a snapshot to be able to go back if necessary.
- You benefit from a free snapshot to back up your entire server in a dedicated space. If needed, you can order additional space or delete a snapshot to create a new one.
- Two types of backup are possible:
- Data snapshot: allows you to create an image of the volume containing your data (not available for Windows distributions).
- **Operating system** snapshot: allows you to create an image of the volume containing your operating system. This type of backup involves a brief interruption of your applications and websites.
- It is recommended to create snapshots regularly, for example once a week or once a month; this will allow you to have a history of your VPS Cloud and to be able to go back in case of a problem.
- It is obviously possible to restore the state of the VPS Cloud thanks to the previously created snapshot.
Create a snapshot
For this:
- Click here to access the management of your product on the Infomaniak Manager (need help?).
- Click directly on the name assigned to the product in question.
- Click on Snapshot in the left sidebar.
- Click on the blue button Create a snapshot:
- Choose the type of snapshot to create (data or operating system).
- Click on the blue button to start creating the snapshot:
- An email is sent when the snapshot is generated.
Delete a snapshot
For this:
- Click here to access the management of your product on the Infomaniak Manager (need help?).
- Click directly on the name assigned to the product in question.
- Click on Snapshot in the left sidebar.
- Click on the action menu ⋮ to the right of the relevant item in the displayed table.
- Click on Delete:
Order additional snapshots
For this:
- Click here to access the management of your product on the Infomaniak Manager (need help?).
- Click directly on the name assigned to the product in question.
- Click on Snapshot in the left sidebar.
- Click on the shopping cart icon:
- Follow the instructions to complete the order.
It is not possible to order an additional snapshot if a snapshot is in progress.
This guide explains how to increase the storage volume of your Cloud VPS once the offer change has been made.
Preamble
- By default, the Cloud VPS is provided with two volumes:
- 1 volume for the operating system of your choice (
/dev/vda
). - 1 volume for storing your data (
/dev/vdb
), this is the one that will be increased.
- 1 volume for the operating system of your choice (
- Warning: depending on the installed operating system, the system volume may be named
/dev/sda
,/dev/sda1
or/dev/vda
; the same applies to the data volume/dev/sdb
,/dev/sdb2
or/dev/vdb
... It is therefore necessary to replace these indications with those corresponding to your situation.
SSH commands to increase the storage volume
If you choose XFS, for example, it is necessary to install the appropriate tools (if they are not already present):
sudo apt install xfsprogs
Then increase the volume with the following SSH commands:
sudo xfs_grow /dev/vdb
And if you choose EXT4:
sudo resize2fs /dev/vdb
Extend the volume after increasing the storage volume
Two scenarios may arise once you have extended the storage volume of your Linux server. Note that no data is deleted when increasing the space via the offer change of your VPS.
First scenario
In the case where the entire volume is used without partitioning, it is not necessary to do a resizepart, since there is no partition.
sudo umount /dev/vdb
sudo fsck.ext4 -f /dev/vdb
sudo resize2fs /dev/vdb
Second scenario
In the case of a volume that contains a partition (/dev/vdb1), you must first stop the processes that use this volume, then you must unmount the partition.
sudo umount /dev/vdb1
You then need to increase the partition size with parted, which has the resizepart command, unlike fdisk.
sudo parted /dev/vdb
GNU Parted 3.2
Using /dev/vdb
Welcome to GNU Parted! Type ‘help’ to view a list of commands.
(parted) resizepart 1 100%
(parted) quit
sudo fsck.ext4 -f /dev/vdb1
sudo resize2fs /dev/vdb1
And the System volume?
It is not possible to increase the size of the system volume.
For Linux, Infomaniak provides 20 GB, sufficient for any Linux distribution.
For Windows, Infomaniak provides 100 GB on the C drive, sufficient for Windows. Applications must be installed on the D drive. If you have 50 GB, you can request 100 GB (contact Infomaniak support specifying a time slot for the operation as there are a few minutes of downtime to expect).
This guide explains how to access the bootloader of a VPS Cloud / VPS Lite from the Infomaniak Manager.
The bootloader (or boot manager) is the software that allows you to start one or several operating systems (multi-boot) on your VPS Cloud / VPS Lite.
Display the bootloader of a VPS Cloud / VPS Lite
The following procedure allows you to display the bootloader of GRUB:
- Click here to access the management of your product on the Manager Infomaniak (need help?).
- Click directly on the name assigned to the relevant product.
- Click on Open VNC console.
- Click on Restart the server while keeping the new window with the VNC console displayed.
- Refresh the VNC console as soon as the server restarts to display the server's bootloader; GRUB will then appear and you can keep it displayed by pressing a key on your keyboard:
This guide explains how to display and interpret monitoring data (network, CPU, RAM statistics, etc.) for a Cloud Server.
Monitoring the activity of a Managed Cloud Server
To access monitoring
- Click here to access the management of your product on the Infomaniak Manager (need help?).
- Click directly on the name assigned to the relevant product.
- Click on Monitoring in the left sidebar
Various data is available to monitor the activity of your Cloud Servers, including:
- incoming and outgoing traffic (network)
- the system load average
- the average CPU load
- the amount of random access memory (RAM) used
- disk space used
- the number of hits per second.
- the average number of MySQL queries performed
Interpret the statistics
By interpreting the monitoring of a Cloud Server's resources, you can estimate the resources (power) you need to run your websites and web applications.
Total system load
The total system load summarizes, in percentage, the level of utilization of the virtual processors. In this example, the server is therefore using less than 10% of its resources (0.10).
Processor (CPU) and memory (RAM)
These graphs show that less than 10% of the virtual processors are used and that less than 3 GB of RAM are actually utilized. In this example, the configuration of this server is therefore oversized compared to the actual needs.
High cached memory
High cached memory on a server is not abnormal and is often beneficial in many cases. Here's why:
- Caching for enhanced performance: Modern operating systems, such as Linux, use free memory to cache data from the disk to improve performance. When you access files or applications, the system can quickly retrieve the data from the cache instead of reading it from slower storage devices, such as hard drives. This helps to reduce the overall response time of your server and can significantly improve performance.
- Efficient memory usage: High memory usage due to caching means that your server is effectively utilizing the available memory. Unused memory is wasted memory. Therefore, as long as the memory is used for useful purposes like caching, it is a positive sign.
- Automatic memory management: Operating systems are designed to automatically adjust the size of the cache based on the needs of running applications. If an application requires more memory, the cache can reduce its size to accommodate it. This dynamic memory management ensures a balance between caching and serving active applications.
- Monitoring perspective: From a monitoring standpoint, seeing high memory usage due to caching can initially raise concerns, but it is essential to interpret the metrics in the context of your server's behavior. If you observe good performance and notice no signs of memory-related issues, such as swapping or application crashes, the high cache usage is likely expected and beneficial.
In summary, high cache memory on a server is normal and can contribute to improving the overall system performance. Do not worry if you observe significant cache memory usage, as long as your server is functioning correctly and there are no obvious memory-related issues. Caching is an essential tool for optimizing performance and making the most of available resources.