Assessoria de Informática

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar

Para 2010

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

Para 2011

Para este ano mantém-se o prof. Ederson Torresini como assessor, e foi proposta uma Comissão de Informática para ampliar a discussão das políticas no campus. Em novembro do mesmo ano, foi iniciada a documentação da nova rede (acesso restrito) como forma de TCC (acesso restrito).

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).

16/11/10 a 19/11/10

22/11/10 a 26/11/10

29/11/10 a 03/12/10

  • Assumidos 3 compromissos em reunião:
    • Para esta semana, instalação dos novos computadores e sistema de monitoramento por câmera no Lab. dos Alunos.
    • Para a próxima semana, o mapeamento dos pontos de rede para cabeamento estruturado e rede sem fio.
    • Para os próximos 14 dias, os novos Wiki e portal de São José, além de um sistema ao estilo lan-house no Lab. dos Alunos e Biblioteca, com controle de horário e de conteúdo.

06/12/10 a 10/12/10

13/12/10 a 17/12/10

  • Estudos alternativos para implementar a rede sem fio, por questões (temporariamente) técnicas.
  • Análise do novo modelo (template) da nova versão do portal, reescrita a partir do original - trabalho realizado pelo Mario André.

Anexos

Instalação do Sistema de Questionários

O sistema LimeSurvey, escolhido na semana de 04/11/10 a 06/11/10, possui fácil instalação. A última versão é a 1.90 build 9459.

cd /var/www/
wget "http://downloads.sourceforge.net/project/limesurvey/1._LimeSurvey_stable/1.90%2B/\
limesurvey190plus-build9459-20101109.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects\
%2Flimesurvey%2F&ts=1289503038&use_mirror=ufpr" -O limesurvey.tgz
tar xzf limeusrvey.tgz
mv limesurvey pesquisa
rm limesurvey.tgz
chown -r www-data:www-data pesquisa
find pesquisa -type d -exec chmod 500 {} \;
find pesquisa -type f -exec chmod 400 {} \;

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.

Instalação do sistema operacional

Instalado o sistema Debian lenny virtualizado sobre VMWare.

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

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

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

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.

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");

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

No arquivo /var/www/wiki/LocalSettings.php foram adicionadas as linhas:

include("extensions/Graphviz.php");
$wgGraphVizSettings->dotCommand = "/usr/bin/dot";

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. No arquivo /var/www/wiki/LocalSettings.php foi adicionada a linha:

include("extensions/GeshiCodeTag.php");

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/*

No arquivo /var/www/wiki/LocalSettings.php foi adicionada a linha:

require_once("extensions/EmbedVideo/EmbedVideo.php");

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/*

No arquivo /var/www/wiki/LocalSettings.php foi adicionada a linha:

require_once("extensions/ParserFunctions/ParserFunctions.php" );

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.

Lockdown

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

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

e a configuração para controlar o acesso. No arquivo /var/www/wiki/LocalSettings.php foi adicionada a linha para carregar a extensão:

require_once( "extensions/Lockdown/Lockdown.php" );

A partir desse ponto, é possível controlar o acesso para uma namespace em particular. A Comissão de Engenharia solicitou um espaço reservado para rascunhar a proposta do curso, a qual será liberada quando o documento estiver finalizado. Até lá, apenas os membros da Comissão terão acesso ao material. Primeiro, a criação de uma namespace específica:

define("NS_ENGENHARIA", 102);
define("NS_ENGENHARIA_TALK", 103);
$wgExtraNamespaces[NS_ENGENHARIA] = "Engenharia";
$wgExtraNamespaces[NS_ENGENHARIA_TALK] = "Engenharia Talk";

Em seguida, foi criado o grupo de controle e ativadas as suas permissões de uso:

$wgGroupPermissions['Engenharia']['read'] = true;
$wgGroupPermissions['Engenharia']['createpage'] = true;
$wgGroupPermissions['Engenharia']['edit'] = true;
$wgGroupPermissions['Engenharia']['createtalk'] = true;
$wgGroupPermissions['Engenharia']['minoredit'] = true;
$wgGroupPermissions['Engenharia']['move-subpages'] = true;
$wgGroupPermissions['Engenharia']['move'] = true;
$wgGroupPermissions['Engenharia']['movefile'] = true;
$wgGroupPermissions['Engenharia']['reupload-shared'] = true;
$wgGroupPermissions['Engenharia']['reupload'] = true;
$wgGroupPermissions['Engenharia']['sendemail'] = true;
$wgGroupPermissions['Engenharia']['upload'] = true;
$wgGroupPermissions['Engenharia']['writeapi'] = true;
$wgGroupPermissions['Engenharia']['delete'] = true;
$wgGroupPermissions['Engenharia']['undelete'] = true;

e, por último, aplicadas as suas permissões à namespace "Engenharia":

$wgNamespacePermissionLockdown[NS_ENGENHARIA]['*'] = array('Engenharia');
$wgNamespacePermissionLockdown[NS_ENGENHARIA_TALK]['*'] = array('Engenharia');

Google Calendar

A versão foi descarregada do código 'inline' da página pessoal do desenvolvedor.

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

e a configuração para controlar o acesso. No arquivo /var/www/wiki/LocalSettings.php foi adicionada a linha para carregar a extensão:

require_once( "extensions/Google_Calendar.php" );

Cite

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

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

No arquivo /var/www/wiki/LocalSettings.php foi adicionada a linha para carregar a extensão:

require_once( "extensions/Cite/Cite.php" );

S5SlideShow

A versão foi descarregada do repositório oficial no Google Code.

cd /var/www/wiki/extensions/
wget http://mediawiki4intranet.googlecode.com/files/S5SlideShow-2011-11-01.tar.bz2
tar xvzf S5SlideShow-2011-11-01.tar.bz2
rm -f S5SlideShow-2011-11-01.tar.bz2
chown -R www-data:www-data S5SlideShow
find S5SlideShow/ -type f -exec chmod 400 {} \;
find S5SlideShow/ -type d -exec chmod 500 {} \;

No arquivo /var/www/wiki/LocalSettings.php foram adicionadas as linhas para configurar e carregar a extensão:

$egS5SlideHeadingMark = ;
$egS5SlideIncMark = '(step)';
$egS5BrowserScaleHack = true;
require_once("extensions/S5SlideShow/S5SlideShow.php");

Collection

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

cd /var/www/wiki/extensions/
wget http://upload.wikimedia.org/ext-dist/Collection-MW1.16-r66255.tar.gz
tar xvzf Collection-MW1.16-r66255.tar.gz
rm -f Collection-MW1.16-r66255.tar.gz
chown -R www-data:www-data Collection
find Collection/ -type f -exec chmod 400 {} \;
find Collection/ -type d -exec chmod 500 {} \;

No arquivo /var/www/wiki/LocalSettings.php foi adicionada as linhas para configurar e carregar a extensão:

require_once("extensions/Collection/Collection.php");

Validator

Extensão que provê suporte à extensão SemanticMediawiki. A última versão estável é a 0.5 alpha.

cd /var/www/wiki/extensions/
git clone https://gerrit.wikimedia.org/r/p/mediawiki/extensions/Validator.git
chown -R www-data:www-data Validator
find Validator -type f -exec chmod 400 {} \;
find Validator -type d -exec chmod 500 {} \;

SemanticMediawiki

Extensão que provê suporte à extensão Semantic Project Management.

http://sourceforge.net/projects/semediawiki/files/semediawiki/Semantic%20MediaWiki%201.7.1/SemanticMediaWiki1.7.1.zip/download

Semantic Project Management

A versão foi descarregada diretamente do repositório Subversion do projeto - a última versão estável disponível é a r115178.

cd /var/www/wiki/extensions/
svn checkout http://svn.wikimedia.org/svnroot/mediawiki/trunk/extensions/SemanticProjectManagement/
chown -R www-data:www-data SemanticProjectManagement/
find SemanticProjectManagement/ -type f -exec chmod 400 {} \;
find SemanticProjectManagement/ -type d -exec chmod 500 {} \;

Interpretação de Fórmulas Matemáticas

O Mediawiki pode interpretar e apresentar fórmulas matemáticas assim como o LaTeX. Para ativar essa função, deve-se primeiramente instalar os pacotes de sistema para análise léxica e sintática:

aptitude install ocaml cjk-latex

Em seguida, compilar o programa textvc, conforme manual oficial:

aptitude install build-essential
cd /var/www/wiki/math
make clean all
chown www-data:www-data *
chmod 400 *
chmod 500 texvc texvc_test texvc_tex

E, por último, ativar o uso do texvc na configuração (arquivo LocalSettings.php):

$wgUseTeX = true;

Ficando assim:

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, ativando o parâmetro wgDBmysql5 no arquivo /var/www/wiki/LocalSettings.php:

$wgDBmysql5 = false;