# Como navegar pelos documentos de Strapi e site Hugo na VM
:::{todo}
## Acesso na VM CMS:
Terminar esta página
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`
:::{list-table}
### Pastas disponíveis para o acesso:
* - **Tamanho desta página**
-**Pasta cms-c3sl:**
- Alguns kilobytes
Nessa pasta, tem o diretório `/cms-c3sl/themes/c3sl`, dentro dele temos os diretórios principais para a configuração do site.
* - **Data de criação**
Na pasta `assets` contém os arquivos do frontend do site, sendo eles: css, javascript e scss.
- 2024-03-26
Outra pasta importante é de `layout`, nela estão armazenadas os arquivos html de todo o site, onde é possível fazer as alterações de texto.
:::
Em `exampleSite` está contido o arquivo principal de configuração do site, o `config.yml`, nele é possível fazer a definição geral do site.
Agora em `exampleSite/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ório `exampleSite/content/` é reservado os arquivos gerados após ser feito o build do site, tudo o que aparece no site visualizado.
Essa é uma página de exemplo.
-**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ório `config`, onde nela está armazenada o arquivo `server.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 programa `src/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 pasta `exampleSite/content/` comentada no tópico anterior sobre o site do c3sl
```console
## Execução operacional do site:
$ping -c 1 docs.c3sl.ufpr.br
PING docs.c3sl.ufpr.br(docs.c3sl.ufpr.br (2801:82:80ff:8002:216:ccff:feaa:72)) 56 bytes de dados
64 bytes de docs.c3sl.ufpr.br (2801:82:80ff:8002:216:ccff:feaa:72): icmp_seq=1 ttl=63 tempo=0.464 ms
--- docs.c3sl.ufpr.br estatísticas de ping ---
### Systemd:
1 pacotes transmitidos, 1 recebidos, 0% packet loss, time 0ms
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`.
rtt min/avg/max/mdev = 0.464/0.464/0.464/0.000 ms
Podemos controlá-los por meio de comandos do `systemctl` Por exemplo:
```
|Podemos construir|Algumas tabelas |
systemctl status <nome_do_serviço>
|-----------------|-------------------------|
systemctl start <nome_do_serviço>
|Faz parte do que |o Markdown consegue fazer|
systemctl stop <nome_do_serviço>
## Configuraçã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
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.