Mudanças entre as edições de "Assessoria de Informática"

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
Linha 170: Linha 170:
 
  require_once( "extensions/LdapAuthentication/LdapAuthentication.php" );
 
  require_once( "extensions/LdapAuthentication/LdapAuthentication.php" );
 
  $wgAuth = new LdapAuthenticationPlugin();
 
  $wgAuth = new LdapAuthenticationPlugin();
  $wgLDAPDomainNames = array( "LDAP" );  
+
  $wgLDAPDomainNames = array( "IF-SC" );
  $wgLDAPServerNames = array( "LDAP"=>"200.135.37.79" );  
+
  $wgLDAPServerNames = array( "IF-SC"=>"200.135.37.79" );
  $wgLDAPEncryptionType = array( "LDAP"=>"clear" );  
+
  $wgLDAPEncryptionType = array( "IF-SC"=>"clear" );
  $wgLDAPSearchStrings = array( "LDAP"=>"uid=USER-NAME,ou=SaoJose,ou=Usuarios,dc=cefetsc,dc=edu,dc=br" );  
+
  $wgLDAPSearchStrings = array( "IF-SC"=>"uid=USER-NAME,ou=SaoJose,ou=Usuarios,dc=cefetsc,dc=edu,dc=br" );
  $wgLDAPSearchAttributes = array( "LDAP"=>"uid" );  
+
  $wgLDAPSearchAttributes = array( "IF-SC"=>"uid" );
  $wgLDAPBaseDNs = array( "LDAP"=>"dc=cefetsc,dc=edu,dc=br" );  
+
  $wgLDAPBaseDNs = array( "IF-SC"=>"dc=cefetsc,dc=edu,dc=br" );
  $wgLDAPGroupBaseDNs = array( "LDAP"=>"ou=Grupos,dc=cefetsc,dc=edu,dc=br" );  
+
  $wgLDAPGroupBaseDNs = array( "IF-SC"=>"ou=Grupos,dc=cefetsc,dc=edu,dc=br" );
  $wgLDAPUserBaseDNs = array( "LDAP"=>"ou=SaoJose,ou=Usuarios,ou=Usuarios,dc=boidacarapreta,dc=homeunix,dc=net" );  
+
  $wgLDAPUserBaseDNs = array( "IF-SC"=>"ou=SaoJose,ou=Usuarios,ou=Usuarios,dc=boidacarapreta,dc=homeunix,dc=net" );
  $wgLDAPGroupUseFullDN = array( "LDAP"=>false );  
+
  $wgLDAPGroupUseFullDN = array( "IF-SC"=>false );
  $wgLDAPGroupAttribute = array( "LDAP"=>memberUid );  
+
  $wgLDAPGroupAttribute = array( "IF-SC"=>memberUid );
 
  $wgLDAPUseLocal = true;
 
  $wgLDAPUseLocal = true;
 
Essa última linha, em particular, mantém as contas da base SQL (autenticação local) em paralelo com as do LDAP.
 
Essa última linha, em particular, mantém as contas da base SQL (autenticação local) em paralelo com as do LDAP.

Edição das 16h09min de 10 de novembro de 2010

Para 2010

No final deste ano a Assessoria de Informática está a cargo do prof. Ederson Torresini.

Diário de Atividades

11/10/10 a 15/10/10

18/10/10 a 22/10/10

  • Processo de seleção de 3 bolsistas para a COINF.

25/10/10 a 29/10/10

  • Iniciado o processo de migração deste wiki.
  • Avaliação Institucional online? Conversar com prof. Emerson e Rogers. Uma opção encontrada na Internet é o LimeSurvey, já publicado para testes, o qual atende aos seguintes requisitos:
    • Garantia de anonimato.
    • Integração com LDAP.
    • Preenchimento do questionário com salvamento em partes.
    • Convites, notificações e lembretes por email.
    • Importação dos questionários e exportação de relatórios em vários formatos, em especial CSV, XLS e PDF.

04/11/10 a 06/11/10

  • O sistema de questionários é aprovado para a Avaliação Institucional 2010. Nesta semana, foram digitalizados os questionários para docentes e técnicos administrativos, bem como importada da base LDAP a lista de usuários respectivas.

08/11/10 a 12/11/10

  • Acompanhamento do sistema de questionários.
  • Apresentação da nova versão do wiki em fase de teste, para prover melhor integração com outros sistemas (mashups).

