Knowledge base
1000 FAQs, 500 tutorials and explanatory videos. Here, there are only solutions!
This guide explains how to modify the variables of the PHP-CLI extension, which is available by default on Serveur Cloud Infomaniak.
Modify the PHP_CLI variables
To access the PHP extensions of the Cloud Server:
- Click here to access the management of your Cloud Server on the Infomaniak Manager (need help?).
- Click directly on the name assigned to the relevant Cloud Server.
- Click on PHP Extensions in the left sidebar.
- Click on the action menu âź to the right of PHP-CLI in the displayed table.
- Click on Configure:
- Modify the following variables:
allow_url_fopen
,allow_url_include
,memory_limit
,max_execution_time
,short_open_tag
,allow_local_infile
- Click on the blue Save button.
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.
This guide explains how to allow certain incoming and/or outgoing ports in the firewall of a VPS Cloud / VPS Lite server.
Access the management tool
To manage the VPS Cloud / VPS Lite firewall:
- 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 Firewall in the left sidebar:
Rule to allow ping on VPS Cloud / VPS Lite
To add a rule to the firewall:
- Click the blue button to Add a rule.
- Click on Manual Selection.
- Select ICMP:
- Validate at the bottom of the page.
Open the outgoing port 25 globally
The outgoing port 25
(SMTP Mail port) is blocked by default.
It is recommended to use an authenticated mail sending solution.
To open this port, contact Infomaniak support and justify your request.
This guide explains how to modify the configuration of a VPS Cloud / VPS Lite.
Change the storage size on VPS Cloud / VPS Lite
To access the VPS Cloud / VPS Lite:
- Click here to access the management of your product on the Infomaniak Manager (need help?).
- Click on the action menu âź to the right of the relevant item in the displayed table.
- Click on Modify the offer:
- Make the desired adjustments and complete the procedure below:
- It is necessary to extend the volume after increasing the storage volume.
Infomaniak does not offer virtual disk encryption on VPS Cloud / VPS Lite but provides a block device that you can format and encrypt if you wish.
This guide concerns swap on Serveur Cloud.
Swap and RAM
There can be swap even when RAM usage is low. Indeed, the system can use swap at any time if it deems it useful.
Swap is not a dedicated memory space to be used only when there is no free RAM, although that is often its main use.
If you want to know more, there is a parameter "swappiness" that allows you to define how the system will use the swap. The default value is 60
and it cannot be changed.
This guide explains how to connect to Elasticsearch after installing it on Magento from a Cloud Server Infomaniak.
Prerequisites
- Have a Infomaniak Cloud Server.
- Install Magento.
- Contact the Infomaniak support for the installation of Elasticsearch.
Connection Information
Once connected to your Magento space, you will need to provide the following information to start Elasticsearch:
- Hostname:
localhost
or127.0.0.1
- Port :
9200
- Prefix :
magento2
â ïž For additional help contact a partner or launch a free tender â also discover the role of the host.
This guide presents several examples of using Varnish on Cloud Server Infomaniak.
â ïž For additional help contact a partner or launch a free tender â also discover the role of the host.
Varnish Configuration
After installation, configuring Varnish includes important rules for caching and purging. Be careful not to accidentally allow unwanted IP addresses.
Here is what a basic configuration file might look like with a few common cases and different actions/rules in one example:
vcl 4.0;
# Configuration du backend par défaut
backend default {
.host = "127.0.0.80"; # Adresse IP du backend
.port = "80"; # Port du backend
}
# Définition d'une liste de contrÎle d'accÚs (ACL) pour les IPs autorisées à purger le cache
acl purge {
"localhost"; # IP locale
"1.2.3.4"; # IP de votre domicile
"42.42.42.0"/24; # Plage d'IP publique de votre entreprise
! "42.42.42.7"; # Exclusion d'une IP spĂ©cifique (ex : un collĂšgue gĂȘnant)
}
# Traitement des requĂȘtes Ă leur rĂ©ception par Varnish
sub vcl_recv {
# Autoriser les requĂȘtes de purge
if (req.method == "PURGE") {
# Vérification si l'IP du client est autorisée à purger
if (!client.ip ~ purge) { # 'purge' fait référence à l'ACL définie plus haut
# Retourne une page d'erreur si l'IP n'est pas autorisée
return (synth(405, "Cette IP n'est pas autorisĂ©e Ă envoyer des requĂȘtes PURGE."));
}
# Si l'IP est autorisĂ©e, purger le cache pour cette requĂȘte
return (purge);
}
# Autoriser la purge de toutes les images via une requĂȘte PURGEALL
if (req.method == "PURGEALL" && req.url == "/images") {
if (!client.ip ~ purge) {
return (synth(405, "Cette IP n'est pas autorisĂ©e Ă envoyer des requĂȘtes PURGE."));
}
# Invalider tous les objets en cache correspondant Ă des images
ban("req.url ~ \.(jpg|png|gif|svg)$");
return (synth(200, "Images purgées."));
}
# Ne pas mettre en cache les pages avec une autorisation (header Authorization)
if (req.http.Authorization) {
# Passer la requĂȘte directement au backend sans la mettre en cache
return (pass);
}
}
# Traitement de la réponse du backend avant de la renvoyer au client
sub vcl_backend_response {
# Mise en cache des images pour une durée de 1 jour
if (beresp.http.content-type ~ "image") {
set beresp.ttl = 1d;
}
# Si le backend indique que la rĂ©ponse ne doit pas ĂȘtre mise en cache, respecter cette consigne
if (beresp.http.uncacheable) {
set beresp.uncacheable = true;
}
}
Purge from the CLI interface
From there, the rules stated in the configuration above apply to all requests, so if the configured site is "domain.xyz", you can simply use the CLI tool "curl
" and do the following:
# Envoyer une requĂȘte PURGE pour purger la page d'accueil de "domain.xyz"
$ curl -X PURGE https://domain.xyz/
# Réponse renvoyée par le serveur Varnish
<!DOCTYPE html>
<html>
<head>
<title>200 Purged</title>
</head>
<body>
<h1>Erreur 200 : Purge effectuée</h1>
<p>La page a été purgée avec succÚs.</p>
<h3>Guru Meditation:</h3>
<p>XID: 2</p>
<hr>
<p>Serveur de cache Varnish</p>
</body>
</html>
And there, the homepage has been purged. Or to purge another URL, simply point the request to the latter:
# Envoyer une requĂȘte PURGE pour purger un fichier spĂ©cifique Ă "domain.xyz"
$ curl -X PURGE https://domain.xyz/some_path/some_file.html
# Réponse renvoyée par le serveur Varnish
<!DOCTYPE html>
<html>
<head>
<title>200 Purged</title>
</head>
<body>
<h1>Erreur 200 : Purge effectuée</h1>
<p>Le fichier a été purgé avec succÚs.</p>
<h3>Guru Meditation:</h3>
<p>XID: 4</p>
<hr>
<p>Serveur de cache Varnish</p>
</body>
</html>
Or, as indicated in the VCL configuration, purge all images:
# Envoyer une requĂȘte PURGEALL pour purger toutes les images dans "domain.xyz"
$ curl -X PURGEALL https://domain.xyz/images
# Réponse renvoyée par le serveur Varnish
<!DOCTYPE html>
<html>
<head>
<title>200 Purged images</title>
</head>
<body>
<h1>Erreur 200 : Images purgées</h1>
<p>Toutes les images ont été purgées avec succÚs.</p>
<h3>Guru Meditation:</h3>
<p>XID: 32770</p>
<hr>
<p>Serveur de cache Varnish</p>
</body>
</html>
Purge from a CMS
It is a bit more difficult to illustrate this case because there are many ways to manage caching from a backend. In the configuration example above, a control on the header "Uncacheable
" is added, which disables caching. With this option, any CMS could simply set this header on the response to disable caching for this request, for example.
From any PHP code and with the configuration above, you can simply send an HTTP request and use this snippet to perform a PURGE of the cache:
<?php
if ($curl = curl_init("http://127.0.0.1/some_url")) {
curl_setopt_array($curl, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "PURGE",
CURLOPT_HTTPHEADER => [
"Host: {$_SERVER['HTTP_HOST']}"
]
]);
curl_exec($curl);
if (curl_getinfo($curl, CURLINFO_HTTP_CODE) == 200) {
echo "Cache purged!";
}
curl_close($curl);
}
?>
Learn more
Useful links regarding the Varnish configuration language (VCL) to control request processing, routing, caching and several other aspects:
It is not possible to order and obtain more IP addresses on a VPS Cloud / VPS Lite.
The alternatives would be to useâŠ
- ⊠a hosting of type Public Cloud (it is possible to add as many IP addresses as desired),
- ⊠the tool Newsletter according to your needs.