MediaWiki
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.
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 = '6LfVVuUSAAAAAO4fZByjq23EOQ72Chv10PN2VYzQ'; $wgReCaptchaPrivateKey = '6LfVVuUSAAAAANLrmmQT5l1veTx7Am8FrL-pbG36'; $wgGroupPermissions['*' ]['skipcaptcha'] = false; $wgGroupPermissions['user' ]['skipcaptcha'] = false; $wgGroupPermissions['human' ]['skipcaptcha'] = true; $wgGroupPermissions['autoconfirmed']['skipcaptcha'] = false; $wgGroupPermissions['bot' ]['skipcaptcha'] = true; // registered bots $wgGroupPermissions['sysop' ]['skipcaptcha'] = true; $wgCaptchaTriggers['edit'] = true; $wgCaptchaTriggers['create'] = true; $wgCaptchaTriggers['createaccount'] = true; $wgCaptchaTriggers['contactpage'] = true; // Adds reCAPTCHA to the contact page if created # ajuste para notificações/email $wgEnableEmail = true; $wgEnableUserEmail = true; # UPO $wgEmergencyContact = "emailsuporte at teia.org.br"; $wgEnotifUserTalk = false; # UPO $wgEnotifWatchlist = false; # UPO $wgEmailAuthentication = true; $wgEmailConfirmToEdit = true; # ajuste para smtp $wgPasswordSender = "notificacao at teia.org.br"; $wgSMTP = array( 'host' => "servidordeemail.org.br", //could also be an IP address '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
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
-- DynamicArticleList --
cd public_html/wiki/extensions/ curl -o DynamicArticleList.zip http://www.golf1wiki.de/downloads/DynamicArticleList.zip unzip DynamicArticleList.zip
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