Hugo e Nginx · 18 min read · Oct 19, 2025

Como Instalar o Gerador de Sites Hugo com Nginx no Rocky Linux 9

Um site estático é construído com páginas de conteúdo estático ou código HTML, JavaScript ou CSS simples. O conteúdo não é gerado dinamicamente e não envolve nenhum banco de dados ou processamento do lado do servidor. Esses sites são incrivelmente rápidos e imunes a exploits que dependem de código dinâmico ou SQL.

Hugo é um gerador de sites estáticos de código aberto escrito em Go. Ele gera conteúdo convertendo postagens escritas em linguagem markdown para HTML. O Hugo também vem com um servidor embutido para hospedar os sites que gera. Você também pode hospedar um site Hugo no Amazon S3, GitHub pages, Google Cloud, Netlify, Vercel, etc.

Neste tutorial, vamos explorar como instalar o Hugo para criar um site estático em um servidor alimentado pelo Rocky Linux 9. Usaremos o servidor Nginx para hospedar o site e o certificado SSL Let’s Encrypt para garantir nossa instalação.

Pré-requisitos

  • Um servidor rodando Rocky Linux 9.
  • Um usuário não-root com privilégios sudo.
  • Um nome de domínio totalmente qualificado (FQDN) apontando para seu servidor. Para nossos propósitos, usaremos hugo.example.com como o nome de domínio.
  • Certifique-se de que tudo está atualizado. $ sudo dnf update
  • Instale pacotes de utilidade básicos. Alguns deles podem já estar instalados. $ sudo dnf install wget curl nano unzip yum-utils tree -y

Passo 1 - Configurar o Firewall

O primeiro passo é configurar o firewall. O Rocky Linux usa o Firewalld Firewall. Verifique o status do firewall.

$ sudo firewall-cmd --state
running

O firewall funciona com diferentes zonas, e a zona pública é a padrão que usaremos. Liste todos os serviços e portas ativos no firewall.

$ sudo firewall-cmd --permanent --list-services

Deve mostrar a seguinte saída.

cockpit dhcpv6-client ssh

O Wiki.js precisa das portas HTTP e HTTPS para funcionar. Abra-as.

$ sudo firewall-cmd --add-service=http --permanent
$ sudo firewall-cmd --add-service=https --permanent

Recarregue o firewall para aplicar as mudanças.

$ sudo firewall-cmd --reload

Passo 2 - Instalar o Nginx

O Rocky Linux 9 vem com uma versão mais antiga do Nginx. Você precisa baixar o repositório oficial do Nginx para instalar a versão mais recente.

Crie e abra o arquivo /etc/yum.repos.d/nginx.repo para criar o repositório oficial do Nginx.

$ sudo nano /etc/yum.repos.d/nginx.repo

Cole o seguinte código nele.

