Como configurar uma MediaWiki

De Compendium Tolkien

Configurar uma enciclopédia através do MediaWiki não é tão difícil depois que se aprende, mas, infelizmente, é extremamente difícil encontrar informações claras internet afora sobre como fazer o que você precisa. Isso fica ainda mais chocante quando você para para pensar no quão antiga essa plataforma é e no quanto ela é usada mundo afora.

Isto posto, resolvi ir compilando aqui os conhecimentos sobre MediaWiki que eu for obtendo conforme vou aprendendo a configurar o Compendium Tolkien para que outras pessoas não tenham de sofrer como eu sofri (ao menos não tanto quanto).

Caso você tenha conhecimento sobre MediaWiki e queira expandir essa página, fica à vontade para fazê-lo. Porém, peço apenas que se lembre que o foco desta página é ajudar pessoas que, como eu, não sabem absolutamente nada de programação. Em outras palavras, a ideia é quase literalmente "desenhar" o que deve ser feito, deixando o mais explicado possível. Excesso de explicação jamais será um problema aqui.

[Atualizado por último em: 28/02/2024]

Como instalar uma MediaWiki

Há diversas formas de se instalar uma MediaWiki, variando desde formas mais complexas a formas mais simples.

Instalando uma MediaWiki manualmente

[...]

Instalando uma MediaWiki através de um site de hospedagem

A forma mais simples de se instalar uma MediaWiki é fazendo-o diretamente através de um site de hospedagem, pois a maioria deles possuem instaladores automáticos que fazem todo o processo para você.

Busque pelo site de hospedagem desejado e siga o passo a passo respectivo.

Hostinger

O Compendium Tolkien é um exemplo de MediaWiki inicialmente criada através do Hostinger, um site de hospedagem que oferece diversas plataformas para criação automática de sites, desde plataformas próprias até plataformas famosas, como WordPress e, é claro, o MediaWiki.

[...]

Introdução ao "LocalSettings.php"

Quando você instala o MediaWiki, haverá na raiz do seu site um documento chamado LocalSettings.php. Este é um dos documentos mais importantes do seu site e que será mais frequentemente usado para configurá-lo. Ele é basicamente um "bloco de notas" no qual você pode incluir "comandos" para serem lidos por seu site.

Aliás, não se assuste: você não precisa entender nada de código; basta encontrar na internet o código referente ao que você precisa, copiá-lo e depois colá-lo dentro deste arquivo LocalSettings.php. Alguns códigos podem ser encontrados no próprio site da MediaWiki, mas eles não fazem um bom trabalho nisso, então a maioria você encontrará internet afora em diversos sites diferentes (Reddit, YouTube, etc.): geralmente alguém pergunta uma dúvida e outra pessoa responde esclarecendo o código que é necessário usar.

Cada "comando" precisa estar em uma linha separada para que um não entre em conflito com o outro. Em tese você pode escrever/colar comandos em qualquer lugar dentro desse arquivo LocalSettings.php, mas, para não correr o risco de você incluir um comando no "meio" de um outro comando sem perceber, eu recomendo que novos comandos sejam sempre incluído ao final do documento, depois de todos os outros comandos já existentes, pois assim você terá certeza de que não estará conflitando com nada.

Outro detalhe muito importante: toda linha de código dever terminar com um símbolo de ponto e vírgula (;). Você pode ter incluído um código perfeitamente; se não tiver colocado um ";" ao final ele não funcionará.

Você também pode incluir qualquer tipo de texto explicativo dentro deste arquivo chamado LocalSettings.php, o que acaba sendo muito importante principalmente para quem não tem muito conhecimento técnico no assunto, pois você pode, por exemplo, incluir uma breve explicação sobre o código que você está incluindo no arquivo. Deste modo, caso você se esqueça no futuro para o que serve um código específico que você colocou lá, essa explicação te ajudará a se lembrar.

Importante: para que o MediaWiki não interprete o seu texto explicativo como um comando é necessário acrescentar uma "hashtag" (#) no início da linha. Toda linha que começar com uma hashtag o programa irá ignorar, enquanto toda linha que começar com qualquer outra coisa o programa irá interpretar como um comando. Então, na hora de incluir textos explicativos, sempre comece a linha com uma hashtag!

Abaixo, um exemplo:

# O código abaixo deixa você escolher o tema padrão da sua wiki, que será automaticamente implementado para todos os usuários que não tenha optado por um tema personalizado.

# Para alterá-lo é necessário pegar o código ID do tema e colocá-lo dentro das aspas.

$wgDefaultSkin = "timeless";

Nota-se que o texto explicativo começa com uma hashtag (#), bem como que o código que segue na linha de baixo é finalizado por um símbolo de ponto e vírgula (;). Em tese o código pode ser colocado já na linha debaixo do texto explicativo, ou na linha imediatamente abaixo de outro código, mas, para evitar confusões, recomendo que você pule pelo menos uma linha entre um texto explicativo e um código ou entre um código e outro código (lembrando que, como comentei, você pode colocar o código em qualquer lugar do arquivo, pois o programa ignora linhas em branco e linhas que começam com uma hashtag). Ficará mais fácil de você se achar depois.

Caso seu texto explicativo fique muito longo, como no exemplo acima, é interessante "quebrá-lo" em várias linhas para que você não precise rolar o mouse para a direita para continuar lendo. Porém, fique atento: caso você quebre seu texto explicativo em mais linhas, lembre-se de sempre incluir uma hashtag no começo de cada uma dessas linhas, pois, como já disse, linhas que não começam com uma hashtag o programa interpretará como um código!

Por exemplo:

# O código abaixo deixa você escolher o tema padrão da sua wiki,

# que será automaticamente implementado para todos os usuários que

# não tenha optado por um tema personalizado.

# Para alterá-lo, é necessário pegar o código ID do tema

# e colocá-lo dentro daquelas aspas.

$wgDefaultSkin = "timeless";

Customizando a aparência da sua wiki

Quando você instala o MediaWiki, o arquivo LocalSettings.php já virá com vários comandos gerados automaticamente. Um deles é o comando que define qual será a imagem que representará a logo da sua wiki. Sendo assim, neste caso não é necessário que você crie nenhum comando novo, mas apenas que você modifique um comando já existente.

Para localizar um código que já consta dentro do documento, você pode usar Ctrl+F (ou, dependendo de qual programa você usou para abrir o LocalSettings.php, Ctrl+L) da mesma forma que você usa, por exemplo, em um site da internet.

Sendo assim, com o LocalSettings.php aberto, pesquise pela palavra "logo" e você encontrará o seguinte código:

## The URL paths to the logo.  Make sure you change this from the default,

## or else you'll overwrite your logo when you upgrade!

$wgLogos = [

   '1x' => "$wgResourceBasePath/resources/assets/change-your-logo.svg",

   'icon' => "$wgResourceBasePath/resources/assets/change-your-logo.svg",

];

Nota-se que aquelas duas linhas que começam com ## são apenas linhas explicativas e não fazem parte de nenhum código. Em tese você poderia apagá-las que não faria falta (mas não tem por que apagar).

O código mesmo são aquelas quatro últimas linhas, que não começam com #. Alguns códigos preencherão tão somente uma linha, enquanto outros podem abranger mais de uma linha (como este). Aliás, nota-se que ao final do código há um símbolo de ponto e vírgula (;). Nunca se esqueça dele quando estiver incluindo um código novo (normalmente códigos que você pega internet afora não incluem o ponto e vírgula final, então você tem de lembrar de pô-lo).

Quanto ao código para alterar a logo do site, note que há um "caminho" nele: /resources/assets/change-your-logo.svg.

Caso você não tenha percebido, cada um desses nomes (resources e assets) são pastas dentro do seu servidor do MediaWiki, e o último nome (change-your-logo.svg) é o nome do arquivo em si. Ou seja, para alterar a logo da sua MediaWiki basta que você "suba" a imagem da logo para dentro do seu servidor e depois atualize o caminho neste código (não é necessário que seja um arquivo em .svg; você pode usar .png ou .jpg normalmente).

Em tese você poderia salvar a sua imagem em qualquer lugar do seu servidor, mas eu recomendaria você salvar no mesmo lugar que a logo padrão (resources/assets). Se quiser, crie uma pasta dentro de assets (por exemplo, uma pasta chamada "imagens").

Atenção: não substitua a imagem padrão que vem pré-instalada no MediaWiki, mas sim salve a sua imagem em outro lugar ou, se for no mesmo lugar, com outro nome. Em tese não teria problema você substituir o arquivo padrão com o seu arquivo pessoal, mas isso pode gerar problemas em uma atualização futura. Quando você atualiza a versão da sua MediaWiki, algumas configurações de fábrica são preestabelecidas, o que quer dizer que, se você substituir a logo padrão pela sua dentro do servidor, pode ser que você perca sua logo em uma atualização. Repito: salve sua logo em outra pasta ou, se for na mesma pasta, use outro nome. Depois é só consertar o "caminho" dela no código.

No meu caso, o código da logo ficou da seguinte forma:

## The URL paths to the logo.  Make sure you change this from the default,

## or else you'll overwrite your logo when you upgrade!

$wgLogos = [

   '1x' => "$wgResourceBasePath/resources/assets/logo-simples-sem-fundo.png",

   'icon' => "$wgResourceBasePath/resources/assets/logo-simples-sem-fundo.png",

];

O caminho é exatamente o mesmo, pois salvei a minha logo na mesma pasta em que se encontra a logo padrão e apenas usei um nome diferente para o arquivo. Sendo assim, bastou que eu alterasse o nome do arquivo no caminho que já se encontrava no código padrão.

Como incluir um favicon

Caso você não saiba, "favicon" é o nome dado para aquele ícone que fica ao lado do nome do seu site, na aba do seu navegador.

O que você vai precisar primeiro é de um ícone (o ideal é que seja a logo do seu site, mas em tese você pode pôr o que você quiser) que tenha proporção 1x1 (quadrado) - a resolução em si é irrelevante.

Assim que você tiver preparado o seu ícone quadrado, você precisará convertê-lo para ".ico", que é o formato usado em favicons. Eu particularmente não encontrei nenhuma ferramenta dentro do próprio Photoshop para salvar a imagem diretamente como .ico, mas pode ser que outros aplicativos de edição de imagem possuam essa opção, então convém você dar uma olhada primeiro.

Caso você tenha criado seu favicon no Photoshop ou qualquer outro aplicativo que não deixe você salvar uma imagem como .ico, salve-a como .jpg ou .png primeiro (lembrando que, caso você queira usar uma logo com fundo transparente, como no caso do Compendium Tolkien, é necessário salvar o arquivo em .png, pois a extensão .jpg não suporta fundo transparente).

Depois que você tiver salvo seu favicon em .jpg ou .png, basta usar algum software para convertê-lo para o formato .ico. Existem vários sites que fazem isso, mas, apenas a título de sugestão, você pode usar o ConvertICO, que foi o que eu usei para converter o favicon do Compendium para .ico.

Assim que você tiver o seu favicon em formato .ico, certifique-se de que ele tenha exatamente esse nome: favicon.ico (tudo minúsculo).

Feito isso, basta pegar esse arquivo e salvar ele na raiz de seu site, dentro da pasta base (public_html), onde fica, por exemplo, o arquivo LocalSettings.php. É só você salvar o seu arquivo favicon.ico lá que, pronto, o sistema irá automaticamente reconhecer o arquivo como seu favicon e ele já aparecerá antes do título do seu site na aba do navegador na próxima vez que você o abrir.

Caso você queira salvar o seu arquivo favicon.ico em outro lugar, em tese você pode, mas aí o processo não é feito automaticamente e você precisa explicar para o seu site como encontrar o favicon. Para isso, inclua o seguinte comando no LocalSettings.php:

$wgFavicon = "CAMINHO DA IMAGEM";

Porém, repito: se você não quer dificultar seu trabalho é só salvar o arquivo na pasta base do seu site que ele já irá reconhecê-lo automaticamente e você não precisará fazer mais nada.

Como alterar o tema (skin) padrão

Via de regra, o MediaWiki vem pré-instalado com o tema (skin) Vector como padrão, porém, por uma razão ou outra, talvez seja de seu interesse alterar o tema padrão de seu site.

Cada usuário tem o poder de alterar o tema padrão para si mesmo dentro das configurações de sua conta, mas através do LocalSettings.php você pode alterar o tema padrão que será aplicado para todas as pessoas que acessarem o site sem logar ou para aqueles usuários que não alterarem o tema padrão nas configurações de sua conta.

O código para alterar o tema padrão já vem escrito no arquivo LocalSettings.php e basta você dar um Ctrl+F para localizá-lo:

$wgDefaultSkin = "vector";

Para escolher outro tema como o padrão de sua wiki bastar trocar "vector" pelo código do tema desejado. Mas cuidado: nem todo tema terá seu código idêntico ao seu nome como no caso do tema Vector, cujo código é "vector". Por exemplo, o tema Classic tem como código a palavra "standard".

Para saber qual o código do tema desejado, acesse: https://www.mediawiki.org/wiki/Manual:$wgDefaultSkin, onde você encontrará uma tabela com o código (ID) dos temas mais utilizados.

Como alterar a imagem de fundo

A imagem de fundo de uma MediaWiki pode ser alterado de formas diferentes para cada um dos temas utilizados. Para um melhor procedimento, consulte o passo a passo do respectivo tema.

Tema: Timeless

Para wikis que utilizam o tema "Timeless" como padrão, para alterar a imagem de fundo basta incluir o seguinte código no seu LocalSettings.php:

$wgTimelessBackdropImage = "CAMINHO DA IMAGEM";

O "caminho da imagem" funciona da mesma forma que o caminho da logo: basta subir a imagem de fundo dentro do servidor do seu MediaWiki e depois colocar o caminho dele ali.

Por exemplo:

$wgTimelessBackdropImage = "$wgResourceBasePath/resources/assets/imagem-de-fundo.png";

É possível escolher diferentes tamanhos para diferentes graus de aproximação, mas eu particularmente desconheço como configurar o código dessa forma. Sugiro que você experimente imagens de vários tamanhos e veja qual fica melhor para você.

Como alterar o fuso horário padrão

Como padrão a sua wiki seguirá o fuso horário UTC. Para alterá-lo é extremamente fácil, pois o código dele já está incluso no LocalSettings.php e basta você alterá-lo.

Ao abrir o LocalSettings.php, use Ctrl+F para localizar o seguinte (lembrando que o # serve apenas de informativo e não faz parte do código em si):

# Time zone

$wgLocaltimezone = "UTC";

Basta alterar o UTC para o fuso horário correspondente. Caso pretenda usar o horário de Brasília, que seria o GMT-3, o código em questão ficaria:

# Time zone

$wgLocaltimezone = "GMT-3";

Alterando isso e salvando o arquivo não é preciso fazer mais nada, a mudança será instantaneamente aplicada para todo o site (isto não impede que usuários optem por outros fusos horários individualmente nas preferências de suas contas).

Como instalar o "Visual Editor"

Uma das ferramentas mais importantes de uma enciclopédia acessível ao público em geral é o "Visual Editor".

Como padrão, a formatação de texto em qualquer página dentro do MediaWiki é extremamente complexa para um usuário médio, pois é necessário usar "códigos" até mesmo para alterações simples como colocar uma palavra em negrito.

O "Visual Editor", que não vem pré-instalado no MediaWiki, é de longe a sua extensão mais baixada, pois ela facilita em muito a formatação de texto, deixando tudo muito mais intuitivo. Simplificando, ele basicamente transforma o editor de texto em algo como o Microsoft Word: quer colocar uma palavra em negrito? Com um clique você faz isso!

Antes de baixar a extensão vale a pena ver se ela já foi automaticamente baixada quando da criação do seu site. No meu caso, cuja instalação foi feita através da plataforma do Hostinger, algumas extensões já foram automaticamente baixadas, sendo o Visual Editor uma delas.

Para verificar, acesse os arquivos de seu site. Lá na raiz haverá uma pasta chamada "extensions", onde as extensões devem ser colocadas - e onde as extensões que são automaticamente baixadas ficam salvas. Abra essa pasta e veja se há uma outra pasta lá dentro chamada "VisualEditor". Se não tiver, siga os passos abaixo para baixá-la. Caso essa pasta já esteja presente, pule a etapa do download e continue lendo, pois, ainda que ela já venha baixada para você, você ainda precisa ativá-la antes de poder usá-la!

Para baixar a extensão, acesse a página: https://www.mediawiki.org/wiki/Extension:VisualEditor#Installation

Nela você encontrará um link de download. Antes de baixar o arquivo, atente-se para a versão dele: sempre baixe a extensão na mesma versão do seu MediaWiki!

Após efetuar o download da mesma versão que o seu MediaWiki, você terá um arquivo .tar em seu computador, que nada mais é do que uma pasta compactada, como arquivos .rar ou .zip. Para extrair a pasta que se encontra dentro deste arquivo compactado, basta abrir ele e arrastar a pasta que se encontra lá dentro para fora.

Você vai pegar essa pasta que você acabou de extrair, chamada VisualEditor, e salvar ela dentro do seu site, dentro da pasta chamada "extensions" (a mesma pasta que eu pedi para você checar se o VisualEditor já se encontrava lá dentro).

Feito isso, pronto!, o VisualEditor já está "instalado" no seu MediaWiki. Agora você só precisa ativá-lo!

Para ativar a extensão, basta você abrir o arquivo LocalSettings.php e acrescentar a seguinte linha de código (de preferência lá no final, como já expliquei anteriormente):

wfLoadExtension( 'VisualEditor' );

Incluída essa linha e salvado o arquivo LocalSettings.php, pronto, o Visual Editor já está ativo na sua MediaWiki. Agora, sempre que você clicar em editar uma página o Visual Editor já será automaticamente carregado, facilitando a formatação do texto.

Como instalar o "Cite" para criar referências dentro do Visual Editor

Após instalação e ativação do Visual Editor, a criação e edição das páginas de sua wiki serão extremamente facilitadas, mas a extensão infelizmente não vem "completa" e algumas funções importantíssimas precisam ser instaladas separadamente.

A principal dessas funções, na minha opinião, é o módulo de referências ("citation tool"), com o qual você poderá facilmente incluir referências (fontes de informações) ao longo de seu texto. Se você pretende criar uma wiki pública, a inclusão de referências (e facilitar que elas sejam incluídas) é importantíssima para a sua credibilidade.

Para isso você precisa instalar uma outra extensão que irá conversar com a extensão do Visual Editor e possibilitar a inclusão de referências ao longo de seus textos: o Cite.

Antes de baixá-lo, verifique se o Cite por acaso já não foi pré-baixado quando da instalação de sua MediaWiki e salvo dentro da pasta "extensions". No meu caso, a extensão já foi automaticamente baixada, bastando que eu a ative. Caso você tenha de baixá-la, acesse a página da extensão clicando no link vinculado ao seu nome ali acima e, como sempre, baixe a extensão na mesma versão do seu MediaWiki.

Assim como a extensão do Visual Editor, você baixará um arquivo compactado .tar. Basta extrair a pasta que se encontra dentro dele e salvá-la dentro da pasta "extensions" em seu site. Após extrair o arquivo baixado e salvá-lo pasta correta (ou caso a extensão já tenha vindo pré-baixada com sua instalação do MediaWiki), acesse o arquivo LocalSettings.php em seu site e inclua a seguinte linha de código (de preferência no final) para ativar a extensão:

wfLoadExtension( 'Cite' );

Pronto. Agora o módulo de referências já está ativado em sua MediaWiki e na próxima vez que você for criar ou editar uma página haverá uma opção extra no Visual Editor chamada "Citar" (ou "Cite", caso sua MediaWiki esteja em inglês).

Para usá-la, basta você clicar na parte do texto que você quer incluir uma referência, depois clicar no botão "Citar" e depois escrever no campo que apareceu a origem da informação (nome do livro, link do site, etc.) que o Visual Editor irá automaticamente criar uma nota de rodapé.]

O módulo também enumera automaticamente as referências (e corrige automaticamente as numerações caso você inclua uma referência nova no meio de outras duas), então você não precisa se preocupar com isso.

Na primeira citação de uma página a única opção disponível dentro do botão "Citar" será a "Básica". Porém, caso você inclua mais de uma referência em uma mesma página a opção "Reusar" passará a ficar disponível. Assim, caso você precise referenciar uma mesma fonte mais uma vez na mesma página, você pode simplesmente clicar em "Reusar" para facilitar seu trabalho.

Dica: ao usar a opção "Citar" pela primeira vez você irá reparar que após salvar as alterações da página o Visual Editor irá simplesmente "jogar" as notas de rodapé lá no final da sua página. Para uma estética mais agradável, recomendo que, sempre que você citar alguma referência em alguma página (que, de preferência, será a maioria de suas páginas), você crie um "Cabeçalho" como último item de sua página, com o título "Referências". Sendo esse cabeçalho o último item da sua página, quando você salvar as alterações as notas de rodapé aparecerão logo após esse título, o que tornará a página muito mais agradável esteticamente.

Como usar o "Cite" para criar diferentes grupos de referência (notas, etc.)

Uma captura de tela com a opção de criar grupos dentro de referências destacada.
Você pode escrever o que quiser neste campo para criar um tipo diferente de referência.

Quando você tentar incluir uma citação básica usando o Visual Editor, note que abaixo do campo que você pode escrever a fonte do texto haverá a opção "usar este grupo".

Captura de tela mostrando um texto explicativo e um grupo intitulado Notas.
Exemplo do que foi feito para criar aquele "Nota 1" que aparece ao final do parágrafo.

Se você deixar este campo em branco ("Referências gerais"), toda referência incluída será simplesmente enumerada. Porém, neste campo você pode escrever o que você quiser e criar "grupos" de referências. Um exemplo muito comum é criar um grupo chamado "notas". Assim, você pode diferenciar referências simples (informando nomes de livros ou URL de sites, por exemplo) de referências mais complexas (um texto explicativo, por exemplo), pois as referências sempre aparecerão separadamente ao final de seu artigo[Nota 1].

Diferentemente das referências simples, que são incluídas automaticamente ao final do seu artigo, qualquer outro grupo criado não será automaticamente incluído e você, inclusive, receberá um aviso de erro depois de salvar sua página. Para corrigir, basta editar a página através do código-fonte (isto é, sem ser pelo Visual Editor), e incluir a seguinte linha de código na parte da página que você achar mais conveniente (sugiro que seja logo acima das referências padrões):

<references group="nome do grupo que você criou"/>

Assim como no caso da citação simples, convém criar um "Parágrafo" com o título do grupo criado, para facilitar na compreensão.

(Nativamente não é possível incluir um tipo de referência de outro tipo de referência. Por exemplo, se você criar uma referência no estilo de uma nota explicativa, não é possível incluir uma referência dentro dela. Não sei se é possível burlar essa regra usando algum código ou predefinição.)

Como ativar o envio de imagens e outros arquivos

Dependendo do tipo de sua wiki, será de grande interesse habilitar o envio de imagens para o servidor, de modo que as páginas poderão contar com fotos de pessoas, artes de personagens, logos, mapas, etc.

A ativação da função é extremamente simples e pode ser feita incluindo a seguinte linha de código dentro do arquivo LocalSettings.php:

$wgEnableUploads = true;

Caso você deseje desativar o envio de imagens por algum motivo, basta trocar o "true" por um "false":

$wgEnableUploads = false;

Atenção: esta regra se aplica para todo tipo de envio de arquivos para o servidor e não apenas imagens!

Limitando as extensões que serão aceitas para envio

Por um motivo ou outro, pode ser de seu interesse limitar o tipo de arquivo que será aceito por seu site para envio pelos usuários. Para isso, basta incluir um código dentro do LocalSettings.php e escolher as extensões desejadas:

$wgFileExtensions = [ 'png', 'gif', 'jpg', 'jpeg', 'doc', 'xls', 'mpp', 'pdf', 'ppt', 'tiff', 'bmp', 'docx', 'xlsx', 'pptx', 'ps', 'odt', 'ods', 'odp', 'odg' ];

No caso do Compendium, autorizamos (no momento de escrita deste texto) o envio apenas de imagens .png e .png, de modo que nosso código no LocalSettings.php ficou da seguinte forma:

$wgFileExtensions = [ 'png', 'jpg' ];

Atenção: esta regra se aplica para todo tipo de envio de arquivos para o servidor e não apenas imagens, então cuidado para não bloquear o envio de outros tipos de arquivo que podem ser de seu interesse!

Alguns tipos de arquivo são proibidos por padrão pelo MediaWiki e você não conseguirá enviá-los ao servidor mesmo se incluir neste código (por exemplo, arquivos .exe). É possível retirar essa proibição, mas desconheço como fazer isso e não vejo necessidade para 99% dos casos.

Limitando o envio de arquivos

Ainda que o envio de imagens para uso nas páginas seja muito interessante, também é de seu interesse limitar essa função para que ela não seja abusada por usuários mal intencionados (ou descuidados), pois a autorização para enviar imagens é a mesma para enviar outros tipos de arquivos.

Isso também pode ser facilmente resolvido com códigos simples a serem incluídos lá no LocalSettings.php. Lembrando: essas regras valem para qualquer tipo de arquivos, não apenas imagens!

Primeiro, caso você não saiba, todo usuário criado em uma MediaWiki possuirá certos "cargos", que poderão ser alterados por algum outro usuário com o cargo de "burocrata". Cada cargo dará diferentes poderes para o usuário, por isso é importante tem um controle de quais usuários fazem parte de quais cargos, e quais cargos tem poderes para fazer o quê. Aliás, um mesmo usuário pode ter mais de um cargo, então cuidado!

Segundo, o MediaWiki, como padrão, permite qualquer usuário comum ("user") a fazer upload de arquivos (caso você tenha ativado o envio de arquivos), então eu acho de extrema importância você mudar isso, de modo que você possa ter maior controle sobre quem pode enviar arquivos para seu servidor.

Para isso, basta incluir as seguintes linhas de código no seu LocalSettings.php:

$wgGroupPermissions['user']['upload'] = false;

$wgGroupPermissions['user']['reupload'] = false;

Ao fazer isso, apenas os usuários com o cargo de administrador ("sysop") terão poderes para enviar arquivos ao servidor. Se para você isso for OK, não há mais nada a se fazer. Porém, dependendo do tamanho da sua wiki, talvez seja interessante criar um "cargo" específico para o envio de arquivos, pois assim você pode incluir pessoas de sua confiança nesse cargo e deixar que elas façam o envio de arquivos eventualmente de interesse da wiki.

Para criar um grupo de usuários com poderes especiais para o envio de arquivos, que neste caso vamos chamar de "uploadaccess", basta incluir a seguinte linha de código no seu LocalSettings.php:

$wgGroupPermissions['uploadaccess']['upload'] = true;

Essas são as configurações básicas de segurança que eu recomendo, mas saiba que você tem total poderes para decidir quem pode e quem não pode enviar arquivos para o seu servidor. Caso queira fazer isso, os códigos são o seguinte (necessário pegar o ID de cada cargo):

  • Autorizar o envio de arquivos para o servidor:

$wgGroupPermissions['IDdoCARGO']['upload'] = true;

  • Bloquear o envio de arquivos para o servidor:

$wgGroupPermissions['IDdoCARGO']['upload'] = false;

  • Autorizar a substituição de arquivos no servidor:

$wgGroupPermissions['IDdoCARGO']['reupload'] = true;

  • Bloquear a substituição de arquivos no servidor:

$wgGroupPermissions['IDdoCARGO']['reupload'] = false;

Limitando os poderes dos usuários

Toda MediaWiki já vem com uma lista padrão de poderes que os usuários de cada grupo terão, mas esses poderes e grupos podem ser customizados à vontade, conforme for de seu interesse.

Para muitas wikis é interessante que toda e qualquer pessoa, inclusive as anônimas (isto é, que não fizeram login), possa criar e editar páginas, mas dependendo do seu cenário pode ser interessante limitar esse poder a fim de evitar vandalismo.

Um exemplo muito simples é autorizar que apenas usuários com e-mails confirmados possam criar ou editar páginas. Isso não impede vandalismo, mas certamente o dificulta. Para isso, basta incluir os seguintes código no seu LocalSettings.php (lembrando que as linhas que começam com "#" não afetam o código e servem apenas de explicação para conferência futura):

# Esse impede que anônimos editem páginas.

$wgGroupPermissions['*']['edit'] = false;

# Esse impede que usuários com emails não confirmados editem páginas.

$wgGroupPermissions['user']['edit'] = false;

# Esse cria um grupo específico para usuários com emails confirmados e coloca eles dentro dele (não afeta outros grupos dos quais a pessoa também faça parte).

$wgAutopromote['emailconfirmed'] = APCOND_EMAILCONFIRMED;

# Esse esconde o grupo de emails confirmados dos demais usuários.

$wgImplicitGroups[] = 'emailconfirmed';

# Esse dá poderes a todos que fazem parte do grupo de emails confirmados o poder de editar páginas.

$wgGroupPermissions['emailconfirmed']['edit'] = true;

Para ver outros tipos de poderes que você pode conceder/bloquear para certos grupos de usuários, sugiro a leitura: Manual:User Rights.

Para ver outras formas de combater vandalismo na sua wiki, sugiro a leitura: Manual:Combating Vandalism.

Notas

  1. Este é um exemplo de texto explicativo, no qual se explica melhor um conceito sem atrapalhar a fluidez do texto original.