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:
- Servidor de Web (Apache)
- Cliente de banco de dados suportados no ambiente Linux
- Java 1.6.21
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
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:
- Nome da máquina ou IP e porta onde ficará o broker (deixe o default)
- Senha do broker (deixe o default)
- Nome da máquina onde ficará o servidor de licenças do Magic xpa (deixe o default, será manipulado posteriormente)
- Nome da feature que será usada (deixe o default, será manipulado posteriormente)
- Alias que será criado no Apache para acesso ao requester do Magic xpa (coloque /scripts)
- Local físico que ficarão os arquivos do requester do Magic xpa (coloque /var/www/scripts)
- 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.
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.
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.
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.
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.
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
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
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
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/
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
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:
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
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
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
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.
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:
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:
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.
Parte 4: Executando uma aplicação
Para executar uma aplicação normalmente sempre seguirá alguns passos
- Disponibilizar o .ecf no ambiente Linux.
- 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.
- Se for uma aplicação RIA realizar o deployment com os dados do ambiente Linux e disponibilizar estes arquivos na pasta MagicRIAApplications
- Subir a aplicação no Broker
- 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.
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)
b) Configurar os banco de dados e seus dados de conexão.
Precisaremos ajustar o <diretório do Magic xpa>/broker/MGRB.INI, veja abaixo que foi configurado para subir a aplicação.
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.
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.
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.
Instalar e executar aplicação, nela haverá o menu para acessar os dados em Oracle e MySQL conforme demonstrado abaixo:
Acessando os dados em MySQL
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
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:
- As barras para caminho de arquivo e pasta devem ser sempre apontadas para o lado direito (/) diferentemente do ambiente Windows que é do lado esquerdo (\).
- As letras maiúsculas e minúsculas fazem diferença para caminho de arquivo e pasta.
- 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.
Bom material.
Sinto falta de achar tutoriais para configurar ambiente server para prover app mobile no linux.
Existe em algum lugar?