sexta-feira, 16 de setembro de 2011

Lumis Portal - Instalação em Linux

Instalação do Sistema Operacional

A instalação será feita no CentOS 6.2 minimal, assim teremos uma instalação pequena, simples e com excelente performance.
Durante a instalação, será perguntado qual o Nome da Máquina, que coloquei centos6, aproveite este momento para configurar a rede. Configurei a rede para DHCP e conectar automaticamente no boot.


Após o termino da instalação, faço o login, atualize o ambiente e reinicie o servidor.
yum update -y
reboot

Instalação do MySQL

yum install mysql-server -y
chkconfig mysqld on
mysql_install_db
service mysqld start
mysqladmin -u root password 'lumisEIP'
Instala, configura a aplicação e o serviço e configura uma senha para o usuário root.

Criação de Usuário e Base de Dados

mysql -u root -p
CREATE DATABASE lumisportal;
GRANT USAGE ON lumisportal.* TO lumis@localhost IDENTIFIED BY "lumisEIP";
GRANT ALL PRIVILEGES ON lumisportal.* TO lumis@localhost;
exit
[root@centos6 ~]#
Será solicitada a senha do usuário root no primeiro comando.
Será criada a base de dados lumisportal e o usuário lumis com senha lumisEIP, fornecendo todos os privilégios da base de dados ao usuário.

Instalação do JDK

mkdir -p /opt/install
cd /opt/install
curl -O http://download.oracle.com/otn-pub/java/jdk/6u30-b12/jdk-6u30-linux-x64-rpm.bin
sh ./jdk-6u30-linux-x64-rpm.bin
rm -rf *.rpm
No final da instalação será solicitada a concordância com os termos de uso.

Instalação do Lumis Portal

Serviço Versão
Lumis Portal Lumis Portal 6.1.1.120131
Servidor Java JBoss Web Server 2.1.9.GA
Banco de Dados MySQL 5.1

