MediaWiki: mudanças entre as edições
Sem resumo de edição |
|||
Linha 12: | Linha 12: | ||
Após a atualização eu acabei recompondo alguns ajustes de configurações da antiga atualização, assim como restauração das extensões. | 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. | |||
Linha 44: | Linha 47: | ||
require_once("$IP/extensions/ConfirmEdit/ReCaptcha.php"); | require_once("$IP/extensions/ConfirmEdit/ReCaptcha.php"); | ||
$wgCaptchaClass = 'ReCaptcha'; | $wgCaptchaClass = 'ReCaptcha'; | ||
$wgReCaptchaPublicKey = ' | $wgReCaptchaPublicKey = 'senha publica'; | ||
$wgReCaptchaPrivateKey = ' | $wgReCaptchaPrivateKey = 'senha privada'; | ||
$wgGroupPermissions['*' ]['skipcaptcha'] = false; | $wgGroupPermissions['*' ]['skipcaptcha'] = false; | ||
Linha 51: | Linha 54: | ||
$wgGroupPermissions['human' ]['skipcaptcha'] = true; | $wgGroupPermissions['human' ]['skipcaptcha'] = true; | ||
$wgGroupPermissions['autoconfirmed']['skipcaptcha'] = false; | $wgGroupPermissions['autoconfirmed']['skipcaptcha'] = false; | ||
$wgGroupPermissions['bot' ]['skipcaptcha'] = true; | $wgGroupPermissions['bot' ]['skipcaptcha'] = true; | ||
$wgGroupPermissions['sysop' ]['skipcaptcha'] = true; | $wgGroupPermissions['sysop' ]['skipcaptcha'] = true; | ||
Linha 57: | Linha 60: | ||
$wgCaptchaTriggers['create'] = true; | $wgCaptchaTriggers['create'] = true; | ||
$wgCaptchaTriggers['createaccount'] = true; | $wgCaptchaTriggers['createaccount'] = true; | ||
$wgCaptchaTriggers['contactpage'] = true; | $wgCaptchaTriggers['contactpage'] = true; | ||
# ajuste para notificações/email | # ajuste para notificações/email | ||
$wgEnableEmail = true; | $wgEnableEmail = true; | ||
$wgEnableUserEmail = true; | $wgEnableUserEmail = true; | ||
$wgEmergencyContact = "emailsuporte at teia.org.br"; | $wgEmergencyContact = "emailsuporte at teia.org.br"; | ||
$wgEnotifUserTalk = false; | $wgEnotifUserTalk = false; | ||
$wgEnotifWatchlist = false; | $wgEnotifWatchlist = false; | ||
$wgEmailAuthentication = true; | $wgEmailAuthentication = true; | ||
$wgEmailConfirmToEdit = true; | $wgEmailConfirmToEdit = true; | ||
Linha 71: | Linha 74: | ||
$wgPasswordSender = "notificacao at teia.org.br"; | $wgPasswordSender = "notificacao at teia.org.br"; | ||
$wgSMTP = array( | $wgSMTP = array( | ||
'host' => "servidordeemail.org.br", | 'host' => "servidordeemail.org.br", | ||
'IDHost' => "teia.org.br", | 'IDHost' => "teia.org.br", | ||
'port' => 587, | 'port' => 587, |
Edição das 18h57min de 28 de julho 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 por 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
- ConfirmEdit (adiciona o recurso ReCaptcha e já vem por padrão no pacote MediaWiki)
- DynamicArticleList (lista os artigos de um categoria)
- DynamicPageList (listas as ações no sistema)
- FramedVideo (permite embutir video)
- SimpleAntiSpam (filtro de spam)
- SpamBlacklist (filtro de spam)
- TitleBlacklist (filtro de spam)
- WikiEditor (editor de texto avançado )
- SyntaxHighlight_GeSHi (marcações para diferente linguagens)
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 require_once("$IP/extensions/ConfirmEdit/ConfirmEdit.php"); require_once("$IP/extensions/ConfirmEdit/ReCaptcha.php"); $wgCaptchaClass = 'ReCaptcha'; $wgReCaptchaPublicKey = 'senha publica'; $wgReCaptchaPrivateKey = 'senha privada'; $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
- http://www.mediawiki.org/wiki/Manual_talk:$wgSMTP
- http://wiki.locaweb.com.br/pt-br/PEAR
- http://answers.bitnami.com/questions/6007/mediawiki-wgsmtp-fails-pear-installed-help
- http://www.cyberciti.biz/tips/rhel-install-php-net-smtp-email-socket.html
- http://answers.bitnami.com/questions/4306/mediawiki-account-confirm-by-email-error
- http://www.danbp.org/w/MediaWiki_SPAM_Control_Kit
- http://wiki.locaweb.com.br/pt-br/Implementando_o_Recaptcha_do_Google
Conteúdo liberado sob a licença GNU Free Documentation License 1.2