Skip to content
Snippets Groups Projects
Commit 0aa9af2d authored by Guilherme Eduardo's avatar Guilherme Eduardo
Browse files

Issue #2: ADD cms architecture docs

parent 6bd8cf7f
No related branches found
No related tags found
1 merge request!2Issue #2: ADD cms architecture docs
# Documentação de exemplo # Documentação CMS C3SL
```{toctree} ```{toctree}
:maxdepth: 2 :maxdepth: 2
......
source/pages/arquitetura_cms.jpg

143 KiB

# Arquitetura do projeto site C3SL
## Componentes:
- VM
- Strapi
- Hugo
- Nginx (Hugo e Strapi)
- Postgresql
- Systemd
- DNS
- CNAME strapi.c3sl.ufpr.br
- CNAME cms.c3sl.ufpr.br
### VM CMS (Máquina virtual)
É um ambiente/servidor, o qual possui as aplicações que queremos executar e disponibilizá-las para acesso externo.
### Strapi:
Strapi é o CMS (Serviço de gerenciamento de conteúdo), o qual usamos para comunicar com o site baseado no framework Hugo por meio de uma interface gráfica. O objetivo é usá-lo para facilitar o serviço do time de comunicação ao postarem notícias no site do C3SL.
Internamente, o strapi possui uma configuração de lifecycles, o qual é possivel executar ações conforme algum tipo de evento acontece (publicar/deletar uma notícia). Uma dessas ações é transformar o conteúdo da notícia em um arquivo markdown que será salvo dentro do diretório de conteúdos do Hugo (content/). O strapi é servido pela porta 1337 da máquina virtual.
### Hugo
É um framework de gerador de sites estáticos. O funcionamento dele é baseado pela existência de algum tema qualquer. Hugo possui um arquivo de configuração com a extensão .yml, onde possui algumas configurações gerais do site, bem como, é possível ter outras informação e apenas "referenciar" nos arquivos html/css. Ele é servido na porta 1313 da máquina virtual.
### NGINX
O nginx é um software que utilizamos para hospedar ambos os sites (Strapi e C3SL). Com ele é possível balancear as cargas de acesso e usá-lo como proxy reverso, o que significa que o nginx ficará entre o servidor e o cliente.
Possuímos um arquivo de configuração para cada site (Strapi e C3SL). Nesses arquivos direcionamos as rotas http para https; validamos o site por meio de um certificado digital, que faz uma ponte criptografada, além de informar como o NGINX vai administrar as solicitações de acesso às URL's.
### Postgresql
É o banco de dados, o qual iremos utilizar juntamente com o Strapi.
Nele serão armazenada as informações, como: noticias, autores, projetos, etc.
### DNS
O DNS serve para resolver os nomes de domínio para os endereços IP que o servidor NGINX usa, garantindo que o cliente consiga acessar o site.
### CNAME's
Um registro CNAME é um elemento de informação de um DNS (_Domain Name System_).
Os registros CNAME normalmente são usados para mapear um subdomínio como _www_ ou _mail_ ao domínio que hospeda o conteúdo desse subdomínio.
Usamos o CNAME para mapear domínios. No projeto do site do C3SL, utilizaremos os seguintes:
**Strapi**: strapi.c3sl.ufpr.br
**Site do C3SL**: cms.c3sl.ufpr.br
### Systemd
O systemd é um gerenciador de tarefas de serviços controlado pelo kernel do sistema operacional. Ele faz com que softwares sejam executados em segundo plano, como serviços (chamados de Daemon). 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`
### Imagem da arquitetura CMS
![](arquitetura_cms.png)
# Página de exemplo 2
## Se quisermos linkar para outra página, é só referenciar
* [Pode ser relativo.](example)
* [E pode ser absoluto.](/pages/example)
## Que tal linkar para um conteúdo dentro de outra página?
:::{warning}
Acho que talvez seja uma ideia interessante.
:::
[Veja bem que precisa da extensão .md neste caso.](/pages/example.md#configuracao)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment