Instalando, Configurando e Executando o Magic xpa no Linux CentOS

Neste post iremos mostrar como realizar a instalação, configuração e execução do Magic xpa no Linux CentOS 5.9.

É importante ressaltar que as versões do Magic xpa Server para Linux não acompanham as versões para Windows, por exemplo, a versão atual para Windows é a 2.4 e a versão atual para Linux é 2.3.

Parte 1 – Pré-requisitos

Os pré-requisitos para instalar o Magic xpa são:

No nosso cenário utilizaremos:

  • Apache 2.2.3 instalado pelo pacote default do CentOS
  • Bancos de dados Oracle e MySQL, caso deseja ajuda em como instalar estes itens acompanhe neste post os itens “1) Oracle” e “2) MySQL”.
  • O Java será instalado mediante o download e execução do arquivo jre-6u21-linux-i586-rpm.bin deste link, caso deseja ajuda em executar e instalar este item acompanhe neste post o item “3) Java”.

Parte 2: Instalando o Magic xpa

Continuando, agora iremos instalar o Magic xpa no Linux CentOS 5.9,  lembre-se de que a parte 1 deve estar totalmente OK.

1)  Criando o usuário

Crie um usuário, por exemplo, “magicxpa” e faça o login com este usuário criado. Neste usuário ficará todo o ambiente do Magic xpa.

A partir deste momento, quando me referir a <usuário do Magic xpa> será o usuário criado neste passo, e quando me referir a <diretório raiz do usuário Magic xpa> será o diretório raiz do <usuário do Magic xpa> que no exemplo é /home/magicxpa.

A criação do usuário e a definição de senha foram feitas com os comandos abaixo e ilustrado a seguir.

  • adduser magicxpa
  • passwd magicxpa

 

image001

2)  Criando a pasta do Magic xpa

Faça o login com o usuário criado no passo anterior e crie uma pasta, por exemplo, “magicxpa2.3”.

A partir deste momento quando me referir a esta pasta colocarei <diretório do Magic xpa> que no exemplo é <diretório raiz do usuário Magic xpa>/magicxpa2.3.

Faça o download do arquivo magicxpa_2.3.linux.tar.gz de http://downloads.magicsoftware.com e coloque no <diretório do Magic xpa>.

3)  Descompactando o arquivo

Entre no <diretório do Magic xpa> e rode os comandos para descompactar o arquivo magicxpa_2.3.linux.tar.gz conforme abaixo:

  • gunzip magicxpa_2.3.linux.tar.gz
  • tar xvf magicxpa_2.3.linux.tar

4)  Rodando o script de instalação

Rode o comando ./magicxpainstall no <diretório do Magic xpa>.

Ao rodar o comando será apresentada uma tela de anúncio do script. Tecle enter.

Posteriormente será feito uma série de perguntas:

  1. Nome da máquina ou IP e porta onde ficará o broker (deixe o default)
  2. Senha do broker (deixe o default)
  3. Nome da máquina onde ficará o servidor de licenças do Magic xpa (deixe o default, será manipulado posteriormente)
  4. Nome da feature que será usada (deixe o default, será manipulado posteriormente)
  5. Alias que será criado no Apache para acesso ao requester do Magic xpa (coloque /scripts)
  6. Local físico que ficarão os arquivos do requester do Magic xpa (coloque /var/www/scripts)
  7. Local onde ficarão os arquivos de utilitários do Magic xpa, tais como o pré-requisito do RIA (coloque /var/www/magicxpautils)

Ao final, serão apresentados avisos de que não existem os diretórios /var/www/scripts e /var/www/magicxpautils não se preocupe com isso, pois trataremos posteriormente, prossiga na instalação veja a ilustração da execução abaixo.

image003

5)  Habilitando o Gateway de acesso ao banco de dados

