burger
infomaniak
infomaniak
cloud-computing-logo
Cloud Computing
web-domain-logo
Web & Domains
event-marketing-logo
Events & Marketing
  • Our products
    • Collaborative tools icon chevron
    • Web & Domains icon chevron
    • Cloud Computing icon chevron
    • Events & Marketing icon chevron
    • Streaming icon chevron

      ksuiteCollaborative suite

      Discover the collaborative suite → Discover →
    • kSuite Professional email, sovereign cloud and AI for sustainable performance
    • kSuite The suite for secure communication, storage and sharing
    • kdrive
      kDrive Store, collaborate and share your files
    • mail service
      Mail Service Create your email addresses with your domain
    • kChat
      kChat Communicate live with your teams
    • kmeet
      kMeet Organise your meetings online in complete security
    • swisstransfer
      SwissTransfer Send your files up to 50 GB free of charge.
    • kpaste
      kPaste Share and encrypt your sensitive information
    • ksuite
      Custom Brand Control the brand image of your products
    • kChat
      Chk Link reducer & QR code generator
      Find the web hosting solution you need
    • Domain name
      Domain name Reserve your domain name at the best price
    • Site Creator
      Site Creator Create your website with ease
    • web hosting
      Web Hosting Create your website with over 100 CMS
    • web hosting
      Wordpress Hosting Create your WordPress website easily
    • Cloud Server
      Cloud Server Power up your sites with guaranteed resources
    • Node.js Hosting Create a dynamic, interactive site with Node.js
    • SSL Certificat
      SSL certificates Secure your websites with an EV or DV certificate
    • Options
    • Domain privacy
      Domain Privacy Protect your domains’ private data
    • DNS Fast Anycast
      FastAnycast DNS Speed up your site access times
    • Dyn DNS
      DynDNS Access your devices remotely
    • Dyn DNS
      Renewal Warranty Secure your domains against loss and theft
      Find the right Cloud Computing solution

      Cloud services

    • public cloud
      Public Cloud (IaaS) Create your projects in a high-end, ultra-competitive Cloud
    • Cloud Server
      VPS Cloud Create a Windows / Linux server
    • Kubernetes service Deploy your containerised apps on a large scale.
    • VPS Lite
      VPS Lite Create a Windows/Linux server at a low cost
    • Database Service Manage your databases with a managed solution
    • jelastic cloud
      Jelastic Cloud (PaaS) Create your own customised environments
    • Other services

    • llm api
      AI Tools Boost your productivity with our sovereign AI
    • swiss backup
      Swiss Backup Back up your devices in the Cloud
    • nas synology
      NAS Synology Rent a NAS in our secure data centers
    • High availibility
      Very High Availability Create a multi-data center infrastructure with customised SLAs
    • Housing
      Housing Install your servers in our data centers
    • Auth Add a privacy-friendly login method to your apps
      Infomaniak Events, the independent local events portal
      Online ticketing service with a wide choice of concerts, shows and events.
    • online shop
      Ticketing Create your ticketing service and sell tickets
    • kdrive
      Access Control Control access to your events with ease
    • kdrive
      Guest manager Automate your event invitations
    • kdrive
      Newsletter Send your newsletters at competitive prices
    • Streaming radio
      Streaming radio Create and broadcast your own live radio station online
    • streaming video
      Video-Streaming Create and broadcast live events and TV online
    • VOD and AOD
      VOD & AOD service Host and broadcast your recordings without limits
  • Resources
    documentation icon Documentation
    Guides & tutorials
    API documentation
    special offers icon Special offers
    Get started for free
    Student programme
    Become an affiliate
    partner program icon Partner programme
    Find a partner
    Become a partner
    Infomaniak Academy
    support icon Support & contact
    Contact Support
    Premium support - 24/7
    Contact our sales department
    Hiring an expert
    Migrate to Infomaniak
  • About us
    forest
    icon Ecological commitment
    We pollute. But we are taking action to reduce the footprint of our services and infrastructure
    Discover our commitment →
    icon About Infomaniak
    Our vision, our values
    Our teams
    Infomaniak is recruiting
    Press and communication
    Blog and news
    icon Security
    Data confidentiality
    Bug Bounty Programme
  • Get started for free
    Sign in
  • search-icon
    close-icon
      icon

      Would your needs exceed our solutions? To find out, contact us so that we can advise you personally.

      Our flagship products:
  • search-icon
  • Get started for free
    Sign in
Price Price

Knowledge base

1000 FAQs, 500 tutorials and explanatory videos. Here, there are only solutions!

