Mudanças entre as edições de "Wiki"

De Instituto de Física - UFRGS
(Etapa 4 (Helsinque))
 
(33 revisões intermediárias por 5 usuários não estão sendo mostradas)
Linha 1: Linha 1:
 
<big>Como criar wikis</big>
 
<big>Como criar wikis</big>
  
* Na Helsinque
+
== Etapa 1 (Helsinque) ==
 +
* Verificar requisitos do servidor
 +
::[[Requisitos servidor]]
  
 +
* Baixar MediaWiki no diretório '''/var/www/wikis/'''
 +
cd /var/www/wikis
 +
wget http://releases.wikimedia.org/mediawiki/1.25/mediawiki-1.25.6.tar.gz
 +
''(ou http://releases.wikimedia.org/mediawiki/1.25/mediawiki-1.26.3.tar.gz, para a versão mais recente)''
  
Baixar mediawiki no diretório /var/www/wikis/
+
* Descompactar e alterar nome
    cd /var/www/wikis
+
tar -zxf mediawiki-1.25.6.tar.gz
 +
<!--    cp -r mediawiki-1.25.2 nome_da_wiki_80 -->
 +
cp -r mediawiki-1.25.6 ''nome_da_wiki''_ssl
  
    wget http://dumps.wikimedia.org/mediawiki/1.16/mediawiki-1.16.2.tar.gz
+
* Alterar permissões
 +
<!--    chown -R www-data:www-data /var/www/wikis/nome_da_wiki_80 -->
 +
chown -R www-data:www-data /var/www/wikis/''nome_da_wiki''_ssl
  
- Descompactar e alterar nome
+
=== Apache ===
    tar -zxf mediawiki-1.16.2.tar.gz
+
 
+
    cp -r mediawiki-1.15.0 nome_da_wiki_80
+
    cp -r mediawiki-1.15.0 nome_da_wiki_ssl
+
 
+
- Alterar permissões
+
    chown -R www-data.www-data /var/www/wikis/nome_da_wiki_80
+
    chown -R www-data.www-data /var/www/wikis/nome_da_wiki_ssl
+
 
+
APACHE
+
  
 +
* Abrir a pasta
 
<!-- - Editar httpd.conf
 
<!-- - Editar httpd.conf
 
 
     vi /etc/apache2/httpd.conf
 
     vi /etc/apache2/httpd.conf
 
 
incluir linha:
 
incluir linha:
 
 
     NameVirtualHost nome_da_wiki.if.ufrgs.br:80
 
     NameVirtualHost nome_da_wiki.if.ufrgs.br:80
 
-->
 
-->
 +
cd /etc/apache2/sites-available/
  
- Criar arquivo
+
* Criar arquivos
 +
:* http:
 +
:<div style="background-color: #f9f9f9; font-family: monospace,Courier; padding: 1em; border: 1px solid rgb(221, 221, 221);">nano <i>nome_da_wiki</i>_80</div>
  
    cd /etc/apache2/sites-available/
+
:Incluir:
 +
:<div style="background-color: #f9f9f9; font-family: monospace,Courier; padding: 1em; border: 1px solid rgb(221, 221, 221);"><VirtualHost ''nome_da_wiki''.if.ufrgs.br:80><br>&emsp;&emsp;&emsp;ServerAdmin webadmin@if.ufrgs.br<br>&emsp;&emsp;&emsp;DocumentRoot /var/www/wikis/''nome_da_wiki''_ssl<br>&emsp;&emsp;&emsp;<Directory /var/www/wikis/''nome_da_wiki''_ssl><br>&emsp;&emsp;&emsp;&emsp;&emsp;Options Indexes FollowSymLinks<br>&emsp;&emsp;&emsp;&emsp;&emsp;AllowOverride None<br>&emsp;&emsp;&emsp;</Directory><br>&emsp;&emsp;&emsp;ErrorLog /var/log/apache2/''nome_da_wiki''-error.log<br>&emsp;&emsp;&emsp;LogLevel warn<br>&emsp;&emsp;&emsp;CustomLog /var/log/apache2/''nome_da_wiki''-access.log combined<br></VirtualHost></div>
  
-- http
+
:* https:
 +
:<div style="background-color: #f9f9f9; font-family: monospace,Courier; padding: 1em; border: 1px solid rgb(221, 221, 221);">nano <i>nome_da_wiki</i>_ssl</div>
  
    nano nome_da_wiki_80
+
:Incluir:
 +
:<div style="background-color: #f9f9f9; font-family: monospace,Courier; padding: 1em; border: 1px solid rgb(221, 221, 221);"><VirtualHost ''nome_da_wiki''.if.ufrgs.br:443><br>&emsp;&emsp;&emsp;ServerAdmin webadmin@if.ufrgs.br<br>&emsp;&emsp;&emsp;DocumentRoot /var/www/wikis/''nome_da_wiki''_ssl<br>&emsp;&emsp;&emsp;&emsp;&emsp;ServerName helsinque.if.ufrgs.br<br>&emsp;&emsp;&emsp;&emsp;&emsp;SSLEngine on<br>&emsp;&emsp;&emsp;&emsp;&emsp;RewriteEngine On<br>&emsp;&emsp;&emsp;&emsp;&emsp;SSLCertificateFile \<br>&emsp;&emsp;&emsp;&emsp;&emsp;/etc/ssl/cominf.if.ufrgs.br.cert<br>&emsp;&emsp;&emsp;&emsp;&emsp;SSLCertificateKeyFile \<br>&emsp;&emsp;&emsp;&emsp;&emsp;/etc/ssl/helsinque.if.ufrgs.br.key.unsecurity<br>&emsp;&emsp;&emsp;<Directory /var/www/wikis/''nome_da_wiki''_ssl><br>&emsp;&emsp;&emsp;&emsp;&emsp;Options Indexes FollowSymLinks<br>&emsp;&emsp;&emsp;&emsp;&emsp;AllowOverride None<br>&emsp;&emsp;&emsp;</Directory><br>&emsp;&emsp;&emsp;ErrorLog /var/log/apache2/''nome_da_wiki''-error.log<br>&emsp;&emsp;&emsp;LogLevel warn<br>&emsp;&emsp;&emsp;CustomLog /var/log/apache2/''nome_da_wiki''-access.log combined<br></VirtualHost></div>
  
Incluir:
+
* Criar links
        <VirtualHost '''nome_da_wiki'''.if.ufrgs.br:80>
+
cd /etc/apache2/sites-enabled
            ServerAdmin webadmin@if.ufrgs.br
+
ln -s  ../sites-available/''nome_da_wiki''_ssl ''nome_da_wiki''
            DocumentRoot /var/www/wikis/'''nome_da_wiki_80'''
+
ln -s  ../sites-available/''nome_da_wiki''_80 ''nome_da_wiki''_80
          <Directory /var/www/wikis/'''nome_da_wiki_80'''>
+
                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>
+
-- https
+
    nano nome_da_wiki_ssl
+
Incluir:
+
  
      <VirtualHost '''nome_da_wiki'''.if.ufrgs.br:443>
+
* Reiniciar serviço
        ServerAdmin webadmin@if.ufrgs.br
+
/etc/init.d/apache2 restart
        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>
+
  
 +
== Etapa 2 (Gaya) ==
  
- Criar link
+
=== DNS ===
      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'''
+
  
- Reiniciar Serviço
+
* Editar DNS
      /etc/init.d/apache2 restart
+
cd /etc/bind/dns-update/cnames
 
+
cd /etc/bind/
* Na gaya
+
vi cnames.txt
 
+
DNS
+
 
+
- Editar dns
+
    cd /etc/bind/auto_update_script/cnames
+
    vi cnames.txt
+
  
 
Incluir:
 
Incluir:
      Nome_da_wiki CNAME kiev
+
''nome_da_wiki'' CNAME helsinque ''(ou servidor de wikis atual)''
 +
no arquivo '''cnames.txt'''
  
- Reiniciar serviço
+
* Reiniciar serviço
    cd ..
+
cd ..
    ./update.dns.sh
+
./dns-update.sh
  
BANCO DE DADOS
+
=== Banco de Dados ===
-
+
* Acessar banco de dados
 +
mysql -p
 +
''(colocar senha do banco de dados)''
  
- Acessar banco
+
* Criar novo banco de dados
      mysql -p
+
mysql>show databases;
      (colocar senha do banco de dados)
+
mysql>create database wiki_''nome_da_wiki'';
  
- Criar Banco de dados
+
* Dar acesso ao usuário '''wiki_user''' ao banco criado
      mysql>show databases;
+
mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,INDEX,ALTER ON wiki_''nome_da_wiki''.* TO wiki_user@143.54.40.45;
      mysql>create database wiki_nome_da_wiki;
+
  
- Dar acesso ao usuário wiki_user ao banco criado
+
* Reiniciar o serviço
      mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,INDEX,ALTER ON wiki_nome_da_wiki.* TO wiki_user@143.54.196.45 IDENTIFIED BY 'SENHA';
+
/etc/init.d/mysql restart
  
- reiniciar serviço
+
== Etapa 3 (Rosen) ==
      /etc/init.d/mysql restart
+
  
* No mesonpi
+
* 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:
  
- Incluir arquivo na base LDAP com pessoas autorizadas a modificar a wiki
+
  dn: cn=w_''nome_da_wiki'',ou=grupos,ou=dominio, dc=if
 
+
  gidNumber: ''número (cada novo entry deve ter um novo gidNumber)''
  dn: cn=w_nome_da_wiki,ou=grupos,ou=berlim, dc=if
+
  gidNumber: 2503
+
 
  memberUid: User
 
  memberUid: User
 
  userPassword:: e2NyeXB0fSo=
 
  userPassword:: e2NyeXB0fSo=
 
  objectClass: posixGroup
 
  objectClass: posixGroup
 
  objectClass: top
 
  objectClass: top
  cn: w_nome_da_wiki
+
  cn: w_''nome_da_wiki''
  
ATENÇÃO: Colocar letra maiúscula no nome do usuário
+
'''ATENÇÃO:'''
  
* No browser
+
Colocar primeira letra em maiúscula no nome do usuário.
  
- Abrir o site da wiki feita para fazer a configuração
+
::* 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).
  
http://noma_da_wiki.if.ufrgs.br
+
=== No browser ===
  
- Algumas configurações:
+
* Abrir o site da nova wiki para fazer a configuração
  
  wiki name: NOME DA WIKI
+
http://''nome_da_wiki''.if.ufrgs.br
 +
 
 +
* Algumas configurações básicas:
 +
 
 +
  wiki name: ''NOME DA WIKI''
 
  contact e-mail webadmin@if.ufrgs.br
 
  contact e-mail webadmin@if.ufrgs.br
 
  Admin username: wiki_user
 
  Admin username: wiki_user
  Password:
+
  Password: ''(criar nova senha)''
 
  Object caching: No caching
 
  Object caching: No caching
 
  Database type: MySQL
 
  Database type: MySQL
  Database host: 143.54.196.2
+
  Database host: 143.54.40.2
  Database name: wiki_nome_da_wiki
+
  Database name: wiki_''nome_da_wiki''
 
  DB username: wiki_user
 
  DB username: wiki_user
  DB password (senha do usuário do banco de dados)
+
  DB password ''(senha do usuário do banco de dados)''
 
  Database table prefix: mw_
 
  Database table prefix: mw_
  
* Na kiev
+
== Etapa 4 (Helsinque) ==
  
- Após a finalização das configurações, um arquivo chamado LocalSettings.php será criado em /var/www/wikis/nome_da_wiki/config. Mover um diretório acima:
+
* Finalizadas as configurações, será gerado e baixado um arquivo '''LocalSettings.php''', que deverá ser salvo em /var/www/wikis/''nome_da_wiki''
  
mv /var/www/wikis/nome_da_wiki/config/LocalSettings.php  /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:
  
- Incluir as linhas abaixo no arquivo LocalSettings.php com caminho do LDAP correto:
+
::<div style="background-color: #f9f9f9; font-family: monospace,Courier; padding: 1em; border: 1px solid rgb(221, 221, 221);"> mv /var/www/wikis/<i>nome_da_wiki</i>/config/LocalSettings.php  /var/www/wikis/<i>nome_da_wiki</i>/ </div>
 +
 
 +
* Incluir as linhas abaixo no arquivo '''LocalSettings.php''' com caminho do LDAP correto:
 
   
 
   
 
  #################################################################
 
  #################################################################
 
  $wgGroupPermissions['*']['edit'] = false;
 
  $wgGroupPermissions['*']['edit'] = false;
 
  $wgGroupPermissions['*']['createaccount'] = false;
 
  $wgGroupPermissions['*']['createaccount'] = false;
  require_once( 'LdapAuthentication.php' );
+
  require_once( "$IP/extensions/LdapAuthentication/LdapAuthentication.php" );
 +
require_once( 'includes/AuthPlugin.php' );
 
  $wgAuth = new LdapAuthenticationPlugin();
 
  $wgAuth = new LdapAuthenticationPlugin();
 
  #$wgLDAPUseLocal = true;
 
  #$wgLDAPUseLocal = true;
 
  $wgLDAPDomainNames = array(
 
  $wgLDAPDomainNames = array(
   'berlin'
+
   'IF'
 
  );
 
  );
 
  $wgLDAPServerNames = array(
 
  $wgLDAPServerNames = array(
   'berlin' => '143.54.196.8'
+
   'IF' => '143.54.40.8'
 
  );
 
  );
 
  $wgLDAPSearchStrings = array(
 
  $wgLDAPSearchStrings = array(
   'berlin' => 'uid=USER-NAME,ou=berlim,dc=if
+
   'IF' => 'uid=USER-NAME,ou=usuarios,ou=dominio,dc=if'
 
  );
 
  );
 
  $wgLDAPEncryptionType = array(
 
  $wgLDAPEncryptionType = array(
   'berlin' => 'clear'
+
   'IF' => 'clear'
 
  );
 
  );
 
  #######################
 
  #######################
  $wgLDAPRequiredGroups = array( "berlin"=>array("cn=''''w_nome_da _wiki'''',ou=grupos,ou=berlim,dc=if") );
+
  $wgLDAPRequiredGroups = array( "IF"=>array("cn=w_''nome_da_wiki'',ou=grupos,ou=dominio,dc=if") );
  $wgLDAPGroupUseFullDN = array( "berlin"=>false );
+
  $wgLDAPGroupUseFullDN = array( "IF"=>false );
  $wgLDAPGroupObjectclass = array( "berlin"=>"posixgroup" );
+
  $wgLDAPGroupObjectclass = array( "IF"=>"posixgroup" );
  $wgLDAPGroupAttribute = array( "berlin"=>"memberuid" );
+
  $wgLDAPGroupAttribute = array( "IF"=>"memberuid" );
  $wgLDAPGroupSearchNestedGroups = array( "berlin"=>false );
+
  $wgLDAPGroupSearchNestedGroups = array( "IF"=>false );
  $wgLDAPGroupNameAttribute = array( "berlin"=>"cn" );
+
  $wgLDAPGroupNameAttribute = array( "IF"=>"cn" );
  $wgLDAPBaseDNs = array( "berlin"=>"ou=berlim,dc=if" );
+
  $wgLDAPBaseDNs = array( "IF"=>"ou=dominio,dc=if" );
 
  #######################
 
  #######################
 
  $wgMinimalPasswordLength = 1;
 
  $wgMinimalPasswordLength = 1;
Linha 188: Linha 163:
 
  #################################################################
 
  #################################################################
  
- Copiar o arquivo LdapAuthentication.php:
+
* Baixe o plugin LdapAuthentication apropriado para a versão do MediaWiki sendo utilizada
  
  cp /root/LdapAuthentication.php /var/www/wikis/nome_da_wiki/includes/
+
  [https://www.mediawiki.org/wiki/Special:ExtensionDistributor/LdapAuthentication https://www.mediawiki.org/wiki/Special:ExtensionDistributor/LdapAuthentication]
  
- Alterar permissões
+
* 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:
chown -R www-data.www-data /var/www/wikis/nome_da_wiki
+
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
 
  chmod go-rw LocalSettings.php
  
'''Alterar wiki para Login seguro'''
+
::* 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'''
 +
::<div style="background-color: #f9f9f9; font-family: monospace,Courier; padding: 1em; border: 1px solid rgb(221, 221, 221);"> cd /var/www/wikis/<i>nome_da_wiki</i>/maintenance <br> php update.php</div>
 +
 
 +
=== 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 <i>cookies</i> ativados para poder autenticar-se na {{SITENAME}}.',
  
languages/messages/MessagesPt_br.php
+
: para
linha 555
+
  
'loginprompt'                => 'É necessário estar com os <i>cookies</i> ativados para poder autenticar-se na {{SITENAME}}.',
+
'loginprompt'                => 'Direcionando para <i>login</i> seguro. Por favor, aguarde... &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp;',
  
para
+
* No includes/templates/Userlogin.php, na primeira linha:
  
'loginprompt'                => 'Direcionando para <i>login</i> seguro. Por favor, aguarde... &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp;',
+
<meta HTTP-EQUIV="REFRESH" content="0; url=https://pagina.if.ufrgs.br/index.php?title=Especial:Entrar&returnto=Especial:Entrar">
  
includes/templates/Userlogin.php
+
:ou, caso for versão 1.23.4:
  
Na primeira linha:
+
<meta HTTP-EQUIV="REFRESH" content="0; url=https://wiki.if.ufrgs.br/index.php?title=Especial:Autenticar-se&returnto=P%C3%A1gina+principal">
  
<meta HTTP-EQUIV="REFRESH" content="0; url=https://pagina.if.ufrgs.br/index.php?title=Especial:Entrar&returnto=Especial:Entrar">
+
Isto pode variar de acordo com a versão da wiki.
  
Comentar linhas 36 a 42, 43 a 50, 57 a 65 e 68 a 77
+
* Por fim, comentar linhas 36 a 42, 43 a 50, 57 a 65 e 68 a 77

Edição atual tal como às 15h54min de 20 de junho de 2016

Como criar wikis

Etapa 1 (Helsinque)

  • Verificar requisitos do servidor
Requisitos servidor
  • Baixar MediaWiki no diretório /var/www/wikis/
cd /var/www/wikis
wget http://releases.wikimedia.org/mediawiki/1.25/mediawiki-1.25.6.tar.gz
(ou http://releases.wikimedia.org/mediawiki/1.25/mediawiki-1.26.3.tar.gz, para a versão mais recente)
  • Descompactar e alterar nome
tar -zxf mediawiki-1.25.6.tar.gz
cp -r mediawiki-1.25.6 nome_da_wiki_ssl
  • Alterar permissões
chown -R www-data:www-data /var/www/wikis/nome_da_wiki_ssl

Apache

  • Abrir a pasta
cd /etc/apache2/sites-available/
  • Criar arquivos
  • 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>
  • 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>
  • Criar links
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
  • Reiniciar serviço
/etc/init.d/apache2 restart

Etapa 2 (Gaya)

DNS

  • Editar DNS
cd /etc/bind/dns-update/cnames
cd /etc/bind/
vi cnames.txt

Incluir:

nome_da_wiki CNAME helsinque (ou servidor de wikis atual)

no arquivo cnames.txt

  • Reiniciar serviço
cd ..
./dns-update.sh

Banco de Dados

  • Acessar banco de dados
mysql -p
(colocar senha do banco de dados)
  • Criar novo 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 o 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