Instalação · 10 min read · Oct 14, 2025
Como Instalar Wiki.js no Rocky Linux 9

Wiki.js é um software de wiki leve e de código aberto. Ele é construído sobre o framework JavaScript Node.js. Pode ser usado para escrever documentação, wikis e conteúdo web usando um editor Markdown para desenvolvedores e um editor WYSIWYG para pessoas não técnicas. Ele suporta múltiplos tipos de conteúdo, incluindo diagramas UML, expressões matemáticas usando a sintaxe Tex ou MathML, e código. Inclui múltiplos módulos para várias funções, incluindo análises, autenticação, registro, mecanismos de busca de terceiros e múltiplos serviços de armazenamento para sincronizar seu conteúdo.
Neste tutorial, você aprenderá a instalar o Wiki.js em um servidor Rocky Linux 9 usando o banco de dados PostgreSQL e o servidor Nginx para proxy.
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
wiki.example.comcomo o nome de domínio. - Certifique-se de que tudo está atualizado.
$ sudo dnf update - Instale pacotes utilitários básicos. Alguns deles podem já estar instalados.
$ sudo dnf install wget curl nano unzip yum-utils -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 PostgreSQL e Utilitários
O Rocky Linux 9 vem com uma versão mais antiga do PostgreSQL. Instalaremos o Postgres 14 para nosso tutorial.
Instale o RPM do repositório para o PostgreSQL.
$ sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm
Instale o servidor PostgreSQL 14.
$ sudo dnf install -y postgresql14-server postgresql14-contrib
Inicialize o banco de dados.
$ sudo /usr/pgsql-14/bin/postgresql-14-setup initdb
Ative e inicie o serviço PostgreSQL.
$ sudo systemctl enable postgresql-14 --now
Verifique o status do serviço.
$ sudo systemctl status postgresql-14
? postgresql-14.service - PostgreSQL 14 database server
Loaded: loaded (/usr/lib/systemd/system/postgresql-14.service; enabled; vendor preset: disabled)
Active: active (running) since Sat 2022-10-22 09:52:41 UTC; 2s ago
Docs: https://www.postgresql.org/docs/14/static/
Process: 103857 ExecStartPre=/usr/pgsql-14/bin/postgresql-14-check-db-dir ${PGDATA} (code=exited, status=0/SUCCESS)
Main PID: 103862 (postmaster)
Tasks: 8 (limit: 5915)
Memory: 16.6M
CPU: 61ms
CGroup: /system.slice/postgresql-14.service
??103862 /usr/pgsql-14/bin/postmaster -D /var/lib/pgsql/14/data/
??103863 "postgres: logger "
??103865 "postgres: checkpointer "
??103866 "postgres: background writer "
??103867 "postgres: walwriter "
??103868 "postgres: autovacuum launcher "
??103869 "postgres: stats collector "
??103870 "postgres: logical replication launcher "
Oct 22 09:52:41 wiki.example.com systemd[1]: Starting PostgreSQL 14 database server...
Passo 3 - Configurar PostgreSQL
Faça login no shell do PostgreSQL.
$ sudo -i -u postgres psql
Crie um novo banco de dados para o Wiki.js.
postgres=# CREATE DATABASE wikidb;
Crie um novo usuário de banco de dados com uma senha forte.
postgres=# CREATE USER wikiuser WITH ENCRYPTED PASSWORD 'wikipassword';
Conceda os direitos ao usuário para usar o banco de dados.
postgres=# GRANT ALL PRIVILEGES ON DATABASE wikidb TO wikiuser;
Saia do Shell Postgres.
postgres=# \q
Passo 4 - Instalar Node.js
O Wiki.js suporta Node v16 no momento da redação deste tutorial.
Instale o repositório Node usando o seguinte comando.
$ curl -fsSL https://rpm.nodesource.com/setup_16.x | sudo bash -
Instale o Node.
$ sudo dnf install nodejs -y
Verifique a instalação do Node.
$ node --version
v16.18.0
Passo 5 - Baixar Wiki.js
Crie uma pasta para instalar o Wiki.js.
$ sudo mkdir -p /var/www/wikijs
Defina o usuário atualmente logado como o proprietário da pasta.
$ sudo chown $USER:$USER /var/www/wikijs
Mude para o diretório e baixe o arquivo de código do Wiki.js.
$ cd /var/www/wikijs && wget https://github.com/Requarks/wiki/releases/latest/download/wiki-js.tar.gz
Extraia o arquivo baixado.
$ tar xzf wiki-js.tar.gz
Passo 6 - Configurar e Executar o Wiki.js
Crie o arquivo de configuração a partir do exemplo.
$ cp config.sample.yml config.yml
Abra o arquivo de configuração para edição.
$ nano config.yml
Encontre as seguintes configurações do banco de dados e atualize seus valores com os configurados no passo 3.
# PostgreSQL / MySQL / MariaDB / MS SQL Server only:
host: localhost
port: 5432
user: wikiuser
pass: wikipassword
db: wikidb
ssl: false
Encontre a linha bindIP: 0.0.0.0 e atualize-a da seguinte forma.
bindIP: 127.0.0.1
Isso fará com que o Wiki.js escute no endereço de loopback porque usaremos o proxy Nginx para acessá-lo externamente.
Salve o arquivo pressionando Ctrl + X e digitando Y quando solicitado.
Execute o Wiki.js usando o seguinte comando.
$ node server
Você receberá uma saída semelhante confirmando uma instalação bem-sucedida.
2022-10-22T10:25:48.187Z [MASTER] info: =======================================
2022-10-22T10:25:48.190Z [MASTER] info: = Wiki.js 2.5.289 ======================
2022-10-22T10:25:48.191Z [MASTER] info: =======================================
2022-10-22T10:25:48.191Z [MASTER] info: Initializing...
2022-10-22T10:25:49.079Z [MASTER] info: Using database driver pg for postgres [ OK ]
2022-10-22T10:25:49.086Z [MASTER] info: Connecting to database...
2022-10-22T10:25:49.117Z [MASTER] info: Database Connection Successful [ OK ]
2022-10-22T10:25:49.467Z [MASTER] warn: DB Configuration is empty or incomplete. Switching to Setup mode...
2022-10-22T10:25:49.468Z [MASTER] info: Starting setup wizard...
2022-10-22T10:25:49.740Z [MASTER] info: Starting HTTP server on port 3000...
2022-10-22T10:25:49.741Z [MASTER] info: HTTP Server on port: [ 3000 ]
2022-10-22T10:25:49.745Z [MASTER] info: HTTP Server: [ RUNNING ]
2022-10-22T10:25:49.745Z [MASTER] info: .......................................
2022-10-22T10:25:49.745Z [MASTER] info:
2022-10-22T10:25:49.746Z [MASTER] info: Browse to http://YOUR-SERVER-IP:3000/ to complete setup!
Pressione Ctrl + C para parar o processo.
Passo 7 - Configurar um Serviço Systemd
O processo acima para manter o Wiki.js em execução é temporário. Para tornar o processo permanente, precisaremos criar um serviço systemd para o Wiki.js para executá-lo como um serviço em segundo plano. Isso permitirá que o Wiki.js funcione após reinicializações do sistema.
Crie um arquivo de serviço systemd para o Wiki.js e abra-o para edição.
$ sudo nano /etc/systemd/system/wikijs.service
Cole o seguinte código nele. Substitua o valor da variável User pelo nome do seu usuário do sistema.
[Unit]
Description=Wiki.js
After=network.target
[Service]
Type=simple
ExecStart=/usr/bin/node server
Restart=always
User=navjot
Environment=NODE_ENV=production
WorkingDirectory=/var/www/wikijs
[Install]
WantedBy=multi-user.target
Salve o arquivo pressionando Ctrl + X e digitando Y quando solicitado.
Recarregue o daemon do sistema.
$ sudo systemctl daemon-reload
Ative o serviço Wiki.js.
$ sudo systemctl enable wikijs
Passo 8 - Instalar Nginx
O Rocky Linux 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.22.1
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; vendor preset: disabled)
Active: active (running) since Sat 2022-10-22 11:15:39 UTC; 49min ago
Docs: http://nginx.org/en/docs/
Process: 116236 ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf (code=exited, status=0/SUCCESS)
Main PID: 116237 (nginx)
Tasks: 2 (limit: 5915)
Memory: 5.0M
CPU: 245ms
CGroup: /system.slice/nginx.service
??116237 "nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf"
??116238 "nginx: worker process"
Oct 22 11:15:39 wiki.example.com systemd[1]: Starting nginx - high performance web server...
Passo 9 - Instalar SSL
Usaremos a ferramenta Certbot usando a ferramenta Snapd para emitir certificados SSL. Ela requer o repositório EPEL para funcionar.
$ sudo dnf install epel-release
Usaremos o Snapd para instalar o Certbot. Instale o Snapd.
$ sudo dnf install snapd
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
Instale o repositório core do Snapd.
$ sudo snap install core
$ sudo snap refresh core
Instale o Certbot.
$ sudo snap install --classic certbot
$ sudo ln -s /snap/bin/certbot /usr/bin/certbot
Gere o certificado. O seguinte comando também configurará automaticamente o Nginx.
$ sudo certbot certonly --nginx --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m [email protected] -d wiki.example.com
O comando acima baixará um certificado para o diretório /etc/letsencrypt/live/wiki.example.com em seu servidor.
Gere um certificado de grupo Diffie-Hellman.
$ sudo openssl dhparam -dsaparam -out /etc/ssl/certs/dhparam.pem 4096
Faça um teste do processo para verificar se a renovação do SSL está funcionando corretamente.
$ sudo certbot renew --dry-run
Se você não ver erros, está tudo pronto. Seu certificado será renovado automaticamente.
Passo 10 - Configurar SELinux
Execute os seguintes comandos para aplicar o contexto SELinux correto ao diretório do Wiki.js.
$ sudo semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/wikijs(/.*)?"
$ sudo restorecon -Rv /var/www/wikijs
Crie uma porta para HTTP e atribua-a a 3000 para fazer o Wiki.js funcionar com SELinux.
$ sudo semanage port -a -t http_port_t -p tcp 3000
Permita que o Nginx se conecte à rede.
$ sudo setsebool -P httpd_can_network_connect 1
Passo 11 - Configurar Nginx
Crie e abra o arquivo /etc/nginx/conf.d/wikijs.conf para edição.
$ sudo nano /etc/nginx/conf.d/wikijs.conf
Cole o seguinte código nele.
# enforce HTTPS
server {
listen 80;
listen [::]:80;
server_name wiki.example.com;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name wiki.example.com;
root /var/www/wikijs;
access_log /var/log/nginx/wiki.access.log;
error_log /var/log/nginx/wiki.error.log;
http2_push_preload on; # Enable HTTP/2 Server Push
ssl_certificate /etc/letsencrypt/live/wiki.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/wiki.example.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/wiki.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_session_cache shared:SSL:50m;
# 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 / {
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://127.0.0.1:3000;
}
}
# 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 "";
}
Substitua a localização raiz no arquivo acima pelo diretório em seu servidor.
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.
Inicie o serviço Wiki.js.
$ sudo systemctl start wikijs
Recarregue o servidor Nginx.
$ sudo systemctl reload nginx
Passo 12 - Finalizar a Instalação
Visite a URL https://wiki.example.com para finalizar a instalação.

Preencha os detalhes da sua conta de administrador e a URL. Desative a Telemetria desmarcando a opção Permitir Telemetria. Você também pode desativá-la a partir do painel de Administração. Clique no botão Instalar para prosseguir.
Você será levado à página de login.

Digite os detalhes da sua conta e clique no botão Entrar para prosseguir para a página de administração.

Agora você pode começar a usar o Wiki.js.
Conclusão
Isso conclui nosso tutorial onde você aprendeu como instalar o Wiki.js em um servidor Rocky Linux 9. Se você tiver alguma dúvida, poste nos comentários abaixo.
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.