Wiki
De Instituto de Física - UFRGS
Como criar wikis
Índice
Etapa 1 (Helsinque)
a) Baixar mediawiki no diretório /var/www/wikis/
cd /var/www/wikis
wget http://releases.wikimedia.org/mediawiki/1.25/mediawiki-1.25.2.tar.gz
b) Descompactar e alterar nome
tar -zxf mediawiki-1.25.2.tar.gz
cp -r mediawiki-1.25.2 nome_da_wiki_ssl
c) Alterar permissões
chown -R www-data:www-data /var/www/wikis/nome_da_wiki_ssl
APACHE
cd /etc/apache2/sites-available/
d) Criar arquivos
d.1) http
nano nome_da_wiki_80
Incluir:
<VirtualHost nome_da_wiki.if.ufrgs.br:80> ServerAdmin webadmin@if.ufrgs.br DocumentRoot /var/www/wikis/nome_da_wiki_ssl <Directory /var/www/wikis/nome_da_wiki_ssl> Options Indexes FollowSymLinks AllowOverride None </Directory> ErrorLog /var/log/apache2/nome_da_wiki-error.log LogLevel warn CustomLog /var/log/apache2/nome_da_wiki-access.log combined </VirtualHost>
d.2) https
nano nome_da_wiki_ssl
Incluir:
<VirtualHost nome_da_wiki.if.ufrgs.br:443> ServerAdmin webadmin@if.ufrgs.br DocumentRoot /var/www/wikis/nome_da_wiki_ssl ServerName helsinque.if.ufrgs.br SSLEngine on RewriteEngine On SSLCertificateFile \ /etc/ssl/cominf.if.ufrgs.br.cert SSLCertificateKeyFile \ /etc/ssl/helsinque.if.ufrgs.br.key.unsecurity <Directory /var/www/wikis/nome_da_wiki_ssl> Options Indexes FollowSymLinks AllowOverride None </Directory> ErrorLog /var/log/apache2/nome_da_wiki-error.log LogLevel warn CustomLog /var/log/apache2/nome_da_wiki-access.log combined </VirtualHost>
e) Criar link
cd /etc/apache2/sites-enabled ln -s ../sites-available/nome_da_wiki_ssl nome_da_wiki ln -s ../sites-available/nome_da_wiki_80 nome_da_wiki_80
f) Reiniciar Serviço
/etc/init.d/apache2 restart
Etapa 2 (Gaya)
DNS
- Editar dns
cd /etc/bind/ vi cnames.txt
Incluir:
Nome_da_wiki CNAME helsinque (ou servidor de wikis atual)
- Reiniciar serviço
cd .. ./dns-update.sh
BANCO DE DADOS -
- Acessar banco
mysql -p (colocar senha do banco de dados)
- Criar Banco de dados
mysql>show databases; mysql>create database wiki_nome_da_wiki;
- Dar acesso ao usuário wiki_user ao banco criado
mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,INDEX,ALTER ON wiki_nome_da_wiki.* TO wiki_user@143.54.40.45;
- reiniciar serviço
/etc/init.d/mysql restart
Etapa 3 (Rosen)
- Incluir arquivo na base LDAP com pessoas autorizadas a modificar a wiki - ou seja, incluir uma nova entrada na árvore da base de dados do LDAP. Isto pode ser feito através do programa lbe.sh, com os seguintes dados:
dn: cn=w_nome_da_wiki,ou=grupos,ou=dominio, dc=if gidNumber: número (cada novo entry deve ter um novo gidNumber) memberUid: User userPassword:: e2NyeXB0fSo= objectClass: posixGroup objectClass: top cn: w_nome_da_wiki
ATENÇÃO:
Colocar primeira letra em maiúscula no nome do usuário.
- Isto não é necessário na wiki.if.ufrgs.br, pois ela está utilizando uma nova versão da extensão LDAP Authentication ( >2.0 tem um LDAPLowercaseUsernameScheme).
No browser
- Abrir o site da nova wiki para fazer a configuração
http://nome_da_wiki.if.ufrgs.br
- Algumas configurações básicas:
wiki name: NOME DA WIKI contact e-mail webadmin@if.ufrgs.br Admin username: wiki_user Password: (criar nova senha) Object caching: No caching Database type: MySQL Database host: 143.54.40.2 Database name: wiki_nome_da_wiki DB username: wiki_user DB password (senha do usuário do banco de dados) Database table prefix: mw_
Etapa 4 (Helsinque)
- Finalizadas as configurações, será gerado e baixado um arquivo LocalSettings.php, que deverá ser salvo em /var/www/wikis/nome_da_wiki
- Alternativamente, o arquivo poderá ser criado em /var/www/wikis/nome_da_wiki/config. Neste caso, basta movê-lo um diretório acima:
- mv /var/www/wikis/nome_da_wiki/config/LocalSettings.php /var/www/wikis/nome_da_wiki/
- Incluir as linhas abaixo no arquivo LocalSettings.php com caminho do LDAP correto:
################################################################# $wgGroupPermissions['*']['edit'] = false; $wgGroupPermissions['*']['createaccount'] = false; require_once( "$IP/extensions/LdapAuthentication/LdapAuthentication.php" ); require_once( 'includes/AuthPlugin.php' ); $wgAuth = new LdapAuthenticationPlugin(); #$wgLDAPUseLocal = true; $wgLDAPDomainNames = array( 'IF' ); $wgLDAPServerNames = array( 'IF' => '143.54.40.8' ); $wgLDAPSearchStrings = array( 'IF' => 'uid=USER-NAME,ou=usuarios,ou=dominio,dc=if' ); $wgLDAPEncryptionType = array( 'IF' => 'clear' ); ####################### $wgLDAPRequiredGroups = array( "IF"=>array("cn=w_nome_da_wiki,ou=grupos,ou=dominio,dc=if") ); $wgLDAPGroupUseFullDN = array( "IF"=>false ); $wgLDAPGroupObjectclass = array( "IF"=>"posixgroup" ); $wgLDAPGroupAttribute = array( "IF"=>"memberuid" ); $wgLDAPGroupSearchNestedGroups = array( "IF"=>false ); $wgLDAPGroupNameAttribute = array( "IF"=>"cn" ); $wgLDAPBaseDNs = array( "IF"=>"ou=dominio,dc=if" ); ####################### $wgMinimalPasswordLength = 1; $wgLDAPDebug = 3; $wgDebugLogGroups["ldap"] = "/tmp/debug.log" ; #################################################################
- Baixe o plugin LdapAuthentication apropriado para a versão do MediaWiki sendo utilizada
https://www.mediawiki.org/wiki/Special:ExtensionDistributor/LdapAuthentication
- Extraia o pacote .tar.gz na pasta /var/www/wikis/nome_da_wiki_ssl/extensions; após este processo, deverá aparecer uma pasta LdapAuthentication com os seguintes arquivos:
COPYING LdapAuthentication.i18n.php README gitinfo.json LdapAuthentication.php schema i18n LdapAutoAuthentication.php version
- Alterar permissões
chown -R www-data.www-data /var/www/wikis/nome_da_wiki chmod go-rw LocalSettings.php
- Se houver erro ao acessar o banco de dados, será necessário atualizá-lo. Neste caso, basta abrir a pasta maintenance e executar o script update.php
- cd /var/www/wikis/nome_da_wiki/maintenance
php update.php
Alterar wiki para Login seguro
- Alterar as seguintes variáveis em "includes/DefaultSettings.php"
$wgServer = "//nome_da_wiki.if.ufrgs.br"; $wgSecureLogin = true;
- Em LocalSetting.php, comentar a linha
$wgServer = "http://nome_da_wiki.if.ufrgs.br";
Utilizando este método, não é necessário duas pastas com o código fonte da wiki (ex: "nome_da_wiki_80" e "nome_da_wiki_ssl").
Forma antiga de alterar wiki para Login seguro
- No arquivo "languages/messages/MessagesPt_br.php", linha 555, mudar
'loginprompt' => 'É necessário estar com os cookies ativados para poder autenticar-se na Instituto de Física - UFRGS.',
- para
'loginprompt' => 'Direcionando para login seguro. Por favor, aguarde... ',
- No includes/templates/Userlogin.php, na primeira linha:
<meta HTTP-EQUIV="REFRESH" content="0; url=https://pagina.if.ufrgs.br/index.php?title=Especial:Entrar&returnto=Especial:Entrar">
- ou, caso for versão 1.23.4:
<meta HTTP-EQUIV="REFRESH" content="0; url=https://wiki.if.ufrgs.br/index.php?title=Especial:Autenticar-se&returnto=P%C3%A1gina+principal">
Isto pode variar de acordo com a versão da wiki.
- Por fim, comentar linhas 36 a 42, 43 a 50, 57 a 65 e 68 a 77