Servidor LEMP: Parte 5 - Instalar o Dokuwiki
Como instalar o dokuwiki
no servidor LEMP.
Nesta série:
- Parte 6 - Otimizar o desempenho do sistema
- Parte 7 - Instalar outras aplicações
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 |