Anexos

Migração da versão de wiki

A atual versão, 1.9.3, está defasada. É fortemente recomendado migrar para uma versão mais nova - a última versão estável disponível é a 1.16.0.

Pronto - Instalação do sistema operacional

Instalado o sistema Debian lenny virtualizado sobre VMWare.

Pronto - Instalação de servidor Web com suporte a PHP e MySQL

aptitude install apache2 php5 libapache2-mod-php5 php5-mysql

Pronto - Instalação de código do Mediawiki

cd /var/www
wget http://download.wikimedia.org/mediawiki/1.16/mediawiki-1.16.0.tar.gz
tar xvzf mediawiki-1.16.0.tar.gz
rm -f mediawiki-1.16.0.tar.gz
mv mediawiki-1.16.0 wiki
chown -R www-data:www-data wiki
find wiki -type d -exec chmod 500 {} \;
find wiki -type f -exec chmod 400 {} \;
chmod 700 wiki/images

Pronto - Configuração do CMS

aptitude install php5-gd php5-imagick php5-ldap imagemagick

Extensões

A lista de extensões do Mediawiki pode ser vista por uma página especial: Especial:Versão.

Pronto - Bibtex

Embora a versão tenha suporte "oficial" até a versão 1.10, é possível utilizar a extensão para versões posteriores:

wget http://gsc2.cemif.univ-evry.fr/images/3/30/Mediawiki-Bibtex-0.9.1.tar.gz
tar xvzf Mediawiki-Bibtex-0.9.1.tar.gz
rm -f Mediawiki-Bibtex-0.9.1.tar.gz
chown -R www-data:www-data Mediawiki-Bibtex-0.9.1
chmod 500 Mediawiki-Bibtex-0.9.1
chmod 400 Mediawiki-Bibtex-0.9.1/*
mv Mediawiki-Bibtex-0.9.1 Bibtex

É preciso atualizar o código do arquivo extensions/Bibtex/bibtex.php. Abaixo, uma correção (patch), conforme discussão:

--- bibtex.php-old	2010-10-30 00:35:45.486951000 -0200
+++ bibtex.php	2010-10-30 00:39:15.621595840 -0200
@@ -4,7 +4,8 @@
 // Jean-Yves Didier, November, the 4th 2005.
 
 include_once 'bibstyle.php';
-include_once 'Image.php';
+// 20101030 Ederson Torresini: informando o novo local do arquivo
+include_once 'includes/filerepo/Image.php';
 
 // First declaration for mediawiki bibtex extension
 $wgExtensionFunctions[] = "wfBibtexExtension";
@@ -568,6 +569,8 @@
 	  $links .= "\n";
 	  $text .= $links;
      }
+	// 20101030 Ederson Torresini: retornando algo (parece óbvio, mas...)
+	return true;
 }
 
 ?>

o que na prática significa alterar a referência do arquivo Image.php (linha 7) e adicionar um retorno à função bibtexHook (linha 570).

E, por último, adicionar a linha no arquivo LocalSettings.php:

require_once("extensions/Bibtex/bibtex.php");

Pronto - Graphviz

aptitude install graphviz
cd /var/www/wiki/extensions
wget http://mwextensions.cvs.sourceforge.net/*checkout*/mwextensions/mediawikiextensions/Graphviz.php
chown www-data:www-data Graphviz.php
chmod 400 Graphviz.php

Pronto - GeshiCodeTag

A extensão depende de outra extensão, geshi:

cd /tmp
wget -r --no-parent http://mediawiki.googlecode.com/svn/trunk/extensions/geshi/geshi/
mv mediawiki.googlecode.com/svn/trunk/extensions/geshi/geshi/ /var/www/wiki/extensions/
cd /var/www/wiki/extensions/geshi
rm -f index.html geshi/index.html
chown -R www-data:www-data .
chmod 500 geshi
chmod 400 geshi.php geshi/*
mkdir DESATIVADOS
chown www-data:www-data DESATIVADOS
chmod 500 DESATIVADOS
for linguagem in smarty vbnet objc xpp diff vhdl asp ini lisp apache latex asm vb actionscript idl robots div; \
do mv geshi/${linguagem}.php DESATIVADOS; done

Uma vez instalada a dependência, é possível habilitar a extensão:

cd /var/www/wiki/extensions
vi GeshiCodeTag.php
chown www-data:www-data GeshiCodeTag.php
chmod 400 GeshiCodeTag.php

Obs.: o conteúdo do arquivo foi copiado a partir da sua página.

Pronto - EmbedVideo

cd /var/www/wiki/extensions/
wget http://github.com/Whiteknight/mediawiki-embedvideo/tarball/v1.0
tar xvzf v1.0
rm -f v1.0
mv Whiteknight-mediawiki-embedvideo-f0c57ad EmbedVideo
chown -R www-data:www-data EmbedVideo
chmod 500 EmbedVideo
chmod 400 EmbedVideo/*

Pronto - ParserFunctions

A versão foi descarregada da página da extensão - a última versão estável disponível é a r75335.

cd /var/www/wiki/extensions/
wget http://upload.wikimedia.org/ext-dist/ParserFunctions-trunk-r75335.tar.gz
tar xvzf ParserFunctions-trunk-r75335.tar.gz
rm -f ParserFunctions-trunk-r75335.tar.gz
chown -R www-data:www-data ParserFunctions
chmod 500 ParserFunctions
chmod 400 ParserFunctions/*

Pronto - LdapAuthentication

A versão foi descarregada da página da extensão - a última versão estável disponível é a r61987.

cd /var/www/wiki/extensions/
wget http://upload.wikimedia.org/ext-dist/LdapAuthentication-MW1.16-r61987.tar.gz
tar xvzf LdapAuthentication-MW1.16-r61987.tar.gz
rm -f LdapAuthentication-MW1.16-r61987.tar.gz
chown -R www-data:www-data LdapAuthentication
chmod 500 LdapAuthentication
chmod 400 LdapAuthentication/*

e a configuração para a base LDAP de acesso externo. No arquivo /var/www/wiki/LocalSettings.php foram adicionadas as linhas:

require_once( "extensions/LdapAuthentication/LdapAuthentication.php" );
$wgAuth = new LdapAuthenticationPlugin();
$wgLDAPDomainNames = array( "IF-SC" );
$wgLDAPServerNames = array( "IF-SC"=>"200.135.37.79" );
$wgLDAPEncryptionType = array( "IF-SC"=>"clear" );
$wgLDAPSearchStrings = array( "IF-SC"=>"uid=USER-NAME,ou=SaoJose,ou=Usuarios,dc=cefetsc,dc=edu,dc=br" );
$wgLDAPSearchAttributes = array( "IF-SC"=>"uid" );
$wgLDAPBaseDNs = array( "IF-SC"=>"dc=cefetsc,dc=edu,dc=br" );
$wgLDAPGroupBaseDNs = array( "IF-SC"=>"ou=Grupos,dc=cefetsc,dc=edu,dc=br" );
$wgLDAPUserBaseDNs = array( "IF-SC"=>"ou=SaoJose,ou=Usuarios,ou=Usuarios,dc=boidacarapreta,dc=homeunix,dc=net" );
$wgLDAPGroupUseFullDN = array( "IF-SC"=>false );
$wgLDAPGroupAttribute = array( "IF-SC"=>memberUid );
$wgLDAPUseLocal = true;

Essa última linha, em particular, mantém as contas da base SQL (autenticação local) em paralelo com as do LDAP.

Cópia dos arquivos carregados (upload)

Testes:

  1. Cópia bruta de servidor antigo para novo: sucesso. A estrutura de diretórios e arquivos manteve-se compatível entre as versões.

Transferência da base de dados (exportação e importação)

No servidor antigo

Primeiramente, foi feita uma cópia da base de dados do atual servidor:

mysqldump -u <usuário> -p <base_original> > /var/backups/<base_original>_20101029.sql
chmod 400 /var/backups/<base_original>_20101029.sql

Em seguida, o arquivo foi copiado para o novo servidor...

scp /var/backups/<base_original>_20101029.sql <servidor_novo>:/var/backups/

No servidor novo

... e importado, usando para tal o servidor de bases <servidor_SQL>:

mysql -h <servidor_SQL> -u <usuário> -p <base> < /var/backups/<base_original>_20101029.sql

Como as versões antiga e nova são diferentes, é preciso atualizar o formato das tabelas no banco, conforme documentação:

cd /var/www/wiki/
php maintenance/update.php

E, por último, manter a compatibilidade com conteúdo gerado em antigas versões do MySQL:

$wgDBmysql5 = false;