Edite o arquivo de <diretório do Magic xpa>/etc/mgenv retirando o sinal de sustenido(#) do inicio da linha do gateway que necessitar.

Veja abaixo que o quadrado amarelo foi retirado do gateway para Oracle e o quadrado azul do ODBC para MySQL.

image005

Utilizando o gateway Oracle serão necessárias mais duas configurações neste arquivo. Retire o sinal de sustenido(#) do início das configurações ORACLE_HOME e ORACLE_SID, veja abaixo que teremos que apontar o caminho home do Oracle e o SID.

image007

Edite o script de logon do usuário acrescentando na variável de ambiente LD_LIBRARY_PATH o caminho das bibliotecas do Oracle.

Edite o arquivo .profile, .cshrc, ou .bash_profile, localizado no <diretório raiz do usuário Magic xpa>, o arquivo a editar depende do shell que usuário estiver fazendo logon, no meu caso é o .bash_profile, veja abaixo que foi acrescentado o caminho.

image009

6)  Habilitando o acesso ao JRE

Acrescente no script de logon do usuário, o caminho onde se encontram as bibliotecas do Java.

Edite o arquivo .profile, .cshrc, ou .bash_profile localizado no <diretório raiz do usuário Magic xpa>, o arquivo a editar depende do shell que usuário estiver fazendo logon, no meu caso é o .bash_profile, veja abaixo que foi acrescentado o caminho.

image011

7)  Verificando bibliotecas faltantes para o mgxparuntime

Faça o logoff e logon com o <usuário do Magic xpa>

Rode o comando abaixo e veja os resultados na tela em seguida.

ldd <diretório do Magic xpa>/bin/mgxparuntime

image013

Note que todas as bibliotecas foram encontradas.

8)  Checando as bibliotecas para o gateway do Oracle

Com o <usuário do Magic xpa> rode o comando conforme abaixo e veja os resultados na tela em seguida.

ldd <diretório do Magic xpa>/bin/mgoracle10

image015

Note que todas as bibliotecas foram encontradas.

9)  Checando as bibliotecas para o gateway do ODBC

Com o <usuário do Magic xpa>, rode o comando conforme abaixo e veja os resultados na tela em seguida.

ldd <diretório do Magic xpa>/bin/mgodbc

image017

Note que todas as bibliotecas foram encontradas.

Até aqui finalizamos a instalação do Magic xpa, continuaremos a seguir configurando o Magic xpa.

Parte 3: Configurando o Magic xpa

 Agora iremos configurar o Magic xpa no Linux CentOS 5.9, lembre-se que as partes 1 e 2 devem estar totalmente OK.

1)  Configurando o Magic xpa com Apache

Para realizar este item você deve ter o Apache instalado/configurado e em execução.

Com o usuário root precisamos:

a)  Criar as pastas faltantes apontadas na parte 2 item “4” deste post e também uma nova pasta onde ficarão as aplicações publicadas.

As pastas são /var/www/scripts, /var/www/magicxpautils e /var/www/MagicRIAApplications/.

Rode os comandos conforme abaixo e veja os resultados na tela em seguida.

mkdir /var/www/scripts

mkdir /var/www/magicxpautils

mkdir /var/www/MagicRIAApplications/

image019

b)  Rodar o script <diretório do Magic xpa>/sbin/mgroot.sh que irá copiar o requester, e arquivos necessários.

Rode o comando conforme abaixo e veja os resultados na tela em seguida.

<diretório do Magic xpa>/sbin/mgroot.sh

image021

c)  Definir os diretórios virtuais do Magic xpa no Apache.

Para isso precisamos alterar o conteúdo do arquivo <diretório do Magic xpa>/web_utils/magic.conf apontando para o local das aplicações publicadas conforme demonstrado abaixo:

image023

Copiar o conteúdo do arquivo <diretório do Magic xpa>/web_utils/magic.conf para o arquivo de configuração do Apache e reinicia-lo o.

Rode os comandos conforme abaixo e veja os resultados na tela em seguida.

cat <diretório do Magic xpa>/web_utils/magic.conf >> /etc/httpd/conf/httpd.confservice httpd restart

image025

d)   Configurar o apache para aceitar os tipos mimes de aplicações RIA.

Adicionar tipos mimes baixo:

AddType application/x-ms-application .application

AddType application/x-ms-application .manifest

AddType application/octet-stream deploy

AddType application/x-msdownload .dll

AddHandler default-handler .jpg .gif .js .txt .bat .msi

No arquivo /etc/httpd/conf/httpd.conf de configuração do Apache conforme ilustrado abaixo

image027

e)   Ajustar as permissões de execução de bibliotecas

Existem algumas bibliotecas necessárias para o requester do Magic xpa executar que não são encontradas, pois o serviço do Apache é executado com outro usuário, para tanto, vamos copiá-las para o diretório onde as bibliotecas podem ficar compartilhadas com qualquer usuário.

Rode os comandos conforme abaixo e veja os resultados na tela em seguida.

cp <diretório do Magic xpa>/lib32/libicuio.so.48 /usr/lib/libicuio.so.48

cp <diretório do Magic xpa>/lib32/libicui18n.so.48 /usr/lib/libicui18n.so.48

cp <diretório do Magic xpa>/lib32/libicuuc.so.48 /usr/lib/libicuuc.so.48

cp <diretório do Magic xpa>/lib32/libicudata.so.48 /usr/lib/libicudata.so.48

cp <diretório do Magic xpa>/lib32/libeasysoap.so.0 /usr/lib/libeasysoap.so.0

cp <diretório do Magic xpa>/lib32/libssl.so.0.9.8 /usr/lib/libssl.so.0.9.8

cp <diretório do Magic xpa>/lib32/libcrypto.so.0.9.8 /usr/lib/libcrypto.so.0.9.8

image029

f)  Liberar a execução das bibliotecas pelo usuário Apache

Desligue o SELinux configurando o arquivo /etc/selinux/config conforme abaixo e faça o reinício da máquina.

image031

g)  Testar a execução do requester do Magic xpa.

Faça o teste do acesso ao Magic xpa via requester, mesmo que o Magic xpa não esteja em execução será dado um retorno de erro e podemos concluir que o requester configurado neste passo executou com sucesso.

Podemos usar uma URL de teste, por exemplo:

http://<IP_OU_NomeDaMaquina>/scripts/mgrqcgi023?AppName=TESTE1&PrgName=TESTE2

Lembre-se de colocar <IP_OU_NomeDaMaquina> com os dados de seu ambiente, veja o resultado abaixo:

image033

Note que a resposta é de que não encontrou o broker do Magic xpa, mas tudo bem, pois a o broker e nem a aplicação estão em execução.

2) Configurando a licença

Com o <usuário do Magic xpa>, coloque sua licença em um novo arquivo, por exemplo, <diretório do Magic xpa>/etc/license.dat conforme demonstrado abaixo:

image035

Aponte no magic.ini (<diretório do Magic xpa>/etc/MAGIC.INI) o arquivo de licença configurado acima e a feature disponível conforme demonstrado abaixo.

image037

Parte 4: Executando uma aplicação

Para executar uma aplicação normalmente sempre seguirá alguns passos

  1. Disponibilizar o .ecf no ambiente Linux.
  2. Configurar o ambiente da aplicação tais como, nomes lógicos, arquivos de cores e fontes, banco de dados, etc., tudo aquilo que o MAGIC.INI necessita estar configurado. Configurar também o MGRB.INI do Broker para levantar a aplicação.
  3. Se for uma aplicação RIA realizar o deployment com os dados do ambiente Linux e disponibilizar estes arquivos na pasta MagicRIAApplications
  4. Subir a aplicação no Broker
  5. Realizar os testes da aplicação

Baixe aqui a aplicação teste, esta aplicação é simplesmente uma tela para acesso ao MySQL e outra para o Oracle, abaixo vamos realizar os passos acima para esta aplicação.

