Knowledge base
1000 FAQs, 500 tutorials and explanatory videos. Here, there are only solutions!
This guide explains how to import a MySQL/MariaDB database to an Infomaniak Web Hosting.
Import a database
To import a database on Infomaniak:
- 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 Databases in the left sidebar.
- Click on the “More actions” button/menu for more options.
- Choose Import a database:
- Follow the wizard to the end.
You will then have the choice…
- … to send your database directly (
sql
,gz
,bz2
,zip
, 300 Mo max) from your computer - … to select the file to import from your hosting after uploading it to the server via FTP
... or also choose:
- import data to a new database (creation)
- import to an existing database (replacement/overwrite)
Alternative method (SSH - for advanced users)
Prerequisites
- Have the
.sql
file of the database to import. - Have created a new blank database.
- Have a user who has all rights on the database.
- Have an FTP + SSH account.
To import via SSH:
- Send the database to import via FTP to your hosting.
- Open an SSH terminal/console,
- From a
Terminal
type application (command line interface,CLI / Command Line Interface
) on your device, for example the application PuTTY (to download and install on Windows) or Terminal (installed by default on macOS), run and adapt the following command: ssh ftp-user@adresse-du-serveur
- replace
ftp-user
with the username of the FTP + SSH account (for exampleabcd_user
) - replace
adresse-du-serveur
with the web server address of your hosting
- replace
- Enter the password for the FTP + SSH account.
Enter and adapt the following command:
mysql --verbose -u db-user -p db-name -h db-host < path
- replace
db-user
with the database username (for exampleabcd_user
) - replace
db-name
with the database name (for exampleabcd_sample
) - replace
db-host
with the MySQL server of your hosting - replace
path
with the path where you sent the database in step 1 of this procedure (if you have a single website stored in the default location, the path would be for example~/web/test.sql
)
- replace
- Wait while importing (this may take several minutes depending on the size).
This guide details the priority actions to take if you do not see any difference between your website after a change you made to it, and its version before the change. These tips are also valid if you encounter issues while using the Infomaniak product interface.
Preamble
- While browsing, a web browser saves the data viewed in a reserved space, this to avoid asking the server again for the data already viewed, to save time and resources.
- Your cache can contain a lot of data and sometimes the browser gets confused. Websites may then display incorrectly or show an outdated version.
- Clearing the cache ensures that you have the very latest version of the page or folder consulted.
Clear the web browser cache…
… on Safari
Select your macOS version to view the corresponding Apple help.
… on Google tools (Chrome, Android, etc.)
Refer to the Google help.
… on Firefox
Refer to the Mozilla help.
… on Edge / Internet Explorer
Refer to the Microsoft help.
This guide provides basic instructions for creating and using a .htaccess
and .user.ini
file with an Web Hosting Infomaniak.
Preamble
- A
.htaccess
file is placed at the root of a website and allows you to configure the Apache HTTP server.- As a decentralized configuration file, it offers significant flexibility to adjust the server's behavior according to the specific needs of the site.
- This file allows you to define URL rewrite rules, impose access restrictions, manage HTTP errors, and even customize security aspects such as disabling the display of files/folders.
- It also facilitates the implementation of redirects and aliases, thus providing precise control over the organization and accessibility of the site.
- A
.user.ini
file allows you to customize the PHP directives of the folder (and its subfolders) in which it is located.- By acting at the PHP interpreter level, this file allows you to define specific configurations for a given folder and its subdirectories.
- With its clear syntax, it offers the possibility to modify various parameters such as memory limit, script execution time, error handling, and other PHP-related directives.
- This granular approach allows developers to finely customize PHP behavior according to the specific requirements of each section of the site.
Create a file…
… .htaccess
- Log in to your hosting via FTP or SSH.
- At the root of the relevant website, create a new file and name it:
.htaccess
. - Enter the desired directives in the file; refer to these other guides for example:
… .user.ini
- Log in to your hosting via FTP or SSH.
- In the desired location, create a new file and name it:
.user.ini
. - Enter the desired PHP configuration parameters in the file.
⚠️ Modifying the .user.ini
file takes several minutes to take effect.
This guide explains how to enable support for certain file types (e.g., .inc
) by PHP on an Infomaniak Web hosting so that they are processed in the same way as a .php
file.
Preamble
- Previously, you had to add the following line in a
.htaccess
file:AddType application/x-httpd-php .inc
- This prevented the file's content from being displayed as text instead of being correctly interpreted by PHP when accessed via a browser.
- Now you can manage file extensions via the FPM Extensions field in your hosting Manager.
Manage extensions recognized by PHP
To add support for a specific file type:
- 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:
- Edit the FPM Extensions field to make the desired addition:
Do not forget to save the changes at the bottom of the page.
This guide helps you set up the header "Access-Control-Allow-Origin
", an HTTP header that specifies which origin (domain, protocol, and port) can access resources on a server. This header is used to control cross-origin (CORS) access from a web application.
⚠️ For additional help contact a partner or launch a free tender — also discover the role of the host.
Allowed domains list
You can add the origin of a request to the list of authorized domains to access the server's resources by adding it to the values of the Access-Control-Allow-Origin
header.
To allow, for example, the site https://domain.xyz
to access resources with CORS, the header must be as follows:
Access-Control-Allow-Origin: https://domain.xyz
You can set this via the header()
function of PHP by drawing inspiration from this guide in particular.
If you need this header to be applied everywhere, you can use an auto-prepend.
This guide concerns the database management features available on Infomaniak servers.
MySQL, SQLite, MariaDB, PostgreSQL…
At the level of Database Management System, Infomaniak servers support…
- … MySQL databases via PHP MySQL access or via Perl DBI+DBD::mysql
- You can use MySQL as a database management system (DBMS) on Infomaniak servers.
- You can access it either via PHP using the built-in MySQL database functions of PHP, or via Perl using the DBI and DBD::mysql modules
- … MySQLI, the native MySQL access interface (PHP5)
- MySQLI is a PHP extension that allows access to a MySQL database.
- It is an improved and more recent version of the old MySQL extension of PHP, offering enhanced features and performance.
- … SQLite 3.x
- SQLite is a lightweight, self-contained, serverless SQL database engine.
- Infomaniak servers support SQLite version 3.x, which means you can use SQLite to store data on these servers.
- … MariaDB
- MariaDB is a fork of MySQL and is often used as an alternative to MySQL
- You can therefore use MariaDB as a database management system on Infomaniak servers
- … the PGSQL module
- PGSQL is a PHP module that allows you to connect to a PostgreSQL database
- This specific feature allows you to connect to a REMOTE PostgreSQL database via PHP; this requires opening the appropriate port to the precise IP of the PostgreSQL database from the Infomaniak manager.
This guide explains how to update Web Applications installed via Infomaniak tools.
Preamble
- If an application is manually updated via FTP, it is then impossible to update it via the Manager and benefit from automatic updates.
- When installing your Web Application, automatic updates (at least security updates) are usually enabled by default:
Updating an application installed via Infomaniak
To access the Infomaniak Web Application and update it:
- 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 the action menu ⋮ located to the right of the relevant Web Application.
- Click on Settings for the application:
- Click on Edit in the Information block:
- Click on the dropdown menu to select a newer version.
- Click on the Save button:
This guide explains how to enable or disable the PHP function set_time_limit
for a Web Hosting.
Preamble
set_time_limit
is a PHP function that sets the expiration time of a script, in seconds; if this limit is reached, the script stops and returns a fatal error.set_time_limit
cannot be used to set values beyond the script execution time limit (max_execution_time) set in the Manager.
Enable or disable the PHP function set_time_limit
To access 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.
- Click the toggle switch button On/Off as desired:
- Click the Save button to confirm the changes.
This guide explains how to add or modify one or more CNAME
and DNAME
type records in the DNS zone (of a domain name) managed on the Manager Infomaniak.
Preamble
- The
CNAME
record type allows pointing a subdomain to a website address.- This is the method generally used to operate the
www
subdomain with your site, or to redirect a subdomain to a folder on the web server where your website is hosted.
- This is the method generally used to operate the
- The
DNAME
record type for «delegation name
» is particularly useful when reorganizing domains or for smooth transitions of part of your infrastructure to another, while preserving the hierarchical structure of subdomains.- A
DNAME
creates an alias for an entire domain and all its subdomains.
- A
- Unlike a
CNAME
which applies to a single specific host name, aDNAME
automatically redirects all subdomains. Example:- A
DNAME
forabc.site1.com
pointing tosite2.com
will automatically linkxyz.abc.site1.com
toxyz.site2.com
,new.login.abc.site1.com
tonew.login.site2.com
, and so on.
- A
- ⚠ A
DNAME
record cannot be used at the root level of a domain (such assite1.com
directly). It is generally used on a subdomain. If you want to redirect the main domain itself, you will need to use other types of records such as anA
,AAAA
orCNAME
(with some restrictions for the latter).
Modify the DNS zone
Refer to this other guide to manage this type of record in a DNS zone.
This guide explains how to backup or export a MySQL/MariaDB database via the Manager or by SSH.
Export a database via the Manager
To export an Infomaniak database:
- 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 Databases in the left sidebar.
- Click on the action menu ⋮ to the right of the relevant item in the displayed table.
- Click on Export (or on Download a backup):
- Click on the export method and select the database to download from the drop-down menu.
- Click on the Next button.
- Click on any desired instructions:
- Compression
Gzip
Drop Table
Create Table if not exists
Insert ignore into
- Compression
- Click on the Export button.
Export a database via SSH
If you are unable to export the database via the console or if the database is large:
- If necessary, create an FTP SSH account.
- Log in to the server via SSH (need help?).
Adapt and run the following SSH command:
mysqldump --host=votre_serveur_mysql -u votre_user_mysql --password=password_du_user_mysql nom_de_la_base_de_données --no-tablespaces > sauvegarde.sql
- Wait while the SSH command is being executed (the terminal may freeze for a few seconds).
- Log in to the server via an FTP software/client.
- Download the generated SQL file.
Additional help
Example command to run in step 3 of the second procedure:
mysqldump --host=fhzc.myd.infomaniak.com -u lfcz_test --password=monpassword lfcz_test --no-tablespaces > sauvegarde.sql
- Refer to this other guide if you are looking for information related to the MySQL server, the database username and password.
This guide explains how to add or modify one or more TXT records in the DNS zone (of a domain name) managed on the Manager Infomaniak.
Introduction
- The TXT record type allows you to insert readable text into the DNS zone of a domain name.
- This is the method generally used to help prevent spam and to verify domain ownership (Google may ask you to do this before using some of their services).
Modify the DNS zone
Refer to this other guide to manage this type of record in a DNS zone.
This guide explains how to display the IP address of a site on your Web Hosting.
Preamble
- The IPv4 address is generally the same for each site on the hosting (unless you have acquired a dedicated IP).
Display the IP address of your site
The IP address is specified on the hosting management page (Starter or containing multiple sites):
- 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.
- Then click on the chevron to expand the Information section of this hosting.
- The IPv4 address is displayed on the page:
- The IPv6 address is also displayed in the case of paid hosting:
This guide explains how to move an existing website within an Web Hosting Infomaniak to another Infomaniak Web Hosting.
Preamble
- There are not many turnkey solutions for moving a website.
- Generally, few hosts offer the export or import of a complete site with its databases; this is largely due to the fact that there are many ways to build a site and just as many languages that are largely incompatible with each other.
- If the site to be transferred is built with WordPress, refer to this other guide illustrating a simplified solution.
- It is also possible to move a complete Web Hosting (read below).
- 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 the technical details.
Manual solution: example of site transfer
To do this manually, it is necessary to:
- retrieve the web data as well as the associated databases,
- re-publish this on a site created on the destination web hosting,
- and if the associated domain name is the same, the first site will need to be deleted or renamed.
For the rest, here is an example of how to proceed:
- Order the other Web Hosting / Cloud Server if you haven't already.
- Create a «fake site» on this new hosting (for example dev.domain.xyz - read more below).
- Manually copy your data via FTP and MySQL (export / import).
- Adjust your site if necessary (database address, etc.).
- Once you are satisfied with the «new site», delete the old one.
- Change the name of the new site to give it its true name.
An alternative, at point 2 above, is to work with the alias www.
which you can detach beforehand from your current site. Indeed, the alias www(.domain.xyz) is often installed as an alias for your site, and it is enough to detach it, which allows the creation of a site on the other hosting with the name www.domain.xyz (do not forget, at point 6, to add your alias of type "domain.xyz" without the www to this new site).
Moving entire Web Hostings
There is an automated way to move a Infomaniak Web Hosting to:
- an Infomaniak Cloud Server (if the hosting is currently shared or if the hosting is already on Cloud Server)
- another Infomaniak Organization
A Starter hosting cannot be moved but it can be converted.
This guide explains how to disable all extensions installed on your WordPress on a Web Hosting.
Preamble
- If you encounter an issue with your website, disabling WordPress extensions allows you to quickly identify if one of them is causing the problem and to draw the necessary conclusions to fix your site.
- For additional help, contact a partner or launch a free tender — also discover the role of the host.
Quickly disable WP extensions
To disable all WordPress plugins:
- Log in to the server via FTP (need help?).
- Go to the site location (folder corresponding to your WordPress site).
- Rename
/wp-content/plugins
to/wp-content/_plugins
for example- To disable a specific extension, rename
/wp-content/plugins/PluginName
to/wp-content/plugins/_PluginName
for example.
- To disable a specific extension, rename
This guide explains the principle of on-the-fly URL rewriting.
Introduction
- URL rewriting on the fly is a technique that allows you to change the appearance of a web page's URLs without actually altering the resource's path.
- This process is done through virtual redirects, transforming a visible URL into a more aesthetically pleasing one, while keeping the initial destination invisible to visitors.
- This method is often used to make URLs simpler and more readable, by hiding the parameters of dynamic pages.
- In addition to improving aesthetics for visitors, it is beneficial for search engine optimization, as search engines generally prefer URLs without complex parameters.
Example of URL rewriting
Consider the example of the URL: article.php?id=25&categorie=4&page=3
. It can be rewritten as: article-25-4-3.html
or titre-article-25-4-3.html
. Here's how to configure this in a .htaccess
file if article.php
is located in the web/admin/
directory:
Options +FollowSymlinks
RewriteEngine on
RewriteBase /admin/
RewriteRule ^article-([0-9]*)-([0-9]*)-([0-9]*).html$ article.php?id=$1&categorie=$2&page=$3 [L]
- Options +FollowSymlinks : allows the use of symbolic links
- RewriteEngine on: enables the Apache URL rewriting module
- RewriteBase /admin/ : specifies the working directory
- RewriteRule: defines the rewrite rule
With this configuration, when a user accesses article-25-4-3.html
, they are redirected to article.php?id=25&categorie=4&page=3
without this being visible.
Even if URL rewriting is in place, the old URL remains functional. It is therefore crucial to update all internal links of your site to adopt the new URL format.
Redirect to another domain
If you own multiple domains pointing to the same site, you can redirect all requests to a main domain. For example, if www.domaine.xyz
and www.mon-domaine.xyz
lead to the same site, but www.mon-domaine.xyz
is your main domain, use this rule in the .htaccess
of www.domaine.xyz
:
RewriteEngine On
RewriteRule ^(.*)$ http://www.mon-domaine.xyz/$1 [R=301]
This will redirect all pages from www.domaine.xyz
to www.mon-domaine.xyz
transparently, with a permanent redirect (R=301
).
Also, refer to this other guide on this topic.
This guide is for developers and webmasters experiencing issues displaying special characters (such as accents, Arabic characters, Chinese characters, emojis, etc.), whether on an Infomaniak website or in its database.
Preamble
- Common causes of incorrectly displayed characters that appear instead of special characters or emojis like
??
:- PHP connection in
utf8
instead ofutf8mb4
- MySQL table or column in
latin1
orutf8
instead ofutf8mb4
- SQL file encoded differently from the import parameter
- HTML/CSS/JS files improperly encoded
- Missing or incorrect charset declaration on the HTML, PHP, or HTTP side
- PHP connection in
- Common solutions:
- Use
utf8mb4
everywhere: database, connections, tables, columns, files, headers - Validate the encoding of all files and dumps
- Test the display of emojis, accents, and other multilingual characters
- Use
- Also refer to this other guide to force another encoding when connecting to a MySQL database.
Use a text editor that supports saving in UTF-8 without BOM (Visual Studio Code, Sublime Text, Notepad++...)
1. Use UTF-8 or UTF-8MB4 everywhere
The utf8
encoding of MySQL does not support characters on 4 bytes, like emojis. These will display as ??
. Therefore, you should use utf8mb4
, which is a true complete implementation of UTF-8.
2. HTML – Correct encoding declaration
In the <head>
of your HTML pages:
<meta charset="UTF-8">
Make sure that CSS/JS files are also saved in UTF-8 (without BOM).
3. PHP – Force UTF-8 or UTF-8MB4
a) HTTP headers
header('Content-Type: text/html; charset=utf-8');
b) MySQL Connection (MySQL API)
$connection = mysql_connect($host, $user, $pass);
mysql_set_charset('utf8mb4', $connection);
c) PDO Connection
$dsn = "mysql:host=localhost;dbname=ma_base;charset=utf8mb4";
$pdo = new PDO($dsn, $user, $pass, [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
]);
4. MySQL database
a) Configuration in phpMyAdmin
- Databases, tables, and columns should be in
utf8mb4_unicode_ci
orutf8mb4_general_ci
. - In the Operations tab, select
utf8mb4_unicode_ci
for the collation.
b) Useful SQL commands
ALTER DATABASE ma_base CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
ALTER TABLE ma_table CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
c) After the PHP connection
mysqli_query($conn, "SET NAMES 'utf8mb4'");
mysqli_query($conn, "SET CHARACTER SET 'utf8mb4'");
5. .user.ini / .htaccess file
To force encoding on the server side (Apache):
AddDefaultCharset utf-8
Header set Content-Type "text/html; charset=utf-8"
# Pour PHP
php_value default_charset UTF-8
php_value mbstring.internal_encoding UTF-8
6. Import / export of SQL dumps
Errors such as é
becoming ?
or an emoji ☺ becoming ??
often stem from encoding misalignment.
Check the encoding of the SQL file before import. Use iconv
if necessary:
iconv -f ISO-8859-1 -t UTF-8 dump.sql > dump_utf8.sql
In phpMyAdmin, specify the import encoding (for example UTF-8
, UTF-8MB4
or latin1
depending on the file).
This guide details the compatibility of Infomaniak Web hosting with IPv4 and IPv6.
Preamble
- Infomaniak supports both IPv4 and IPv6, thus ensuring optimal connectivity for all users.
- Only Starter (free) hosting plans and older hosting plans are not compatible: upgrade to a Serveur Cloud or hébergement mutualisé.
- Compatibility with IPv4 and IPv6 means that Infomaniak's hosting service allows websites to be accessible to users with both IPv4 and IPv6 addresses.
- This ensures that your site can be visited by all types of devices and networks, offering an optimal experience to your users, regardless of the protocol they use to connect to the Internet.
IPv4, or Internet Protocol version 4
This is the first version of the Internet protocol widely used since the 1980s. It uses 32-bit IP addresses, which allows to identify and locate devices connected to the Internet. However, with the exhaustion of IPv4 addresses, it has become necessary to develop a new version (read more below):
- Example of an IPv4 address: 192.168.0.1
- In this example, the IPv4 address consists of four groups of numbers separated by dots…
- Each group can contain a number from 0 to 255.
- The address 192.168.0.1 is often used to represent a local IP address in a private network.
- Find the IP of your website: refer to this other guide…
- Get the public IP of your current Internet connection: https://chk.me/ip
IPv6, or Internet Protocol version 6
This is the latest version of the Internet protocol introduced to solve the problem of IPv4 address exhaustion. IPv6 uses 128-bit IP addresses, offering virtually unlimited addressing space. It also provides enhanced features such as security, quality of service and automatic address configuration:
- Example of an IPv6 address: 2001:0db8:85a3:0000:0000:8a2e:0370:7334
- In this example, the IPv6 address consists of eight groups of numbers and letters separated by colons…
- Each group can contain a hexadecimal number from 0 to FFFF.
- The IPv6 address is much longer than the IPv4 address, thus offering a much larger address space.
This guide details the use of Perl or Python scripts on Web Hosting Infomaniak.
Preamble
- Perl and Python scripts are often used with Apache's CGID module to generate dynamic content on web servers.
- This module allows Apache to process requests using scripts written in Perl or Python via the CGI (Common Gateway Interface) protocol, thus offering the possibility to create interactive and responsive web pages based on user interactions with the site.
- However, for security reasons, **Infomaniak has chosen to disable the ability to run scripts written in Perl or Python via this specific module (CGID) of Apache on its shared hosting offers.**
- Therefore, you should consider **changing your plan** to a Cloud Server plan if you are currently on a shared web hosting plan.
Using scripts
Here is some practical information:
- The path to the Python interpreter is
/usr/bin/python
. mod_python
is not supported.- Running scripts without the
pl
orcgi
extension is not possible. However, a file with a.pl
extension can exist and be called via a URL without the extension.
If you receive the following error message:
CGIWrap Error: Execution of this script not permitted
Execution of that script is not permitted for the following reason:
(1) Script file not found.
Request Data:Extra Path Info: /dossier/wwwdata/collection/vignettes/blabla.PL.12.34.56.gif
While the uploaded file is a simple GIF image with a filename type "blabla.PL.12.34.56.gif
", this is due to the name of the files in question. To bypass the issue, simply rename your files.
This document explains how to manage incoming and outgoing connections between several hosting environments, particularly for accessing databases.
Connecting to databases between hostings
From a shared hosting environment
If you are using a shared hosting (excluding the old v1 - 60 Go formula), you have the possibility to access databases located on:
- another shared hosting environment,
- a hosting based on a Cloud Server.
It is therefore possible to share a database, establish a remote connection, or even configure cross-access between hostings.
From a Cloud Server
With a Cloud Server, it is also possible to connect to databases hosted on another Cloud Server.
- In this case, make sure that port
3306
(TCP protocol) is open for incoming traffic in the firewall.
Note: Connections to databases hosted on a shared hosting are not possible from a Cloud Server.
From another hosting provider
To learn about the terms of access to MySQL databases from a provider external to Infomaniak, refer to this other guide.
This guide explains how to display the absolute paths for certain web applications that need to know them.
Getting the absolute path…
… of a web hosting
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 relevant product.
- Click on the chevron to expand the Information section of this hosting.
- The highlighted indication below is the location of the example site:
… of a website
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 relevant product.
- Click on the chevron to expand the Information section of this site.
- The highlighted indication below is the location of the example site: