Knowledge base
1000 FAQs, 500 tutorials and explanatory videos. Here, there are only solutions!
Infomaniak does not perform any backups of VPS Cloud / VPS Lite.
You can howeverβ¦
- β¦ create a snapshot of the server (non-automated backup)
- β¦ back up the server on Swiss Backup (automated backup)
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
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 PHPheader()
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.
- β¦ via a
Include a file globally from the Manager
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 product concerned:
- Click on Manage under Advanced Settings:
- Click on the PHP / Apache tab.
- Fill in the relevant line by entering the path of the file to include.
- 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.
The Infomaniak infrastructure does not pass virtualization instructions to VPS Cloud / VPS Lite; it is therefore not possible to do nested virtualization (virtualization that would run within an already virtualized environment) as this causes issues, notably during live migrations.
This guide concerns the creation of private networks between different Infomaniak hosting offers such as VPS Cloud / VPS Lite, Public Cloud, NAS Synology, etc.
Create a VLAN between VPS
It is not possible to create a private network (VLAN) between VPS Cloud / VPS Lite and other products, such as NAS Synology for example, because they are installed on separate networks.
However, it is possible to create a VLAN between at least 10 VPS Cloud / VPS Lite that you own (contact Infomaniak support) however a dedicated private network will not be able to communicate with another.
It is recommended to migrate to the **Public Cloud** offer to create such private networks between VM.
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
Jelastic Cloud is a platform as a service (PaaS) that allows you to easily create development environments on the fly. This solution is particularly advantageous if your resource consumption (CPU, RAM) varies greatly depending on the time of year.
A Cloud Server allows you to manage applications and websites as easily as shared hosting while giving you the advantage of being able to install additional software as needed. This solution is very advantageous if your resource consumption (CPU, RAM) is stable and predictable.
A VPS Cloud or VPS Lite allows you to manage your entire server with the Linux distribution of your choice. Solid technical skills are required. This solution is very advantageous if your resource consumption (CPU, RAM) is stable and predictable.
In all three cases, you benefit from fully dedicated resources that you can freely adjust according to your needs.
Also, check out the Public Cloud offer.
To use Perl
modules on a Serveur Cloud Infomaniak, it is necessary to install them in the user directory and to define their full path within the scripts.
You will thus be able to install and freely update your modules.
This guide explains how to increase the value max_children
on Cloud Server in order to increase the number of simultaneous PHP processes that can be used by your site. This will be very useful in solving problems of infinite loading of pages of your site.
Preamble
- By default on any hosting, the limit of
max_children
is set at 20.- Although it is possible to increase this value from the Infomaniak Manager, the limit of
max_children
is automatically adjusted according to the configuration of your Cloud Server. - To increase this limit on shared hosting, migrate to Cloud Server.
- Although it is possible to increase this value from the Infomaniak Manager, the limit of
- To understand how to calculate the
max_children
need, be aware of the this Article on this subject.
Increase max_children value
Prerequisites
- Ensure that you have the necessary resources on the Cloud server.
- Ensure that all cloud server resources are not used; if they are found to be fully used, increase the value
max_children
will have no effect (Edit Cloud Server Resources). - Control the monitoring of your server's resources, in case your server resources are reached, it will be necessary to check the optimization of processes and your site before considering increasing the value
max_children
. - View PHP error reports from folder
/ik-logs
(master process php logs - file name: php-fpm.log) to check if the limit "max_children
"was overtaken... 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 PHP / Apache settings management of the site whose value must be increased max_children
on Cloud Server, read about this other guide.
In particular, you can...
- ... choose a new value of
max_children
:
Do not forget to save the changes at the bottom of the page.
Server-based limitations
Limit of max_children
based on Cloud Server resources:
Cloud Server Configuration | max_children |
---|---|
2 CPU / 6 GB RAM | 20 |
4 CPU / 12 GB RAM | 40 |
6 CPU / 18 GB RAM | 60 |
8 CPU / 24 GB RAM | 80 |
12 CPU / 36 GB RAM | 120 |
16 CPU / 48 GB RAM | 160 |
24 CPU / 72 GB RAM | 240 |
32 CPU / 96 or 128 GB RAM | 320 |
This guide concerns: Redis
, a PHP module for Cloud Server Infomaniak.
Preamble
Redis
is used with PHP to speed up performance by acting as a cache for temporary data and to manage user sessions, thus improving the efficiency of web applications.Redis
also allows for the establishment of queue systems and the temporary storage of data for asynchronous tasks or statistics.
Install Redis
Redis
has been moving in since Fast Install, applications available in just a few clicks on Cloud Server:
- After installation,
Redis
is accessible via IP/portlocalhost:6379
or127.0.0.1:6379
- The password for
Redis
must be between 15 and 99 characters (included).