Configuração do Apache
O Apache é o servidor de web mais recomendado para ser usado com o MediaWiki. Outros servidores como IIS podem funcionar também.
Módulos
PHP
PHP como módulo do Apache
O MediaWiki foi escrito para usar PHP como um módulo do Apache. Seu PHP provavelmente é configurado como um módulo se você começar com URLs assim:
example.com/index.php/Main_Page
Você pode conferir qual configuração e versão de PHP você tem, visualizando sua página wiki Special:Version, ou com phpinfo().
Install PHP, Apache, and the PHP module for Apache. Afterwards, make sure that the Apache service is running. For specific commands, refer to the documentation of your operating system or distribution.
PHP como CGI
Se o PHP estiver rodando como um CGI, você terá "URLs feias" por padrão, mas você ainda pode implementar URLs curtas.
CGIWrap
Se você tiver seu próprio servidor rodando Apache e está executando o PHP como CGI, você pode instalar o CGIWrap. Esta ferramenta permite que você execute o servidor Apache como um usuário diferente para CGIs.
Dessa forma, você pode criar um novo usuário para as páginas do MediaWiki. A instalação do CGIWrap está além do escopo deste documento, especialmente porque você deve compilá-lo de acordo com seu próprio servidor. No entanto, como um guia rápido, você pode seguir estas regras:
- Crie um usuário Wikimedia
useradd -M -s /sbin/nologin wikiuser
- Tenha uma pasta cgi-bin, contendo o CGIWrap (exemplo em /home/myuser/cgi-bin). Depois que tudo estiver configurado, mantenha apenas o cgiwrap, mova as versões de depuração para outra pasta, se você precisar delas. Seu arquivo cgiwrap deve estar acessível apenas ao Apache (chown e chmod em conformidade).
chown apache:apache cgiwrap
chmod 500 cgiwrap
- Dentro da pasta cgi-bin, crie um link simbólico para o diretório-raiz do Wikimedia.
ln -s /home/myuser/public_html/wiki /home/myuser/cgi-bin/wikilink
- No seu arquivo wiki
.htaccess
, adicione as seguintes definições:
AddHandler php-wrapper .php Action php-wrapper /cgi-bin/cgiwrap/wikiuser/wikilink
- Finalmente, entre com os comandos
chown
echmod
em todos os arquivos.php
da pasta Wikimedia para que seja acessível apenas por wikiuser.
find . -name \*.php -exec chown wikiuser:wikiuser {} \;
find . -name \*.php -exec chmod 500 {} \;
Os arquivos poderão ser acessados, como de costume. Você não precisa especificar em seu caminho qualquer cgi-bin, pois isso é cuidado de forma transparente para você.
É extremamente recomendado você começar com /cgi-bin/cgiwrapd/...
como seu envoltório php, pois ele vai justamente mostrar o que está atualmente funcionando. É também sugerido que você não exclua a sua pasta de origem CGIWrap até que tudo funcione perfeitamente, pois este é um legítimo processo de "tentativa e erro", e tomará um longo tempo. No entanto, tudo valerá a pena, pois seu MediaWiki será executado em seu próprio processo separado, em seu próprio UID, sem ser capaz de interferir de qualquer outro UID. O inverso também é verdade, com exceção do diretório raiz, que pode ler qualquer coisa em qualquer lugar.
mod_alias / mod_rewrite
O métodos recomendado de embelezar as URLs envolve mod_alias. Outros métodos usam mod_rewrite em vez disso.
mod_security
O ModSecurity ficou conhecido por causar problemas com o MediaWiki. Se você receber erros aparentemente ao acaso, confira seu log de erro para ver o que está causando problemas.
VisualEditor and Subpages
In order to prevent errors contacting the Parsoid server, AllowEncodedSlashes NoDecode
must be added to the wiki's VirtualHost config block (or to the general server config if VirtualHosts are not used).[1]
Tamanho da pilha da linha
O tamanho da pilha para cada thread do Apache é configurável e o padrão varia em diferentes sistemas operacionais. Para executar o MediaWiki em ambientes Windows, pode ser necessário aumentar o tamanho da pilha (se houver problemas), como o padrão de 1MB é pequeno e pode causar estouros de pilha durante a execução do script PHP. A seguinte configuração do arquivo httpd.conf vai definir o tamanho da pilha de cerca de 8MB (quase um padrão típico do Linux):
<IfModule mpm_winnt_module>
ThreadStackSize 8388608
</IfModule>
Aranhas e bots
Você realmente deve usar um arquivo robots.txt para dizer as aranhas bem comportados para não baixar páginas geradas dinamicamente (editar páginas, por exemplo). Isso pode reduzir a carga em seu servidor da web, preservar sua largura de banda e evitar problemas de conteúdo duplicado com mecanismos de pesquisa. No entanto, bots mal-intencionados podem bloquear seu servidor da web e desperdiçar sua largura de banda baixando um grande volume de páginas com extrema rapidez. Solicitar limitação pode ajudar a proteger contra isso.