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.
