Instalação DokuWiki · 7 min read · Dec 14, 2025

Como Instalar DokuWiki com Nginx e SSL Let's Encrypt no FreeBSD 12

DokuWiki é um software wiki Open Source simples de usar e altamente versátil que não requer um banco de dados. É amado pelos usuários por sua sintaxe limpa e legível. A facilidade de manutenção, backup e integração faz dele o favorito dos administradores. Controles de acesso integrados e conectores de autenticação tornam o DokuWiki especialmente útil no contexto empresarial e um grande número de plugins contribuídos por sua comunidade vibrante permite uma ampla gama de casos de uso além de um wiki tradicional. Este tutorial mostrará como instalar o DokuWiki no servidor FreeBSD 12.

Requisitos

Certifique-se de que seu servidor atende aos seguintes requisitos.

  • Software de servidor web que suporte PHP (Apache, NGINX, IIS, Lighttpd, LiteSpeed)
  • Versão do PHP 5.6 ou posterior, versões mais novas são altamente recomendadas.

Pré-requisitos

  • Um sistema operacional FreeBSD 12.
  • Um usuário não-root com privilégios sudo.

Passos Iniciais

Verifique a versão do FreeBSD.

uname -ro  
# FreeBSD 12.1-RELEASE

Atualize os pacotes do seu sistema operacional (software). Este é um passo importante porque garante que você tenha as últimas atualizações e correções de segurança para os pacotes de software padrão do seu sistema operacional.

freebsd-update fetch install  
pkg update && pkg upgrade -y

Instale alguns pacotes essenciais que são necessários para a administração básica do sistema operacional FreeBSD 12.

pkg install -y sudo vim unzip curl wget bash bash-completion socat git

Crie uma nova conta de usuário com seu nome de usuário preferido, usamos johndoe.

adduser  
# Nome de usuário: johndoe  
# Nome completo: John Doe  
# Uid (Deixe vazio para padrão):   
# Grupo de login [johndoe]:   
# O grupo de login é johndoe. Convidar johndoe para outros grupos? []: wheel  
# Classe de login [default]:   
# Shell (sh csh tcsh nologin) [sh]: bash  
# Diretório home [/home/johndoe]:   
# Permissões do diretório home (Deixe vazio para padrão):   
# Usar autenticação baseada em senha? [sim]:   
# Usar uma senha vazia? (sim/não) [não]:   
# Usar uma senha aleatória? (sim/não) [não]:   
# Digite a senha: sua_senha_segura  
# Digite a senha novamente: sua_senha_segura  
# Bloquear a conta após a criação? [não]:   
# OK? (sim/não): sim  
# Adicionar outro usuário? (sim/não): não  
# Adeus!

Execute o comando visudo e descomente a linha %wheel ALL=(ALL) ALL, para permitir que membros do grupo wheel executem qualquer comando.

visudo  
  
# Descomente removendo o sinal de hash (#)  
%wheel ALL=(ALL) ALL

Agora, troque para seu novo usuário criado com o comando su.

su - johndoe

NOTA: Substitua johndoe pelo seu nome de usuário.

Configure o fuso horário.

sudo tzsetup

Passo 1 - Instalar PHP e extensões PHP

Instale o PHP, bem como as extensões PHP necessárias.

sudo pkg install -y php72 php72-mbstring php72-tokenizer php72-pdo php72-pdo_mysql php72-openssl php72-hash php72-json php72-phar php72-filter php72-zlib php72-dom php72-xml php72-xmlwriter php72-xmlreader php72-pecl-imagick php72-curl php72-session php72-ctype php72-iconv php72-gd php72-simplexml php72-zip php72-filter php72-tokenizer php72-calendar php72-fileinfo php72-intl php72-mysqli php72-phar php72-opcache php72-pdo_pgsql

Verifique a versão do PHP.

php --version  
# PHP 7.2.17 (cli) (built: Apr 13 2019 01:13:32) ( NTS )  
# Copyright (c) 1997-2018 The PHP Group  
# Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

Crie um link simbólico de php.ini-production para php.ini.

sudo ln -s /usr/local/etc/php.ini-production /usr/local/etc/php.ini

Ative e inicie o PHP-FPM.

sudo sysrc php_fpm_enable=yes  
sudo service php-fpm start

Passo 2 - Instalar o cliente acme.sh e obter o certificado Let’s Encrypt (opcional)

Proteger seu site com HTTPS não é necessário, mas é uma boa prática para proteger o tráfego do seu site. Para obter um certificado TLS do Let’s Encrypt, usaremos o cliente acme.sh. Acme.sh é um software de shell UNIX simples para obter certificados TLS do Let’s Encrypt com zero dependências.

Baixe e instale o acme.sh:

sudo pkg install -y acme.sh

Verifique a versão do acme.sh:

acme.sh --version  
# v2.8.5

Obtenha certificados RSA e ECC/ECDSA para seu domínio/nome do host:

# RSA 2048  
sudo acme.sh --issue --standalone -d example.com --keylength 2048  
# ECDSA  
sudo acme.sh --issue --standalone -d example.com --keylength ec-256

Se você quiser certificados falsos para teste, pode adicionar a flag --staging aos comandos acima.

Após executar os comandos acima, seus certificados e chaves estarão em:

  • Para RSA: diretório /home/username/example.com.
  • Para ECC/ECDSA: diretório /home/username/example.com_ecc.

Para listar seus certificados emitidos, você pode executar:

acme.sh --list

Crie um diretório para armazenar seus certificados. Usaremos o diretório /etc/letsencrypt.

sudo mkdir -p /etc/letsecnrypt/example.com  
sudo mkdir -p /etc/letsencrypt/example.com_ecc

Instale/copie os certificados para o diretório /etc/letsencrypt.

# RSA  
sudo acme.sh --install-cert -d example.com --cert-file /etc/letsencrypt/example.com/cert.pem --key-file /etc/letsencrypt/example.com/private.key --fullchain-file /etc/letsencrypt/example.com/fullchain.pem --reloadcmd "sudo systemctl reload nginx.service"  
# ECC/ECDSA  
sudo acme.sh --install-cert -d example.com --ecc --cert-file /etc/letsencrypt/example.com_ecc/cert.pem --key-file /etc/letsencrypt/example.com_ecc/private.key --fullchain-file /etc/letsencrypt/example.com_ecc/fullchain.pem --reloadcmd "sudo systemctl reload nginx.service"

Todos os certificados serão renovados automaticamente a cada 60 dias.

Após obter os certificados, saia do usuário root e retorne ao usuário sudo regular:

exit

Passo 3 - Instalar e configurar o Nginx

DokuWiki funcionará em qualquer servidor web que suporte PHP. Neste tutorial, usaremos o Nginx. Se você preferir Apache ou outro servidor web, pode usar isso em vez do Nginx.

Instale o Nginx.

sudo pkg install -y nginx

Verifique a versão do Nginx.

nginx -v  
# versão do nginx: nginx/1.16.1

Ative e inicie o serviço Nginx.

sudo sysrc nginx_enable=yes  
sudo service nginx start

Execute sudo vim /usr/local/etc/nginx/dokuwiki.conf e configure o servidor virtual Nginx para o DokuWiki.

sudo vim /usr/local/etc/nginx/dokuwiki.conf

Copie/cole a seguinte configuração do Nginx e salve:

server {  
    
    listen [::]:443 ssl;  
    listen 443 ssl;
    listen [::]:80;
    listen 80;
    # RSA  
    ssl_certificate /etc/letsencrypt/example.com/fullchain.pem;  
    ssl_certificate_key /etc/letsencrypt/example.com/private.key;  
    # ECC  
    ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.pem;  
    ssl_certificate_key /etc/letsencrypt/example.com_ecc/private.key;  

    server_name wiki.example.com;
    root /usr/local/www/dokuwiki;
    index index.html index.htm index.php doku.php;
    
    client_max_body_size 15M;
    client_body_buffer_size 128K;
    
    location / {
        try_files $uri $uri/ @dokuwiki;
    }
    
    location ^~ /conf/ { return 403; }
    location ^~ /data/ { return 403; }
    location ~ \.ht { deny all; }
    
    location @dokuwiki {
        rewrite ^/_media/(.*) /lib/exe/fetch.php?media=$1 last;
        rewrite ^/_detail/(.*) /lib/exe/detail.php?media=$1 last;
        rewrite ^/_export/([^/]+)/(.*) /doku.php?do=export_$1&id=$2 last;
        rewrite ^/(.*) /doku.php?id=$1 last;
    }
    location ~ \.php$ {
        try_files $uri $uri/ /doku.php;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_param REDIRECT_STATUS 200;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}

Salve o arquivo e saia do seu editor.

Inclua o arquivo dokuwiki.conf no arquivo principal nginx.conf executando sudo vim /usr/local/etc/nginx/nginx.conf e adicione a seguinte linha ao bloco http {}.

inclua dokuwiki.conf;

Teste nossas alterações de configuração do Nginx.

sudo nginx -t

Recarregue o Nginx.

sudo service nginx reload

Passo 4 - Instalar DokuWiki

Crie um diretório raiz de documentos:

sudo mkdir -p /usr/local/www/dokuwiki

Navegue até o diretório raiz do documento:

cd /usr/local/www/dokuwiki

Baixe a versão estável mais recente do DokuWiki na página de download do DokuWiki:

sudo wget https://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz

Descompacte o tarball do DokuWiki:

sudo tar xvf dokuwiki-stable.tgz  
sudo rm dokuwiki-stable.tgz  
sudo mv dokuwiki-2018-04-22b/* . && mv dokuwiki-2018-04-22b/.* .  
sudo rmdir dokuwiki-2018-04-22b/

Altere a propriedade do diretório /var/www/dokuwiki para www:

sudo chown -R www:www /usr/local/www/dokuwiki

Reinicie o PHP-FPM:

sudo service php-fpm restart

Abra o script de configuração do DokuWiki, install.php, em seu navegador e configure o DokuWiki. O script de configuração verifica a disponibilidade das funções PHP necessárias e verifica as permissões de arquivo necessárias. Ele também cria uma conta de administrador inicial e uma política ACL inicial. Para executar o instalador, abra http://wiki.example.com/install.php no navegador e siga as instruções.

Passo 5 - Acessar a Interface Web do DokuWiki

Abra seu navegador web e digite a URL http://example.com/install.php. Você será redirecionado para a seguinte página:

Instalador DokuWiki

Forneça todas as informações necessárias, como nome de superusuário, e-mail, senha. Em seguida, clique no botão Salvar. Uma vez que a instalação tenha sido concluída com sucesso, você deve ver a seguinte página:

Defina nome de usuário e senha

Agora, clique em seu novo DokuWiki. Você deve ver a seguinte página:

DokuWiki instalado com sucesso

Agora, clique no botão login. Você será redirecionado para a seguinte página:

Login

Agora, forneça seu nome de usuário e senha de Admin. Em seguida, clique no botão Entrar. Você deve ver o painel do DokuWiki na seguinte página:

Bem-vindo ao DokuWiki

Após uma configuração bem-sucedida, exclua o arquivo install.php do diretório raiz do DokuWiki:

sudo rm /var/www/dokuwiki/install.php

Parabéns! Você instalou e configurou com sucesso o DokuWiki no servidor FreeBSD 12. Agora você pode criar seu próprio site wiki facilmente usando o DokuWiki.

Links

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.