Prezado Eduardo e demais colaboradores,
Boa tarde. Pretendo atualizar o dotlrn2.1.1 compilado e suas dependências para um SO mais novo, SGBD e dotlrn mais recentes. O cenário atual é o seguinte: dois servidores Debian, ambos 32 bits virtualizados (VMware): versão 3.1 dotlrn 2.11, que batizamos de coptec, todos os pacotes compilados e noutro versão 6.0 com Postgresql 8.1.
Para fins de testes e homologação, o servidor para o qual desejo a atualização (se possível, é claro) é um outro Debian AMD64 bits, VIRTUALBOX, com 2 GB de RAM. Aparentemente, a versão instalada e configurada por apt-get foi bem sucedida. Apontando tudo para localhost, escutando, inclusive em todas as interfaces (0.0.0.0) para acesso remoto, tanto o banco Postgresql-8.4 pelo PGADMIN III quanto a aplicação dotlrn2.5 acessada pelo browser funcionaram de acordo, cuja a interface é muito agradável (tema ZEN).
Entretanto, quando trouxe na unha legado dotlrn2.1.1 e seus content-repository bem como restaurei o SGBD Postgresql8.1 (apenas dados) em um novo SGDB, aliás o mesmo de produção, tive diversos problemas. Entretanto, após pesquisar e debater muito no site original (http://openacs.org/forums/message-view?message_id=4030454) e seguindo orientações deste http://www.openacs.org/forums/message-view?message_id=243862, a partir da linha de comando, digitei:
/usr/sbin/aolserver4-nsd -u www-data -g www-data -b 0.0.0.0:8081 -s dotlrn -t /etc/aolserver4/conf.d/dotlrnupd.tcl
Ou seja: usei a versão mais recente dotlrn2.5 sobre a minha base de dados legado, aproveitando o dotlrn original, alterando apenas algumas diretivas no arquivo dotlrn.tcl e, claro, renomeando-o. Os erros de campos faltantes nas tabelas foram sendo corrigidos a medida do possível. Entretanto, por não ter onde procurar por mais recursos e o pouco conhecimento de que disponho neste framework há outros erros, que anexo a seguir (somente os erros e não os 151k do log), para os quais peço a ajuda de vocês, que ocorrem após digitar http://meu_ip:8081/dotlrn/.
......
[16/Apr/2013:13:23:03][18435.18446744072070629120][-main-] Error: Error sourcing /usr/share/dotlrn/packages/xowiki/tcl/xowiki-procs.tcl:
[16/Apr/2013:13:23:14][18435.18446744072070629120][-main-] Notice: Watchdog: wd_mail_errors scheduled to run every 1440 minutes.
[16/Abr/2013:13:25:52][18435.18446744071926609664][-default:0-] Error: rp_report_error: Error rendering error page (!)
"template::adp_parse /usr/share/dotlrn/packages/acs-tcl/lib/page-error {stacktrace {invalid command name "::Generic::package_id_from_package_key"
"ad_parse_template -params $params "/packages/acs-tcl/lib/page-error""
"set rendered_page [ad_parse_template -params $params "/packages/acs-tcl/lib/page-error"]"
[16/Abr/2013:13:25:52][18435.18446744071926609664][-default:0-] Error: GET http://meu_ip:8081/?
[16/Abr/2013:13:25:57][18435.18446744071930812160][-default:2-] Error: rp_report_error: Error rendering error page (!)
"template::adp_parse /usr/share/dotlrn/packages/acs-tcl/lib/page-error {stacktrace invalid\ command\ name\ \"template::head::add_meta\"\n\ \ \ \ while\..."
"ad_parse_template -params $params "/packages/acs-tcl/lib/page-error""
"set rendered_page [ad_parse_template -params $params "/packages/acs-tcl/lib/page-error"]"
[16/Abr/2013:13:25:57][18435.18446744071930812160][-default:2-] Error: GET http://meu_ip:8081/register/?return%5furl=%2fdotlrn%2f
Em arquivo de 151k , estes são os erros que se repetem até a interrupção do serviço (kill -9). Não instalei o daemontools por que o serviço está com estes erros mas pretendo colocar em produção da forma acadêmica, svc -d ou -u e etc...
Caso necessitem, posso anexar o arquivo de log inteiro.
Obrigado.
Autor: Erico Guimarães
44 comentários
Fiz o restore de ambos novo novo servidor Debian AMD64 Bits. Copiei o diretório /usr/share/dotlrn/ para /usr/share/coptec (nome de minha aplicação). Ficou assim: root@coptecvirtual:/usr/share/coptec# ls -la
total 48
drwxr-xr-x 7 www-data www-data 4096 Abr 17 20:26 .
drwxr-xr-x 113 root root 4096 Abr 16 19:37 ..
drwxr-xr-x 3 www-data www-data 4096 Abr 16 19:38 apm-workspace
drwxr-xr-x 2 www-data www-data 4096 Abr 16 19:37 bin
-rw-r--r-- 1 www-data www-data 7445 Abr 16 19:37 ChangeLog
lrwxrwxrwx 1 www-data www-data 59 Abr 17 20:26 content-repository-content-files -> /var/lib/aolserver/coptec/content-repository-content-files/
lrwxrwxrwx 1 www-data www-data 48 Abr 16 19:38 content-repository-content-files-orig -> /var/lib/dotlrn/content-repository-content-files
lrwxrwxrwx 1 www-data www-data 11 Abr 16 19:45 etc -> /etc/coptec
-rw-r--r-- 1 www-data www-data 4182 Abr 16 19:38 install.xml
lrwxrwxrwx 1 www-data www-data 26 Abr 16 19:47 log -> /var/log/aolserver4/coptec
lrwxrwxrwx 1 www-data www-data 51 Abr 17 19:00 packages -> /var/lib/aolserver/coptec_comunidades_new/packages/
-rw-r--r-- 1 www-data www-data 1911 Abr 16 19:37 readme.txt
drwxr-xr-x 3 www-data www-data 4096 Abr 16 19:38 rss
drwxr-xr-x 2 www-data www-data 4096 Abr 16 19:37 tcl
lrwxrwxrwx 1 www-data www-data 45 Abr 17 13:24 www -> /var/lib/aolserver/coptec_comunidades_new/www
drwxr-xr-x 11 www-data www-data 4096 Abr 16 19:37 www-orig
root@coptecvirtual:/usr/share/coptec#
A estrutura do diretório packages -> /var/lib/aolserver/coptec_comunidades_new/packages/ foi modificada em apenas um pacote, destacado em negrito: .................................................
drwxr-xr-x 5 www-data www-data 4096 Dez 21 2006 xml-rpc
lrwxrwxrwx 1 www-data www-data 52 Abr 17 18:54 xotcl-core -> ../../../../../usr/share/dotlrn/packages/xotcl-core/
drwxr-xr-x 7 www-data www-data 4096 Dez 21 2006 xotcl-core-old
drwxr-xr-x 5 www-data www-data 4096 Mar 4 2008 xotcl-request-monitor
drwxr-xr-x 7 www-data www-data 4096 Nov 4 2008 xowiki
root@coptecvirtual:/usr/share/coptec/packages# Copiei e alterei os arquivos /etc/aolserver/conf.d/dotlrn.sh e coptec.sh para coptec.sh e config.tcl para coptec.tcl, alterando portas, nome de serviço, database, localhost, homedir e etc...
A linha comando usada para subir o serviço bem como o resultado foi a seguinte: root@coptecvirtual:/usr/share/coptec/log# /usr/sbin/aolserver4-nsd -u www-data -g www-data -b 0.0.0.0:8080 -s coptec -t /etc/aolserver4/conf.d/coptec.tcl &
[1] 16508
root@coptecvirtual:/usr/share/coptec/log# [18/Apr/2013:18:17:59][16508.18446744073701123840][-main-] Notice: prebind: bound: 0.0.0.0:8080
[18/Apr/2013:18:17:59][16509.18446744073701123840][-main-] Notice: nsd.tcl: starting to read config file...
[18/Apr/2013:18:18:00][16509.18446744073701123840][-main-] Notice: nsd.tcl: using threadsafe tcl: 1
[18/Apr/2013:18:18:00][16509.18446744073701123840][-main-] Notice: nsd.tcl: finished reading config file.
^C
[1]+ Concluído Quando digito a URL X.X.X.X:8080, o browser produz o seguinte erro: Erro do Servidor Houve um erro processando sua requisição. Retornar a página anterior ao erro invalid command name "::Generic::package_id_from_package_key"
while executing
"::Generic::package_id_from_package_key xotcl-request-monitor"
invoked from within
"set ::package_id [::Generic::package_id_from_package_key xotcl-request-monitor]"
invoked from within
"::thread::send $tid $initcmd"
(procedure "do" line 35)
::throttle ::xotcl::THREAD->do
invoked from within
"::throttle do throttler throttle_check 10.152.9.121 10.152.9.121 / 1366319972:922342 */* {}"
::throttle->throttle_check
invoked from within
"my throttle_check $requestor $pa $url [ns_conn start] [ns_guesstype $url] $community_id"
(procedure "check" line 6)
::throttle->check
invoked from within
"my check"
(procedure "postauth" line 4)
::throttle->postauth
invoked from within
"$proc $why"
Mas consigo navegar nos menus Mudar o idioma, membros conectados e login. Inclusive faço o login com o meu usuário e senha restaurados do Postgresql. Entretanto, quando eu clico no link página principal, sou direcionado para a página principal do ambiente de produção. Sei que isto está vindo do SGBD restaurado em localhost mas não sei em qual tabela pois já aconteceu isto uma vez mas eu não lembro onde eu corrigi na unha. Finalmente , os erros no arquivo de log são basicamente dois: um no xowiki : [18/Apr/2013:18:18:08][16509.18446744073701123840][-main-] Error: Error sourcing /usr/share/coptec/packages/xowiki/tcl/xowiki-procs.tcl: invalid command name "::Generic::CrClass" while executing "::Generic::CrClass create Page -superclass ::Generic::CrItem -pretty_name "XoWiki Page" -pretty_plural "XoWiki Pages" -table_name "xowiki_page" -id_..." (in namespace eval "::xowiki" script line 6) invoked from within "namespace eval ::xowiki { # # create classes for different kind of pages # ::Generic::CrClass create Page -superclass ::Generic::CrItem \ ..." (file "/usr/share/coptec/packages/xowiki/tcl/xowiki-procs.tcl" line 9) invoked from within "source $__file " [18/Apr/2013:18:18:08][16509.18446744073701123840][-main-] Notice: Loaded packages/xowiki/tcl/xowiki-procs.tcl. [18/Apr/2013:18:18:08][16509.18446744073701123840][-main-] Notice: Loading packages/xowiki/tcl/xowiki-sc-procs.tcl... ........... ........ ...... E depois este erro após a digitação da URL: [18/Apr/2013:18:19:34][16509.18446744073560049408][-default:0-] Error: GET http://10.152.8.68:8080/? referred by "" invalid command name "::Generic::package_id_from_package_key" while executing "::Generic::package_id_from_package_key xotcl-request-monitor" invoked from within "set ::package_id [::Generic::package_id_from_package_key xotcl-request-monitor]" invoked from within "::thread::send $tid $initcmd" (procedure "do" line 35) ::throttle ::xotcl::THREAD->do invoked from within "::throttle do throttler throttle_check 10.152.9.121 10.152.9.121 / 1366319972:922342 */* {}" ::throttle->throttle_check invoked from within "my throttle_check $requestor $pa $url [ns_conn start] [ns_guesstype $url] $community_id" (procedure "check" line 6) ::throttle->check invoked from within "my check" (procedure "postauth" line 4) ::throttle->postauth invoked from within "$proc $why" [18/Abr/2013:18:20:26][16509.18446744073543239424][-sched:26-] Notice: dbdrv: opening database 'postgres:localhost:5432:unico' [18/Abr/2013:18:20:26][16509.18446744073543239424][-sched:26-] Notice: Opening unico on localhost [18/Abr/2013:18:20:26][16509.18446744073539036928][-sched:15-] Notice: dbdrv: opening database 'postgres:localhost:5432:unico' [18/Abr/2013:18:20:26][16509.18446744073539036928][-sched:15-] Notice: Opening unico on localhost ......... ......... E ao final do arquivo de log, ele repete sempre este warning: .... Warning: search::dequeue: invalid: called with object_id= event_date=2008-08-14 09:04:26.796559-03 event=UPDATE search::dequeue -object_id {} -event_date {2008-08-14 09:04:26.796559-03} -event UPDATE invoked from within search::indexer invoked from within ad_run_scheduled_proc {t f 300 search::indexer {} 1366319902 0 f} [18/Abr/2013:18:23:22][16509.18446744073543239424][-sched:31-] Warning: search::dequeue: invalid: called with object_id= event_date=2008-11-18 14:02:54.376102-02 event=UPDATE search::dequeue -object_id {} -event_date {2008-11-18 14:02:54.376102-02} -event UPDATE invoked from within search::indexer invoked from within ad_run_scheduled_proc {t f 300 search::indexer {} 1366319902 0 f} .......... .......... Não sei se procedi da forma correta pois não consegui atualizar conforme orientação nos fóruns, principalmente através do Gustaf, um dos mantenedores. Talvez o proxy daqui não permita o acesso ao site do openacs.org, embora consiga acessá-lo normalmente. Tentei em repositório local mas não fui bem sucedido. Se ao menos eu pudesse aproveitar somente o meu content-repository e os dados do SGBD (são mais de 10.000 usuários em mais de 150 comunidades, que crescem a cada dia!) e usar o tema padrão zen do dotlrn2.5 eu ficaria muito satisfeito. Obrigado.