Como instalar Wiki.js no Ubuntu 18.04

Você está aqui:
Tempo estimado de leitura: 4 min

O Wiki.js é um aplicativo wiki gratuito e de código aberto, construído em Node.js , Git e Markdown . O código-fonte do Wiki.js é hospedado publicamente no Github . Este guia mostrará a você como instalar o Wiki.js em uma nova instância do Ubuntu 18.04 LTS Site & Site usando Node.js, MongoDB, PM2, Nginx, Git e Acme.sh.

Requisitos

Os requisitos para executar o Wiki.js e terminar este guia são os seguintes:

  • Node.js versão 6.9.0 ou posterior
  • Versão 3.2 ou posterior do MongoDB
  • Nginx
  • Git versão 2.7.4 ou posterior
  • Mínimo de 768MB de RAM
  • Nome de domínio com AAAAAregistros configurados

Verifique a versão do Ubuntu.

lsb_release -ds
# Ubuntu 18.04.4 LTS

Crie uma nova non-rootconta de usuário com sudoacesso e mude para ela.

adduser johndoe --gecos "John Doe"
usermod -aG sudo johndoe
su - johndoe

NOTA : Substitua johndoepelo seu nome de usuário.

Configure o fuso horário.

sudo dpkg-reconfigure tzdata

Certifique-se de que seu sistema esteja atualizado.

sudo apt update && sudo apt upgrade -y

Instale os pacotes necessários.

sudo apt install -y build-essential apt-transport-https

Instalar o Git

O Git 2.7.4 vem pré-instalado na edição do servidor Ubuntu, então não precisamos instalá-lo. Se você deseja instalar uma versão mais recente, você pode usar PPAs de terceiros ou compilar a versão mais recente do Git a partir da origem.

Você pode verificar a versão atualmente instalada do Git executando:

git --version
# git version 2.7.4

Se você quiser instalar uma nova versão do software Git, você pode usar o seguinte.

# Remove existing git package
sudo apt remove -y git
sudo apt-get install software-properties-common
sudo add-apt-repository -y ppa:git-core/ppa
sudo apt update && sudo apt upgrade -y
sudo apt install -y git

Verifique a versão do Git.

git --version
# git version 2.17.0

Instalar o Node.js

Instale o Node.js utilizando o repositório do NodeSource APT para o Node.js.

curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt install -y nodejs

Verifique as versões do Node.js e NPM.

node -v && npm -v
# v8.11.2
# 5.6.0

Instalar o MongoDB

Usaremos os repositórios oficiais do MongoDB , que são mantidos atualizados com os lançamentos principais e secundários mais recentes do MongoDB.

Instale o MongoDB Community Edition.

sudo apt install -y mongodb

Verifique a versão.

mongo --version | head -n 1 && mongod --version | head -n 1
# MongoDB shell version v3.6.3
# db version v3.6.3

Instalar e configurar o Nginx

Instale o Nginx.

wget https://nginx.org/keys/nginx_signing.key
sudo apt-key add nginx_signing.key
rm nginx_signing.key
sudo -s
printf "deb https://nginx.org/packages/mainline/ubuntu/ $(lsb_release -sc) nginx\ndeb-src https://nginx.org/packages/mainline/ubuntu/ $(lsb_release -sc) nginx\n" >> /etc/apt/sources.list.d/nginx_mainline.list
exit
sudo apt update
sudo apt install -y nginx

Verifique a versão.

sudo nginx -v
# nginx version: nginx/1.15.0

Ativar e iniciar o Nginx.

sudo systemctl enable nginx.service
sudo systemctl start nginx.service

Configure o Nginx como um proxy reverso para o aplicativo Wiki.js.

Executar sudo vim /etc/nginx/conf.d/wiki.js.confe preenchê-lo com a configuração do proxy reverso básico abaixo.

server {

    listen [::]:80;
    listen 80;

    server_name wiki.example.com;

    root /usr/share/nginx/html;

    charset utf-8;
    client_max_body_size 50M;

    location /.well-known/acme-challenge/ {
        allow all;
    }

    location / {
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_pass http://127.0.0.1:3000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_next_upstream error timeout http_502 http_503 http_504;
    }

}

A única coisa que você precisa mudar na configuração acima é a server_namediretiva e potencialmente a proxy_passdiretiva se você decidir configurar qualquer outra porta além 3000. O Wiki.js usa porta 3000por padrão.

Verifique a configuração.

sudo nginx -t

Recarregue Nginx.

sudo systemctl reload nginx.service

Instale o cliente Acme.sh e obtenha um certificado Let’s Encrypt (opcional)

Proteger o seu wiki HTTPSnão é necessário, mas irá proteger o tráfego do seu site. O Acme.sh é um software shell unix puro para obter certificados SSL do Let’s Encrypt com dependências nulas.

Baixe e instale Acme.sh .

sudo mkdir /etc/letsencrypt
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh
sudo ./acme.sh --install --home /etc/letsencrypt --accountemail [email protected]
cd ~

Verifique a versão.

/etc/letsencrypt/acme.sh --version

Obtenha certificados RSA e ECDSA para wiki.example.comdomain / hostname.

# RSA 2048
sudo /etc/letsencrypt/acme.sh --issue --home /etc/letsencrypt -d wiki.example.com --webroot /usr/share/nginx/html --reloadcmd "sudo systemctl reload nginx.service" --accountemail [email protected] --ocsp-must-staple --keylength 2048
# ECDSA/ECC P-256
sudo /etc/letsencrypt/acme.sh --issue --home /etc/letsencrypt -d wiki.example.com --webroot /usr/share/nginx/html --reloadcmd "sudo systemctl reload nginx.service" --accountemail [email protected] --ocsp-must-staple --keylength ec-256 

Depois de executar os comandos acima, seus certificados e chaves estarão em:

  • Para RSA: o /etc/letsencrypt/wiki.example.comdiretório.
  • Para ECC / ECDSA: o /etc/letsencrypt/wiki.example.com_eccdiretório.

Depois de obter os certificados da Let’s Encrypt, precisamos configurar o Nginx para usá-los.

Execute sudo vim /etc/nginx/conf.d/wiki.js.confnovamente e configure o Nginx como um HTTPSproxy reverso.

server {

    listen [::]:443 ssl http2;
    listen 443 ssl http2;
    listen [::]:80;
    listen 80;

    server_name wiki.example.com;

    root /usr/share/nginx/html;

    charset utf-8;
    client_max_body_size 50M;

    location /.well-known/acme-challenge/ {
        allow all;
    }

    # RSA
    ssl_certificate /etc/letsencrypt/wiki.example.com/fullchain.cer;
    ssl_certificate_key /etc/letsencrypt/wiki.example.com/wiki.example.com.key;
    # ECDSA
    ssl_certificate /etc/letsencrypt/wiki.example.com_ecc/fullchain.cer;
    ssl_certificate_key /etc/letsencrypt/wiki.example.com_ecc/wiki.example.com.key;

    location / {
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_pass http://127.0.0.1:3000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_next_upstream error timeout http_502 http_503 http_504;
    }

}

Verifique a configuração.

sudo nginx -t

Recarregue Nginx.

sudo systemctl reload nginx.service

Instale o Wiki.js

Crie uma pasta raiz de documentos vazia onde o Wiki.js deve ser instalado.

sudo mkdir -p /var/www/wiki.example.com

Navegue até a pasta raiz do documento.

cd /var/www/wiki.example.com

Altere a propriedade da /var/www/wiki.example.compasta para o usuário johndoe.

sudo chown -R johndoe:johndoe /var/www/wiki.example.com

Na /var/www/wiki.example.compasta, execute o seguinte comando para baixar e instalar o Wiki.js.

curl -sSo- https://wiki.js.org/install.sh | bash

Para ver a versão atualmente instalada do Wiki.js, você pode executar o seguinte comando.

node wiki --version
# 1.0.78

Quando a instalação estiver concluída, você será solicitado a executar o assistente de configuração.

Inicie o assistente de configuração.

node wiki configure

Isto irá notificá-lo para navegar http://localhost:3000para configurar o Wiki.js. Se você tiver o Nginx na frente do Wiki.js, poderá abrir seu nome de domínio (por exemplo http://wiki.example.com) em vez de ir para localhost.

Usando seu navegador da Web, navegue http://wiki.example.come siga as instruções na tela. Todas as configurações inseridas durante o assistente de configuração são salvas no config.ymlarquivo. O assistente de configuração irá iniciar automaticamente o Wiki.js para você.

Instalar PM2

Por padrão, o Wiki.js não será iniciado automaticamente após a reinicialização do sistema. Para que seja iniciado no boot, precisamos configurar o PM2. O PM2 vem junto com o Wiki.js como um módulo NPM local, portanto, não precisamos instalar o PM2 globalmente.

Diga ao PM2 para se configurar como um serviço de inicialização.

/var/www/wiki.example.com/node_modules/pm2/bin/pm2 startup

Finalmente, salve a configuração atual do PM2.

/var/www/wiki.example.com/node_modules/pm2/bin/pm2 save

O Wiki.js é executado como um processo em segundo plano, usando o PM2 como seu gerenciador de processos.

Esse artigo foi útil?
Não Gostei 0
Visualizações: 448

Ainda não Têm uma Conta?

Então Cadastre-se

Nome de Usuário*
E-mail*
Senha*
Confirmar Senha*

Já têm Uma Conta? Click Aqui.

Já tem uma Conta?

Ainda não tem Conta?