Hugo Installation · 19 min read · Oct 19, 2025
Comment installer le générateur de site Hugo avec Nginx sur Rocky Linux 9

Un site statique est construit avec des pages de contenu statique ou du code HTML, JavaScript ou CSS simple. Le contenu n’est pas généré dynamiquement et n’implique aucun traitement de base de données ou côté serveur. De tels sites sont incroyablement rapides et immunisés contre les exploits qui dépendent de code dynamique ou SQL.
Hugo est un générateur de site statique open-source écrit en Go. Il génère du contenu en convertissant des publications écrites en langage markdown en HTML. Hugo est également livré avec un serveur intégré pour héberger les sites qu’il génère. Vous pouvez également héberger un site Web Hugo sur Amazon S3, GitHub pages, Google Cloud, Netlify, Vercel, etc.
Dans ce tutoriel, nous allons explorer comment installer Hugo pour créer un site Web statique sur un serveur alimenté par Rocky Linux 9. Nous utiliserons le serveur Nginx pour héberger le site et le certificat SSL Let’s Encrypt pour sécuriser notre installation.
Prérequis
- Un serveur exécutant Rocky Linux 9.
- Un utilisateur non-root avec des privilèges sudo.
- Un nom de domaine entièrement qualifié (FQDN) pointant vers votre serveur. Pour nos besoins, nous utiliserons
hugo.example.comcomme nom de domaine. - Assurez-vous que tout est à jour.
$ sudo dnf update - Installez des paquets utilitaires de base. Certains d’entre eux peuvent déjà être installés.
$ sudo dnf install wget curl nano unzip yum-utils tree -y
Étape 1 - Configurer le pare-feu
La première étape consiste à configurer le pare-feu. Rocky Linux utilise le pare-feu Firewalld. Vérifiez l’état du pare-feu.
$ sudo firewall-cmd --state
running
Le pare-feu fonctionne avec différentes zones, et la zone publique est celle par défaut que nous allons utiliser. Listez tous les services et ports actifs sur le pare-feu.
$ sudo firewall-cmd --permanent --list-services
Il devrait afficher la sortie suivante.
cockpit dhcpv6-client ssh
Wiki.js a besoin des ports HTTP et HTTPS pour fonctionner. Ouvrez-les.
$ sudo firewall-cmd --add-service=http --permanent
$ sudo firewall-cmd --add-service=https --permanent
Rechargez le pare-feu pour appliquer les modifications.
$ sudo firewall-cmd --reload
Étape 2 - Installer Nginx
Rocky Linux 9 est livré avec une version plus ancienne de Nginx. Vous devez télécharger le dépôt officiel de Nginx pour installer la dernière version.
Créez et ouvrez le fichier /etc/yum.repos.d/nginx.repo pour créer le dépôt officiel de Nginx.
$ sudo nano /etc/yum.repos.d/nginx.repo
Collez le code suivant dedans.
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
Enregistrez le fichier en appuyant sur Ctrl + X et en entrant Y lorsque vous y êtes invité.
Installez le serveur Nginx.
$ sudo dnf install nginx -y
Vérifiez l’installation.
$ nginx -v
nginx version: nginx/1.24.0
Activez et démarrez le serveur Nginx.
$ sudo systemctl enable nginx --now
Vérifiez l’état du serveur.
$ sudo systemctl status nginx
? nginx.service - nginx - high performance web server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; preset: disabled)
Active: active (running) since Mon 2023-10-30 08:24:05 UTC; 7s ago
Docs: http://nginx.org/en/docs/
Process: 4265 ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf (code=exited, status=0/SUCCESS)
Main PID: 4266 (nginx)
Tasks: 2 (limit: 4402)
Memory: 1.9M
CPU: 7ms
CGroup: /system.slice/nginx.service
??4266 "nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf"
??4267 "nginx: worker process"
Oct 30 08:24:05 hugo.example.com systemd[1]: Starting nginx - high performance web server...
Étape 3 - Installer Git
Hugo a besoin de Git pour fonctionner. Exécutez la commande suivante pour installer Git
$ sudo dnf install git -y
Vérifiez l’installation de Git.
$ git --version
git version 2.39.3
Étape 4 - Installer Hugo
Puisque Hugo est construit en utilisant le langage Go, son installation est assez simple car elle ne nécessite aucune dépendance et peut être exécutée de manière autonome.
Téléchargez Hugo. Pour notre tutoriel, nous allons installer la version étendue de Hugo. La version étendue peut encoder des images au format Webp lors du traitement des images. Cela est utile si vous souhaitez que Hugo convertisse les images pour vous à la volée et maintienne leur taille réduite. La version étendue comprend également un compilateur SASS qui peut être utile dans certains cas si vous en avez besoin.
Créez un répertoire pour Hugo.
$ sudo mkdir /var/www/html/hugo -p
Passez au répertoire nouvellement créé.
$ cd /var/www/html/hugo
Téléchargez Hugo depuis la page des versions GitHub. Au moment de la rédaction de ce tutoriel, v0.119.0 est la dernière version que nous allons télécharger.
$ sudo wget https://github.com/gohugoio/hugo/releases/download/v0.119.0/hugo_extended_0.119.0_linux-amd64.tar.gz
Extrayez les fichiers de l’archive.
$ sudo tar -xzf hugo_extended_0.119.0_linux-amd64.tar.gz
Vous verrez les trois fichiers suivants dans votre répertoire.
$ ls
hugo hugo_extended_0.119.0_linux-amd64.tar.gz LICENSE README.md
Déplacez le binaire hugo vers le répertoire /usr/bin.
$ sudo mv hugo /usr/bin/hugo
Le fichier a déjà les autorisations d’exécution définies, donc vous n’avez pas besoin de les définir.
Confirmez l’installation.
$ hugo version
hugo v0.119.0-b84644c008e0dc2c4b67bd69cccf87a41a03937e+extended linux/amd64 BuildDate=2023-09-24T15:20:17Z VendorInfo=gohugoio
Vous pouvez également vérifier toutes les options disponibles à l’aide du drapeau --help.
$ hugo --help
Vous obtiendrez la sortie suivante.
hugo is the main command, used to build your Hugo site.
Hugo is a Fast and Flexible Static Site Generator
built with love by spf13 and friends in Go.
Complete documentation is available at https://gohugo.io/.
Usage:
hugo [flags]
hugo [command]
Available Commands:
completion Generate the autocompletion script for the specified shell
config Print the site configuration
convert Convert your content to different formats
deploy Deploy your site to a Cloud provider.
env Print Hugo version and environment info
gen A collection of several useful generators.
help Help about any command
import Import your site from others.
list Listing out various types of content
mod Various Hugo Modules helpers.
new Create new content for your site
server A high performance webserver
version Print Hugo version and environment info
Flags:
-b, --baseURL string hostname (and path) to the root, e.g. https://spf13.com/
-D, --buildDrafts include content marked as draft
-E, --buildExpired include expired content
-F, --buildFuture include content with publishdate in the future
--cacheDir string filesystem path to cache directory
--cleanDestinationDir remove files from destination not found in static directories
--clock string set the clock used by Hugo, e.g. --clock 2021-11-06T22:30:00.00+09:00
--config string config file (default is hugo.yaml|json|toml)
--configDir string config dir (default "config")
-c, --contentDir string filesystem path to content directory
--debug debug output
-d, --destination string filesystem path to write files to
--disableKinds strings disable different kind of pages (home, RSS etc.)
--enableGitInfo add Git revision, date, author, and CODEOWNERS info to the pages
-e, --environment string build environment
--forceSyncStatic copy all files when static is changed.
--gc enable to run some cleanup tasks (remove unused cache files) after the build
-h, --help help for hugo
--ignoreCache ignores the cache directory
--ignoreVendorPaths string ignores any _vendor for module paths matching the given Glob pattern
-l, --layoutDir string filesystem path to layout directory
--logLevel string log level (debug|info|warn|error)
--minify minify any supported output format (HTML, XML etc.)
--noBuildLock don't create .hugo_build.lock file
--noChmod don't sync permission mode of files
--noTimes don't sync modification time of files
--panicOnWarning panic on first WARNING log
--poll string set this to a poll interval, e.g --poll 700ms, to use a poll based approach to watch for file system changes
--printI18nWarnings print missing translations
--printMemoryUsage print memory usage to screen at intervals
--printPathWarnings print warnings on duplicate target paths etc.
--printUnusedTemplates print warnings on unused templates.
--quiet build in quiet mode
--renderToMemory render to memory (only useful for benchmark testing)
-s, --source string filesystem path to read files relative from
--templateMetrics display metrics about template executions
--templateMetricsHints calculate some improvement hints when combined with --templateMetrics
-t, --theme strings themes to use (located in /themes/THEMENAME/)
--themesDir string filesystem path to themes directory
--trace file write trace to file (not useful in general)
-v, --verbose verbose output
-w, --watch watch filesystem for changes and recreate as needed
Use "hugo [command] --help" for more information about a command.
Supprimez tous les fichiers restants dans le dossier car ils ne sont plus nécessaires.
$ sudo rm -rf *.*
Étape 5 - Créer un nouveau site Hugo
Émettez la commande suivante pour créer un nouveau site Web Hugo.
$ sudo hugo new site howtoforge
Vous obtiendrez la sortie suivante.
Félicitations ! Votre nouveau site Hugo a été créé dans /home/navjot/hugo/howtoforge.
Encore quelques étapes...
1. Changez le répertoire actuel en /home/navjot/hugo/howtoforge.
2. Créez ou installez un thème :
- Créez un nouveau thème avec la commande "hugo new theme "
- Installez un thème depuis https://themes.gohugo.io/
3. Éditez hugo.toml, en définissant la propriété "theme" sur le nom du thème.
4. Créez un nouveau contenu avec la commande "hugo new content /.".
5. Démarrez le serveur Web intégré avec la commande "hugo server --buildDrafts".
Voir la documentation à https://gohugo.io/.
Exécutez la commande tree pour vérifier la structure du site.
$ tree howtoforge/
Vous obtiendrez la sortie suivante.
howtoforge/
??? archetypes
? ??? default.md
??? assets
??? content
??? data
??? hugo.toml
??? i18n
??? layouts
??? static
??? themes
8 directories, 2 files
Passez au répertoire Hugo.
$ cd howtoforge
Étape 6 - Installer un thème Hugo
L’étape suivante consiste à installer un thème Hugo. Il existe deux façons de procéder et les deux nécessitent Git. La première méthode est simple et consiste à cloner le dépôt GitHub du thème. Cela est utile dans la plupart des cas et c’est le moyen le plus simple de procéder. La mise à jour via cette méthode est facile, bien que cette méthode implique de télécharger beaucoup de choses inutiles dont vous n’avez pas besoin. Il existe certains thèmes, en particulier ceux payants, qui n’ont pas de dépôt GitHub d’où vous pouvez les récupérer. De tels thèmes sont généralement proposés sous forme d’archive compressée. Dans ce cas, vous devez extraire l’archive manuellement et maintenir le thème à jour manuellement. La troisième méthode consiste à récupérer le thème en tant que sous-module Git. Cela nécessite d’initialiser votre répertoire Hugo en tant que dépôt Git. C’est la méthode recommandée et elle est utile si vous souhaitez déployer votre site sur GitHub, Netlify ou tout autre service d’hébergement. Pousser votre site Hugo sur GitHub garantit également des sauvegardes automatiques sans effort supplémentaire.
Nous allons couvrir les trois méthodes. Il existe une autre méthode d’installation d’un thème Hugo en utilisant les modules Go de Hugo. Cette méthode ne fonctionne que si le thème est disponible en tant que module Hugo. Cependant, nous ne la couvrirons pas car elle est en dehors du cadre de cet article.
Méthode 1 - Clonage d’un thème Hugo
C’est la méthode la plus couramment utilisée pour installer un thème Hugo. Pour notre tutoriel, nous allons installer le thème Paper. Passez au répertoire Hugo.
$ cd /var/www/html/hugo/howtoforge
Exécutez la commande suivante pour cloner le dépôt GitHub du thème. Le drapeau --depth=1 ne récupère que le dernier commit.
$ sudo git clone https://github.com/nanxiaobei/hugo-paper themes/Paper --depth=1
Pour mettre à jour le thème téléchargé via cette méthode, exécutez les commandes suivantes.
$ cd ~/hugo/howtoforge/themes/Paper
$ sudo git pull
Méthode 2 - Installation d’un thème à partir d’une archive compressée
C’est la méthode la plus simple de toutes. Récupérez l’archive du fichier thème. Le thème Paper n’a pas de section de versions, donc vous ne pouvez pas télécharger une version particulière. Par conséquent, nous allons télécharger l’archive master de GitHub. Vous pouvez récupérer le lien depuis sa page de dépôt GitHub.
$ cd ~
$ wget https://github.com/nanxiaobei/hugo-paper/archive/refs/heads/main.zip
Extrayez l’archive dans le répertoire des thèmes. Le drapeau -q supprime la sortie et le drapeau -d spécifie le répertoire de sortie.
$ sudo unzip -q main.zip -d /var/www/html/hugo/howtoforge/themes/
Pour mettre à jour le thème, vous devez télécharger la dernière archive et l’extraire à nouveau. Assurez-vous de faire une sauvegarde de tous les fichiers que vous avez modifiés.
Les deux méthodes inférieures ne fonctionnent que si votre site Hugo est hébergé en tant que projet Git. Sinon, vous n’avez pas besoin d’utiliser les méthodes suivantes.
Méthode 3 - Installation d’un thème en tant que sous-module Git
Passez au dossier Hugo.
$ cd /var/www/html/hugo/howtoforge
Initialisez le dossier Hugo en tant que dépôt Git. C’est une étape importante. Cela vous permet de pousser votre site Hugo sur GitHub pour l’utiliser plus tard pour l’héberger via Netlify, AWS, Vercel, etc.
$ sudo git init
Exécutez la commande suivante pour ajouter le thème en tant que sous-module Git.
$ sudo git submodule add https://github.com/nanxiaobei/hugo-paper themes/paper
Pour mettre à jour un thème ajouté en tant que sous-module, exécutez la commande suivante depuis le dossier Hugo.
$ sudo git submodule update --remote --merge
Configurer Hugo
Une fois que vous avez installé le thème en utilisant la méthode de votre choix, ouvrez le fichier hugo.toml dans le répertoire racine de votre Hugo. À partir de Hugo v0.110.0, le fichier de configuration par défaut s’appelle hugo.toml. Si vous utilisez une version plus ancienne de Hugo, vous trouverez le fichier config.toml dans votre répertoire Hugo.
$ sudo nano hugo.toml
Ajoutez la ligne suivante au fichier. La valeur doit correspondre au répertoire du thème. Pour le thème Paper, ce serait le répertoire hugo-paper-theme si vous avez utilisé l’installation par archive ou Paper si vous avez utilisé la méthode de clonage Git ou de sous-module ci-dessus.
theme = 'hugo-paper-main'
Changez également la valeur de la variable baseURL pour le nom de domaine de votre site. Et changez le title de votre site Web.
Votre fichier de configuration devrait ressembler à ceci.
baseURL = 'https://hugo.example.com/'
languageCode = 'fr'
title = 'Démo Hugo de Howtoforge'
theme = 'hugo-paper-main'
Une fois terminé, enregistrez le fichier en appuyant sur Ctrl + X et en entrant Y lorsque vous y êtes invité.
Étape 7 - Créer des publications et des pages
Pour créer une nouvelle publication, émettez la commande suivante.
$ sudo hugo new post/first-post.md
Cela créera un nouveau fichier markdown first-post.md avec le titre Première publication dans le dossier content/post. Ouvrez le fichier dans votre éditeur préféré et modifiez les détails et écrivez quelque chose pour votre première publication.
+++
title = 'Première publication'
date = 2023-10-30T03:32:38Z
draft = true
+++
## Introduction
Ceci est un texte en gras, et ceci est un texte *souligné*.
Visitez le site [Howtoforge](https://www.howtoforge.com) !
Supprimez draft = true une fois que vous avez terminé d’écrire la publication. Enregistrez le fichier en appuyant sur Ctrl + X et en entrant Y lorsque vous y êtes invité.
Pour créer une nouvelle page, émettez la commande suivante.
$ sudo hugo new about.md
Cela créera une nouvelle page intitulée À propos dans le dossier content. Ouvrez-la et modifiez-la de la même manière que la publication.
Configurer le thème
Avant de publier, nous devons apporter quelques modifications au thème pour afficher la barre de menu. Ces modifications seront effectuées dans le fichier de configuration de Hugo et non dans la configuration du thème.
Passez au répertoire Hugo.
$ cd /var/www/html/hugo/howtoforge
Ouvrez le fichier hugo.toml pour l’éditer.
$ sudo nano hugo.toml
Collez le code suivant en bas.
author = "Navjot Singh"
copyright = "Copyright © 2023, Navjot Singh; tous droits réservés."
paginate = 3
enableInlineShortcodes = true
# nécessaire pour rendre le HTML brut (e.g. , , , )
[markup]
[markup.goldmark]
[markup.goldmark.renderer]
unsafe = true
[menu]
[[menu.main]]
identifier = "about"
name = "À propos"
url = "/about/"
weight = 10
[taxonomies]
category = "catégories"
tag = "tags"
series = "séries"
Enregistrez le fichier en appuyant sur Ctrl + X et en entrant Y lorsque vous y êtes invité.
Ce sont quelques paramètres de base pour rendre le site fonctionnel. Ici, nous avons configuré le site pour afficher 3 publications par page, afficher la page À propos comme un élément de menu, et configurer les catégories, les tags et les séries de publications. Nous avons également activé les shortcodes en ligne de Hugo et activé le HTML brut pour le rendu Markdown Goldmark. Vous pouvez le désactiver si vous ne souhaitez pas intégrer du HTML brut dans vos publications.
Étape 8 - Publier le site Hugo
Pour construire et publier le site, exécutez simplement la commande suivante.
$ sudo hugo
Vous obtiendrez une sortie similaire.
Démarrage de la construction des sites …
hugo v0.119.0-b84644c008e0dc2c4b67bd69cccf87a41a03937e+extended linux/amd64 BuildDate=2023-09-24T15:20:17Z VendorInfo=gohugoio
| FR
-------------------+-----
Pages | 7
Paginator pages | 0
Non-page files | 0
Static files | 11
Processed images | 0
Aliases | 3
Sitemaps | 1
Cleaned | 0
Total en 46 ms
Cela crée et publie le site Web statique Hugo dans le dossier public. Ce sont les fichiers que nous devons spécifier dans la configuration Nginx pour que le site fonctionne. Exécutez à nouveau la commande après avoir effectué une modification et votre site Web sera mis à jour en un rien de temps.
Étape 9 - Installer SSL
Avant de continuer, nous devons installer l’outil Certbot et installer un certificat SSL pour notre domaine.
Pour installer Certbot, nous allons utiliser le gestionnaire de paquets Snapd. Snapd porte toujours la dernière version stable de Certbot et vous devriez l’utiliser.
L’outil Snapd nécessite le dépôt Epel pour fonctionner.
$ sudo dnf install epel-release -y
Nous allons utiliser Snapd pour installer Certbot. Installez Snapd.
$ sudo dnf install snapd -y
Activez et démarrez le service Snap.
$ sudo systemctl enable snapd.socket --now
Créez les liens nécessaires pour que Snapd fonctionne.
$ sudo ln -s /var/lib/snapd/snap /snap
$ echo 'export PATH=$PATH:/var/lib/snapd/snap/bin' | sudo tee -a /etc/profile.d/snapd.sh
Assurez-vous que votre version de snapd est à jour. Attendez quelques secondes avant d’émettre les commandes suivantes.
$ sudo snap install core
$ sudo snap refresh core
Installez Certbot.
$ sudo snap install --classic certbot
Utilisez la commande suivante pour vous assurer que la commande Certbot peut être exécutée en créant un lien symbolique vers le répertoire /usr/bin.
$ sudo ln -s /snap/bin/certbot /usr/bin/certbot
Vérifiez l’installation.
$ certbot --version
certbot 2.7.3
Générez un certificat SSL.
$ sudo certbot certonly --nginx --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m [email protected] -d hugo.example.com
La commande ci-dessus téléchargera un certificat dans le répertoire /etc/letsencrypt/live/hugo.example.com sur votre serveur.
Générez un certificat de groupe Diffie-Hellman.
$ sudo openssl dhparam -dsaparam -out /etc/ssl/certs/dhparam.pem 4096
Vérifiez le service de planification de renouvellement de Certbot.
$ sudo systemctl list-timers
Vous trouverez snap.certbot.renew.service comme l’un des services programmés pour s’exécuter.
NEXT LEFT LAST PASSED UNIT ACTIVATES
Wed 2023-10-29 10:00:17 UTC 57min left Wed 2023-10-18 08:49:39 UTC 12min ago dnf-makecache.timer dnf-makecache.service
Wed 2023-10-29 12:18:00 UTC 3h 15min left - - snap.certbot.renew.timer snap.certbot.renew.service
Thu 2023-10-30 00:00:00 UTC 14h left Wed 2023-10-18 08:10:08 UTC 52min ago logrotate.timer logrotate.service
Faites un essai à blanc du processus pour vérifier si le renouvellement SSL fonctionne correctement.
$ sudo certbot renew --dry-run
Si vous ne voyez aucune erreur, vous êtes prêt. Votre certificat se renouvellera automatiquement.
Étape 10 - Configurer Nginx
Créez et ouvrez le fichier /etc/nginx/conf.d/hugo.conf pour l’éditer.
$ sudo nano /etc/nginx/conf.d/hugo.conf
Collez le code suivant dans le fichier hugo.conf. Remplacez toutes les occurrences de hugo.example.com par votre domaine.
## appliquer HTTPS
server {
listen 80;
listen [::]:80;
server_name hugo.example.com;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name hugo.example.com;
root /home/navjot/hugo/howtoforge/public;
index index.html
access_log /var/log/nginx/hugo.access.log;
error_log /var/log/nginx/hugo.error.log;
client_max_body_size 20m;
gzip on;
http2_push_preload on; # Activer le HTTP/2 Server Push
ssl_certificate /etc/letsencrypt/live/hugo.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/hugo.example.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/hugo.example.com/chain.pem;
ssl_session_timeout 1d;
# Activer les versions TLS (TLSv1.3 est requis pour le prochain HTTP/3 QUIC).
ssl_protocols TLSv1.2 TLSv1.3;
# Activer le 0-RTT de TLSv1.3. Utilisez $ssl_early_data lors du reverse proxy pour
# prévenir les attaques de rejeu.
#
# @see: https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_early_data
ssl_early_data on;
ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-GCM-SHA384';
ssl_prefer_server_ciphers on;
ssl_ecdh_curve X25519:prime256v1:secp384r1:secp521r1;
ssl_session_cache shared:SSL:50m;
ssl_session_tickets off;
# OCSP Stapling ---
# récupérer les enregistrements OCSP à partir de l'URL dans ssl_certificate et les mettre en cache
ssl_stapling on;
ssl_stapling_verify on;
ssl_dhparam /etc/ssl/certs/dhparam.pem;
add_header X-Early-Data $tls1_3_early_data;
location / {
try_files $uri $uri/ =404;
}
# Médias
location ~* \\.jpg|jpeg|gif|png|ico|cur|gz|svg|mp4|ogg|ogv|webm|htc$ {
expires 30d;
}
# CSS et Js
location ~* \\.css|js$ {
expires 7d;
}
}
# Ce bloc est utile pour déboguer TLS v1.3. N'hésitez pas à le supprimer
# et à utiliser la variable `$ssl_early_data` exposée par NGINX directement si vous
# souhaitez le faire.
map $ssl_early_data $tls1_3_early_data {
"~." $ssl_early_data;
default "";
}
La configuration ci-dessus redirigera toutes les requêtes HTTP vers HTTPS et servira de proxy pour le service Hugo afin de le servir via votre domaine.
Enregistrez le fichier en appuyant sur Ctrl + X et en entrant Y lorsque vous y êtes invité.
Ouvrez le fichier /etc/nginx/nginx.conf pour l’éditer.
$ sudo nano /etc/nginx/nginx.conf
Ajoutez la ligne suivante avant la ligne include /etc/nginx/conf.d/*.conf;.
server_names_hash_bucket_size 64;
Enregistrez le fichier en appuyant sur Ctrl + X et en entrant Y lorsque vous y êtes invité.
Vérifiez votre configuration Nginx.
$ sudo nginx -t
Si vous ne voyez aucune erreur, cela signifie que vous êtes prêt. Rechargez le serveur Nginx.
$ sudo systemctl reload nginx
Étape 11 - Configurer SELinux
Changez le contexte de sécurité des fichiers pour OpenEMR.
$ sudo semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/html/hugo/howtoforge/public(/.*)?"
Appliquez la politique.
$ sudo restorecon -Rv /var/www/html/hugo/howtoforge/public/
Autorisez Nginx à se connecter au réseau.
$ sudo setsebool -P httpd_can_network_connect 1
Étape 12 - Exécuter le site
Maintenant, vous pouvez vérifier votre installation en ouvrant https://hugo.example.com dans votre navigateur Web. Vous obtiendrez la page suivante indiquant une installation réussie.

Étape 13 - Mettre à jour Hugo
Mettre à jour Hugo est assez simple. Téléchargez la dernière version depuis la page GitHub de Hugo.
$ cd /var/www/html/hugo
$ sudo wget https://github.com/gohugoio/hugo/releases/download/v0.119.0/hugo_extended_0.119.0_linux-amd64.tar.gz
Extrayez l’archive.
$ sudo tar -xzf hugo_extended_0.119.0_linux-amd64.tar.gz
Et remplacez le binaire Hugo par la dernière version. Le drapeau -f écrase le binaire sans demander. Vous pouvez utiliser le drapeau -i à la place si vous souhaitez être invité à écraser.
$ sudo mv -f hugo /usr/bin/hugo
C’est tout. Mettre à jour Hugo est aussi simple que de remplacer le binaire.
Étape 14 - Sauvegarder et restaurer Hugo
Pour faire une sauvegarde, créez une archive de l’ensemble du dossier Hugo.
$ cd /var/www/html/hugo
$ sudo tar -czvf howtoforge.tar.gz howtoforge/
Pour le restaurer sur un nouveau serveur, extrayez l’archive et installez le binaire et vous êtes prêt à partir.
$ cd /var/www/html/hugo
$ sudo tar -xzf howtoforge.tar.gz
Conclusion
Cela conclut notre tutoriel sur la façon de configurer le générateur de site statique Hugo sur votre serveur Rocky Linux 9 en utilisant Nginx. Si vous avez des questions ou des commentaires, partagez-les dans les commentaires ci-dessous.
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.