1)  Disponibilizando o .ecf no ambiente Linux

Gere o .ecf e coloque no caminho <usuário do Magic xpa>/projects/Magic_xpa_Linux/Magic_xpa_Linux.ecf, veja abaixo que foi colocado o arquivo no caminho.

image039

2)  Configurando ambiente da aplicação

Precisaremos ajustar o <diretório do Magic xpa>/etc/MAGIC.INI, veja abaixo que para esta aplicação foi preciso:

a)      Configurar a aplicação (.ecf)

image041

b)      Configurar os banco de dados e seus dados de conexão.

image043

Precisaremos ajustar o <diretório do Magic xpa>/broker/MGRB.INI, veja abaixo que foi configurado para subir a aplicação.

image045

3)Realizando o deployment de aplicação RIA

Pelo próprio Magic xpa Studio faça o deployment, mas não esqueça que os dados de servidor, pasta scripts, pasta de aplicações publicadas e requester serão diferentes do ambiente de desenvolvimento.

image047

Pegue a pasta gerada pelo deployment e disponibilize em /var/www/MagicRIAApplications/

4)  Subindo a aplicação

Para subir e parar a aplicação existe alguns comandos que devem ser dados com o <usuário do Magic xpa>, são eles:

  • startb: Iniciar o Magic xpa Broker
  • stopb -password=<broker supervisor password>: Parar o Magic xpa Broker e as aplicações
  • stopm -password=<broker supervisor password>: Parar todas as aplicações que estão conectadas no Magic xpa Broker

Os comandos stopb e stopm necessita passar a senha do Magic xpa Broker, caso esqueceu a senha consulte na configuração PasswordSupervisor do arquivo <diretório do Magic xpa>/broker/MGRB.INI.

Agora suba a aplicação com o comando startb e deixe-a em execução para os testes, veja abaixo que aplicação foi levantada corretamente no Broker.

image049

5)  Testando a aplicação

Agora acesse a aplicação via URL:

 http://<IP ou NomeDaMaquina>/MagicRIAApplications/Magic_xpa_Linux/WinDesktop/Magic_xpa_Linux.publish.html

Não se esqueça de ajustar a parte <IP ou NomeDaMaquina> com o IP ou nome da maquina.

image051

Instalar e executar aplicação, nela haverá o menu para acessar os dados em Oracle e MySQL conforme demonstrado abaixo:

image053

Acessando os dados em MySQL

image055

Note que as informações de PATH, EngineDir, WorkingDir e TempDir estão com dados de ambiente em Linux e prova que execução está ocorrendo no Linux.

Acessando os dados em Oracle

image057

Note que as informações de PATH, EngineDir, WorkingDir e TempDir estão com dados de ambiente em Linux e prova que execução está ocorrendo no Linux

Alguns detalhes do ambiente Linux

Atente-se a alguns detalhes quando sua aplicação estiver no ambiente Linux, são elas:

  1. As barras para caminho de arquivo e pasta devem ser sempre apontadas para o lado direito (/) diferentemente do ambiente Windows que é do lado esquerdo (\).
  2. As letras maiúsculas e minúsculas fazem diferença para caminho de arquivo e pasta.
  3. O Magic xpa roda com permissões do <usuário do Magic xpa> então tome cuidado ao acessar alguma pasta e arquivo que pode ser que não haverá permissão.

Consideração Final

É importante ressaltar que o CentOS não consta na lista de distribuições Linux oficialmente suportada pela Magic (veja aqui).

Somente as distribuições oficias recebem suporte da Magic.

Jeronimo Alberto da Costa - Consultor Técnico Magic
Jeronimo Alberto da Costa – Consultor Técnico Magic

 

 

 

 

 

 

Um comentário

  1. Bom material.
    Sinto falta de achar tutoriais para configurar ambiente server para prover app mobile no linux.
    Existe em algum lugar?

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *