MediaWiki é um programa de wiki que permite colaboração e compartilhamento de conhecimento entre vários usuários. É usado pela Wikipédia e várious outros sites. É uma boa escolha para uma criar uma repositório de conhecimento onde várias pessoas possam ler e colaborar para torná-lo ainda melhor.
Para instalar MediaWiki, vamos primeiro instalar suas dependências e adicionalmente o programa wget
para fazer o download do MediaWiki em si. Conecte-se ao seu servidor e rode o seguinte comando:
apt update
apt upgrade
apt install imagemagick mariadb-server php php-apcu php-cli php-curl php-fpm php-intl php-json php-mbstring php-mysql php-xml wget
Agora, vamos baixar o MediaWiki.
wget https://releases.wikimedia.org/mediawiki/1.41/mediawiki-1.41.0.tar.gz
Vamos extrair o arquivo usando tar
, renomear a pasta extraída com mv
e configurar suas devidas permissões com chown
.
tar -xzf mediawiki-1.41.0.tar.gz -C /var/www/
mv /var/www/mediawiki-1.41.0 /var/www/mediawiki
chown -R www-data:www-data /var/www/mediawiki/
Agora vamos criar um banco de dados, utilizando MariaDB/MySQL. Vamos criar um banco de dados chamado my_wiki
e um usuário chamado wikiuser
. Você pode usar os nomes que quiser, mas lembre deles pois serão necessários depois.
mysql -u root -p
Enter Password: (digite sua senha do usuário root do mysql, caso não tenha configurado uma senha, basta apertar enter)
CREATE DATABASE my_wiki;
CREATE USER 'wikiuser'@'localhost' IDENTIFIED BY 'senha-para-wikiuser';
GRANT ALL PRIVILEGES ON my_wiki.* TO 'wikiuser'@'localhost' WITH GRANT OPTION;
quit
Agora, vamos criar um arquivo de configuração para nginx.
nano /etc/nginx/sites-available/mediawiki
Copie e cole as seguintes linhas dentro deste arquivo, baseado nas configurações daqui. Não esqueça de substituir wiki.exemplo.org pelo subdomínio que você quer usar.
server {
listen 80;
listen [::]:80;
server_name wiki.exemplo.org;
root /var/www/mediawiki;
index index.php;
client_max_body_size 5m;
client_body_timeout 60;
location / {
try_files $uri $uri/ @rewrite;
}
location @rewrite {
rewrite ^/(.*)$ /index.php?title=$1&$args;
}
location ^~ /maintenance/ {
return 403;
}
location /rest.php {
try_files $uri $uri/ /rest.php?$args;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass unix:/var/run/php/php-fpm.sock;
fastcgi_param SCRIPT_FILENAME $request_filename;
}
location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
try_files $uri /index.php;
expires max;
log_not_found off;
}
location = /_.gif {
expires max;
empty_gif;
}
location ^~ /cache/ {
deny all;
}
location /dumps {
root /var/www/mediawiki/local;
autoindex on;
}
}
Salve o arquivo e habilite-o.
ln -s /etc/nginx/sites-available/mediawiki /etc/nginx/sites-enabled/
systemctl restart nginx
Gere um certificado SSL para o subdomínio.
certbot --nginx
Você pode agora acessar wiki.exemplo.org e continuar a instalação por lá. A Primeira tela vai te pedir para escolher uma linguagem, escolha "pt-br" a menos que queira outra. Ao chegar na seção "Conectar ao banco de dados", aonde pede o nome da base de dados, digite o nome do banco de dados que você criou acima, no meu caso, my_wiki
. Na parte "Conta de usuário para instalação", escreva o nome e senha para o usuário que você criou acima, no meu caso, o usuário é wikiuser
. Sua tela vai ficar mais ou menos assim.
Após isso, siga as instruções na tela, clique em "ajuda" caso tenha dúvida. Ao final, clique em "Faça-me mais perguntas" caso queira configurar algumas coisas a mais, ou "Já estou aborrecido, apenas instale a wiki" para usar as configurações padrão.
Ao final dessa configuração, você irá baixar um arquivo chamado "LocalSettings.php". Este arquivo contém suas configurações, e deve ser enviado à sua pasta do MediaWiki em seu servidor. A forma mais fácil é com o comando scp
. Por exemplo, caso você esteja usando Windows e salvou LocalSettings.php na pasta "Downloads", abra um Prompt de Comando rode esse comando, substituindo pelo seu domínio.
scp Downloads\LocalSettings.php root@exemplo.org:/var/www/mediawiki/
Sua wiki agora está pronta! Os passos a seguir são opcionais, porém recomendo seguí-los para garantir a segurança e estabilidade da sua wiki.
Abra o arquivo /var/www/mediawiki/LocalSettings.php
com um editor de texto e adicione uma nova linha ao final dele com o seguinte texto, seguindo a recomendação daqui.
$wgUsePathInfo = True;
Para garantir que ninguém possa acessar o script de configuração inicial da wiki e possívelmente reconfigurá-la sem seu conhecimento, vamos desabilitar seu acesso. Abra o arquivo /etc/nginx/sites-available/mediawiki
e abaixo do bloco que diz location /dumps
, adicione a seguinte linha em negrito. Seu arquivo deve ficar mais ou menos assim:
location /dumps {
root /var/www/mediawiki/local;
autoindex on;
}
location = /mw-config/index.php {
deny all;
}
}
Salve o arquivo e reinicie o nginx para as configurações terem efeito.
systemctl restart nginx
A instalação está completa! Agora, basta ler a documentação para saber como utilizar sua wiki. Divirta-se!