MediaWiki: mudanças entre as edições

De Pontão Nós Digitais
Ir para navegaçãoIr para pesquisar
Sem resumo de edição
Linha 43: Linha 43:
  $wgAllowExternalImages = true;
  $wgAllowExternalImages = true;
   
   
  # ConfirmEdit
  # ConfirmEdit + QuestyCaptcha
  require_once("$IP/extensions/ConfirmEdit/ConfirmEdit.php");
  require_once( "$IP/extensions/ConfirmEdit/QuestyCaptcha.php");
  require_once("$IP/extensions/ConfirmEdit/ReCaptcha.php");
  $wgCaptchaClass = 'QuestyCaptcha';
  $wgCaptchaClass = 'ReCaptcha';
$arr = array (
  $wgReCaptchaPublicKey = 'senha publica';
        "A question?" => "An answer!",
$wgReCaptchaPrivateKey = 'senha privada';
        "Qual o nome desse site?" => "$wgSitename",
        'Escreva a palavra secreta, "passion", aqui:' => 'passion',
        'Escreva o código, 567, aqui:' => '567',
        'Qual é o animal? <img src="http://wiki.nosdigitais.teia.org.br/images/cachorro.jpg"
  alt="" title="" />' => 'cachorro',
);
  foreach ( $arr as $key => $value ) {
        $wgCaptchaQuestions[] = array( 'question' => $key, 'answer' => $value );
}
   
   
  $wgGroupPermissions['*'            ]['skipcaptcha'] = false;
  $wgGroupPermissions['*'            ]['skipcaptcha'] = false;

Edição das 13h52min de 22 de agosto de 2013

Usamos a plataforma MediaWiki como solução de wiki.


Até o começo do mês usávamos a versão de 1.13.1 (de 2009) e atualizei para a versão 1.19.7 (legacy lts). A versão escolhida não é a mais recente, atualmente o MediaWiki está na versão 1.21.1, não usei ela porque exige a versão 5.3 do PHP ou superior e usamos no Locaweb a versão 5.2.17, atualizar poderia significar o não funcionamento de outras aplicações que estão rodando no servidor.


Para atualizar o MediaWiki renomeei o diretório wiki para velho-wiki e descompactei o pacote .tar.bz em public_html, depois renomeando para wiki. Dessa forma não mantem arquivos php que cairá em desuso, extensões com versões incompativeis com o nova versão do sistema e sem o arquivo LocalSettings.php ao acessar a parte pública do wiki na web a aplicação enterá que queremos instalar o wiki ou atualizar.


Quando inserimos os mesmos valores do banco de dados o MediaWiki idenfica uma instalação e pergunta se queremos atualizar. Por conta da grande quantidade de artigos esse processo será bem demorado.


Após a atualização eu acabei recompondo alguns ajustes de configurações da antiga atualização, assim como restauração das extensões.


Criei um grupo com o nome human e adicionei todos os usuários que identifiquei como humano nesse grupo, de forma que todos os outros não possam editar ele sem se autenticar. Por sua vez é necessário criar uma conta para editar, além de preencher as informações será necessário validar a operação preenchendo o captcha e confirmando a mensagem enviado para o email indicado no formulário, assim espero que reduza a zero os ataques dos rôbos.


Extensões instaladas e habilitadas


ajuste no LocalSettings.php

# habilita DynamicPageList
require_once("$IP/extensions/DynamicPageList/DynamicPageList2.php");

#habilita DynamicArticleList
require_once("$IP/extensions/DynamicArticleList/DynamicArticleList.php");

# habilita FramedVideo
require_once("$IP/extensions/FramedVideo/FramedVideo.php");

# permite mostrar imagem external na página
$wgAllowExternalImages = true;

# ConfirmEdit + QuestyCaptcha
require_once( "$IP/extensions/ConfirmEdit/QuestyCaptcha.php");
$wgCaptchaClass = 'QuestyCaptcha';
$arr = array (
        "A question?" => "An answer!",
        "Qual o nome desse site?" => "$wgSitename",
        'Escreva a palavra secreta, "passion", aqui:' => 'passion',
        'Escreva o código, 567, aqui:' => '567',
        'Qual é o animal? <img src="cachorro.jpg"
alt="" title="" />' => 'cachorro',
);
foreach ( $arr as $key => $value ) {
        $wgCaptchaQuestions[] = array( 'question' => $key, 'answer' => $value );
}

$wgGroupPermissions['*'            ]['skipcaptcha'] = false;
$wgGroupPermissions['user'         ]['skipcaptcha'] = false;
$wgGroupPermissions['human'         ]['skipcaptcha'] = true;
$wgGroupPermissions['autoconfirmed']['skipcaptcha'] = false;
$wgGroupPermissions['bot'          ]['skipcaptcha'] = true;
$wgGroupPermissions['sysop'        ]['skipcaptcha'] = true;

$wgCaptchaTriggers['edit']          = true;
$wgCaptchaTriggers['create']        = true;
$wgCaptchaTriggers['createaccount'] = true;
$wgCaptchaTriggers['contactpage'] = true;

# ajuste para notificações/email
$wgEnableEmail      = true;
$wgEnableUserEmail  = true;
$wgEmergencyContact = "emailsuporte at teia.org.br";
$wgEnotifUserTalk      = false;
$wgEnotifWatchlist     = false;
$wgEmailAuthentication = true;
$wgEmailConfirmToEdit = true;

# ajuste para smtp
$wgPasswordSender   = "notificacao at teia.org.br";
$wgSMTP = array(
'host' => "servidordeemail.org.br",
'IDHost' => "teia.org.br",
'port' => 587,
'auth' => true,
'username' => "notificacao at teia.org.br",
'password' => "senha"
);

# SimpleAntiSpam
require_once "$IP/extensions/SimpleAntiSpam/SimpleAntiSpam.php";
$wgEnableDnsBlacklist  = true;
$wgDnsBlacklistUrls  =  array("http.dnsbl.sorbs.net.","opm.tornevall.org.");

# SpamBlacklist
require_once "$IP/extensions/SpamBlacklist/SpamBlacklist.php";
$wgSpamBlacklistFiles = array(
   "m:Spam blacklist",
   "http://en.wikipedia.org/wiki/MediaWiki:Spam-blacklist"
);

# TitleBlacklist
require_once( "$IP/extensions/TitleBlacklist/TitleBlacklist.php" );
$wgTitleBlacklistSources = array(
    array(
         'type' => TBLSRC_LOCALPAGE,
         'src'  => 'MediaWiki:Titleblacklist',
    ),
    array(
         'type' => TBLSRC_URL,
         'src'  => 'http://meta.wikimedia.org/w/index.php?title=Title_blacklist&action=raw',
    )
);
# WikiEditor
require_once "$IP/extensions/WikiEditor/WikiEditor.php";
$wgDefaultUserOptions['usebetatoolbar'] = 1;
$wgDefaultUserOptions['usebetatoolbar-cgd'] = 1;
$wgDefaultUserOptions['wikieditor-preview'] = 1;

# SyntaxHighlight_GeSHi
require_once("$IP/extensions/SyntaxHighlight_GeSHi/SyntaxHighlight_GeSHi.php");
$wgSyntaxHighlightDefaultLang = "c";

instalações

Para funcionar o ConfirmEdit é necessário ter os módulos Mail e Net_SMTP do PEAR. A instalação do Net_SMTP foi pelo padrão de instalação do PEAR, já o Mail teve quer ser manual, pois necessita da versão => 1.5.6 do PEAR e o instalado no Locaweb é 1.4.9

ajustes no PEAR

<source lang="bash"> mkdir $HOME/pear/php sed -i 's/.:\/usr\/share\/pear/\/usr\/share\/pear:\/home\/storage\/b\/87\/a5\/teia\/pear\/php/g' $HOME/php.ini pear config-set php_ini $HOME/php.ini pear install -o PEAR pear install pear/Net_SMTP curl -O http://download.pear.php.net/package/Mail-1.1.14.tgz tar -zxvf Mail-1.1.14.tgz cp -avr Mail-1.1.14/Mail/ $HOME/pear/php cp -avr Mail-1.1.14/Mail.php $HOME/pear/php </source>


DynamicArticleList

<source lang="bash"> cd public_html/wiki/extensions/ curl -o DynamicArticleList.zip http://www.golf1wiki.de/downloads/DynamicArticleList.zip unzip DynamicArticleList.zip </source>


Highlight_GeSHi

<source lang="bash"> cd public_html/wiki/extensions/SyntaxHighlight_GeSHi/ svn checkout https://geshi.svn.sourceforge.net/svnroot/geshi/trunk/geshi-1.0.X/src/ geshi </source> acrescente require_once( 'geshi/geshi.php' ); no arquivo Highlight_GeSHi.class.php

Referências

Conteúdo liberado sob a licença Gnu-fdl.png GNU Free Documentation License 1.2