Add article 'Hugo: redirect permanent nginx / OpenBSD'
parent
6b16ec0ba8
commit
5b7612dad4
|
@ -1,11 +1,11 @@
|
|||
---
|
||||
categories:
|
||||
categories: ['']
|
||||
date: {{ .Date }}
|
||||
description: ""
|
||||
draft: false
|
||||
include_toc: true
|
||||
show_comments: false
|
||||
tags: []
|
||||
tags: ['']
|
||||
title: "{{ replace .Name "-" " " | title }}"
|
||||
translationKey: ''
|
||||
---
|
||||
|
|
10
config.toml
10
config.toml
|
@ -533,11 +533,12 @@ title = "Stéphane HUC :: IT Log"
|
|||
suffixes = ["xml"]
|
||||
[mediaTypes."application/opensearchdescription+xml"]
|
||||
suffixes = ["xml"]
|
||||
[mediaTypes."conf/nginx"]
|
||||
[mediaTypes."text/gemini"]
|
||||
suffixes = ["gmi"]
|
||||
|
||||
[outputs]
|
||||
home = ["HTML", "ATOM", "gemini", "JSON", "RSS", "OpenSearch"]
|
||||
home = ["HTML", "ATOM", "gemini", "JSON", "nginx", "OpenSearch", "RSS"]
|
||||
page = ["HTML", "gemini"]
|
||||
section = ["HTML"]
|
||||
taxonomy = ["HTML"]
|
||||
|
@ -575,6 +576,13 @@ title = "Stéphane HUC :: IT Log"
|
|||
Rel = "alternate"
|
||||
suffix = "json"
|
||||
|
||||
[outputFormats.nginx]
|
||||
baseName = "redirections.conf"
|
||||
isPlainText = true
|
||||
mediatype = "conf/nginx"
|
||||
notAlternative = true
|
||||
path = "nginx-config"
|
||||
|
||||
[outputFormats.OpenSearch]
|
||||
baseName = "opensearch"
|
||||
isHTML = false
|
||||
|
|
|
@ -1,12 +1,13 @@
|
|||
---
|
||||
title: "Munin-node : Client pour Monitorer OpenBSD"
|
||||
aliases: [/fr/sys/openbsd/munin-node/]
|
||||
date: 2019-11-22T20:05:30+01:00
|
||||
description: "Mettre en place un nœud Munin, un client, pour monitorer sa station OpenBSD"
|
||||
draft: false
|
||||
include_toc: true
|
||||
lastmod:
|
||||
show_comments: false
|
||||
tags: ["Munin", "OpenBSD", "client", "supervision"]
|
||||
tags: ["Munin","OpenBSD","client","supervision"]
|
||||
title: "Munin-node : Client pour monitorer OpenBSD"
|
||||
---
|
||||
|
||||
## Description
|
|
@ -1,12 +1,13 @@
|
|||
---
|
||||
title: "Munin : Monitorer OpenBSD avec httpd "
|
||||
aliases: [/fr/sys/openbsd/munin-server/]
|
||||
date: 2019-11-16T23:18:30+01:00
|
||||
description: "Comment mettre en place Munin pour monitorer, faire de la métrologie, surveiller du matériel informatique, sous OpenBSD, fonctionnant en relation avec le service web httpd"
|
||||
draft: false
|
||||
include_toc: true
|
||||
lastmod: 2019-11-22T20:00:00+01:00
|
||||
show_comments: false
|
||||
tags: ["httpd", "Munin", "OpenBSD", "serveur", "supervision"]
|
||||
tags: ["httpd","Munin","OpenBSD","serveur","supervision"]
|
||||
title: "Munin : Monitorer OpenBSD avec httpd "
|
||||
---
|
||||
|
||||
## Description
|
|
@ -1,12 +1,13 @@
|
|||
---
|
||||
title: "Nagios : Monitorer OpenBSD avec httpd + slowcgi"
|
||||
aliases: [/fr/sys/openbsd/nagios]
|
||||
date: 2019-11-14T10:56:30+01:00
|
||||
description: "Comment mettre en place Nagios, sous OpenBSD, couplé avec les services web httpd et CGI slowcGI pour assurer le monitoring du matériel informatique. "
|
||||
draft: false
|
||||
include_toc: true
|
||||
lastmod: 2019-11-17T06:05:06+01:00
|
||||
show_comments: false
|
||||
tags: ["httpd", "nagios", "OpenBSD", "slowcgi", "serveur", "supervision"]
|
||||
tags: ["httpd","nagios","OpenBSD","slowcgi","serveur","supervision"]
|
||||
title: "Nagios : Monitorer OpenBSD avec httpd + slowcgi"
|
||||
---
|
||||
|
||||
## Description
|
|
@ -1,12 +1,13 @@
|
|||
---
|
||||
title: "Snmpd : Monitorer OpenBSD"
|
||||
aliases: [/fr/sys/openbsd/snmpd/]
|
||||
date: 2019-11-20T22:43:39+01:00
|
||||
description: "Comment mettre en place le service de monitoring SNMPd sous OpenBSD"
|
||||
draft: false
|
||||
include_toc: true
|
||||
lastmod: 2019-11-21T16:00:00+01:00
|
||||
show_comments: false
|
||||
tags: ["OpenBSD", "snmpd", "snmp", "serveur"]
|
||||
tags: ["OpenBSD","snmpd","snmp","serveur","supervision"]
|
||||
title: "Snmpd : Monitorer OpenBSD"
|
||||
---
|
||||
|
||||
## Description
|
|
@ -2,7 +2,7 @@
|
|||
date: 2021-07-28T00:13:24+02:00
|
||||
description: "Installer et utiliser pfstat, pour analyser le flux réseau IPv4 et IPv6 au-travers du parefeu PF, sous OpenBSD !"
|
||||
draft: false
|
||||
tags: ['Monitor','Dataviz','pfstat','OpenBSD','httpd']
|
||||
tags: ['supervision','Dataviz','pfstat','OpenBSD','httpd']
|
||||
title: "pfstat sur OpenBSD : analyser le flux IPv4 et IPv6 dans PF"
|
||||
translationKey: ""
|
||||
---
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
---
|
||||
aliases: [/fr/sys/openbsd/xfce/]
|
||||
date: 2021-07-20T21:05:54+02:00
|
||||
description: "Installer et utiliser l'environnement de bureau graphique Xfce4 sous OpenBSD !"
|
||||
draft: false
|
||||
|
|
|
@ -0,0 +1,164 @@
|
|||
---
|
||||
categories: ['']
|
||||
date: 2021-07-28T13:50:33+02:00
|
||||
description: "Configurer Hugo et Nginx sous OpenBSD pour effectuer des redirections permanentes"
|
||||
draft: false
|
||||
include_toc: true
|
||||
show_comments: false
|
||||
tags: ['']
|
||||
title: "Hugo : Redirection permanente pour Nginx sous OpenBSD"
|
||||
translationKey: ''
|
||||
---
|
||||
|
||||
## Description
|
||||
|
||||
Comment faire une redirection permanente, appelée aussi 301, pour Hugo,
|
||||
avec le serveur web nginx… sous OpenBSD ?!
|
||||
|
||||
L'article de [Romain Therrat](https://romain.therrat.fr/posts/2020/04/hugo-redirections-301/)
|
||||
donne les grandes lignes… sauf que sous OpenBSD, ça ne fonctionne pas !
|
||||
|
||||
Je reprends les grands principes ci-dessous, adapté à OpenBSD :
|
||||
|
||||
## Configuration
|
||||
|
||||
### Hugo
|
||||
|
||||
Le principe est l'utilisation des alias d'URL.
|
||||
|
||||
En partant du principe de l'utilisation du format toml, ouvrez le fichier que vous voulez rediriger et dans son entête, ajoutez :
|
||||
|
||||
```cfg
|
||||
aliases: [/ancienne/URL/de/publication/fichier/]
|
||||
```
|
||||
|
||||
*Si votre format de fichier de configuration est autre, adaptez !*
|
||||
|
||||
---
|
||||
|
||||
Puis modifier le fichier de configuration de Hugo, pour ajouter les directives
|
||||
suivantes :
|
||||
|
||||
⇒ Ajoutez un type de media
|
||||
|
||||
```cfg
|
||||
[mediaTypes."conf/nginx"]
|
||||
```
|
||||
|
||||
⇒ Ajoutez une sortie à générer, pour la variable **home** :
|
||||
|
||||
```cfg
|
||||
[outputs]
|
||||
home = ["HTML", "nginx", …]
|
||||
```
|
||||
|
||||
⇒ Ajoutez la sortie du format adéquat pour créer le fichier de redirections
|
||||
pour nginx :
|
||||
|
||||
```cfg
|
||||
[outputFormats.nginx]
|
||||
baseName = "redirections.conf"
|
||||
isPlainText = true
|
||||
mediatype = "conf/nginx"
|
||||
notAlternative = true
|
||||
path = "nginx-config"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
Puis, créer le **layout** nécessaire : `layout/index.nginx`, tel que :
|
||||
|
||||
```cfg
|
||||
# Nginx redirect
|
||||
{{ range $p := .Site.Pages -}}
|
||||
{{ range .Aliases }}
|
||||
rewrite ^{{ . }}$ {{ $p.RelPermalink }} permanent;
|
||||
{{ end -}}
|
||||
{{- end -}}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
- Si votre site est monolingue, hugo générera dans le sous-répertoire
|
||||
`nginx-config/redirections.conf`
|
||||
- Si votre site est multilingues, hugo générera chaque fichier `redirections.conf`
|
||||
dans chaque sous-répertoire de langue, tel que `fr/nginx-config/redirections.conf`.
|
||||
|
||||
|
||||
Voilà, toute la configuration Hugo prête à être fonctionnelle !
|
||||
|
||||
### nginx
|
||||
|
||||
La configuration présentée ci-dessous est relative à mon site multilingue…
|
||||
*Si le votre est monolingue, adaptez !*
|
||||
|
||||
---
|
||||
|
||||
Lorsque vous testerez la configuration, nginx se plaindra, telle que :
|
||||
|
||||
```sh
|
||||
nginx: [emerg] open() "/var/www/htdocs/doc.huc.fr.eu.org/www/fr/nginx-conf/redirections.conf" failed (2: No such file or directory) in /etc/nginx/conf.d/domain.tld.conf:15
|
||||
```
|
||||
|
||||
Et, oui le fichier existe bien, au bon endroit :
|
||||
|
||||
```
|
||||
$ ls -al /var/www/htdocs/doc.huc.fr.eu.org/www/fr/nginx-config/redirections.conf
|
||||
-rw-r--r-- 1 www www 397 Jul 28 13:23 /var/www/htdocs/doc.huc.fr.eu.org/www/fr/nginx-config/redirections.conf
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
Copions les fichiers de redirections à la racine du répertoire de configuration
|
||||
de nginx :
|
||||
|
||||
```sh
|
||||
# cp /var/www/htdocs/doc.huc.fr.eu.org/www/en/nginx-config/redirections.conf /etc/nginx/hugo-en-redirections.conf
|
||||
# cp /var/www/htdocs/doc.huc.fr.eu.org/www/fr/nginx-config/redirections.conf /etc/nginx/hugo-fr-redirections.conf
|
||||
```
|
||||
|
||||
Puis, avec la directive **include**, incluez ces fichiers de configuration
|
||||
dans la directive **server** de l'hôte virtuel relatif au domaine, tel que :
|
||||
|
||||
```nginx
|
||||
server "domain.tld" {
|
||||
|
||||
(…)
|
||||
|
||||
include /etc/nginx/hugo-en-redirections.conf;
|
||||
include /etc/nginx/hugo-fr-redirections.conf;
|
||||
|
||||
(…)
|
||||
|
||||
location /(en|fr)/nginx-conf/redirections.conf {
|
||||
deny all;
|
||||
}
|
||||
|
||||
(…)
|
||||
|
||||
}
|
||||
```
|
||||
|
||||
Pour finir, remarquez la direction **location** afin d'interdire toute
|
||||
consultation.
|
||||
|
||||
Pensez à vérifier la configuration puis redémarrer le service :
|
||||
|
||||
```sh
|
||||
# nginx -t && rcctl restart nginx
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
Voilà !
|
||||
|
||||
## Documentations
|
||||
|
||||
⇒ [Hugo: URL Management: Aliases](https://gohugo.io/content-management/urls/)
|
||||
|
||||
---
|
||||
|
||||
***Enjoy-ID! <br>
|
||||
Enjoy-IT!***
|
||||
|
||||
---
|
|
@ -0,0 +1,6 @@
|
|||
# Nginx redirect
|
||||
{{ range $p := .Site.Pages -}}
|
||||
{{ range .Aliases }}
|
||||
rewrite ^{{ . }}$ {{ $p.RelPermalink }} permanent;
|
||||
{{ end -}}
|
||||
{{- end -}}
|
Loading…
Reference in New Issue