Nuxeo EP com MySQL no Ubuntu LTS Server Hardy 8.04

O Nuxeo EP é um software de gerenciamento de conteúdo - ECM (Entreprise Content Management) multiplataforma (Windows/Unix) de código aberto (open source), baseado na arquitetura orientada a serviços e tecnologias Java EE. A motivação para este artigo é o compartilhamento do conhecimento e a documentação de sua instalação em português.

[ Hits: 27.864 ]

Por: Rogerio J. Gentil em 18/02/2009


Instalação do Nuxeo EP



Pode-se obter o Nuxeo EP, versão 5.1.6, acesse os endereços www.nuxeo.com/en ou www.nuxeo.org ou efetue o download da aplicação por linha de comando como em:

# wget http://www.nuxeo.org/static/NuxeoEP/nuxeo-ep-5.1.6.GA-2.tar.gz

Assim que o download do arquivo for finalizado, descompacte-o com:

# gunzip nuxeo-ep-5.1.6.GA-2.tar.gz
# tar xf nuxeo-ep-5.1.6.GA-2.tar


Ou de uma única vez com o comando:

# tar -zxvf nuxeo-ep-5.1.6.GA-2.tar.gz

O sistema já esta pronto para rodar com as configurações básicas, utilizando o HSQL [3], um servidor de banco de dados open source embutido escrito inteiramente em Java. Para utilizá-lo, basta rodar o script de inicialização localizado em /nuxeo-ep-5.1.6.GA/bin:

# ./run.sh

e acessar através do seu navegador o endereço:

http://localhost:8080/nuxeo

Configuração do Nuxeo EP com MySQL

Configurar o Nuxeo EP com um SGBDR (Sistema de Gerenciamento de Banco de Dados Real) traz algumas vantagens, bastando apenas configurar o servidor para a utilização dos serviços e o armazenamento. O Nuxeo gerencia vários tipos de dados: documentos, relações, usuários, grupos etc. Cada tipo de dado tem seu próprio local de armazenamento e pode ser configurado separadamente [4].

A fim de definir o MySQL como repositório back-end, deve-se primeiramente instalar o driver JDBC (Java Database Connectivity) chamado MySQL Connector/J [5], que fornece conectividade para aplicações clientes desenvolvidas em programação Java. Para isso, é necessário efetuar o download do MySQL Conector/J 5.1 [6], como no comando:

# wget http://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.7.tar.gz/from/http://mysql.cce.usp.br/

Este download é feito do mirror HTTP Brazil [Universidade de São Paulo - CCE]. Assim que o download do arquivo for finalizado, descompacte-o com:

# gunzip mysql-connector-java-5.1.7.tar.gz
# tar mysql-connector-java-5.1.7.tar


Ou de uma única vez com o comando:

# tar -zxvf mysql-connector-java-5.1.7.tar.gz

Acesse o diretório descompactado. O driver de nome mysql-connector-java-5.1.7-bin.jar deve ser instalado em $JBOSS_HOME/server/default/lib [7], onde $JBOSS_HOME é o diretório onde está instalado o programa - /opt/nuxeo-ep-5.1.6.GA. Para instalá-lo, basta copiá-lo para o diretório mencionado.

Para configurar a fonte de dados, copie o arquivo $JBOSS_HOME/docs/examples/jca/mysql-ds.xml para $JBOSS_HOME/server/default/deploy. Edite-o substituindo MySqlDS em <jndi-name>MySqlDS</jndi-name> pelo nome da sua base no MySQL, alterando as configurações de conexão em <connection-url>jdbc:mysql://mysql-hostname:3306/jbossdb</connection-url> e colocando o nome do usuário e senha para acesso a base.

Exemplo:

<datasources>
  <local-tx-datasource>
    <jndi-name>nuxeo</jndi-name>
    <connection-url>jdbc:mysql://localhost:3306/nuxeo?relaxAutoCommit=true</connection-url>
    <driver-class>com.mysql.jdbc.Driver</driver-class>
    <user-name>nome_do_usuario</user-name>
    <password>senha_do_usuario</password>
    <exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter</exception-sorter-class-name>
    <metadata>
        <type-mapping>mySQL</type-mapping>
    </metadata>
  </local-tx-datasource>
</datasources>

Após configurar a conexão do MySQL é necessário configurar o Nuxeo Core, usando o Jackrabbit como back-end, para armazenar os dados do repositório no MySQL.

Edite o arquivo $JBOSS_HOME/server/default/deploy/nuxeo.ear/config/default-repository-config.xml alterando as duas seções PersistenceManager que definem as várias configurações de conexão com o banco de dados. Para Jackrabbit [8], há um persistence manager especifico para MySQL. Deve-se usar o parâmetro org.apache.jackrabbit.core.persistence.bundle.MySqlPersistenceManager.

Exemplo:

<PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.MySqlPersistenceManager">
  <param name="driver" value="com.mysql.jdbc.Driver"/>
  <param name="url" value="jdbc:mysql://localhost/nuxeo"/>
  <param name="user" value="nome_do_usuario"/>
  <param name="password" value="senha_do_usuario"/>
  <param name="schema" value="mysql"/>
  <param name="schemaObjectPrefix" value="jcr_${wsp.name}_"/>
  <param name="externalBLOBs" value="true"/>
</PersistenceManager>
(...)
<!-- Versioning configuration. -->
(...)
<PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.MySqlPersistenceManager">
  <param name="driver" value="com.mysql.jdbc.Driver"/>
  <param name="url" value="jdbc:mysql://localhost/nuxeo"/>
  <param name="user" value="nome_do_usuario"/>
  <param name="password" value="senha_do_usuario"/>
  <param name="schema" value="mysql"/>
  <param name="schemaObjectPrefix" value="jcr_ver_"/>
  <param name="externalBLOBs" value="true"/>
</PersistenceManager>

Cada serviço pode usar uma fonte dados dedicada para definir a conexão da base de dados. Para modificar a definição da fonte de dados altere o arquivo $JBOSS_HOME/server/default/deploy/nuxeo.ear/datasources/unified-nuxeo-ds.xml.

Exemplo para conexão com o MySQL:

<!-- Configuration for MySQL -->
    <local-tx-datasource>
        <jndi-name>NuxeoDS</jndi-name>
        <connection-url>jdbc:mysql://localhost:3306/nuxeo</connection-url>
        <driver-class>org.mysql.jdbc.Driver</driver-class>
        <user-name>nome_do_usuario</user-name>
        <password>senha_do_usuario</password>
        <check-valid-connection-sql>select count(*) from dual</check-valid-connection-sql>
    </local-tx-datasource>

Por fim o serviço de relação usa uma fonte de dados para definir um armazém de dados. Modificar a base não é o suficiente, você ainda precisa informar ao Jena qual dialeto é usado, pois isso não é autodetectado. Para isso edite o arquivo sql.properties em $JBOSS_HOME/server/default/deploy/nuxeo.ear/config/ e altere a definição da propriedade org.nuxeo.ecm.sql.jena.databaseType para MySQL.

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Instalação do Nuxeo EP
   5. Conclusão e referências
Outros artigos deste autor

Atualizando o navegador Firefox para a versão 4.0

Java no Ubuntu 12.04 - Instalação à moda antiga

Leitura recomendada

A Inteligência Artificial que escreve programas

Mais formatação especial no OpenOffice

Dá para usar BackTrack como desktop! Sabia?

Disponibilidade em VOIP (VOIP WIFI POE)

Visualização do status das contas no GAIM

  
Comentários
[1] Comentário enviado por leandro.bernardo em 23/06/2011 - 13:34h

Amigo, não estou conseguindo definir usuário e senha partindo pela configuração básica.


Tem idéia do que pode ser?!

[2] Comentário enviado por rogerio_gentil em 27/06/2011 - 09:01h

Olá @leznx.

O acesso padrão do sistema na versão 5.1.6 é:
- usuário: Administrador (tente com 'A' maiúsculo mesmo)
- senha: administrador

Caso você não tenha configurado o Nuxeo com outro SGBD, é para funcionar.

Que versão do Nuxeo você está utilizando?


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts