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 227: Linha 227:
 
  $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.
 +
 +
====[http://www.mediawiki.org/wiki/Extension:Lockdown Lockdown]====
 +
A versão foi descarregada da [http://www.mediawiki.org/wiki/Special:ExtensionDistributor/Lockdown página da extensão] - a última versão estável disponível é a <tt>r70092</tt>.
 +
<syntaxhighlight lang=bash>
 +
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/*
 +
</syntaxhighlight>
 +
e a configuração para controlar o acesso. No arquivo <tt>/var/www/wiki/LocalSettings.php</tt> 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 [http://www.mediawiki.org/wiki/Help:Namespaces 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 [http://wiki.sj.ifsc.edu.br/index.php?title=Especial:Lista_de_usu%C3%A1rios&group=Engenharia 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:
 +
$wgNamespacePermissionLockdown[NS_ENGENHARIA]['*'] = array('Engenharia');
 +
$wgNamespacePermissionLockdown[NS_ENGENHARIA_TALK]['*'] = array('Engenharia');
 +
$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;
  
 
===Interpretação de Fórmulas Matemáticas===
 
===Interpretação de Fórmulas Matemáticas===

Edição das 14h52min de 25 de março de 2011

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

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:

$wgNamespacePermissionLockdown[NS_ENGENHARIA]['*'] = array('Engenharia');
$wgNamespacePermissionLockdown[NS_ENGENHARIA_TALK]['*'] = array('Engenharia');
$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;

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;