Hugo e Nginx · 18 min read · Oct 19, 2025
Come installare il generatore di siti Hugo con Nginx su Rocky Linux 9

Un sito statico è costruito con pagine di contenuto statico o codice HTML, JavaScript o CSS semplice. Il contenuto non è generato dinamicamente e non coinvolge alcun database o elaborazione lato server. Tali siti sono incredibilmente veloci e immuni a exploit che dipendono da codice dinamico o SQL.
Hugo è un generatore di siti statici open-source scritto in Go. Genera contenuti convertendo post scritti in linguaggio markdown in HTML. Hugo include anche un server integrato per ospitare i siti che genera. Puoi anche ospitare un sito web Hugo su Amazon S3, GitHub pages, Google Cloud, Netlify, Vercel, ecc.
In questo tutorial, esploreremo come installare Hugo per creare un sito web statico su un server alimentato da Rocky Linux 9. Utilizzeremo il server Nginx per ospitare il sito e il certificato SSL di Let’s Encrypt per proteggere la nostra installazione.
Prerequisiti
- Un server che esegue Rocky Linux 9.
- Un utente non root con privilegi sudo.
- Un nome di dominio completamente qualificato (FQDN) che punta al tuo server. Per i nostri scopi, utilizzeremo
hugo.example.comcome nome di dominio. - Assicurati che tutto sia aggiornato.
$ sudo dnf update - Installa pacchetti di utilità di base. Alcuni di essi potrebbero già essere installati.
$ sudo dnf install wget curl nano unzip yum-utils tree -y
Passo 1 - Configurare il Firewall
Il primo passo è configurare il firewall. Rocky Linux utilizza Firewalld Firewall. Controlla lo stato del firewall.
$ sudo firewall-cmd --state
running
Il firewall funziona con diverse zone, e la zona pubblica è quella predefinita che utilizzeremo. Elenca tutti i servizi e le porte attive sul firewall.
$ sudo firewall-cmd --permanent --list-services
Dovrebbe mostrare il seguente output.
cockpit dhcpv6-client ssh
Wiki.js ha bisogno delle porte HTTP e HTTPS per funzionare. Aprile.
$ sudo firewall-cmd --add-service=http --permanent
$ sudo firewall-cmd --add-service=https --permanent
Ricarica il firewall per applicare le modifiche.
$ sudo firewall-cmd --reload
Passo 2 - Installare Nginx
Rocky Linux 9 include una versione più vecchia di Nginx. Devi scaricare il repository ufficiale di Nginx per installare l’ultima versione.
Crea e apri il file /etc/yum.repos.d/nginx.repo per creare il repository ufficiale di Nginx.
$ sudo nano /etc/yum.repos.d/nginx.repo
Incolla il seguente codice in esso.
[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
Salva il file premendo Ctrl + X e inserendo Y quando richiesto.
Installa il server Nginx.
$ sudo dnf install nginx -y
Verifica l’installazione.
$ nginx -v
nginx version: nginx/1.24.0
Abilita e avvia il server Nginx.
$ sudo systemctl enable nginx --now
Controlla lo stato del server.
$ 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...
Passo 3 - Installare Git
Hugo ha bisogno di Git per funzionare. Esegui il seguente comando per installare Git
$ sudo dnf install git -y
Verifica l’installazione di Git.
$ git --version
git version 2.39.3
Passo 4 - Installare Hugo
Poiché Hugo è costruito utilizzando il linguaggio Go, installarlo è abbastanza semplice poiché non richiede alcuna dipendenza e può essere eseguito autonomamente.
Scarica Hugo. Per il nostro tutorial, installeremo la versione estesa di Hugo. La versione estesa può codificare le immagini nel formato Webp durante l’elaborazione delle immagini. Questo è utile se vuoi che Hugo converta le immagini per te al volo e mantenga le loro dimensioni ridotte. La versione estesa include anche un compilatore SASS che può essere utile in alcuni casi se ne hai bisogno.
Crea una directory per Hugo.
$ sudo mkdir /var/www/html/hugo -p
Passa alla directory appena creata.
$ cd /var/www/html/hugo
Scarica Hugo dalla pagina delle release di GitHub. Al momento della scrittura di questo tutorial, v0.119.0 è l’ultima versione che scaricheremo.
$ sudo wget https://github.com/gohugoio/hugo/releases/download/v0.119.0/hugo_extended_0.119.0_linux-amd64.tar.gz
Estrai i file dall’archivio.
$ sudo tar -xzf hugo_extended_0.119.0_linux-amd64.tar.gz
Vedrai i seguenti tre file nella tua directory.
$ ls
hugo hugo_extended_0.119.0_linux-amd64.tar.gz LICENSE README.md
Sposta il binario hugo nella directory /usr/bin.
$ sudo mv hugo /usr/bin/hugo
Il file ha già i permessi di esecuzione impostati, quindi non è necessario impostarli.
Conferma l’installazione.
$ hugo version
hugo v0.119.0-b84644c008e0dc2c4b67bd69cccf87a41a03937e+extended linux/amd64 BuildDate=2023-09-24T15:20:17Z VendorInfo=gohugoio
Puoi anche controllare tutte le opzioni disponibili per l’uso utilizzando il flag --help.
$ hugo --help
Otterrai il seguente output.
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.
Elimina tutti i file rimanenti nella cartella poiché non sono più necessari.
$ sudo rm -rf *.*
Passo 5 - Crea un nuovo sito Hugo
Esegui il seguente comando per creare un nuovo sito web Hugo.
$ sudo hugo new site howtoforge
Otterrai il seguente output.
Congratulations! Your new Hugo site was created in /home/navjot/hugo/howtoforge.
Just a few more steps...
1. Change the current directory to /home/navjot/hugo/howtoforge.
2. Create or install a theme:
- Create a new theme with the command "hugo new theme "
- Install a theme from https://themes.gohugo.io/
3. Edit hugo.toml, setting the "theme" property to the theme name.
4. Create new content with the command "hugo new content /.".
5. Start the embedded web server with the command "hugo server --buildDrafts".
See documentation at https://gohugo.io/.
Esegui il comando tree per controllare la struttura del sito.
$ tree howtoforge/
Otterrai il seguente output.
howtoforge/
??? archetypes
? ??? default.md
??? assets
??? content
??? data
??? hugo.toml
??? i18n
??? layouts
??? static
??? themes
8 directories, 2 files
Passa alla directory di Hugo.
$ cd howtoforge
Passo 6 - Installare il tema Hugo
Il passo successivo è installare un tema Hugo. Ci sono due modi per farlo e entrambi richiedono Git. Il primo metodo è semplice e consiste nel clonare il repository GitHub del tema. Questo è utile nella maggior parte dei casi ed è il modo più semplice per procedere. L’aggiornamento tramite questo metodo è facile, anche se questo metodo comporta il download di molte cose non necessarie. Ci sono alcuni temi, specialmente quelli a pagamento, che non hanno un repository GitHub da cui puoi scaricarli. Tali temi sono solitamente offerti come archivio compresso. In tal caso, devi estrarre manualmente l’archivio e mantenere il tema aggiornato manualmente. Il terzo metodo prevede di acquisire il tema come un sottogruppo Git. Questo richiede di inizializzare la tua directory Hugo come repository Git. Questo è il metodo consigliato ed è utile nel caso tu voglia distribuire il tuo sito su GitHub, Netlify o qualsiasi altro servizio di hosting. Spingere il tuo sito Hugo su GitHub garantisce anche backup automatici senza alcuno sforzo extra.
Copriamo tutti e tre i metodi. C’è un altro metodo per installare un tema Hugo utilizzando i moduli Go di Hugo. Questo metodo funziona solo se il tema è disponibile come modulo Hugo. Tuttavia, non lo tratteremo poiché è al di fuori dell’ambito di questo articolo.
Metodo 1 - Clonazione di un tema Hugo
Questo è il metodo più comunemente usato per installare un tema Hugo. Per il nostro tutorial, installeremo il tema Paper. Passa alla directory di Hugo.
$ cd /var/www/html/hugo/howtoforge
Esegui il seguente comando per clonare il repository GitHub del tema. Il flag --depth=1 preleva solo l’ultimo commit.
$ sudo git clone https://github.com/nanxiaobei/hugo-paper themes/Paper --depth=1
Per aggiornare il tema scaricato tramite questo metodo, esegui i seguenti comandi.
$ cd ~/hugo/howtoforge/themes/Paper
$ sudo git pull
Metodo 2 - Installare il tema da un archivio compresso
Questo è il metodo più semplice di tutti. Scarica l’archivio del file del tema. Il tema Paper non ha una sezione di rilascio, quindi non puoi scaricare una versione particolare. Pertanto, scaricheremo l’archivio master di GitHub. Puoi ottenere il link dalla sua pagina del repository GitHub.
$ cd ~
$ wget https://github.com/nanxiaobei/hugo-paper/archive/refs/heads/main.zip
Estrai l’archivio nella directory dei temi. Il flag -q sopprime l’output e il flag -d specifica la directory di output.
$ sudo unzip -q main.zip -d /var/www/html/hugo/howtoforge/themes/
Per aggiornare il tema, devi scaricare l’archivio più recente e estrarlo di nuovo. Assicurati di fare un backup di tutti i file che hai modificato.
I due metodi inferiori funzionano solo se il tuo sito Hugo è ospitato come progetto Git. Altrimenti, non è necessario utilizzare i seguenti metodi.
Metodo 3 - Installare il tema come sottogruppo Git
Passa alla cartella di Hugo.
$ cd /var/www/html/hugo/howtoforge
Inizializza la cartella di Hugo come repository Git. Questo è un passo importante. Questo ti consente di spingere il tuo sito Hugo su GitHub per utilizzarlo in seguito per l’hosting tramite Netlify, AWS, Vercel, ecc.
$ sudo git init
Esegui il seguente comando per aggiungere il tema come sottogruppo Git.
$ sudo git submodule add https://github.com/nanxiaobei/hugo-paper themes/paper
Per aggiornare un tema aggiunto come sottogruppo, esegui il seguente comando dalla cartella di Hugo.
$ sudo git submodule update --remote --merge
Configurare Hugo
Una volta installato il tema utilizzando un metodo a tua scelta, apri il file hugo.toml nella directory principale di Hugo. A partire da Hugo v0.110.0, il file di configurazione predefinito si chiama hugo.toml. Se stai utilizzando una versione precedente di Hugo, troverai il file config.toml nella tua directory Hugo.
$ sudo nano hugo.toml
Aggiungi la seguente riga al file. Il valore dovrebbe corrispondere alla directory del tema. Per il tema paper, sarebbe la directory hugo-paper-theme se hai utilizzato l’installazione dell’archivio o Paper se hai utilizzato il metodo di clonazione Git o sottogruppo sopra.
theme = 'hugo-paper-main'
Inoltre, cambia il valore della variabile baseURL nel nome di dominio del tuo sito. E cambia il title del tuo sito web.
Il tuo file di configurazione dovrebbe apparire come segue.
baseURL = 'https://hugo.example.com/'
languageCode = 'en-us'
title = 'Come Demo di Hugo'
theme = 'hugo-paper-main'
Una volta terminato, salva il file premendo Ctrl + X e inserendo Y quando richiesto.
Passo 7 - Crea post e pagine
Per creare un nuovo post, emetti il seguente comando.
$ sudo hugo new post/first-post.md
Questo creerà un nuovo file markdown first-post.md con il titolo First Post nella cartella content/post. Apri il file nel tuo editor preferito e modifica i dettagli e scrivi qualcosa per il tuo primo post.
+++
title = 'First Post'
date = 2023-10-30T03:32:38Z
draft = true
+++
## Introduzione
Questo è un testo grassetto, e questo è un testo *enfatizzato*.
Visita il sito web [Howtoforge](https://www.howtoforge.com)!
Rimuovi draft = true una volta che hai finito di scrivere il post. Salva il file premendo Ctrl + X e inserendo Y quando richiesto.
Per creare una nuova pagina, emetti il seguente comando.
$ sudo hugo new about.md
Questo creerà una nuova pagina intitolata About nella cartella content. Aprila e modificala nello stesso modo del post.
Configurare il tema
Prima di pubblicare, dobbiamo apportare alcune modifiche al tema per mostrare la barra dei menu. Queste modifiche verranno effettuate nel file di configurazione di Hugo e non nella configurazione del tema.
Passa alla directory di Hugo.
$ cd /var/www/html/hugo/howtoforge
Apri il file hugo.toml per la modifica.
$ sudo nano hugo.toml
Incolla il seguente codice in fondo.
author = "Navjot Singh"
copyright = "Copyright © 2023, Navjot Singh; tutti i diritti riservati."
paginate = 3
enableInlineShortcodes = true
# necessario per rendere HTML raw (es. , , , )
[markup]
[markup.goldmark]
[markup.goldmark.renderer]
unsafe = true
[menu]
[[menu.main]]
identifier = "about"
name = "About"
url = "/about/"
weight = 10
[taxonomies]
category = "categories"
tag = "tags"
series = "series"
Salva il file premendo Ctrl + X e inserendo Y quando richiesto.
Queste sono alcune impostazioni di base per rendere il sito funzionale. Qui abbiamo configurato il sito per visualizzare 3 post per pagina, mostrare la pagina About come voce di menu e impostare categorie, tag e serie di post. Abbiamo anche abilitato gli shortcode inline di Hugo e abilitato HTML raw per il render Markdown di Goldmark. Puoi disabilitarlo se non vuoi incorporare HTML raw nei tuoi post.
Passo 8 - Pubblica il sito Hugo
Per costruire e pubblicare il sito, esegui semplicemente il seguente comando.
$ sudo hugo
Otterrai un output simile.
Start building sites …
hugo v0.119.0-b84644c008e0dc2c4b67bd69cccf87a41a03937e+extended linux/amd64 BuildDate=2023-09-24T15:20:17Z VendorInfo=gohugoio
| EN
-------------------+-----
Pages | 7
Paginator pages | 0
Non-page files | 0
Static files | 11
Processed images | 0
Aliases | 3
Sitemaps | 1
Cleaned | 0
Total in 46 ms
Questo crea e pubblica il sito web statico Hugo nella cartella public. Questi sono i file che dobbiamo specificare nella configurazione di Nginx affinché il sito funzioni. Esegui di nuovo il comando dopo aver apportato modifiche e il tuo sito web verrà aggiornato in un attimo.
Passo 9 - Installare SSL
Prima di procedere, dobbiamo installare lo strumento Certbot e installare un certificato SSL per il nostro dominio.
Per installare Certbot, utilizzeremo l’installer di pacchetti Snapd. Snapd porta sempre l’ultima versione stabile di Certbot e dovresti usarlo.
Lo strumento Snapd richiede il repository Epel per funzionare.
$ sudo dnf install epel-release -y
Utilizzeremo Snapd per installare Certbot. Installa Snapd.
$ sudo dnf install snapd -y
Abilita e avvia il servizio Snap.
$ sudo systemctl enable snapd.socket --now
Crea i collegamenti necessari affinché Snapd funzioni.
$ 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
Assicurati che la tua versione di snapd sia aggiornata. Aspetta un paio di secondi prima di emettere i seguenti comandi.
$ sudo snap install core
$ sudo snap refresh core
Installa Certbot.
$ sudo snap install --classic certbot
Usa il seguente comando per assicurarti che il comando Certbot possa essere eseguito creando un collegamento simbolico alla directory /usr/bin.
$ sudo ln -s /snap/bin/certbot /usr/bin/certbot
Verifica l’installazione.
$ certbot --version
certbot 2.7.3
Genera un certificato SSL.
$ sudo certbot certonly --nginx --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m [email protected] -d hugo.example.com
Il comando sopra scaricherà un certificato nella directory /etc/letsencrypt/live/hugo.example.com sul tuo server.
Genera un certificato Diffie-Hellman group.
$ sudo openssl dhparam -dsaparam -out /etc/ssl/certs/dhparam.pem 4096
Controlla il servizio di pianificazione del rinnovo di Certbot.
$ sudo systemctl list-timers
Troverai snap.certbot.renew.service come uno dei servizi programmati per l’esecuzione.
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
Fai una prova del processo per controllare se il rinnovo SSL funziona correttamente.
$ sudo certbot renew --dry-run
Se non vedi errori, sei a posto. Il tuo certificato si rinnoverà automaticamente.
Passo 10 - Configurare Nginx
Crea e apri il file /etc/nginx/conf.d/hugo.conf per la modifica.
$ sudo nano /etc/nginx/conf.d/hugo.conf
Incolla il seguente codice nel file hugo.conf. Sostituisci tutte le istanze di hugo.example.com con il tuo dominio.
## enforce 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; # Enable 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;
# Enable TLS versions (TLSv1.3 is required upcoming HTTP/3 QUIC).
ssl_protocols TLSv1.2 TLSv1.3;
# Enable TLSv1.3's 0-RTT. Use $ssl_early_data when reverse proxying to
# prevent replay attacks.
#
# @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-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 ---
# fetch OCSP records from URL in ssl_certificate and cache them
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;
}
# Media
location ~* \\.jpg|jpeg|gif|png|ico|cur|gz|svg|mp4|ogg|ogv|webm|htc$ {
expires 30d;
}
# CSS and Js
location ~* \\.css|js$ {
expires 7d;
}
}
# This block is useful for debugging TLS v1.3. Please feel free to remove this
# and use the "$ssl_early_data" variable exposed by NGINX directly should you
# wish to do so.
map $ssl_early_data $tls1_3_early_data {
"~." $ssl_early_data;
default "";
}
La configurazione sopra reindirizzerà tutte le richieste HTTP a HTTPS e fungerà da proxy per il servizio Hugo per servirlo tramite il tuo dominio.
Salva il file premendo Ctrl + X e inserendo Y quando richiesto.
Apri il file /etc/nginx/nginx.conf per la modifica.
$ sudo nano /etc/nginx/nginx.conf
Aggiungi la seguente riga prima della riga include /etc/nginx/conf.d/*.conf;.
server_names_hash_bucket_size 64;
Salva il file premendo Ctrl + X e inserendo Y quando richiesto.
Verifica la tua configurazione Nginx.
$ sudo nginx -t
Se non vedi errori, significa che sei a posto. Ricarica il server Nginx.
$ sudo systemctl reload nginx
Passo 11 - Configurare SELinux
Cambia il contesto di sicurezza del file per OpenEMR.
$ sudo semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/html/hugo/howtoforge/public(/.*)?"
Applica la politica.
$ sudo restorecon -Rv /var/www/html/hugo/howtoforge/public/
Consenti a Nginx di connettersi alla rete.
$ sudo setsebool -P httpd_can_network_connect 1
Passo 12 - Esegui il sito
Ora puoi verificare la tua installazione aprendo https://hugo.example.com nel tuo browser web. Otterrai la seguente pagina che indica un’installazione riuscita.

Passo 13 - Aggiorna Hugo
Aggiornare Hugo è piuttosto semplice. Scarica l’ultima release dalla pagina GitHub di 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
Estrai l’archivio.
$ sudo tar -xzf hugo_extended_0.119.0_linux-amd64.tar.gz
E sostituisci il binario Hugo con l’ultima versione. Il flag -f sovrascrive il binario senza chiedere. Puoi usare il flag -i invece se vuoi essere avvisato per la sovrascrittura.
$ sudo mv -f hugo /usr/bin/hugo
Questo è tutto. Aggiornare Hugo è semplice come sostituire il binario.
Passo 14 - Backup e Ripristino di Hugo
Per fare un backup, crea un archivio dell’intera cartella Hugo.
$ cd /var/www/html/hugo
$ sudo tar -czvf howtoforge.tar.gz howtoforge/
Per ripristinarlo su un nuovo server, estrai l’archivio e installa il binario e sei a posto.
$ cd /var/www/html/hugo
$ sudo tar -xzf howtoforge.tar.gz
Conclusione
Questo conclude il nostro tutorial su come impostare il generatore di siti statici Hugo sul tuo server Rocky Linux 9 utilizzando Nginx. Se hai domande o feedback, condividili nei commenti qui sotto.
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.