Como navegar pelos documentos de Strapi e site Hugo na VM
Acesso na VM CMS:
Primeiramente, é necessário acessar o usuário hugo para visualização das pastas que contém o conteúdo geral do site.
comando: su - hugo
Pastas disponíveis para o acesso:
-
Pasta cms-c3sl: Nessa pasta, tem o diretório
/cms-c3sl/themes/c3sl
, dentro dele temos os diretórios principais para a configuração do site. Na pastaassets
contém os arquivos do frontend do site, sendo eles: css, javascript e scss. Outra pasta importante é delayout
, nela estão armazenadas os arquivos html de todo o site, onde é possível fazer as alterações de texto. EmexampleSite
está contido o arquivo principal de configuração do site, oconfig.yml
, nele é possível fazer a definição geral do site. Agora emexampleSite/content/
estão os arquivos de markdown do site, como os arquivos de notícia, projetos e de quem somos. E por fim, no diretórioexampleSite/content/
é reservado os arquivos gerados após ser feito o build do site, tudo o que aparece no site visualizado. -
Pasta strapi: A pasta armazena um arquivo importante que é o
.env
que possui variaveis de ambiente, como configurações de banco de dados, servidor, chaves de segurança e outras informações sensíveis, isso facilita o gerenciamento de diferentes ambientes (local e produção). Nessa pasta é importante navegar até o diretórioconfig
, onde nela está armazenada o arquivoserver.js
, que no geral é responsável pela configuração do servidor, como se conectar com a rede e os principais aspectos de segurança. Além disso, o programasrc/index.js
é usado para captar a dinâmica de postagens no strapi, ou seja, ele atua na manipulação de lifecycle hooks, que possui a função de dectar alterações nos arquivos do strapi, como a edição, despublicação, publicação e o delete. Esse programa faz a escrita em .md do que foi publicado na pastaexampleSite/content/
comentada no tópico anterior sobre o site do c3sl
Execução operacional do site:
Systemd:
Para operar o site em produção é fundamental utilizar o serviço de systemd, sendo assim, para realizarmos uma configuração do systemd a fim que seja possível executar o nosso software como serviço (Deamon), será necessário acessar o caminho para o diretório /etc/systemd/system/
e criar um arquivo com a extensão .service
.
Podemos controlá-los por meio de comandos do systemctl
Por exemplo:
systemctl status <nome_do_serviço>
systemctl start <nome_do_serviço>
systemctl stop <nome_do_serviço>
Para verificar os log's do strapi, podemos utilizar o comando sudo journalctl -xefu strapi
.
Dentro do arquivo podemos realizar algumas configurações, como: Em qual diretório serão executados os comandos; Quais tipos de comandos serão realizados (Inicialização do strapi, por exemplo = pnpm run start
), entre outros. Veja abaixo
WorkingDirectory=/home/hugo/strapi
ExecStart=/home/hugo/.nvm/versions/node/v21.6.1/bin/pnpm run start
Note que, para executaro comando de inicialização do nosso serviço, é necessário informar o PATH do executável (Ex: pnpm). Podemos verificar o PATH pelo comando which
.
Para o gerenciamento do site hugo, é necessário a configuração de
WorkingDirectory=/home/hugo/cms-c3sl/themes/c3sl/exampleSite
ExecStart=/usr/local/bin/hugo --watch --themesDir ../..
No qual, segue a mesma ideia do strapi, a flag --watch
que detecta as alterações feitas nos principais diretorios do site e realiza a recompilação/build do site com as alterações atualizadas.