Knowledge base
1000 FAQs, 500 tutorials and explanatory videos. Here, there are only solutions!
This guide explains how to change the WordPress management password or any other Web application (Joomla, Drupal, Typo3, PrestaShop, ownCloud, etc.) installed via Infomaniak tools included in the offersWeb hosting paid.
Preamble
- Some applications also allow a change of user password directly from their dedicated interface:
- Example: WordPress (manage users, names, passwords, roles, etc.).
Change the password of a Web app
To change the password to the administration panel of your web application, perform the following actions:
- Click here in order to access the management of your product on the Manager Infomaniak (Need help?).
- Click directly on the nameallocated to the product concerned:

- Click on the action menu â‹® located to the right of the relevant Web Application.
- Click on Parameters of the application:

- Click on Edit to the right of the Application:

- Under Password Enter the new password (for connection to the identifier indicated above):

- Click on the button Save at the bottom of the page.
This guide explains why there is a folder /icons/ within the Web Hosting.
/icons/ folder on your Web Hosting
In some cases, a folder named /icons/ is present by default on your web hosting. This folder is generally accessible via HTTP, but is not visible in the FTP directory structure (www.domain.xyz/icons/).
This directory /icons/ is often used to store specific icons or images used to display directory lists. These icons are generally used by web servers to visually represent the different types of files in directories when they are viewed through a browser.
This guide concerns the synchronization of servers via the NTP (Network Time Protocol) and the configuration of the timezone on Infomaniak servers.
Precise server synchronization via NTP
All Infomaniak servers are synchronized via the NTP protocol. The company provides its own public-accessible stratum-1 NTP servers for flexible use.
To integrate these servers into your settings, use the following entry: pool.ntp.infomaniak.ch.
The default timezone configuration is set to UTC. However, PHP functions are designed to accommodate different timezones according to specific needs.
To adjust the timezone in your PHP scripts, use the function date_default_timezone_set('UTC').
MySQL: time specifics
Infomaniak's infrastructure supports features for working with time data precisely and efficiently, taking into account time zones, which is crucial for many modern applications:
- MySQL uses a time zone database to store and manage time zone information.
- The table
mysql.time_zonecontains time zone data, including information about time offsets, time zone names, etc. - The function CONVERT_TZ is used to convert a time from one timezone to another in MySQL with the following syntax:
CONVERT_TZ(dt, from_tz, to_tz), where:dtis the date/time to convert.from_tzis the source timezone.to_tzis the target timezone.
- Example:
CONVERT_TZ('2024-05-14 12:00:00', 'UTC', 'America/New_York')will convert the time 12:00:00 UTC to local time in New York.
This guide provides precise information on the support for the ASP (Active Server Pages, aspx) development environment within the Infomaniak infrastructure.
ASP support
The Web hosting and Cloud Servers services are based on an Apache server architecture that does not natively support the Apache::ASP module.
However, it is possible to install and configure this ASP environment on VPS Cloud Infomaniak.
This guide explains how to add IP addresses to the whitelist of an Infomaniak Web site.
Preamble
- Allowing IP addresses on
xmlrpc.phpenables access to URLs that are blocked by default due to being considered risky. - This type of blocking is effective on all recent servers.
- Regarding WordPress, its XML-RPC feature is only available by default through Infomaniak services and JetPack for security reasons.
Add IP addresses to the xmlrpc.php whitelist
To access the website management:
- 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 Manage under Advanced Settings:

- Click on the PHP / Apache tab.
- Complete the relevant line:

- Click the button to save.
This guide helps resolve an error of type "Invalid query: MySQL server has gone away".
Preamble
- This type of error often originates from keeping a MySQL connection open without submitting requests 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_timeoutandinteractive_timeoutthat 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:
Verification and automatic 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 automatically re-establish it 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.
Regular "Ping" sending
Another method is to run 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 explains how to set up a WordPress network to manage multiple sites from a single WordPress installation, with URLs like site1.domain.xyz, site2.domain.xyz, or even domain1.com, domain2.com, etc.
Make your life easier! If needed, local partners recommended by Infomaniak can handle these procedures. Launch a free tender. They take care of everything, freeing you from technical details.
WordPress multisite installation
To begin:
- Install WordPress via Infomaniak on your hosting space with a main domain name:

- This first WordPress site must be reachable and function correctly:

- This first WordPress site must be reachable and function correctly:
- Log in via FTP.
- Edit the
wp-config.phpfile of this first WordPress site concerned. - Above the line "
/* That's all, stop editing! Happy blogging. */" (#94) copy and paste the codedefine('WP_ALLOW_MULTISITE', true);:
- Save your changes.
- Then log in to the administration of your WordPress site.
- Temporarily disable all WordPress plugins:

- Go to the TOOLS menu to create a Network:

- Choose the method for creating your different WordPress sites (on subdomains)…
- Click on the installation button:

- Add the instructions displayed on the screen to the
wp-config.phpand.htaccesson the server. - After reconnecting to your WordPress, you will get a new menu "My Sites" where you can add and manage your different sites on the same network:

- In the Manager, add an alias to your site in the form
*.your-domain-here (the asterisk allows you to create a wildcard alias) with DNS update so that the correctCNAMEis automatically added to the zone:
- Install or update your SSL certificates:

- When you create a new site within the network, by naming it for example
home2it will become accessible viahome2.domain.xyzand so on:
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 resolve a problem with importing a .csv file into a MySQL table. The proposed alternative is to read the CSV file line by line with PHP and insert the data into the MySQL database.
Disabled “LOAD DATA LOCAL INFILE” function
The LOAD DATA LOCAL INFILE function allows importing a CSV file directly into a MySQL table. However, this feature is often exploited by attackers to gain unauthorized access to sites hosted on servers that accept it.
To prevent any security risks and protect customer data, Infomaniak has disabled the LOAD DATA LOCAL INFILE function. Users who import their CSV files via phpMyAdmin (without checking the “CSV via LOAD DATA” option) are not affected.
Here is an alternative method to import data in CSV format into a MySQL table. The example below shows how to properly handle errors when opening the CSV file and inserting the data into the database.
This script uses mysqli to connect to the database and prepared statements to insert the data. This ensures better security, optimal compatibility with recent versions of PHP, and simple integration into your project, whether in an existing script or a new file located in the /web directory:
$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();
?>Get help
Unfortunately, it is not possible to precisely indicate where in the script these lines of code should be inserted.
If this method causes issues (for example, when importing multiple CSV files simultaneously without an error message), it is possible that the table structure or field indexing is the cause. In this case, contact your webmaster for verification.
Also, refer to the official PHP documentation regarding the fgetcsv() function.
Make your life easier! If needed, local partners certified by Infomaniak can handle these procedures. Launch a free call for tenders — they take care of everything, freeing you from the technical aspects.
This guide presents the DNS Diagnostic tool, which allows you to check that the relationships between…
- DOMAIN NAME at Infomaniak
and
- WEB HOSTING at Infomaniak
… are correct, so that Web traffic goes to the right place.
Introduction
- To check, the tool verifies the A, CNAME records, etc.
- You will thus be able to detect and correct certain web issues, especially if they are related to DNS (technical information that, broadly speaking, determines where such and such web traffic should be directed) by acting at the level of your domain.
- Automatic correction is only possible when the domain name is present in the same Organization as the product to which it must be attached.
- If this is not the case, then the correction will need to be done manually.
Diagnose a DNS issue
To access the DNS diagnostic for your domain name:
- 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 Web in the left sidebar.
- Click on DNS Diagnostic in the left sidebar:

- If DNS issues are detected, a red display on the table indicates this:
- Correct each error individually by clicking on the action menu ⋮ located to the right of the concerned element…
- … or all errors at once…
- … or, if necessary and you are sure, ignore these warnings.
- If DNS issues are detected, a red display on the table indicates this:
Refer to this other guide regarding the same automatic verification process but for Mail Services.
This guide concerns the homepage names that can be used on your Web Hosting Infomaniak, and which will be prioritized when a visitor accesses your website via its domain name.
Regarding Site Creator, refer to this other guide.
Preamble
- The default homepages on a web server are the first pages that display when a user accesses a website without specifying a particular file.
- If you simply enter
http://domain.xyzin your browser's address bar, the web server will look for a default home page to display, for exampleindex.html,index.php,index.htm, or other similar variations.
Homepage priority order
Here are the default pages loaded in order of priority at 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
In summary:
- If you have 2 pages at the root of your hosting, thanks to the ranking above, you will notice that
index.phpis recognized as a priority overwelcome.php. - It can also be deduced that if you only have
welcome.phpas a page in the root folder, it will be loaded and function as the homepage. - If you have a page
accueil.html, it will not work because this name is not on the list. - When you type
www.domaine.xyzinto the browser, onlyindex.phpwill automatically display (and to displaywelcome.phpyou will need to type the exact page namewww.domaine.xyz/welcome.php).
Customize the default homepage
To set a different default home page, add DirectoryIndex followed by the appropriate pages in the .htaccess file:
DirectoryIndex accueil.html index.php index.htmlThis means that the web server will first look for a file named accueil.html. If it does not find accueil.php, it will look for index.php, then index.html.
To avoid an error “Create a database: no privilege” you must go through the Manager Infomaniak and not through phpMyAdmin to add a new database.
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 explains how to enable the MultiViews option via a .htaccess file on sites hosted by Infomaniak.
Preamble
- In some cases, the MultiViews option must be enabled to handle redirection and URL rewriting issues. Example:
- If the
configurationfolder and theconfiguration.phpfile are located at the root of your site and you try to access the addressmon-site.com/configurationto reach theconfiguration.phpfile, the MultiViews option must be enabled.
- If the
Enable the MultiViews option
To do this:
- Open or create the
.htaccessfile located at the root of the relevant site. Add the following directive:
Options +MultiViews- Save the changes.
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/binand for the Perl module Image::Magick:
/usr/local/bin/convertor 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/streamThis 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
This guide explains how to optimize web resource caching using HTTP headers.
Preamble
- A good caching strategy can significantly improve your site's performance by avoiding the unnecessary retransmission of unchanged files.
- Web caching relies on two complementary mechanisms:
- The cache validity duration (via the
Expiresheader) which indicates how long a resource can be reused without contacting the server. - Conditional validation (via the
Last-Modified/If-Modified-Sinceheaders) which allows checking if a resource has changed before re-downloading it.
- The cache validity duration (via the
Configuring cache duration with Expires
The Expires header allows specifying a duration during which the browser can directly reuse resources from its local cache. Here's how to configure it in your .htaccess file:
- Create or open the
.htaccessfile at the root of your site (usually in/webor/sites/domain.xyz). Add the configuration of the
expiresmodule:<IfModule mod_expires.c>Define the appropriate cache durations for each type of resource:
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"These directives mean that:
- HTML pages will be cached for one week.
- JPEG images, CSS files, and JavaScript will be kept for one month.
Adjust these durations according to the update frequency of your resources.
Close the configuration section:
</IfModule>
Conditional validation with Last-Modified
Even when a resource has expired in the cache, it is not always necessary to completely re-download it. The conditional validation mechanism allows the browser to check if its cached version is still up-to-date. This process works as follows:
- The server automatically sends a
Last-Modifiedheader with each resource, indicating its last modification date.- Apache handles this natively for static files - no additional configuration is required.
When the browser requests the resource again, it sends an
If-Modified-Sinceheader containing the date it has in cache:GET /resource HTTP/1.1 Host: www.example.com If-Modified-Since: Wed, 21 Oct 2015 07:28:00 GMT- The server compares this date with the actual file modification date:
- If the file has not changed, it simply returns a
304 Not Modifiedcode, thus saving bandwidth. - If the file has been modified, it returns the new version with a
200 OKcode.
- If the file has not changed, it simply returns a
The owner "site1xxx" (e.g. site1152, site1163, site1184…) appears when the FTP user account that created the folders/files in question has been removed from the list of FTP user accounts.
To access these files again in order to modify them, you need to log in with a different FTP account in the FTP File Manager and change the owner of the files with the "Properties" button.
This guide explains how to configure PHP settings for Web Hosting directly from the command line when you run PHP scripts using PHP CLI (Command Line Interface).
Preamble
- This type of configuration can be useful when you need to temporarily modify certain parameters for a specific script or for a PHP session.
- These modifications will only be valid for the execution of the current script and will not modify the global PHP configuration.
Modify PHP CLI settings
For example, to temporarily modify the settings for a specific script without having to modify the global PHP configuration of the server, follow the method below; with the PHP CLI environment, you can specify multiple PHP parameters at the same time by separating them with spaces.
Using the -d parameter
When you run PHP from the command line, you can use the -d parameter to specify PHP configurations. This allows you to modify the PHP parameters for this specific execution. For example, to set the maximum execution time to 90 seconds, the memory limit to 256 MB, and disable safe mode, you can do it as follows:
php -d max_execution_time=90 -d memory_limit=256M -d safe_mode=Off -f test.php