cd /opt/install
curl -O http://downloads.jboss.org/jbossweb/2.1.9.GA/jboss-web-2.1.9.GA.tar.gz
curl -O http://mysql.cce.usp.br/Downloads/Connector-J/mysql-connector-java-5.1.18.tar.gz
curl -O http://lumisportalinstaller.googlecode.com/files/lumisportalinstaller.py
curl -O http://lumisportalinstaller.googlecode.com/files/lumisportalinstaller.conf
curl -O http://lumisportalinstaller.googlecode.com/files/executedbscript.jar
curl -O http://lumisportalinstaller.googlecode.com/files/tomcatd
tar xzf mysql-connector-java-5.1.18.tar.gz
cp mysql-connector-java-5.1.18/*.jar .
rm -rf mysql-connector-java-5.1.18/
Copie para o diretório /opt/install o arquivo de instalação do Lumis Portal, utilizei o lumisportal_6.1.1.120131.zip.
Altere o arquivo lumisportalinstaller.conf para atender as necessidades da instalação. Segue abaixo o utilizado:
[LumisPortal]
homedirectory = /opt/lumis
installfilepath = /opt/install/lumisportal_6.1.1.120131.zip
updatefilepath =
removefiles =
serverid = LumisPortalServer
frameworkurl = http://lumisportal
htmlgenerationurl = http://localhost:8080
developmentmode = false
htdocs = true

[JavaServer]
jdkhome = /usr/java/default
contextname = ROOT
servertype = jbossweb2
installfilepath = /opt/install/jboss-web-2.1.9.GA.tar.gz
javaopts = -Xms512m -Xmx512m -Djavax.xml.transform.TransformerFactory=org.apache.xalan.xsltc.trax.SmartTransformerFactoryImpl

[Database]
connectionstring = jdbc:mysql://localhost/lumisportal?characterEncoding=UTF-8
username = lumis
password = lumisEIP
mysqldriver = /opt/install/mysql-connector-java-5.1.18-bin.jar
executedbcommand = /usr/java/default/bin/java -jar /opt/install/executedbscript.jar ./executedbscript.conf
Execute o instalador:
[root@centos6 install]# python lumisportalinstaller.py lumisportalinstaller.conf
2012-01-17 15:51:07,638 INFO    *** Starting Installation of LumisPortal ***
2012-01-17 15:51:07,639 INFO    Extracting Lumis Portal...
2012-01-17 15:51:26,383 INFO    Configuring files...
2012-01-17 15:51:26,384 INFO     - lumisdata/config/lumisportalconfig.xml
2012-01-17 15:51:26,384 INFO       > /portalConfig/serverId
2012-01-17 15:51:26,385 INFO       > /portalConfig/frameworkUrl
2012-01-17 15:51:26,387 INFO       > /portalConfig/htmlGeneration
2012-01-17 15:51:26,387 INFO       > /portalConfig/htmlGeneration/frameworkUrl
2012-01-17 15:51:26,387 INFO       > /portalConfig/webRootPath
2012-01-17 15:51:26,388 INFO     - lumisdata/config/lumishibernate.cfg.xml
2012-01-17 15:51:26,391 INFO     - setup/*
2012-01-17 15:51:26,428 INFO     - setup/Tomcat/portal.xml
2012-01-17 15:51:26,429 INFO     - www/WEB-INF/jboss-web.xml
2012-01-17 15:51:26,430 INFO     - www/WEB-INF/web.xml
2012-01-17 15:51:26,443 INFO     - Generating SQL...
2012-01-17 15:51:30,049 INFO     - Executing creating tables script on database...
2012-01-17 15:51:38,519 INFO    Executing initializeportal...
rm: não foi possível remover "/data/lucene": Arquivo ou diretório não encontrado
17/01/2012 15:51:58 net.sourceforge.wurfl.core.resource.DefaultWURFLModel <init>
INFO: WURFLModel version: Root:file:/tmp/lpi-LYsSWh/lumisportal/lumisdata/config/device/wurfl.zip:www.wurflpro.com - 2011-02-03 08:33:36; devices: 14060
17/01/2012 15:52:00 net.sourceforge.wurfl.core.DefaultWURFLService <init>
INFO: DefaultWURFLService created
2012-01-17 15:53:59,230 INFO    *** Starting Installation of JBossWeb2 ***
2012-01-17 15:53:59,230 INFO    Extracting JBossWeb2...
2012-01-17 15:53:59,461 INFO    Configuring files...
2012-01-17 15:53:59,461 INFO     - conf/server.xml
2012-01-17 15:53:59,463 INFO     - bin/setenv.sh
2012-01-17 15:53:59,463 INFO     - bin/setenv.bat
2012-01-17 15:53:59,464 INFO     - Setting file permission...
2012-01-17 15:53:59,465 INFO     - Coping Lumis Portal files...
2012-01-17 15:53:59,465 INFO       > Context xml file...
2012-01-17 15:53:59,466 INFO       > Shared libs...
2012-01-17 15:53:59,564 INFO       > Endorsed libs...
2012-01-17 15:53:59,576 INFO    *** Commiting installation ***
2012-01-17 15:53:59,588 INFO     - Moving install directories...
2012-01-17 15:53:59,588 INFO       > lumisportal
2012-01-17 15:53:59,588 INFO       > jbossweb2
2012-01-17 15:53:59,588 INFO     - Creating htdocs directory...
2012-01-17 15:54:00,146 INFO    *** Installation finished successfully ***
[root@centos6 install]#

Configuração do JBoss Web Server

useradd -r lumis -s /sbin/nologin -d /opt/lumis/
chown -R lumis: /opt/lumis/
cp tomcatd /etc/init.d/
chmod +x /etc/init.d/tomcatd
chkconfig --add tomcatd
chkconfig tomcatd on
service tomcatd start
O procedimento acima executa:
  1. Cria usuário de serviço para rodar o contexto do Servidor Java.
  2. Muda o Owner do diretório /opt/lumis recursivamente.
  3. Copia o script de iniciação do Tomcat.
  4. Dá permissão de execução para o script de iniciação do Tomcat.
  5. Adiciona o script de iniciação do Tomcat.
  6. Habilita a execução automática do script de iniciação do Tomcat.
  7. Inicia o serviço do Servidor Java.

Instalação do Apache HTTP Server

yum install httpd -y

chkconfig httpd on

sed -i 's,#NameVirtualHost,NameVirtualHost,g' /etc/httpd/conf/httpd.conf

export WEBROOTPATH=/opt/lumis/htdocs

echo '<VirtualHost *:80>
    ServerName lumisportal
    DocumentRoot '$WEBROOTPATH'
    #Alias /portal '$WEBROOTPATH'
    DirectoryIndex index.html
    
    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !^.*\.jsp$
    RewriteCond %{REQUEST_FILENAME} !^.*\.lumis$
    RewriteCond %{REQUEST_FILENAME} ^/(.*)
    RewriteCond '$WEBROOTPATH'/%1 !-f
    RewriteCond '$WEBROOTPATH'/%1/index.html !-f
    RewriteRule ^(.*) $1.lumis [PT,env=lumWebServer:true]
    RequestHeader set lumWebServer "apache" env=lumWebServer
    
    <proxy *>
        SetOutputFilter INCLUDES
    </Proxy>
    
    <proxy balancer://lumisportal>
        BalancerMember ajp://localhost:8009 loadfactor=1 keepalive=on
        ProxySet stickysession=JSESSIONID
    </Proxy>
    
    ProxyPassMatch ^/.*\.jsp balancer://lumisportal
    ProxyPassMatch ^/.*\.lumis balancer://lumisportal
</VirtualHost>' > /etc/httpd/conf.d/lumisportal.conf

echo '<VirtualHost *:80>
    DocumentRoot /var/www/html
</VirtualHost>' > /etc/httpd/conf.d/default.conf

sed -i -e '/OUTPUT ACCEPT/ a\-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT' /etc/sysconfig/iptables

service iptables restart

service httpd start
O procedimento acima executa:
  1. Instala o Apache HTTP Server (httpd).
  2. Habilita a execução automática do script de iniciação do httpd.
  3. Habilita Virtual Hosts baseados em home.
  4. Cria uma variável com o caminho do htdocs.
  5. Cria um Virtual Host para o domínio lumisportal, utilizando a variável para o htdocs.
    Configura o mod_proxy_ajp e o mod_proxy_balancer.
    Configura o proxy para passar para o Servidor Java apenas *.jsp e *.lumis.
  6. Cria um Virtual Host para todos outros domínios que chegarem ao servidor.
  7. Adiciona uma regra no iptable permitindo acesso à porta 80.
  8. Reinicia o iptables
  9. Inicia o httpd.
O Lumis Portal estará acessível pela url http://lumisportal.
Lembre-se que esta URL deve estar configurada no DNS ou no hosts da máquina cliente.