L'administration des services web est aujourd'hui une tâche élémentaire dans la gestion d'un serveur. C'est pourquoi il existe toujours des outils qui nous aident dans la tâche. L'un d'eux est l'accélération du serveur Web, quelque chose qui semble fondamental à notre époque. Pour vous aider, ce message existe afin que vous puissiez installer et configurer Varnish sur Ubuntu 20.04.
Qu'est-ce que le vernis ?
D'après le site Web de Varnish :
Varnish Cache est un accélérateur d'applications Web également connu sous le nom de proxy inverse HTTP de mise en cache. Vous l'installez devant n'importe quel serveur qui parle HTTP et le configurez pour mettre en cache le contenu. Varnish Cache est vraiment très rapide. Il accélère généralement la livraison avec un facteur de 300 à 1000x, selon votre architecture
L'une des principales caractéristiques de Varnish Cache, en plus de ses performances, est la flexibilité de son langage de configuration, VCL. La VCL vous permet d'écrire des politiques sur la façon dont les demandes entrantes doivent être traitées. Dans une telle politique, vous pouvez décider du contenu que vous souhaitez diffuser , d'où vous souhaitez obtenir le contenu et comment la demande ou la réponse doit être modifiée.
Un autre aspect intéressant est que Varnish est open source publié sous la licence FreeBSD. Ce projet est né en 2005, il a donc une longue trajectoire qui lui a permis d'acquérir de l'expérience.
Varnish est donc un outil très utile pour nos serveurs Web et surtout lorsque nous rencontrons beaucoup de trafic.
Installer et configurer Varnish sur Ubuntu 20.04
Varnish est très flexible et c'est pourquoi il peut être configuré à la fois dans Nginx et Apache. Étant ce dernier, le choix actuel pour être très populaire.
Première étape :installer et configurer Apache
La première étape consiste à installer Apache sur Ubuntu 20.04, puis à effectuer quelques configurations pour le configurer avec Varnish.
Ainsi, dans un environnement de ligne de commande, mettez d'abord à jour le système d'exploitation.
sudo apt update
sudo apt upgrade
Après cela, installez Apache à partir du référentiel officiel Ubuntu 20.04.
sudo apt install apache2
Si votre serveur fonctionne derrière un pare-feu, assurez-vous d'ouvrir les ports Apache.
sudo ufw allow http
sudo ufw allow https
Vous devez maintenant changer le port qu'Apache utilise par défaut qui est 80
pour cela vous devez modifier le ports.conf
fichier.
sudo nano /etc/apache2/ports.conf
Et recherchez la ligne Listen et définissez un autre port. Dans ce cas, je choisirai 8080
Listen 8080
Enregistrez les modifications et fermez l'éditeur.
Vous devez maintenant faire la même chose dans le fichier de configuration par défaut de Virtualhost :
sudo nano /etc/apache2/sites-available/000-default.conf
Et remplacez la ligne VirtualHost par celle-ci :
<VirtualHost *:8080>
Enregistrez les modifications et fermez le fichier.
N'oubliez pas que chaque fois que vous ajoutez un nouveau VirtualHost, vous devez modifier le port dans son fichier de configuration.
Vous pouvez tester la syntaxe des configurations pour les erreurs :
sudo apachectl configtest
Syntax OK
Enfin, pour appliquer les modifications, redémarrez Apache.
sudo systemctl restart apache2
Passons maintenant au vernis
Deuxième étape :installer Varnish sur Ubuntu 20.04
Varnish est disponible dans les dépôts officiels d'Ubuntu, donc l'installation est assez facile à faire.
Donc, pour installer Varnish, exécutez la commande suivante :
sudo apt install varnish
Vous pouvez démarrer le service et lui permettre de s'exécuter au démarrage du système
sudo systemctl start varnish
sudo systemctl enable varnish
Après cela, vous devez effectuer une configuration pour le faire fonctionner avec Apache.
Ainsi, Varnish utilise VCL pour ses configurations, nous devons donc modifier le fichier de configuration par défaut.
Avant cela, faites une sauvegarde :
cd /etc/varnish/
sudo cp default.vcl default.vcl.bak
sudo nano default.vcl
Et dans la section par défaut du backend, assurez-vous qu'il a la configuration suivante :
backend default { .host = "127.0.0.1"; .port = "8080"; }
Comme vous pouvez le constater, nous indiquons qu'il écoutera sur le port 8080
sur localhost vers Apache.
Et il faut aussi faire des changements dans un autre fichier de configuration :
cd /etc/default/
sudo nano varnish
Dans la section non commentée de DAEMON_OPTS
changez le port d'écoute et laissez-le comme suit :
DAEMON_OPTS="-a :80 \
-T localhost:6082 \
-f /etc/varnish/default.vcl \
-S /etc/varnish/secret \
-s malloc,256m"
Enregistrez les modifications et fermez le fichier.
Il est maintenant temps d'effectuer une dernière modification et c'est dans le fichier qui gère le service Varnish qu'il faut modifier le port d'écoute.
sudo nano /lib/systemd/system/varnish.service
Ensuite, localisez la ligne ExecStart et remplacez-la par celle-ci
ExecStart=/usr/sbin/varnishd -j unix,user=vcache -F -a :80 -T localhost:6082 -f /etc/varnish/default.vcl -S /etc/varnish/secret -s malloc,256m
Enregistrez les modifications et fermez le fichier.
Pour appliquer les modifications, actualisez les services Systemd
sudo systemctl daemon-reload
Et redémarrez Varnish :
sudo systemctl restart varnish
Pour vérifier que tout est OK, vous devez demander le site Web avec la commande Curl
curl -I [your-server]
Remplacez [your-server]
avec l'adresse IP de votre serveur ou du domaine. Vous devriez recevoir une sortie semblable à celle-ci :
HTTP/1.1 200 OK
Date: Tue, 23 Mar 2021 20:16:57 GMT
Server: Apache/2.4.41 (Ubuntu)
Last-Modified: Tue, 23 Mar 2021 20:02:35 GMT
Vary: Accept-Encoding
Content-Type: text/html
X-Varnish: 2
Age: 0
Via: 1.1 varnish (Varnish/6.2)
ETag: W/"2aa6-5be39a9d0fa0e-gzip"
Accept-Ranges: bytes
Content-Length: 10918
Connection: keep-alive
De cette façon, Varnish sera installé et configuré.
Conclusion
Varnish avec Apache est une bonne combinaison qui aidera notre serveur Web à mieux traiter tous les sites Web que nous pouvons déployer. Et comme nous avons pu le démontrer la configuration n'est pas une affaire compliquée.