Ubuntu na terra do pão di queijo

06/04/2009

Amadeus + Tomcat6 + Debian Lenny (E Ubuntu?)

Filed under: Software Livre,Ubuntu — Leonardo Amaral @ 18:06

LennyComo coordenador do projeto Textolivre, e em reunião, decidimos que uma reestruturação se fazia necessária. Precisava-mos de um EAD bom, e dai começamos a procurar o que seria melhor. O Moodle me decepcionou totalmente, por não suportar vários domínios na mesma instalação e coisas do gênero. O Teleduc também não tem uma fama boa dentre os que trabalham no projeto. Diante deste desafio e da notícia que saiu no BR-Linux falando do Amadeus LMS, resolvi testar.

O software conta com recursos e idéias interessantes, como integração com o ginga e celulares, e me conquistou pelos recursos, mas quando fui instalar, passei apertado. Por isso vou escrever aqui como eu fiz para instala-lo. Ainda não cheguei ao estado de arte, tem várias coisas com problemas, mas meio caminho já foi andado…

Antes de começar, VOU PRESUMIR QUE:

  • Você  tenha lido a documentação oficial
  • Você tenha um Debian instalado e atualizado
  • Você tenha TODOS os arquivos requeridos na documentação oficial (No meu caso, /root/amadeus-lms)

1) Instalar o Tomcat6

Tá maluco? Não. O pessoal do Amadeus recomenda o uso do Tomcat 6. Todo mundo sabe que eu tenho pavor de gambiarras (Pelo menos os muito feios), e a solução foi instalar os pacotes do sid (Menino[a]s, já tem backport???). Prá não ter que escrever denovo, lá vai o link: https://paodiqueijo.wordpress.com/2009/03/30/tomcat6-no-debian-lenny-no-deployed/.

2) PostgresSQL

sudo aptitude install postgresql-8.3

3) Confs

3.1) Tomcat Policies

Aqui a porca torce o rabo. Primeirissima coisa, policies do Tomcat. Dá um monte de pau estranho se você não as ajustar, e levei 6 dias pra descobrir isso.

grant codeBase "file:/opt/sistemas/tomcat/www.textolivre.info/-" {
permission java.net.SocketPermission "127.0.0.1:5432", "connect";
permission java.net.SocketPermission "127.0.0.1:5432", "resolve";
permission java.net.SocketPermission "smtp.gmail.com", "connect";
permission java.net.SocketPermission "smtp.gmail.com", "resolve";
permission java.lang.reflect.ReflectPermission "suppressAccessChecks";
permission java.util.PropertyPermission "cglib.debugLocation", "read";
permission java.lang.RuntimePermission "getProtectionDomain";
permission java.security.SecurityPermission "insertProvider.SunJSSE";
};

Eu coloquei em /etc/tomcat6/policy.d/05textolivre.info.policy. Imagino que qualquer .policy funcione. O que é /opt/sistemas/tomcat/www.textolivre.info é onde vai ser colocado o Amadeus (Que se você não for mexer em nada do padrão, vai em /usr/share/tomcat6/webapps. o /- significa que deve se aplicar aquelas políticas em TODOS os arquivos, inclusive dentro dos diretórios.

3.2) PostgresSQL

Outro que me deu dor de cabeça, mais uma vez por documentação incompleta. o procedimento correto é:

jarjarbinks:~# su – postgres
postgres@jarjarbinks:~$ psql

Bem vindo ao psql 8.3.6, o terminal iterativo do PostgreSQL.

Digite:  \copyright para mostrar termos de distribuição
\h para ajuda com comandos SQL
\? para ajuda com comandos do psql
\g ou terminar com ponto-e-vírgula para executar a consulta
\q para sair

postgres=# CREATE USER “amadeus” WITH CREATEDB ENCRYPTED PASSWORD ‘suasenhaparaobancoaqui’;
postgres=# CREATE DATABASE Amadeus_Web WITH OWNER amadeus;
postgres=# \q

postgres@jarjarbinks:~$ exit

jarjarbinks:~# psql -U amadeus -W -h localhost Amadeus_Web
Senha para usuário amadeus:
Bem vindo ao psql 8.3.6, o terminal iterativo do PostgreSQL.

Digite:  \copyright para mostrar termos de distribuição
\h para ajuda com comandos SQL
\? para ajuda com comandos do psql
\g ou terminar com ponto-e-vírgula para executar a consulta
\q para sair

conexão SSL (cifra: DHE-RSA-AES256-SHA, bits: 256)

Amadeus_Web=> \i /root/amadeus-lms/amadeus_web_v0.4.sql
Amadeus_Web=> \q

4) Tomcat

O Maldito ataca novamente. Use o tomcat manager para enviar o .war ou entao copie o arquivo para o diretório do tomcat:
cp /root/amadeus-lms/AmadeusWeb.war /usr/share/tomcat6/webapps/
Ative o manager e faça o deploy. VAI DAR PAU, mas não preocupe.

5) Mudança de banco e restarts

Após o deploy, ele vai criar o diretório /usr/share/tomcat6/webapps/AmadeusLMS. Edite o arquivo /usr/share/tomcat6/webapps/AmadeusLMS/WEB-INF/classes/hibernate.cfg.xml e mude o seguinte:

<property name=”hibernate.connection.password”>amadeus</property>

Onde está amadeus, coloque a senha que você selecionou para o banco e salve o arquivo.
Depois, reinicie o tomcat
jarjarbinks:~# invoke-rc.d tomcat6 restart

Se nada tiver errado você já terá seu Amadeus rodando. Eu não pretendo ensinar a instala-lo todo, o resto está explicado nos manuais do projeto. Estas são algumas peculiaridades para débian que não foram explicadas.

Notas:

Conforme publicado no fórum do Amadeus, Tem outro jeito de brincar com o postgressql:

#su postgres
#createuser amadeus -P

 Digite a senha para a nova role: amadeus

#createdb --owner amadeus Amadeus_Web
#exit
#psql -h localhost -U amadeus < /root/amadeus-lms/amadeus_web_v0.4.sql

Também tem o /etc/environment, que não sei até onde funciona bem:

#vim /etc/environment

CATALINA_HOME=/usr/share/tomcat6
CATALINA_BASE=/usr/share/tomcat6
CATALINA_TMPDIR=/tmp/tomcat6-temp
JAVA_HOME=/usr/lib/jvm/java-6-sun

Considerando que estou usando o Java da SUN.

P.s: Estou agora fazendo isso no meu sistema com Ubuntu Jaunty. Publico os resultados depois

Anúncios

2 Comentários »

  1. […] Instalando o Amadeus LMS no debian lenny (E Ubuntu) “Devido ao escasso material e alguns recursos diferenciados no Debian e no Ubuntu, instalar o Amadeus LMS (Que já foi noticia aqui) pode se tornar um martirio. A partir de muitos debugs, erros, mensagens postadas no fórum e pesquisas, cheguei a um termo onde consegui efetivamente executá-lo, sem muitas (ou nenhuma, dependendo do ponto de vista) gambiarras. Publicado no Ubuntu na terra do pão de queijo.” […]

    Pingback por Instalando o Amadeus LMS no debian lenny (E Ubuntu) — 07/04/2009 @ 16:00 | Responder

  2. Olá a todos,

    Acabei de tentar instalar no Ubuntu 9.04, e segui o passo a passo conforme está nesse excelente trabalho, mas quando execulto o Deploy, o manager do Tomcat me retorna o sequinte erro: “FAIL – Application at context path /AmadeusLMS could not be started”

    tem ideia do que pode ser ?

    O AmadeusGames Roda Normal.

    Comentário por Adriano — 26/05/2009 @ 2:37 | Responder


RSS feed for comments on this post. TrackBack URI

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

Blog no WordPress.com.

%d blogueiros gostam disto: