Ferramentas de Usuário

Ferramentas de Site


pt:blog:2015:10_09_servidor_na_cloud_parte_5_instalar_o_dokuwiki

Servidor LEMP: Parte 5 - Instalar o Dokuwiki

Como instalar o dokuwiki no servidor LEMP.

Nesta série:

Com habitual o o Fórum Servidor Debian está disponível para todos os comentários, dúvidas e sugestões.

Se achar este artigo interessante não se esqueça de o partilhar:

O que vamos fazer

Neste artigo iremos ver como:

  • Configurar o 'server block' do nginx
  • Instalar o dokuwiki
  • Configurar o dokuwiki
  • Instalar plugins

Configurar o 'server block' do nginx

Em primeiro lugar vamos criar a configuração do novo site ou “server block” do nginx no ficheiro de configuração /etc/nginx/sites-avaliable/servidordebian.org. Esta é uma configuração mínima, apenas para podermos instalar, testar e configurar o dokuwiki. No próximo artigo iremos ver como a poderemos optimizar e tornar mais segura.

/etc/nginx/sites-avaliable/servidordebian.org
server {
    listen 80 default_server;
    listen [::]:80 default_server;
 
    # Optimized server names
    server_name servidordebian.org www.servidordebian.org *.servidordebian.org;
 
    root /var/www/servidordebian.org;
 
    # Add index.php to the list if you are using PHP
    index doku.php index.php index.html;
 
    # Security: deny access to hidden files (like .htaccess) and dirs (like .git)
    location ~ /\. { access_log off; log_not_found off; deny all; }
    location ~ ~$  { access_log off; log_not_found off; deny all; }
 
    # Optional: No logs for these files
    location = /favicon.ico { access_log off; log_not_found off; allow all; }
    location = /robots.txt  { access_log off; log_not_found off; allow all; }
 
 
    location / {
        try_files $uri $uri/ @dokuwiki;
    }
 
    location ~ ^/lib.*\.(gif|png|ico|jpg)$ {
        expires 30d;
    }
 
    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 ~ /(conf|bin|inc)/ {
        deny all;
    }
 
    location /data/ {
        internal;
    }
 
    # pass the PHP scripts to FastCGI server
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        # # With php5-cgi alone:
        # fastcgi_pass 127.0.0.1:9000;
        # # With php5-fpm:
        fastcgi_pass unix:/var/run/php5-fpm.sock;
    }
}

O dokuwiki ficará alojado na pasta /var/www/servidordebian.org, pelo que a deveremos criar:

fribeiro@servidordebian:~$ sudo mkdir /var/www/servidordebian.org 

E atribuir o proprietário correto:

fribeiro@servidordebian:~$ sudo chown www-data:www-data /var/www/servidordebian.org 

Por fim, devemos desativar o site predefinido e activar o nosso site:

fribeiro@servidordebian:~$ sudo rm /etc/nginx/sites-enabled/default
fribeiro@servidordebian:~$ sudo ln -sf /etc/nginx/sites-available/servidordebian.org /etc/nginx/sites-enabled/servidordebian.org

Uma rápida verificação final:

fribeiro@servidordebian:~$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Instalar o dokuwiki

A página de descarga do dokuwiki (Dokuwiki Download) permite a personalização do pacote de instalação e podemos acrescentar ou retirar diversos plugins ou ficheiros de tradução. Para o nosso site vamos descarregar simplesmente a versão estável (recomendada). Posteriormente poderemos acrescentar ou retirar os componentes necessários.

Como o servido nginx corre com os privilégios do utilizador e grupo www-data, vamos usar o comando sudo -u www-data para instalar os ficheiros do dokuwiki.

Em primeiro lugar vamos descarregar o arquivo dokuwiki-stable.tgz para a pasta /var/www/servidordebian.org:

fribeiro@servidordebian:~$ cd /var/www/servidordebian.org
fribeiro@servidordebian:/var/www/servidordebian.org$ sudo -u www-data wget http://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz

Descompactamos o arquivo:

fribeiro@servidordebian:/var/www/servidordebian.org$ sudo -u www-data tar -xzvf dokuwiki-stable.tgz --strip-components=1