[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

Salve o arquivo pressionando Ctrl + X e digitando Y quando solicitado.

Instale o servidor Nginx.

$ sudo dnf install nginx -y

Verifique a instalação.

$ nginx -v
nginx version: nginx/1.24.0

Ative e inicie o servidor Nginx.

$ sudo systemctl enable nginx --now

Verifique o status do servidor.

$ 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 - Instalar o Git

O Hugo precisa do Git para funcionar. Execute o seguinte comando para instalar o Git

$ sudo dnf install git -y

Verifique a instalação do Git.

$ git --version
git version 2.39.3

Passo 4 - Instalar o Hugo

Como o Hugo é construído usando a linguagem Go, instalá-lo é bastante fácil, pois não requer nenhuma dependência e pode ser executado de forma independente.

Baixe o Hugo. Para nosso tutorial, estaremos instalando a versão estendida do Hugo. A versão estendida pode codificar imagens no formato Webp ao processar imagens. Isso é útil se você quiser que o Hugo converta imagens para você em tempo real e mantenha seus tamanhos reduzidos. A versão estendida também inclui um compilador SASS, que pode ser útil em certos casos, caso você precise dele.

Crie um diretório para o Hugo.

$ sudo mkdir /var/www/html/hugo -p

Mude para o diretório recém-criado.

$ cd /var/www/html/hugo

Baixe o Hugo da página de lançamentos do GitHub. No momento da redação deste tutorial, a v0.119.0 é a versão mais recente, que é o que iremos baixar.

$ sudo wget https://github.com/gohugoio/hugo/releases/download/v0.119.0/hugo_extended_0.119.0_linux-amd64.tar.gz

Extraia os arquivos do arquivo.

$ sudo tar -xzf hugo_extended_0.119.0_linux-amd64.tar.gz

Você verá os seguintes três arquivos em seu diretório.

$ ls
hugo  hugo_extended_0.119.0_linux-amd64.tar.gz  LICENSE  README.md

Mova o binário hugo para o diretório /usr/bin.

$ sudo mv hugo /usr/bin/hugo

O arquivo já tem permissão de execução definida, então você não precisa configurá-la.

Confirme a instalação.

$ hugo version
hugo v0.119.0-b84644c008e0dc2c4b67bd69cccf87a41a03937e+extended linux/amd64 BuildDate=2023-09-24T15:20:17Z VendorInfo=gohugoio

Você também pode verificar todas as opções disponíveis para uso usando a flag --help.

$ hugo --help

Você obterá a seguinte saída.

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.

Delete todos os arquivos restantes na pasta, pois não são mais necessários.

$ sudo rm -rf *.*

Passo 5 - Criar um novo Site Hugo

Emita o seguinte comando para criar um novo site Hugo.

$ sudo hugo new site howtoforge

Você obterá a seguinte saída.

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/.

Execute o comando tree para verificar a estrutura do site.

$ tree howtoforge/

Você obterá a seguinte saída.

howtoforge/
??? archetypes
?   ??? default.md
??? assets
??? content
??? data
??? hugo.toml
??? i18n
??? layouts
??? static
??? themes

8 directories, 2 files

Mude para o diretório Hugo.

$ cd howtoforge

Passo 6 - Instalar o Tema Hugo

O próximo passo é instalar um tema Hugo. Existem duas maneiras de fazer isso e ambas requerem Git. O primeiro método é simples e envolve clonar o repositório Git do tema. Isso é útil na maioria dos casos e a maneira mais fácil de proceder. Atualizar via esse método é fácil, embora esse método envolva baixar muitas coisas desnecessárias que você não precisa. Existem alguns temas, especialmente os pagos, que não têm um repositório GitHub de onde você pode obtê-los. Esses temas geralmente são oferecidos como um arquivo compactado. Nesse caso, você precisa extrair o arquivo manualmente e manter o tema atualizado manualmente. O terceiro método envolve pegar o tema como um submódulo Git. Isso requer que você inicialize seu diretório Hugo como um repositório Git. Este é o método recomendado e é útil caso você queira implantar seu site no GitHub, Netlify ou qualquer outro serviço de hospedagem. Enviar seu site Hugo para o GitHub garante backups automáticos também, sem esforço extra.

Vamos cobrir os três métodos. Há outro método de instalar um tema Hugo usando módulos Hugo Go. Este método só funciona se o tema estiver disponível como um módulo Hugo. No entanto, não o cobriremos, pois está fora do escopo deste artigo.

Método 1 - Clonando um Tema Hugo

Este é o método mais comumente usado para instalar um tema Hugo. Para nosso tutorial, estaremos instalando o tema Paper. Mude para o diretório Hugo.

$ cd /var/www/html/hugo/howtoforge

Execute o seguinte comando para clonar o repositório GitHub do tema. A flag --depth=1 apenas pega o último commit.

$ sudo git clone https://github.com/nanxiaobei/hugo-paper themes/Paper --depth=1

Para atualizar o tema baixado via esse método, execute os seguintes comandos.

$ cd ~/hugo/howtoforge/themes/Paper
$ sudo git pull

Método 2 - Instalando o Tema a partir de um arquivo compactado

Este é o método mais fácil de todos. Pegue o arquivo do tema. O tema Paper não tem uma seção de lançamentos, então você não pode baixar uma versão específica. Portanto, baixaremos o arquivo master do GitHub. Você pode pegar o link da página do repositório GitHub.

$ cd ~
$ wget https://github.com/nanxiaobei/hugo-paper/archive/refs/heads/main.zip

Extraia o arquivo no diretório de temas. A flag -q suprime a saída e a flag -d especifica o diretório de saída.

$  sudo unzip -q main.zip -d /var/www/html/hugo/howtoforge/themes/

Para atualizar o tema, você precisa baixar o arquivo mais recente e extraí-lo novamente. Certifique-se de fazer um backup de todos os arquivos que você alterou.

Os dois métodos inferiores funcionam apenas se seu site Hugo estiver hospedado como um projeto Git. Caso contrário, você não precisa usar os métodos a seguir.

Método 3 - Instalando o Tema como um Submódulo Git

Mude para a pasta Hugo.

$ cd /var/www/html/hugo/howtoforge

Inicialize a pasta Hugo como um repositório Git. Este é um passo importante. Isso permite que você envie seu site Hugo para o GitHub para uso posterior para hospedagem usando Netlify, AWS, Vercel, etc.

$ sudo git init

Execute o seguinte comando para adicionar o tema como um submódulo Git.

$ sudo git submodule add https://github.com/nanxiaobei/hugo-paper themes/paper

Para atualizar um tema adicionado como um submódulo, execute o seguinte comando a partir da pasta Hugo.

$ sudo git submodule update --remote --merge

Configurar o Hugo

Uma vez que você tenha instalado o tema usando um método de sua escolha, abra o arquivo hugo.toml no diretório raiz do seu Hugo. A partir do Hugo v0.110.0, o arquivo de configuração padrão é nomeado hugo.toml. Se você estiver usando uma versão mais antiga do Hugo, encontrará o arquivo config.toml em seu diretório Hugo.

$ sudo nano hugo.toml

Adicione a seguinte linha ao arquivo. O valor deve corresponder ao diretório do tema. Para o tema Paper, esse seria o diretório hugo-paper-theme se você usou a instalação do arquivo ou Paper se você usou o método de clonagem Git ou submódulo acima.

theme = 'hugo-paper-main'

Além disso, altere o valor da variável baseURL para o nome de domínio do seu site. E mude o título do seu site.

Seu arquivo de configuração deve se parecer com o seguinte.

baseURL = 'https://hugo.example.com/'
languageCode = 'en-us'
title = 'Como fazer Hugo Demo'
theme = 'hugo-paper-main'

Uma vez terminado, salve o arquivo pressionando Ctrl + X e digitando Y quando solicitado.

Passo 7 - Criar Postagens e Páginas

Para criar uma nova postagem, emita o seguinte comando.

$ sudo hugo new post/first-post.md

Isso criará um novo arquivo markdown first-post.md com o título Primeira Postagem na pasta content/post. Abra o arquivo em seu editor favorito e edite os detalhes e escreva algo para sua primeira postagem.

+++
title = 'Primeira Postagem'
date = 2023-10-30T03:32:38Z
draft = true
+++
## Introdução

Este é um texto negrito, e este é um texto *enfatizado*.

Visite o site [Howtoforge](https://www.howtoforge.com)!

Remova o draft = true assim que terminar de escrever a postagem. Salve o arquivo pressionando Ctrl + X e digitando Y quando solicitado.

Para criar uma nova página, emita o seguinte comando.

$ sudo hugo new about.md

Isso criará uma nova página intitulada Sobre na pasta content. Abra-a e edite-a da mesma forma que a postagem.

Configurar Tema

Antes de publicar, precisamos fazer algumas alterações no tema para mostrar a barra de menu. Essas alterações serão feitas no arquivo de configuração do Hugo e não na configuração do tema.

Mude para o diretório Hugo.

$ cd /var/www/html/hugo/howtoforge

Abra o arquivo hugo.toml para edição.

$ sudo nano hugo.toml

Cole o seguinte código no final.

author = "Navjot Singh"
copyright = "Copyright © 2023, Navjot Singh; todos os direitos reservados."
paginate = 3
enableInlineShortcodes = true
# necessário para renderizar HTML bruto (por exemplo, , , , )
[markup]
  [markup.goldmark]
    [markup.goldmark.renderer]
      unsafe = true

[menu]
  [[menu.main]]
    identifier = "about"
    name = "Sobre"
    url = "/about/"
    weight = 10

[taxonomies]
category = "categorias"
tag = "tags"
series = "séries"

Salve o arquivo pressionando Ctrl + X e digitando Y quando solicitado.

Essas são algumas configurações básicas para tornar o site funcional. Aqui configuramos o site para exibir 3 postagens por página, mostrar a página Sobre como um item de menu e configurar categorias, tags e séries de postagens. Também habilitamos os shortcodes inline do Hugo e habilitamos HTML bruto para o renderizador Markdown Goldmark. Você pode desativá-lo se não quiser incorporar HTML bruto em suas postagens.

Passo 8 - Publicar o Site Hugo

Para construir e publicar o site, basta executar o seguinte comando.

$ sudo hugo

Você obterá uma saída semelhante.

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

Isso cria e publica o site estático Hugo na pasta public. Esses são os arquivos que precisamos especificar na configuração do Nginx para que o site funcione. Execute o comando novamente após fazer qualquer alteração e seu site será atualizado em pouco tempo.

Passo 9 - Instalar SSL

Antes de prosseguirmos, precisamos instalar a ferramenta Certbot e instalar um certificado SSL para nosso domínio.

Para instalar o Certbot, usaremos o instalador de pacotes Snapd. O Snapd sempre carrega a versão estável mais recente do Certbot e você deve usar isso.

A ferramenta Snapd requer o repositório Epel para funcionar.

$ sudo dnf install epel-release -y

Usaremos o Snapd para instalar o Certbot. Instale o Snapd.

$ sudo dnf install snapd -y

Ative e inicie o serviço Snap.

$ sudo systemctl enable snapd.socket --now

Crie links necessários para o Snapd funcionar.

$ 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

Certifique-se de que sua versão do snapd está atualizada. Aguarde alguns segundos antes de emitir os seguintes comandos.

$ sudo snap install core
$ sudo snap refresh core

Instale o Certbot.

$ sudo snap install --classic certbot

Use o seguinte comando para garantir que o comando Certbot possa ser executado criando um link simbólico para o diretório /usr/bin.

$ sudo ln -s /snap/bin/certbot /usr/bin/certbot

Verifique a instalação.

$ certbot --version
certbot 2.7.3

Gere um certificado SSL.

$ sudo certbot certonly --nginx --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m [email protected] -d hugo.example.com

O comando acima baixará um certificado para o diretório /etc/letsencrypt/live/hugo.example.com em seu servidor.

Gere um certificado de grupo Diffie-Hellman.

$ sudo openssl dhparam -dsaparam -out /etc/ssl/certs/dhparam.pem 4096

Verifique o serviço do agendador de renovação do Certbot.

$ sudo systemctl list-timers

Você encontrará snap.certbot.renew.service como um dos serviços agendados para execução.

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

Faça um teste do processo para verificar se a renovação do SSL está funcionando bem.

$ sudo certbot renew --dry-run

Se você não ver erros, está tudo pronto. Seu certificado será renovado automaticamente.

Passo 10 - Configurar o Nginx

Crie e abra o arquivo /etc/nginx/conf.d/hugo.conf para edição.

$ sudo nano /etc/nginx/conf.d/hugo.conf

Cole o seguinte código no arquivo hugo.conf. Substitua todas as instâncias de hugo.example.com pelo seu domínio.

## 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 "";
}

A configuração acima redirecionará todas as solicitações HTTP para HTTPS e servirá como um proxy para o serviço Hugo servir via seu domínio.

Salve o arquivo pressionando Ctrl + X e digitando Y quando solicitado.

Abra o arquivo /etc/nginx/nginx.conf para edição.

$ sudo nano /etc/nginx/nginx.conf

Adicione a seguinte linha antes da linha include /etc/nginx/conf.d/*.conf;.

server_names_hash_bucket_size  64;

Salve o arquivo pressionando Ctrl + X e digitando Y quando solicitado.

Verifique sua configuração do Nginx.

$ sudo nginx -t

Se você não ver erros, significa que está tudo pronto. Recarregue o servidor Nginx.

$ sudo systemctl reload nginx

Passo 11 - Configurar SELinux

Altere o contexto de segurança do arquivo para o OpenEMR.

$ sudo semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/html/hugo/howtoforge/public(/.*)?"

Aplique a política.

$ sudo restorecon -Rv /var/www/html/hugo/howtoforge/public/

Permita que o Nginx se conecte à rede.

$ sudo setsebool -P httpd_can_network_connect 1

Passo 12 - Executar o Site

Agora, você pode verificar sua instalação abrindo https://hugo.example.com em seu navegador. Você verá a seguinte página indicando uma instalação bem-sucedida.

Página Inicial do Hugo

Passo 13 - Atualizar o Hugo

Atualizar o Hugo é bastante simples. Baixe o lançamento mais recente da página do GitHub do 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

Extraia o arquivo.

$ sudo tar -xzf hugo_extended_0.119.0_linux-amd64.tar.gz

E substitua o binário do Hugo pela versão mais recente. A flag -f sobrescreve o binário sem solicitar. Você pode usar a flag -i em vez disso se quiser ser solicitado a sobrescrever.

$ sudo mv -f hugo /usr/bin/hugo

É isso. Atualizar o Hugo é tão simples quanto substituir o binário.

Passo 14 - Fazer Backup e Restaurar o Hugo

Para fazer um backup, crie um arquivo compactado de toda a pasta do Hugo.

$ cd /var/www/html/hugo
$ sudo tar -czvf howtoforge.tar.gz howtoforge/

Para restaurá-lo em um novo servidor, extraia o arquivo compactado e instale o binário e você estará pronto para ir.

$ cd /var/www/html/hugo
$ sudo tar -xzf howtoforge.tar.gz

Conclusão

Isso conclui nosso tutorial sobre como configurar o gerador de sites estáticos Hugo em seu servidor Rocky Linux 9 usando o Nginx. Se você tiver alguma dúvida ou feedback, compartilhe nos comentários abaixo.

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.