---
title: "Instalação do Rest PKI Core em Rocky Linux"
description: "Como instalar uma instância on-premises do Rest PKI Core em Rocky Linux 8 ou superior, com os pré-requisitos e o ASP.NET Core Runtime 10.0."
canonical: "https://docs.lacunasoftware.com/articles/rest-pki/core/on-premises/linux/install-rocky"
locale: "pt-BR"
product: "Rest PKI Core"
last_updated: "2026-10-12"
---

# Instalação do Rest PKI Core em Rocky Linux

Para instalar uma instância [on-premises](https://docs.lacunasoftware.com/articles/rest-pki/core/on-premises) do [Rest PKI Core](https://docs.lacunasoftware.com/articles/rest-pki/core) em Rocky Linux, siga os passos abaixo. Para outras plataformas, [clique aqui](https://docs.lacunasoftware.com/articles/rest-pki/core/on-premises).

## Pré-requisitos

* Rocky Linux 8.x ou superior

* **Connection string** para um [banco de dados SQL Server ou PostgreSQL criado previamente](https://docs.lacunasoftware.com/articles/rest-pki/core/on-premises/prepare-database)
* Licença do **PKI SDK** (em formato Base64)
* Licença do **Web PKI** (em formato Base64/binário)

## Instale o ASP.NET Core Runtime 10.0

> **Info**
>
> Estas instruções pressupõem que você está autenticado como **root**. Se não estiver, execute `sudo su -` antes de continuar!

Instale o pacote do ASP.NET Core Runtime, disponível no repositório AppStream:

```sh
dnf install aspnetcore-runtime-10.0
```

Para testar a instalação, execute:

```sh
dotnet --list-runtimes
```

A saída esperada é semelhante a:

```text
Microsoft.AspNetCore.App 10.0.* [*/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.NETCore.App 10.0.* [*/dotnet/shared/Microsoft.NETCore.App]
```

> **Dica**
>
> Para outras versões do sistema operacional e outras formas de instalar o ASP.NET Core Runtime, veja [esta página](https://learn.microsoft.com/dotnet/core/install/linux)

## Instale o Rest PKI Core

Crie um usuário local para executar a instância do Rest PKI Core:

```sh
mkdir /var/restpkicore
useradd --system --home-dir /var/restpkicore restpkicore
chown restpkicore:restpkicore /var/restpkicore
```

Crie a pasta do site, baixe e extraia os binários:

```sh
mkdir /usr/share/restpkicore
curl -O https://cdn.lacunasoftware.com/restpkicore/restpkicore-5.0.0.tar.gz
tar xzf restpkicore-5.0.0.tar.gz -C /usr/share/restpkicore
chmod -R a=,u+rwX,go+rX /usr/share/restpkicore
```

> **Observação**
>
> Os arquivos do site podem ser lidos por qualquer usuário, mas só podem ser alterados pelo usuário root. Isso significa que o usuário da aplicação (*restpkicore*) pode ler os arquivos, mas não pode alterá-los, o que é intencional.

Crie o arquivo de configuração a partir do template fornecido:

```sh
mkdir /etc/restpkicore
cp /usr/share/restpkicore/config-templates/linux/appsettings.conf /etc/restpkicore/
chown -R root:restpkicore /etc/restpkicore
chmod -R a=,u+rwX,g+rX /etc/restpkicore
```

> **Observação**
>
> Os arquivos de configuração só podem ser lidos por membros do grupo *restpkicore* e só podem ser alterados pelo usuário root. Isso é importante para proteger contra acessos não autorizados os dados sensíveis armazenados nos arquivos de configuração.

## Configure o Rest PKI Core

Edite o arquivo de configuração para configurar sua instância do Rest PKI Core:

```sh
nano /etc/restpkicore/appsettings.conf
```

Na seção `[General]`, para preencher a configuração `EncryptionKey`, gere uma chave de 256 bits para cifrar os dados sensíveis armazenados no banco de dados:

```sh
openssl rand -base64 32
```

Ainda na seção `[General]`, para preencher a configuração `RootPasswordHash`, escolha uma senha forte para o acesso root ao dashboard e calcule o hash dela:

```sh
dotnet /usr/share/restpkicore/Lacuna.RestPki.Site.dll -- hash-root-pass
```

> **Observação**
>
> Se quiser habilitar o gerenciamento de usuários, deixe a configuração `RootPasswordHash` em branco e, em vez disso, siga os passos de [Configuração de OpenID Connect](https://docs.lacunasoftware.com/articles/rest-pki/core/on-premises/configure-oidc)

Preencha as demais configurações de acordo com as instruções do arquivo de configuração.

## Configure um daemon

Crie o arquivo de definição do serviço:

```sh
touch /etc/systemd/system/restpkicore.service
nano /etc/systemd/system/restpkicore.service
```

Digite o seguinte:

```ini
[Unit]
Description=Rest PKI Core

[Service]
WorkingDirectory=/usr/share/restpkicore
ExecStart=/usr/bin/dotnet Lacuna.RestPki.Site.dll
Restart=always
RestartSec=10
KillSignal=SIGINT
SyslogIdentifier=restpkicore
User=restpkicore
Environment=ASPNETCORE_ENVIRONMENT=Linux
Environment=ASPNETCORE_URLS=http://+:5004
Environment=DOTNET_PRINT_TELEMETRY_MESSAGE=false

[Install]
WantedBy=multi-user.target
```

Salve o arquivo, habilite o serviço e inicie-o:

```sh
systemctl enable restpkicore
systemctl start restpkicore
systemctl status restpkicore
```

A saída esperada é semelhante a:

```text
* restpkicore.service - Rest PKI Core
   Loaded: loaded (/etc/systemd/system/restpkicore.service; enabled; vendor preset: enabled)
   Active: active (running) since Sun 2019-07-07 05:50:04 UTC; 4min 22s ago
 Main PID: 10960 (dotnet)
    Tasks: 31 (limit: 2319)
   CGroup: /system.slice/restpkicore.service
           └─10960 /usr/bin/dotnet Lacuna.RestPki.Site.dll

...

Dec 04 12:45:08 server.patorum.com restpkicore[32562]: Hosting environment: Production
Dec 04 12:45:08 server.patorum.com restpkicore[32562]: Content root path: /usr/share/restpkicore
Dec 04 12:45:08 server.patorum.com restpkicore[32562]: Now listening on: http://localhost:5004
Dec 04 12:45:08 server.patorum.com restpkicore[32562]: Application started. Press Ctrl+C to shut down.
Hint: Some lines were ellipsized, use -l to show in full.
```

Se necessário, reinicie o serviço: `systemctl restart restpkicore`

Para testar se a instância do Rest PKI Core está em execução, execute:

```sh
curl http://localhost:5004/api/system/info
```

A saída esperada é algo como:

```json
{"productName":"Lacuna Rest PKI Core","productVersion":"1.x.x","spaVersion":"...","timestamp":"..."}
```

## Configure um servidor proxy reverso

> **Observação**
>
> Se preferir usar o Apache em vez do Nginx, [veja este artigo](https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/linux-apache?view=aspnetcore-2.2#configure-apache).

Instale o Nginx (se ainda não estiver instalado):

```sh
yum install nginx
systemctl enable nginx.service
systemctl start nginx.service
```

Teste se o Nginx está em execução:

```sh
curl -I http://localhost/
```

Verifique as primeiras linhas da saída, que devem ser semelhantes a:

```text
HTTP/1.1 200 OK
Server: nginx/...
...
```

Edite a configuração do Nginx:

```sh
nano /etc/nginx/nginx.conf
```

Remova ou comente (com `#`) toda a seção `server`, localizada logo abaixo da cláusula `include /etc/nginx/conf.d/*.conf;`. Depois de
comentar a seção, o arquivo de configuração deve ficar semelhante a este:

```nginx
...

http {
    ...

    # Load modular configuration files from the /etc/nginx/conf.d directory.
    # See http://nginx.org/en/docs/ngx_core_module.html#include
    # for more information.
    include /etc/nginx/conf.d/*.conf;

#    server {
#        listen       80 default_server;
#        listen       [::]:80 default_server;
#        server_name  _;
#        root         /usr/share/nginx/html;
#
#        # Load configuration files for the default server block.
#        include /etc/nginx/default.d/*.conf;
#
#        location / {
#        }
#
#        error_page 404 /404.html;
#            location = /40x.html {
#        }
#
#        error_page 500 502 503 504 /50x.html;
#            location = /50x.html {
#        }
#    }

    ...
}
```

Crie um arquivo de configuração de site para o Rest PKI Core:

```sh
touch /etc/nginx/conf.d/restpkicore.conf
nano /etc/nginx/conf.d/restpkicore.conf
```

Digite o seguinte, substituindo o domínio do dashboard no item `server_name` pelo seu próprio domínio:

```nginx
server {
    listen        80;
    server_name   localhost restpkicore.yourcompany.com;
    location / {
        proxy_pass         http://localhost:5004;
        proxy_http_version 1.1;
        proxy_set_header   Upgrade $http_upgrade;
        proxy_set_header   Connection keep-alive;
        proxy_set_header   Host $host;
        proxy_cache_bypass $http_upgrade;
        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header   X-Forwarded-Proto $scheme;
    }
}
```

> **Dica**
>
> Idealmente, a configuração do site deve conter as entradas `ssl_certificate` e `ssl_certificate_key` com um certificado SSL válido. Essa configuração está fora do escopo destas instruções.

Permita que o Nginx acesse o serviço do Rest PKI Core:

```sh
setsebool -P httpd_can_network_connect on
```

Teste a configuração do Nginx e recarregue-a:

```sh
nginx -t
nginx -s reload
```

Teste o site:

```sh
curl http://localhost/api/system/info
```

Libere o tráfego HTTP e HTTPS no seu sistema (se ainda não estiver liberado):

```sh
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=443/tcp --permanent
firewall-cmd --reload
```

## Veja também

* [Atualização do Rest PKI Core em Linux](https://docs.lacunasoftware.com/articles/rest-pki/core/on-premises/linux/update)
* [Resolução de problemas](https://docs.lacunasoftware.com/articles/rest-pki/core/on-premises/linux/troubleshoot)
