MediaWiki (Português)

Status de tradução:
Esse artigo é uma tradução de
MediaWiki
. Data da última tradução: 2019-11-24. Você pode ajudar a sincronizar a tradução, se houver
alterações
na versão em inglês.
Nota
MediaWiki ainda  não é completamente compatível com PHP 7.3.
[1]
[2]
MediaWiki
é um software wiki de código aberto e livre escrito em
PHP
, originalmente desenvolvido para a Wikipédia. Ele também alimenta este wiki (consulte
Special:Version
e o
repositório do GitHub
).
Instalação
Para executar o MediaWiki, você precisa de três coisas:
o pacote
mediawiki
, o qual obtém
PHP
um servidor web –
Apache
,
Nginx
or
Lighttpd
um sistema de banco de dados –
MySQL
,
PostgreSQL
or
SQLite
Para instalar o MediaWiki no
XAMPP
, veja
mw:Manual:Installing MediaWiki on XAMPP
Configuração
As etapas para obter uma configuração funcional do MediaWiki envolvem a edição das configurações do PHP e a adição dos trechos de configuração do MediaWiki.
PHP
MediaWiki precisa da extensão
iconv
, então você precisa descomentar
extension=iconv
em
/etc/php/php.ini
.
Dependências opcionais:
Para renderização de miniaturas, instale
ImageMagick
ou
php-gd
. Se você escolher o último, você também precisa descomentar
extension=gd
.
Para mais uma
normalização Unicode
eficiente, descomente
extension=intl
.
Habilite a API para seu SGBD:
Se você usa
MariaDB
, descomente
extension=mysqli
.
Se você usa
PostgreSQL
, instale
php-pgsql
e descomente
extension=pgsql
.
Se você usa
SQLite
, instale
php-sqlite
e descomente
extension=pdo_sqlite
.
Em segunda, ajuste a manipulação da sessão ou você pode receber um erro fatal (
PHP Fatal error: session_start(): Failed to initialize storage module[...]
) localizando o caminho
session.save_path
. Uma boa opção pode ser
/var/lib/php/sessions
ou
/tmp/
.
/etc/php/php.ini
session.save_path = "/var/lib/php/sessions"
Você precisará criar o diretório se ele não existir e depois restringir suas permissões:
# mkdir -p /var/lib/php/sessions/
# chown http:http /var/lib/php/sessions
# chmod go-rwx /var/lib/php/sessions
Se você usa
open_basedir do PHP
e deseja
permitir uploads de arquivos
, é necessário incluir
/var/lib/media/wiki/
(
mediawiki
faz links simbólicos de
images/
para
/var/lib/mediawiki/
).
Servidor web
Apache
Siga
Apache HTTP Server#PHP
.
Copie
/etc/webapps/mediawiki/apache.example.conf
para
/etc/httpd/conf/extra/mediawiki.conf
e edite-o conforme necessário.
Adicione a seguinte linha a
/etc/httpd/conf/httpd.conf
:
Include conf/extra/mediawiki.conf
Reinicie
o daemon
httpd.service
.
Nota
O arquivo padrão de
/etc/webapps/mediawiki/apache.example.conf
substituirá a configuração de open_basedir do PHP, possivelmente conflitando com outras páginas. Esse comportamento pode ser alterado movendo a linha começando com
php_admin_value
entre as tags
<Directory>
. Além disso, se você estiver executando vários aplicativos que dependem do mesmo servidor, esse valor também poderá ser adicionado ao valor de open_basedir em
/etc/php/php.ini
em vez de em
/etc/httpd/conf/extra/mediawiki.conf
Nginx
Para que o MediaWiki trabalhe com
Nginx
, crie o seguinte arquivo:
/etc/nginx/mediawiki.conf
location / {
   index index.php;
   try_files $uri $uri/ @mediawiki;
}
location @mediawiki {
   rewrite ^/(.*)$ /index.php;
}
location ~ \.php5?$ {
   include /etc/nginx/fastcgi_params;
   fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
   fastcgi_index index.php5;
   fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
   try_files $uri @mediawiki;
}
location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
   try_files $uri /index.php;
   expires max;
   log_not_found off;
}
# Restrictions based on the .htaccess files
location ^~ ^/(cache|includes|maintenance|languages|serialized|tests|images/deleted)/ {
   deny all;
}
location ^~ ^/(bin|docs|extensions|includes|maintenance|mw-config|resources|serialized|tests)/ {
   internal;
}
location ^~ /images/ {
   try_files $uri /index.php;
}
location ~ /\. {
   access_log off;
   log_not_found off; 
   deny all;
}
Certifique-se que
php-fpm
está instalado em
iniciado
.
Inclua uma diretiva de servidor, semelhante a esta
/etc/nginx/nginx.conf
server {
  listen 80;
  server_name mediawiki;
  root /usr/share/webapps/mediawiki;
  index index.php;
  charset utf-8;
# For correct file uploads
  client_max_body_size    100m; # Equal or more than upload_max_filesize in /etc/php/php.ini
  client_body_timeout     60;
  include mediawiki.conf;

}
Ao final,
reinicie
os daemons
nginx.service
e
php-fpm.service
.
Lighttpd
Você deve ter o
Lighttpd
instalado e configurado. "mod_alias" e "mod_rewrite" na matriz server.modules do lighttpd são necessários. Anexe ao arquivo de configuração lighttpd as seguintes linhas
/etc/lighttpd/lighttpd.conf
alias.url += ("/mediawiki" => "/usr/share/webapps/mediawiki/")
url.rewrite-once += (
                "^/mediawiki/wiki/upload/(.+)" => "/mediawiki/wiki/upload/$1",
                "^/mediawiki/wiki/$" => "/mediawiki/index.php",
                "^/mediawiki/wiki/([^?]*)(?:\?(.*))?" => "/mediawiki/index.php?title=$1&$2"
)
Reinicie
o daemon
lighttpd.service
.
Banco de dados
Configure um servidor de banco de dados conforme explicado no artigo do seu SGBD:
MySQL
,
PostgreSQL
ou
SQLite
.
O MediaWiki pode criar automaticamente o banco de dados, se você fornecer a senha de root do banco de dados, durante a
próxima etapa
. Caso contrário, o banco de dados precisa ser criado manualmente, consulte as
instruções do upstream
.
LocalSettings.php
Abra a url do wiki (geralmente
http://
seu_servidor
/mediawiki/
) em um navegador e faça a configuração inicial. Siga as
instruções do upstream
.
O arquivo
LocalSettings.php
gerado é oferecido para download, salve-o em
/usr/share/webapps/mediawiki/LocalSettings.php
. Este arquivo define as configurações específicas do seu wiki. Sempre que você atualiza o pacote
mediawiki
, ele não é substituído.
Dicas e truques
Matemática (texvc)
Geralmente, instalar
texvc
[
link quebrado
: package not found]
e habilitá-lo na configuração é o suficiente:
$wgUseTeX = true;
Se você tiver problemas, tente aumentar os limites para comandos shell:
$wgMaxShellMemory = 8000000;
$wgMaxShellFileSize = 1000000;
$wgMaxShellTime = 300;
Unicode
Verifique se php, apache e mysql usam UTF-8. Caso contrário, você poderá enfrentar erros estranhos devido à incompatibilidade de codificação.
VisualEditor
A extensão VisualEditor MediaWiki fornece um editor de texto rico para o MediaWiki. Siga
mw:Extension:VisualEditor
para instalá-lo.
Você também precisará do backend Node.js
Parsoid
, o qual está disponível por meio de
parsoid-git
AUR
[
link quebrado
: package not found]
.
Ajuste o caminho do MediaWiki em
/usr/share/webapps/parsoid/api/localsettings.js
:
parsoidConfig.setInterwiki( 'localhost', 'http://localhost/mediawiki/api.php' );
Após isso,
habilite
e inicie
parsoid.service
.
Como alternativa, também é possível usar o pacote
parsoid
AUR
[
link quebrado
: package not found]
e configurar o serviço através do arquivo yaml, onde as seguintes linhas devem estar presentes:
/usr/share/webapps/parsoid/config.yaml
uri: `'http://localhost/mediawiki/api.php'`
domain: 'localhost'
A parte correspondente nas configurações do mediawiki:
/usr/share/webapps/mediawiki/LocalSettings.php
$wgVirtualRestConfig['modules']['parsoid'] = array(
  // URL to the Parsoid instance - use port 8142 if you use the Debian package - the parameter 'URL' was first used but is now deprecated (string)
  'url' => 'http://localhost:8000/',
  // Parsoid "domain" (string, optional) - MediaWiki >= 1.26
  'domain' => 'localhost',
  // Parsoid "prefix" (string, optional) - deprecated since MediaWiki 1.26, use 'domain'
  'prefix' => 'localhost',
  // Forward cookies in the case of private wikis (string or false, optional)
  'forwardCookies' => false,
  // request timeout in seconds (integer or null, optional)
  'timeout' => null,
  // Parsoid HTTP proxy (string or null, optional)
  'HTTPProxy' => null,
  // whether to parse URL as if they were meant for RESTBase (boolean or null, optional)
  'restbaseCompat' => null,
);
Após a configuração, o serviço
parsoid
pode ser iniciado (reiniciado) e (se ainda não tiver sido feito) habilitado.