Knowledge base FAQ - Knowledge base Page 12/1
    20 FAQ(s) found
    Fix a mod_auth_mysql error

    This guide concerns the Apache module mod_auth_mysql which allows user authentication and access authorization via a MySQL database.

     

    With shared hosting

    The mod_auth_mysql module is not available with shared hosting; consider a Cloud Server or use PHP scripts and sessions.



    Link to this FAQ:
    Has this FAQ been helpful?
    Thank you for your feedback. Improve this FAQ?
    Please do not ask any questions through this form, it is only used to improve our FAQ.
    Please use our contact form for any question.
    Your message has been sent. Thank you for suggesting an improvement to this FAQ.
    Use InnoDB

    This guide explains how to access InnoDB at Infomaniak.

     

    Use the MySQL InnoDB storage engine

    Once your Infomaniak hosting gives you access to MySQL / MariaDB databases, InnoDB is available at the same time (previously MyISAM).

    InnoDB offers advanced features such as ACID transactions, row-level locks, full-text indexes, etc. You can take advantage of these features by using appropriate SQL statements in your queries.



    Link to this FAQ:
    Has this FAQ been helpful?
    Thank you for your feedback. Improve this FAQ?
    Please do not ask any questions through this form, it is only used to improve our FAQ.
    Please use our contact form for any question.
    Your message has been sent. Thank you for suggesting an improvement to this FAQ.
    Limits of the who and users commands

    Access to the system commands who and users is prohibited for LDAP users on all Infomaniak servers.



    Link to this FAQ:
    Has this FAQ been helpful?
    Thank you for your feedback. Improve this FAQ?
    Please do not ask any questions through this form, it is only used to improve our FAQ.
    Please use our contact form for any question.
    Your message has been sent. Thank you for suggesting an improvement to this FAQ.
    Resolve a communication issue with YAZ

    This guide concerns YAZ a software library used to implement the Z39.50 protocol, an information retrieval protocol that allows communication between different library systems (ILS) such as PMB widely used in France.

     

    Infomaniak for efficient library management

    On the Web Hosting Infomaniak, PMB is supported and YAZ is activated by default.

    However, if you encounter errors such as Call to undefined function yaz_connect() it will be necessary to open ports via the Manager. Port 210 is the standard port used for Z39.50 communications but do not hesitate to consult the documentation of your applications.

    For the old Infomaniak hosting plans, consider a change of offer.



    Updated 08.09.2025 Link to this FAQ:
    Has this FAQ been helpful?
    Thank you for your feedback. Improve this FAQ?
    Please do not ask any questions through this form, it is only used to improve our FAQ.
    Please use our contact form for any question.
    Your message has been sent. Thank you for suggesting an improvement to this FAQ.
    Solve a Python problem using Anaconda

    This guide will help you if, for example, you want to deploy a package like pymysql and it requires a Python version higher than the one offered on your hosting.

     

    Preamble

    • Anaconda is a free and open-source distribution of the Python programming language. This distribution aims to simplify package management and deployment.
    • It is recommended to use conda which comes with a recent version of python and installs in the user space, so there is no conflict with the system python (like in a virtual environment, which always requires a system installation of the desired version).
    • Refer to the official documentation.
       
     

    ⚠️ For additional help contact a partner or launch a free tender — also discover the role of the host.

     

    Download the installer

    uid165116@od-12345:~$ wget https://repo.anaconda.com/miniconda/Miniconda3-py37_4.10.3-Linux-x86_64.sh
    --2021-07-28 18:21:10--  https://repo.anaconda.com/miniconda/Miniconda3-py37_4.10.3-Linux-x86_64.sh
    Resolving repo.anaconda.com (repo.anaconda.com)... 2606:4700::6810:8303, 2606:4700::6810:8203, 104.16.131.3, ...
    Connecting to repo.anaconda.com (repo.anaconda.com)|2606:4700::6810:8303|:443... connected.
    HTTP request sent, awaiting response... 200 OK
    Length: 89026327 (85M) [application/x-sh]
    Saving to: ‘Miniconda3-py37_4.10.3-Linux-x86_64.sh’
    Miniconda3-py37_4.10.3-Linux-x86_64.sh          100% [==============================================>]  84.90M   203MB/s   in 0.4s   
    18:21:11 (100 MB/s) - ‘Miniconda3-py37_4.10.3-Linux-x86_64.sh’ saved [89026327/89026327]

     

    Check the hash

    uid165116@od-12345:~$ test $(md5sum Miniconda3-py37_4.10.3-Linux-x86_64.sh | awk '{print $1}') == "9f186c1d86c266acc47dbc1603f0e2ed" && echo "OK" 
    OK

     

    Launch the installation

    uid165116@od-12345:~$ bash Miniconda3-py37_4.10.3-Linux-x86_64.sh -b
    PREFIX=/home/clients/fc84cbbf6dcbd6dd76b15d3e56c1789f/miniconda3
    Unpacking payload ...
    Collecting package metadata (current_repodata.json): done                                                                                           
    Solving environment: done
    ## Package Plan ##
    environment location: /home/clients/fc84cbbf6dcbd6dd76b15d3e56c1789f/miniconda3
    added / updated specs:
        - _libgcc_mutex==0.1=main
        - _openmp_mutex==4.5=1_gnu
        - brotlipy==0.7.0=py37h27cfd23_1003
        - ca-certificates==2021.7.5=h06a4308_1
        - certifi==2021.5.30=py37h06a4308_0
        - cffi==1.14.6=py37h400218f_0
        - chardet==4.0.0=py37h06a4308_1003
        - conda-package-handling==1.7.3=py37h27cfd23_1
        - conda==4.10.3=py37h06a4308_0
        - cryptography==3.4.7=py37hd23ed53_0
        - idna==2.10=pyhd3eb1b0_0
        - ld_impl_linux-64==2.35.1=h7274673_9
        - libffi==3.3=he6710b0_2
        - libgcc-ng==9.3.0=h5101ec6_17
        - libgomp==9.3.0=h5101ec6_17
        - libstdcxx-ng==9.3.0=hd4cf53a_17
        - ncurses==6.2=he6710b0_1
        - openssl==1.1.1k=h27cfd23_0
        - pip==21.1.3=py37h06a4308_0
        - pycosat==0.6.3=py37h27cfd23_0
        - pycparser==2.20=py_2
        - pyopenssl==20.0.1=pyhd3eb1b0_1
        - pysocks==1.7.1=py37_1
        - python==3.7.10=h12debd9_4
        - readline==8.1=h27cfd23_0
        - requests==2.25.1=pyhd3eb1b0_0
        - ruamel_yaml==0.15.100=py37h27cfd23_0
        - setuptools==52.0.0=py37h06a4308_0
        - six==1.16.0=pyhd3eb1b0_0
        - sqlite==3.36.0=hc218d9a_0
        - tk==8.6.10=hbc83047_0
        - tqdm==4.61.2=pyhd3eb1b0_1
        - urllib3==1.26.6=pyhd3eb1b0_1
        - wheel==0.36.2=pyhd3eb1b0_0
        - xz==5.2.5=h7b6447c_0
        - yaml==0.2.5=h7b6447c_0
        - zlib==1.2.11=h7b6447c_3
    The following NEW packages will be INSTALLED:
      _libgcc_mutex      pkgs/main/linux-64::_libgcc_mutex-0.1-main
      _openmp_mutex      pkgs/main/linux-64::_openmp_mutex-4.5-1_gnu
      brotlipy           pkgs/main/linux-64::brotlipy-0.7.0-py37h27cfd23_1003
      ca-certificates    pkgs/main/linux-64::ca-certificates-2021.7.5-h06a4308_1
      certifi            pkgs/main/linux-64::certifi-2021.5.30-py37h06a4308_0
      cffi               pkgs/main/linux-64::cffi-1.14.6-py37h400218f_0
      chardet            pkgs/main/linux-64::chardet-4.0.0-py37h06a4308_1003
      conda              pkgs/main/linux-64::conda-4.10.3-py37h06a4308_0
      conda-package-han~ pkgs/main/linux-64::conda-package-handling-1.7.3-py37h27cfd23_1
      cryptography       pkgs/main/linux-64::cryptography-3.4.7-py37hd23ed53_0
      idna               pkgs/main/noarch::idna-2.10-pyhd3eb1b0_0
      ld_impl_linux-64   pkgs/main/linux-64::ld_impl_linux-64-2.35.1-h7274673_9
      libffi             pkgs/main/linux-64::libffi-3.3-he6710b0_2
      libgcc-ng          pkgs/main/linux-64::libgcc-ng-9.3.0-h5101ec6_17
      libgomp            pkgs/main/linux-64::libgomp-9.3.0-h5101ec6_17
      libstdcxx-ng       pkgs/main/linux-64::libstdcxx-ng-9.3.0-hd4cf53a_17
      ncurses            pkgs/main/linux-64::ncurses-6.2-he6710b0_1
      openssl            pkgs/main/linux-64::openssl-1.1.1k-h27cfd23_0
      pip                pkgs/main/linux-64::pip-21.1.3-py37h06a4308_0
      pycosat            pkgs/main/linux-64::pycosat-0.6.3-py37h27cfd23_0
      pycparser          pkgs/main/noarch::pycparser-2.20-py_2
      pyopenssl          pkgs/main/noarch::pyopenssl-20.0.1-pyhd3eb1b0_1
      pysocks            pkgs/main/linux-64::pysocks-1.7.1-py37_1
      python             pkgs/main/linux-64::python-3.7.10-h12debd9_4
      readline           pkgs/main/linux-64::readline-8.1-h27cfd23_0
      requests           pkgs/main/noarch::requests-2.25.1-pyhd3eb1b0_0
      ruamel_yaml        pkgs/main/linux-64::ruamel_yaml-0.15.100-py37h27cfd23_0
      setuptools         pkgs/main/linux-64::setuptools-52.0.0-py37h06a4308_0
      six                pkgs/main/noarch::six-1.16.0-pyhd3eb1b0_0
      sqlite             pkgs/main/linux-64::sqlite-3.36.0-hc218d9a_0
      tk                 pkgs/main/linux-64::tk-8.6.10-hbc83047_0
      tqdm               pkgs/main/noarch::tqdm-4.61.2-pyhd3eb1b0_1
      urllib3            pkgs/main/noarch::urllib3-1.26.6-pyhd3eb1b0_1
      wheel              pkgs/main/noarch::wheel-0.36.2-pyhd3eb1b0_0
      xz                 pkgs/main/linux-64::xz-5.2.5-h7b6447c_0
      yaml               pkgs/main/linux-64::yaml-0.2.5-h7b6447c_0
      zlib               pkgs/main/linux-64::zlib-1.2.11-h7b6447c_3
    Preparing transaction: done
    Executing transaction: done
    installation finished.

     

    Launch conda

    uid165116@od-12345:~$ source <(~/miniconda3/bin/conda shell.bash hook)

     

    Install pymysql (for example)

    (base) uid165116@od-12345:~$ python3 -V
    Python 3.7.10
    (base) uid165116@od-12345:~$ pip3 install pymysql --user
    Collecting pymysql
      Downloading PyMySQL-1.0.2-py3-none-any.whl (43 kB)
         |████████████████████████████████| 43 kB 892 kB/s 
    Installing collected packages: pymysql
    Successfully installed pymysql-1.0.2


    Link to this FAQ:
    Has this FAQ been helpful?
    Thank you for your feedback. Improve this FAQ?
    Please do not ask any questions through this form, it is only used to improve our FAQ.
    Please use our contact form for any question.
    Your message has been sent. Thank you for suggesting an improvement to this FAQ.
    Include a file globally with Auto Prepend File

    This guide explains how to specify a file that will be loaded before the desired page or at the beginning of each PHP script executed on your server, included as if it had been called with the function require(), but more globally using the PHP directive auto_prepend_file.

     

    Preamble

    • For example, to declare the headers of a website, you can create a file called headers.php that contains PHP header() functions and that is prepended at the beginning of each PHP file…
      • … via a .user.ini file (specific to a folder),
      • … or via the site configuration of the Manager (global) as explained below.

     

    Include a file globally from the Manager

    To access website management:

    1. Click here to access the management of your product on the Infomaniak Manager (need help?).
    2. Click directly on the name assigned to the product concerned:
    3. Click on Manage under Advanced Settings:
    4. Click on the PHP / Apache tab.
    5. Fill in the relevant line by entering the path of the file to include.
    6. Click the button to save:

     

    After setting this directive, all PHP pages on your server will automatically include the specified file before executing their own code.

    The headers defined in a .htaccess file are only valid for non-PHP (i.e., static) content.

    Infomaniak uses php-fpm which receives the various headers via apache fast_cgi. In the RFC of cgi_www the header Strict-Transport-Security is not part of the headers passed via CGI and the Apache documentation confirms this. Refer to this other RFC.

    ⚠️ For additional help, contact a partner or launch a free tender — also discover the role of the host.



    Link to this FAQ:
    Has this FAQ been helpful?
    Thank you for your feedback. Improve this FAQ?
    Please do not ask any questions through this form, it is only used to improve our FAQ.
    Please use our contact form for any question.
    Your message has been sent. Thank you for suggesting an improvement to this FAQ.
    Use Zend Guard Loader (formerly Zend Optimizer)

    This guide concerns the installation of PHP extensions on Web Hosting Infomaniak.

     

    Using Zend PHP extensions

    • Zend Guard Loader is a PHP extension that allows you to run encrypted PHP scripts via Zend Guard.
      • Zend Guard Loader is pre-installed for PHP <= 5.6 on all web hosting and is not available for PHP versions >= 5.6.
    • Since PHP 5.3.x, the Zend Optimizer module has been replaced by ZendGuardLoader
    • The ZendOPCache extension requires a Serveur Cloud configured with PHP 5.5 minimum


    Link to this FAQ:
    Has this FAQ been helpful?
    Thank you for your feedback. Improve this FAQ?
    Please do not ask any questions through this form, it is only used to improve our FAQ.
    Please use our contact form for any question.
    Your message has been sent. Thank you for suggesting an improvement to this FAQ.
    Resolve infinite site loading (increase the max_children value)

    This guide explains how to increase the max_children value on Serveur Cloud to increase the number of simultaneous PHP processes that can be used by your site. This will be very useful for resolving infinite page loading issues on your site.

     

    Preamble

    • By default, the limit for max_children is set to 20 for all hosting.
      • Although it is possible to increase this value from the Infomaniak Manager, the limit for max_children is automatically adjusted based on the configuration of your Cloud Server.
      • To increase this limit on shared hosting, migrate to Cloud Server.
    • To understand how to calculate the max_children needed as accurately as possible, refer to this article on the subject.

     

    Increase the max_children value

    Prerequisites

    • Ensure that you have the necessary resources on the Cloud Server.
    • Ensure that all resources of the Cloud Server are not used; if it turns out that they are fully used, increasing the value of max_children will have no effect (Modify the resources of the Cloud Server).
    • Monitor your server's resource usage, if your server's resources are maxed out, it will be necessary to check the optimization of your processes and site before considering increasing the max_children value.
    • Check the PHP error reports from the /ik-logs folder (master process php logs - file name: php-fpm.log) to verify if the "max_children" limit has been exceeded... example of error: [05-Jul-2024 09:08:58] WARNING: [pool www.infomaniak.ch] server reached max_children setting (20), consider raising it

    To access the management of PHP / Apache parameters for the site for which you need to increase the max_children value on Serveur Cloud, refer to this other guide.

    You will be able to…

    • … choose a new value for max_children:

    Do not forget to save the changes at the bottom of the page.

     

    Limits depending on the server

    Limit of max_children based on the resources of the Serveur Cloud:

    Cloud Server Configurationmax_children
    2 CPU / 6 GB RAM20
    4 CPU / 12 GB RAM40
    6 CPU / 18 GB RAMsixty
    8 CPU / 24 GB RAM80
    12 CPU / 36 GB RAM120
    16 CPU / 48 GB RAM160
    24 CPU / 72 GB RAM240
    32 CPU / 96 or 128 GB RAM320


    Link to this FAQ:
    Has this FAQ been helpful?
    Thank you for your feedback. Improve this FAQ?
    Please do not ask any questions through this form, it is only used to improve our FAQ.
    Please use our contact form for any question.
    Your message has been sent. Thank you for suggesting an improvement to this FAQ.
    Modify the include_path

    This guide explains how to modify the value of the directive php_value include_path.

     

    Modify the include_path

    Like any other PHP parameter, include_path is defined in the .user.ini file.

    Here is an example of path to use in the .user.ini file:

    include_path = .:/home/clients/123456789a12345b12fc345d/web/www.domainetest.abc/public/abc/include

    Check out this other guide about phpinfo to verify that your new directive has been applied.



    Link to this FAQ:
    Has this FAQ been helpful?
    Thank you for your feedback. Improve this FAQ?
    Please do not ask any questions through this form, it is only used to improve our FAQ.
    Please use our contact form for any question.
    Your message has been sent. Thank you for suggesting an improvement to this FAQ.
    Use the mod_userdir module

    The Apache module mod_userdir is not available.



    Link to this FAQ:
    Has this FAQ been helpful?
    Thank you for your feedback. Improve this FAQ?
    Please do not ask any questions through this form, it is only used to improve our FAQ.
    Please use our contact form for any question.
    Your message has been sent. Thank you for suggesting an improvement to this FAQ.
    Discover eco-design to reduce the carbon footprint

    This guide is for you because you have chosen (or will choose) Infomaniak as your host. This choice is not trivial. You are sensitive to ecology and want to do everything possible to reduce the carbon footprint on the Internet.

    Infomaniak already thanks you for choosing this hosting provider that cares for the planet and for exploring the paths below to progress in the eco-design of your web environment.

    Why act?

    Websites consume energy to function, and the use of the Internet is one of the main causes of the increase in greenhouse gas emissions.

    In addition to choosing an ethical host that uses renewable energy sources to power its servers, you can also contribute to reducing these emissions by adopting eco-responsible practices in the design and management of your sites and Mail services.

    How to act?

    As mentioned earlier, Infomaniak takes action on various points, including its support department: it will assist you in choosing services tailored to your needs with a focus on environmental preservation, gather your feedback to optimize our practices and draw inspiration from your experiences, while also communicating the environmental challenges in the hosting sector to adopt good digital practices.

    At your level, there are several ways to reduce your carbon footprint on the Internet:

    Minimize energy consumption

    To reduce the energy consumption of servers and users' computers: optimize images, use web fonts, use minified scripts and data compression technologies. Clean designs can help reduce bandwidth requirements.

    Offer options to reduce data consumption by using lower quality images or providing streaming videos in different qualities, to disable trackers and advertisements that consume a lot of data.

    For good practices dedicated to WordPress consult the GreenIT sheets.

    Use eco-responsible technologies

    Sustainable development technologies, such as HTML5, CSS3, and JavaScript, are more environmentally friendly.‍

    Promote sustainability

    Raise user awareness of the environmental impact of Internet technologies and encourage them to adopt eco-responsible practices. Including with the WordPress solution.

    And what about email?

    The same habits can be applied to your email communication:

    • Use an eco-friendly signature that encourages recipients to reduce their environmental impact by using eco-friendly technologies or adopting eco-friendly practices…
    • Use eco-friendly email management tools that utilize renewable energy sources and have eco-friendly policies regarding energy consumption…
    • Use plain text emails instead of HTML emails, as HTML emails tend to consume more energy to be displayed…
    • Use PDF attachments instead of heavier formats…
    • Use unsubscribe features to avoid sending unwanted emails…
    • Use tracking tools to find out how many people open your emails and thus know if you are sending too many or too few…

    All these actions can be implemented gradually and should be adapted to the situation of each website. There is no one-size-fits-all solution.

    Regularly monitor energy consumption statistics to continue improving the site's ecological performance. Infomaniak will offer tools in this direction in the future, but in the meantime, you can use https://greenframe.io.



    Link to this FAQ:
    Has this FAQ been helpful?
    Thank you for your feedback. Improve this FAQ?
    Please do not ask any questions through this form, it is only used to improve our FAQ.
    Please use our contact form for any question.
    Your message has been sent. Thank you for suggesting an improvement to this FAQ.
    Understand the restriction on certain Web folders

    Writing to the /etc and /lib directories is disabled for security reasons.



    Link to this FAQ:
    Has this FAQ been helpful?
    Thank you for your feedback. Improve this FAQ?
    Please do not ask any questions through this form, it is only used to improve our FAQ.
    Please use our contact form for any question.
    Your message has been sent. Thank you for suggesting an improvement to this FAQ.
    Understand the possible MySQL actions

    This guide presents the various actions possible on a MySQL table depending on the rights granted to a user.

     

    Actions on tables according to user rights…

     

    … on shared Web hosting

    Read + Write + Admin

    GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES, CREATE VIEW, SHOW VIEW

    Read + Write

    GRANT SELECT, INSERT, UPDATE, DELETE, CREATE TEMPORARY TABLES, LOCK TABLE

    Read

    GRANT SELECT

     

    … on Cloud Server

    Read + Write + Admin

    GRANT ALL

    Read + Write

    GRANT SELECT, INSERT, UPDATE, DELETE, CREATE TEMPORARY TABLES, LOCK TABLES

    Read

    GRANT SELECT


    Link to this FAQ:
    Has this FAQ been helpful?
    Thank you for your feedback. Improve this FAQ?
    Please do not ask any questions through this form, it is only used to improve our FAQ.
    Please use our contact form for any question.
    Your message has been sent. Thank you for suggesting an improvement to this FAQ.
    Using the Propel abstraction layer

    This guide is for people who want to work with the Propel abstraction layer (which refers to a key component of the Propel library, an ORM (Object-Relational Mapping) for PHP).

     

    Preamble

    • Object-Relational Mapping (ORM) allows linking application objects to the tables of a relational database. Instead of writing SQL, data is manipulated through objects.
    • Propel, a PHP abstraction layer, facilitates the creation, manipulation, and retrieval of objects without worrying about SQL details. It allows for managing relationships, joins, and pagination, while improving code readability and maintainability.

     

    Particularities & limitations

    • Propel is not installed by default as a Pear package; this means that you will have to install it manually on your server.
    • The "Conventionnal Package" version of Propel can be installed; make sure to download and install this specific version.
    • Since Propel command lines (e.g., propel-gen) are not accessible, you will not be able to use them directly.
    • This means that Propel can only be used in production once you have generated the necessary classes and files locally or in another development environment.
    • All manipulations and code generation must be done elsewhere before transferring the resulting files to your production environment.

    Dependencies

    • All the necessary dependencies to use Propel are available, except for Phing.
    • Phing is not required for production, so this should not be an issue.
    • Ensure that all other required dependencies for Propel are installed correctly.


    Link to this FAQ:
    Has this FAQ been helpful?
    Thank you for your feedback. Improve this FAQ?
    Please do not ask any questions through this form, it is only used to improve our FAQ.
    Please use our contact form for any question.
    Your message has been sent. Thank you for suggesting an improvement to this FAQ.
    Discover the open ports for Node.js

    This guide presents the open ports available for Node.js sites (only) hosted by Infomaniak.

     

    Outbound open ports

    Web

    • HTTP (tcp/80)
    • Alternative HTTP (tcp/8080)
    • HTTPS (tcp/443)
    • FTP Data (tcp/20)
    • FTP Control (tcp/21)

    Mail

    • POP3 (tcp/110)
    • IMAP (tcp/143)
    • SMTP submission (+ STARTTLS) (tcp/587)
    • SMTPS (tcp/465)
    • IMAPS (tcp/993)
    • POP3S (tcp/995)

    DB

    • MySQL (tcp/3306)
    • MongoDB (tcp/27017)
    • PostgreSQL (tcp/5432)
    • Redis (tcp/6379)
    • Redis TLS (tcp/6380)
    • ElasticSearch (tcp/9200)

    Misc

    • SSH (tcp/22)
    • Git pack transfer (tcp/9418)

     

    Open inbound ports

    • HTTP (tcp/80)
    • HTTPS (tcp/443)
    • SSH (tcp/22)


    Link to this FAQ:
    Has this FAQ been helpful?
    Thank you for your feedback. Improve this FAQ?
    Please do not ask any questions through this form, it is only used to improve our FAQ.
    Please use our contact form for any question.
    Your message has been sent. Thank you for suggesting an improvement to this FAQ.
    Install Ghost on Infomaniak hosting

    This guide helps you install Ghost on Infomaniak, an ideal platform for blogs (regular writing, editorial format) and content-focused publishing sites, such as Substack or Medium.

    Based on Node.js and using Markdown for writing, Ghost stands out for its lightness, whereas WordPress, although more flexible and universal, is heavier.

     

    For additional help, contact a partner or launch a free tender — also discover the role of the host.

     

    Prerequisites

    • Have installed a blank Node.js site on Infomaniak Web hosting.
    • Create an SSH access.
    • Create a database.
    • Have a valid and functional email address (especially the forgotten password features).

     

    Ghost Installation

    To do this:

    1. Log in to the server via SSH (need help?).
    2. Navigate to the site directory by running the command “cd chemin-vers-le-site” (for example cd sites/ghost.domain.xyz).
    3. Enter the following command:

      npx -p ghost-cli ghost install --check-empty=false

      and enter the requested information (database host name, website URL, etc.).

    4. Edit the config.production.json file to update the port and host parameters:

       "server": {
          "port": 3000,
          "host": "0.0.0.0"
        },
    5. Specify the email information there as well:

        "mail": {
          "transport": "SMTP",
          "options": {
            "service": "Infomaniak",
            "host": "mail.infomaniak.com",
            "port": 465,
            "auth": {
              "user": "<<email_username>>",
              "pass": "<<email_password>>"
            }
          },
          "from": "<<email_address>>"
        },

     

    Node.js Configuration

    To run the application, go to the Node.js dashboard:

    1. Click here to access the management of your product on the Infomaniak Manager (need help?).
    2. Click directly on the name assigned to the relevant product.
    3. Click on Manage under Advanced Settings:
    4. Click on the Node.js tab to access the settings:
    5. In the execution command field, enter:

      npx -p ghost-cli ghost run
    6. Click the Save button at the bottom of the page.
    7. On the main page, click the Start or Restart button.
    8. Observe the logs showing the creation of the database and the start of the application:


       
    9. Then, go to your site's URL to start.

     

    User/mail configuration

    To create the first user, add /ghost to the URL of your site (for example https://ghost.domain.xyz/ghost) and follow the assistant.

    You can also configure the "member portal support address": when new members want to register, the portal sends the double opt-in confirmation from a specific address. By default, this is the “noreply” address of your domain. To update it, navigate to “Settings”, “Membership”, “Portal Settings”, “Customize”, and “Account Page”:

     

    Resolve a technical incompatibility between Ghost and MariaDB

    There is a compatibility issue between Ghost and the MariaDB database. This results in this type of error:

    [2025-05-26 12:54:28] ERROR "GET /ghost/api/admin/posts/6834625e35802b06f1496305/?formats=mobiledoc%2Clexical&include=tags%2Cauthors%2Cauthors.roles%2Cemail%2Ctiers%2Cnewsletter%2Ccount.conversions%2Ccount.clicks%2Csentiment%2Ccount.positive_feedback%2Ccount.negative_feedback" 400 27ms
    
    
    Could not understand request.
    
    
    Error ID:
    
    8f2b0d90-3a30-11f0-a25f-fd9c83e1cf02
    
    
    Error Code:
    
    ER_BAD_FIELD_ERROR
    
    
    ----------------------------------------
    
    
    Error: select `posts`.*, (with `k` as (select `member_id` from `members_subscription_created_events` where posts.id = members_subscription_created_events.attribution_id union select `member_id` from `members_created_events` where posts.id = members_created_events.attribution_id) select count(*) from `k`) as `count__conversions`, `posts`.*, (select count(distinct `members_click_events`.`member_id`) from `members_click_events` inner join `redirects` on `members_click_events`.`redirect_id` = `redirects`.`id` where posts.id = redirects.post_id) as `count__clicks`, `posts`.*, (select COALESCE(ROUND(AVG(score) * 100), 0) from `members_feedback` where posts.id = members_feedback.post_id) as `count__sentiment`, `posts`.*, (select count(*) from `members_feedback` where posts.id = members_feedback.post_id AND members_feedback.score = 0) as `count__negative_feedback`, `posts`.*, (select sum(`score`) from `members_feedback` where posts.id = members_feedback.post_id) as `count__positive_feedback` from `posts` where (`posts`.`type` = 'post' and `posts`.`status` in ('draft', 'published', 'scheduled', 'sent')) and `posts`.`id` = '2834125e33802b06e1433305' limit 1 - Unknown column 'posts.id' in 'where clause'
    
    at Child.<anonymous> (/srv/customer/sites/ghost.domain.xyz/versions/5.120.2/core/server/models/base/plugins/crud.js:194:31)
    
    at Packet.asError (/srv/customer/sites//versions/5.120.2/node_modules/mysql2/lib/packets/packet.js:740:17)
    
    at Query.execute (/srv/customer/sites//versions/5.120.2/node_modules/mysql2/lib/commands/command.js:29:26)
    
    at Connection.handlePacket (/srv/customer/sites//versions/5.120.2/node_modules/mysql2/lib/base/connection.js:475:34)
    
    at PacketParser.onPacket (/srv/customer/sites//versions/5.120.2/node_modules/mysql2/lib/base/connection.js:93:12)
    
    at PacketParser.executeStart (/srv/customer/sites//versions/5.120.2/node_modules/mysql2/lib/packet_parser.js:75:16)
    
    at Socket.<anonymous> (/srv/customer/sites//versions/5.120.2/node_modules/mysql2/lib/base/connection.js:100:25)
    
    at Socket.emit (node:events:518:28)
    
    at addChunk (node:internal/streams/readable:561:12)
    
    at readableAddChunkPushByteMode (node:internal/streams/readable:512:3)
    
    at Readable.push (node:internal/streams/readable:392:5)
    
    at TCP.onStreamRead (node:internal/stream_base_commons:189:23)

    Some SQL queries generated by Ghost, using common table expressions (CTE) nested in scalar subqueries, cause HTTP 400 errors when executed on MariaDB. These queries are valid in MySQL 8, which supports CTE in scalar subqueries, but not in MariaDB until version 10.6.

    A patch is available to adapt Ghost's behavior and avoid these errors (refer to the official guide).

    To use this patch, enter this command:

    cd current
    curl -L https://gist.githubusercontent.com/reneluria/8cbbfbc001e542c77d6d5887fbafe5d3/raw/65e0ce31753b4687d0eb67fc030734a35d3ffbad/ghost-post.patch | patch -p0


    Link to this FAQ:
    Has this FAQ been helpful?
    Thank you for your feedback. Improve this FAQ?
    Please do not ask any questions through this form, it is only used to improve our FAQ.
    Please use our contact form for any question.
    Your message has been sent. Thank you for suggesting an improvement to this FAQ.
    Modify the configuration of a Node.js site

    This guide explains how to adjust the configuration of a Node.js site hosted on the Infomaniak infrastructure to adapt the behavior of your application according to its evolution, its dependencies or your technical preferences.

     

    Prerequisites

    • Install a Node.js site on your hosting.
    • Test your modifications locally before applying them to production.
    • Check that your scripts (start, build) are properly defined in your package.json file.
    • If you modify the structure of your project, remember to adjust the execution folder and the associated commands.
    • The listening port defined in the Manager must absolutely correspond to the one used in the application's code.

     

    Access the configuration

    Each site has a dedicated dashboard to control the application (start, stop, restart), access the execution console, manage Node.js versions, configure domains and activate SSL certificates:

    1. Click here to access the management of your product on the Infomaniak Manager (need help?).
    2. Click directly on the name assigned to the relevant product.
    3. You can open the console, stop the project (a maintenance page will be applied) or restart it.
    4. To access the advanced settings, click on Manage under Advanced Settings:
    5. Click on the Node.js tab to access the settings:

     

    Apply the changes

    To do this:

    1. Save the changes from the Manager interface.
    2. Restart your application for the changes to take effect.

    Refer to this other guide if you encounter any issues.

     

    Main commands

     

    Execution folder

    The execution folder indicates the location on the server where build and launch commands will be executed. It should point to the root directory of your application, i.e., where your package.json file is located.

    For example, you can specify for the project root:

    ./

    or if your application is in a subfolder named app:

    ./app

    or if it is located in a backend folder:

    ./backend

     

    Optional build command

    If your Node.js application requires a compilation step before it can be run, enter a build command in the designated field. This command will be executed automatically before the application starts.

    For example, you can specify:

    npm install && npm run build

    or, if you use yarn :

    yarn install && yarn build

    If your project does not require any compilation, this field can be left empty.

     

    Launch command

    The launch command corresponds to the instruction used to start your application. It must be identical to the one you use locally to run the project.

    For example, you can specify:

    node index.js
    npm start

    or

    yarn start

    This command should allow you to directly start the server or the entry point of your application as defined in your development environment.

     

    Listening port

    Your application must listen on a specific port that is defined in the Manager. This port is passed to your application via an environment variable PORT.
    Example in your Node.js code:

    const port = process.env.PORT || 8080;
    app.listen(port, () => {
      console.log(`Application lancée sur le port ${port}`);
    });

    Make sure this port is properly accounted for in your code.

     

    Node.js version

    You can select the Node.js version that your site should use. It is recommended to use a stable and always supported version to ensure the security and compatibility of your application.



    Link to this FAQ:
    Has this FAQ been helpful?
    Thank you for your feedback. Improve this FAQ?
    Please do not ask any questions through this form, it is only used to improve our FAQ.
    Please use our contact form for any question.
    Your message has been sent. Thank you for suggesting an improvement to this FAQ.
    Add and manage Infomaniak API applications

    This guide concerns OAuth2 applications to connect to your external services via your Infomaniak login ID.

     

    Manage Infomaniak OAuth2 apps

    To do this:

    1. Click here to access the management of your product on the Infomaniak Manager (need help?).
    2. Click the blue Create a new application button:
    3. Choose the type appropriate to your current need and project.
    4. Give a name to the application.
    5. Enter the URL of the application according to the technical information available to you.
    6. Click on the button to create the application:
    7. Copy the information (Client ID, Client secret) to a safe place - they will no longer be accessible after that:


    Updated 02.09.2025 Link to this FAQ:
    Has this FAQ been helpful?
    Thank you for your feedback. Improve this FAQ?
    Please do not ask any questions through this form, it is only used to improve our FAQ.
    Please use our contact form for any question.
    Your message has been sent. Thank you for suggesting an improvement to this FAQ.
    Use the "Infomaniak Connect for OpenID" extension for WordPress

    This guide concerns the WordPress module "Infomaniak Connect for OpenID" which allows users to log in to your WordPress site (whether it is hosted by Infomaniak or not) using their Infomaniak credentials.

     

    Preamble

    • Allowing login via an Infomaniak account on your WordPress site allows your visitors to comment, register for courses, or access any member-only content with a single click, without having to create a new account.
    • It saves them time and is a safer method for you, as you do not have to manage additional passwords.
    • The operation of this external module is identical to the options "Log in with Google", "Log in with Facebook" or "Log in with Apple"; it uses the standard OAuth2 and OpenID Connect protocols to enable single sign-on (SSO).

     

    A. Create an application with Auth Infomaniak

    To do this:

    1. Click here to access the management of your Auth product on the Infomaniak Manager (need help?).
    2. Click the button to Create a new application:
    3. Choose the type "Web Front-End".
    4. Give a name to your application.
    5. In the URL field, indicate the domain name corresponding to your WordPress site followed by /openid-connect-authorize (refer to the GitHub documentation if necessary).
    6. Click the button to complete the app creation:
    7. Carefully note the 2 pieces of information obtained when finalizing your OAuth2 application:

     

    B. Configure the WordPress extension

    To do this:

    1. Search for the extension Infomaniak Connect for OpenID on the WordPress extensions platform from your site.
    2. Install and activate the extension:
    3. Configure the extension from the Settings menu:
    4. The only fields to fill in are Client ID and Client Secret Key and come from the information obtained in point A above:
    5. Do not forget to save the changes made to the extension settings.
    6. An additional button for logging in with an Infomaniak identifier is now visible on your login page for users /wp-admin (/wp-login.php):


    Updated 08.09.2025 Link to this FAQ:
    Has this FAQ been helpful?
    Thank you for your feedback. Improve this FAQ?
    Please do not ask any questions through this form, it is only used to improve our FAQ.
    Please use our contact form for any question.
    Your message has been sent. Thank you for suggesting an improvement to this FAQ.
    Solve the issue with the Prestashop module "Faceted Search"

    This guide helps to solve a problem on the Prestashop CMS and more specifically with its “Faceted Search” module that allows the management of filters in the product category pages.

     

    The problem

    This specific search module of Prestashop creates a cache in the database to speed up the search, however the corresponding table is never cleaned, which poses a problem for the hosting infrastructure.

     

    First solution

    The first solution is to disable the proposed caching.

    If you have a cache module, such as Ultimate Cache, there will be no negative impact.

    To do this:

    1. In the PrestaShop administration panel, go to Modules → Module Manager.
    2. Select Modules and use the search field to find “facet”.
    3. Click on Configure next to the module obtained in the result:
    4. Disable the button for this:

     

    Second solution

    The second solution is to set up a cron job to clean the table, for example every night:

    1. From the module settings, copy the existing URL on the Clear cache button:

    Then from the Infomaniak Manager, create a webcron (refer to this other guide on this subject) to execute the URL copied in point 1 above, for example 1 time per day and per night.



    Updated 08.09.2025 Link to this FAQ:
    Has this FAQ been helpful?
    Thank you for your feedback. Improve this FAQ?
    Please do not ask any questions through this form, it is only used to improve our FAQ.
    Please use our contact form for any question.
    Your message has been sent. Thank you for suggesting an improvement to this FAQ.
    Display more results If you cannot find an answer, contact us
    logo infomaniak
    Prices do not include VAT
    facebook
    twitter
    linkedin
    instagram

    Infomaniak

    About Infomaniak The team Infomaniak is recruiting Press space Infomaniak blog All certificates Products and offers Clients' opinions

    Support

    Assistance 7/7 FAQ and guides Premium Support Sales contact API REST Report abuse WHOIS Public Cloud status Service status

    Partnerships

    Become a reseller Affiliate programme Directory of partners Requests for quotes Infomaniak Academy

    Ecology

    Green hosting Certificates & awards

    Follow our development

    The email entered is invalid
    earth icon
    • EN
      • EN
      • DE
      • ES
      • FR
      • IT
    ©2025 Infomaniak - Legal documents - Legal notice - Data Protection - Privacy Policy - Site map - Manage your cookies
    bcorp-logo
    icann-logo
    swiss
    new-iso
    swiss-hosting
    logo infomaniak
    Prices do not include VAT

    Infomaniak

    About Infomaniak The team Infomaniak is recruiting Press and media Infomaniak blog All certificates Products and offers Clients' opinions

    Support

    Assistance 7/7 FAQ and guides Premium Support offer Sales contact API REST Report abuse WHOIS Public Cloud status Service status

    Partnerships

    Become a reseller Affiliate programme Directory of partners Requests for quotes Infomaniak Academy

    Ecology

    Green hosting Certificates & awards

    Follow our development

    The email entered is invalid
    bcorp-logo
    icann-logo
    swiss
    new-iso
    swiss-hosting

    facebook
    twitter
    linkedin
    instagram
    ©2025 Infomaniak
    Contracts - Legal notice - Data Protection - Privacy Policy - Site map - Manage your cookies

    Managers

    earth icon
    • EN
      • EN
      • DE
      • ES
      • FR
      • IT
    Your browser is outdated, security and browsability are no longer guaranteed. We recommend that you update it as soon as possible by clicking here.