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-RELEASEAtualize 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 -yInstale 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 gitCrie 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) ALLAgora, troque para seu novo usuário criado com o comando su.
su - johndoeNOTA: Substitua johndoe pelo seu nome de usuário.
Configure o fuso horário.
sudo tzsetupPasso 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_pgsqlVerifique 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 TechnologiesCrie um link simbólico de php.ini-production para php.ini.
sudo ln -s /usr/local/etc/php.ini-production /usr/local/etc/php.iniAtive e inicie o PHP-FPM.
sudo sysrc php_fpm_enable=yes
sudo service php-fpm startPasso 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.shVerifique a versão do acme.sh:
acme.sh --version
# v2.8.5Obtenha 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-256Se 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 --listCrie 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_eccInstale/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:
exitPasso 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 nginxVerifique a versão do Nginx.
nginx -v
# versão do nginx: nginx/1.16.1Ative e inicie o serviço Nginx.
sudo sysrc nginx_enable=yes
sudo service nginx startExecute sudo vim /usr/local/etc/nginx/dokuwiki.conf e configure o servidor virtual Nginx para o DokuWiki.
sudo vim /usr/local/etc/nginx/dokuwiki.confCopie/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 -tRecarregue o Nginx.
sudo service nginx reloadPasso 4 - Instalar DokuWiki
Crie um diretório raiz de documentos:
sudo mkdir -p /usr/local/www/dokuwikiNavegue até o diretório raiz do documento:
cd /usr/local/www/dokuwikiBaixe 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.tgzDescompacte 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/dokuwikiReinicie o PHP-FPM:
sudo service php-fpm restartAbra 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:
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:
Agora, clique em seu novo DokuWiki. Você deve ver a seguinte página:
Agora, clique no botão login. Você será redirecionado para a seguinte página:
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:
Após uma configuração bem-sucedida, exclua o arquivo install.php do diretório raiz do DokuWiki:
sudo rm /var/www/dokuwiki/install.phpParabé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
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.