E já podemos apagar o original:

fribeiro@servidordebian:/var/www/servidordebian.org$ sudo -u www-data rm dokuwiki-stable.tgz

Configurar o dokuwiki

A configuração do dokuwiki já pode ser feita através da sua interface web, bastando inserir o endereço do nosso servidor e aceder à página de instalação do dokuwiki em http://servidordebian.org/install.php:

O dokuwiki está instalado e pronto para ser personalizado com conjunto fantástico de conteúdos exclusivos :-)

Instalar plugins

A funcionalidade do dokuwiki pode ser expandida com a instalação de alguns plugins. Uma lista exaustiva dos plugins está disponível em DokuWiki:Plugins.

Apenas para exemplo vamos instalar dois plugins. No final desta secção poderão encontrar uma lista dos plugins que utilizo no site http://servidordebian.org.

O dokuwiki torna a instalação de plugins (e templates) muito fácil:depois de fazer o login, basta entrar na página de administração e procurar o plugin desejado na página de o gestor de extensões. Depois é só clicar bo botão instalar:

Plugin indexmenu

O plugin indexmenu (https://www.dokuwiki.org/plugin:indexmenu) cria um menu em árvore que torna a navegação no site bastante simples e intuitiva.

Para que o menu apareça na barra lateral basta criar uma página com o nome sidebar com o seguinte conteúdo:

sidebar
{{indexmenu>:#1|js#indextheme navbar nsort tsort notoc}}

E o resultado é:

NOTA: o plugin indexmenu tem diversas opções de configuração, pelo que é aconselhável estudar a documentação disponível em :IndexMenu Plugin.

Plugin translation

O plugin translation possibilita a criação de um site multi-idioma.

Após a instalação é necessário criar um ficheiro com código php para mostrar o seletor de idiomas. O código php não pode ser acrescentado numa página do wiki, mas o dokuwiki permite a inserção de código em alguns ficheiros especiais (ver Include Hooks) que podem ser editados a partir da linha de comandos do nosso servidor.

Para que o seletor de idioma apareça no cimo da barra lateral, podemos editar o ficheiro /var/www/servidordebian.org/conf/sidebarheader.html:

/var/www/servidordebian.org/conf/sidebarheader.html
<?php
$translation = &plugin_load('helper','translation');
if ($translation) echo $translation->showTranslations();
?>

Por fim, configuramos a lista de idiomas para o nosso wiki. Estes são os Códigos ISO 639-1 dos idiomas que pretendemos:

NOTA: o plugin translation tem diversas opções de configuração, pelo que é aconselhável estudar a documentação disponível em :Translation Plugin.

Plugins instalados no servidordebian.org

Agora que vimos como instalar plugins, poderemos facilmente expandir as funcionalidades do nosso site. A lista de plugins instalados no http://servidordebian.org é um pouco mais extensa:

Plugin Objetivo
Translation Tradução de páginas em diversos idiomas
Indexmenu Navegação fácil nos conteúdos o site
Blockquote Estiliza as citações
Blog Criação e gestão de um blog
Bloglinks Cria os links para o artigo seguinte e anterior no blog
Include Inclui páginas dentro de outras páginas - requerido pelo plugin Blog
Pagelist Formata a listagem de páginas - requerido pelo plugin Blog)
Socialite Facilita a inclusão de botões de partilha nas redes sociais
Disqus Permite inserir o serviço de comentários Disqus
Description Gera uma descrição de cada página para apresentação nos motores de busca
Orphanswanted Verifica se existem links inválidos
Searchtext Mostra os resultados das pesquisas em texto simples
Text Requerido pelo plugin Searchtext
Wrap Facilita a formatação de blocos de texto
Tag Permite a criação de etiquetas ou tags

Referências

pt/blog/2015/10_09_servidor_na_cloud_parte_5_instalar_o_dokuwiki.txt · Última modificação em: 2024-02-15 01:05 por 127.0.0.1

Excepto menção em contrário, o conteúdo neste wiki está sob a seguinte licença: CC Attribution-Noncommercial-Share Alike 4.0 International
CC Attribution-Noncommercial-Share Alike 4.0 International Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki