- Instale o unrar:
gsan# cd /usr/ports/archivers/unrar
gsan# make config (sem nenhuma opção)
gsan# make && make install clean
- Instale o jdk (o ports indicará quais arquivos devem ser baixados para /usr/ports/distfiles)
gsan# cd /usr/ports/java/jdk16
gsan# make config (selecione as opções web e tzupdate)
gsan# make && make install clean
- Instale o postgresql (nessa versão do gsan deve ser utilizado o postgresql 9.0)
gsan# cd /usr/ports/databases/postgresql90-server
gsan# make config (selecione as opções icu, intdate, nls, optimized_cflags, ssl, tzdata, xml)
gsan# make && make install clean
- Finalmente instale o pacote contrib
gsan# cd /usr/ports/databases/postgresql90-contrib
gsan# make config (sem nenhuma opção)
gsan# make && make install clean
- Adicione a seguinte linha no final do arquivo /etc/rc.conf :
postgresql_enable="YES"
- Considerando que o ip do servidor é 10.1.1.2 e o hostname é gsan.dominio.local adicione em /etc/hosts a linha:
10.1.1.2 gsan gsan.dominio.local
- Adicione na seção "# IPv4 local connections:" do arquivo /usr/local/pgsql/data/pg_hba.conf a linha:
host all all 10.1.1.2/32 md5
em /usr/local/etc/rc.d/postgresql altere a linha
postgresql_initdb_flags=${postgresql_initdb_flags:-"--encoding=utf8 --lc-collate=C"}
para
postgresql_initdb_flags=${postgresql_initdb_flags:-"--encoding=latin1 --lc-collate=C"}
- Obtenha do svn a versão 6.2.11.2.7 do gsan, colocando ele na pasta /tmp
- Converta os arquivos .backup do banco de dados para .sql
gsan# pg_restore -Fc /tmp/v6.2.11.2.7/BancoDados/gsan_comercial_portal.backup -f /tmp/v6.2.11.2.7/BancoDados/gsan_comercial.sql
gsan# pg_restore -Fc /tmp/v6.2.11.2.7/BancoDados/gsan_gerencial_portal.backup -f /tmp/v6.2.11.2.7/BancoDados/gsan_gerencial.sql
- Como, atualmente, o usuário padrão do postgres 9.0 no freebsd 9.0 é "pgsql", devemos então alterar o usuario padrão "postgres" definido nos arquivos .sql
gsan# sed -i '' -e's/Owner\:\ postgres/Owner\:\ pgsql/g' /tmp/v6.2.11.2.7/BancoDados/gsan_comercial.sql
gsan# sed -i '' -e's/OWNER\ TO\ postgres/OWNER\ TO\ pgsql/g' /tmp/v6.2.11.2.7/BancoDados/gsan_comercial.sql
gsan# sed -i '' -e's/Owner\:\ postgres/Owner\:\ pgsql/g' /tmp/v6.2.11.2.7/BancoDados/gsan_gerencial.sql
gsan# sed -i '' -e's/OWNER\ TO\ postgres/OWNER\ TO\ pgsql/g' /tmp/v6.2.11.2.7/BancoDados/gsan_gerencial.sql
- Como os arquivos .backup definem funçõs adicione (usando o vi por exemplo) no topo daqueles arquivos a linha
CREATE LANGUAGE plpgsql;
- Crie o diretorio de indices
gsan# mkdir /usr/local/pgsql/data/indices
gsan# chown -R pgsql:pgsql /usr/local/pgsql/data/indices
- Inicie o banco
gsan# /usr/local/etc/rc.d/postgresql initdb
inicie o postgresql
gsan# /usr/local/etc/rc.d/postgresql start
- Logue com o usuário do postgres
gsan# su pgsql
- Entre na interface do postgres
$ psql -d postgres
- Crie os seguintes grupos...
postgres=# CREATE ROLE pg_users NOSUPERUSER NOINHERIT NOCREATEDB NOCREATEROLE;
postgres=# CREATE ROLE pg_aplic NOSUPERUSER NOINHERIT NOCREATEDB NOCREATEROLE;
...os seguintes usuarios...
postgres=# CREATE ROLE gsan_admin LOGIN ENCRYPTED PASSWORD 'gsan' NOSUPERUSER NOINHERIT NOCREATEDB NOCREATEROLE;
postgres=# CREATE ROLE gsan_batch LOGIN ENCRYPTED PASSWORD 'b@tch' NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE;
postgres=# GRANT pg_aplic TO gsan_batch;
postgres=# CREATE ROLE gsan_olap LOGIN ENCRYPTED PASSWORD 'md53a5ee6d07b205e698e22b46cbe086335' NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE;
postgres=# GRANT pg_aplic TO gsan_olap;
postgres=# CREATE ROLE gsan_online LOGIN ENCRYPTED PASSWORD 'md54e64a47f54d3289600f400a939abcf86' NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE;
postgres=# GRANT pg_aplic TO gsan_online;
...e crie as databases e indices
postgres=# CREATE DATABASE gsan_comercial WITH OWNER = gsan_admin ENCODING = 'LATIN1' TABLESPACE = pg_default;
postgres=# CREATE DATABASE gsan_gerencial WITH OWNER = gsan_admin ENCODING = 'LATIN1' TABLESPACE = pg_default;
postgres=# CREATE TABLESPACE indices OWNER postgres LOCATION '/usr/local/pgsql/data/indices';
- Saia da interface do postgresql
postgres=# \q
- Volte ao shell do root
$ exit
- Agora restaure o banco usando os arquivos .sql
gsan# psql gsan_comercial -f /tmp/v6.2.11.2.7/BancoDados/gsan_comercial.sql
gsan# psql gsan_gerencial -f /tmp/v6.2.11.2.7/BancoDados/gsan_gerencial.sql
Ok, banco configurado para o freebsd, agora à aplicação do gsan e o jboss
- Extraia o arquivo /tmp/gsan/v6.2.11.2.7/JBOSS/jboss.rar para /usr/local/jboss
gsan# unrar x /tmp/gsan/v6.2.11.2.7/JBOSS/jboss.rar /usr/local/
- Troque os arquivos run.conf, run.sh e shutdown.sh de /usr/local/jboss/bin/ pelos seguintes:
[run.conf]
if [ "x$JAVA_OPTS" = "x" ]; then
JAVA_OPTS="-server -Xms384m -Xmx384m -XX:PermSize=64M -XX:MaxPermSize=256m" fi
[run.sh]
#!/bin/sh
JAVA_HOME=/usr/local/jdk1.6.0
DIRNAME=/usr/local/jboss/bin
PROGNAME=run.sh
GREP="grep"
MAX_FD="maximum"
warn() { echo "${PROGNAME}: $*" }
die() { warn $* exit 1 }
if [ "x$RUN_CONF" = "x" ]; then
RUN_CONF="$DIRNAME/run.conf"
fi
if [ -r "$RUN_CONF" ]; then
. "$RUN_CONF"
fi
JBOSS_HOME=/usr/local/jboss
if [ "x$JAVA" = "x" ]; then
if [ "x$JAVA_HOME" != "x" ]; then
JAVA="$JAVA_HOME/bin/java"
else
JAVA="java"
fi
fi
runjar="$JBOSS_HOME/bin/run.jar"
if [ ! -f "$runjar" ]; then
die "Missing required file: $runjar"
fi
JBOSS_BOOT_CLASSPATH="$runjar"
if [ "x$JAVAC_JAR" = "x" ]; then
JAVAC_JAR="$JAVA_HOME/lib/tools.jar"
fi
if [ "x$JBOSS_CLASSPATH" = "x" ]; then JBOSS_CLASSPATH="$JBOSS_BOOT_CLASSPATH:$JAVAC_JAR"
else JBOSS_CLASSPATH="$JBOSS_CLASSPATH:$JBOSS_BOOT_CLASSPATH:$JAVAC_JAR"
fi
JAVA_OPTS="$JAVA_OPTS -Dprogram.name=$PROGNAME" JBOSS_ENDORSED_DIRS="$JBOSS_HOME/lib/endorsed"
STATUS=10
while [ $STATUS -eq 10 ]
do
"$JAVA" $JAVA_OPTS -Djava.endorsed.dirs="$JBOSS_ENDORSED_DIRS" \
-classpath "$JBOSS_CLASSPATH" org.jboss.Main "$@" STATUS=$?
done
e [shutdown.sh]
#!/bin/sh
DIRNAME=/usr/local/jdk1.6.0
PROGNAME=shutdown.sh
GREP="grep"
die() { echo "${PROGNAME}: $*" exit 1 }
if [ "x$RUN_CONF" = "x" ]; then
RUN_CONF="$DIRNAME/run.conf"
fi
if [ -r $RUN_CONF ]; then
. $RUN_CONF
fi
if [ "x$JBOSS_HOME" = "x" ]; then
JBOSS_HOME=`cd $DIRNAME/..; pwd`
fi
export JBOSS_HOME
if [ "x$JAVA_HOME" != "x" ]; then
JAVA=$JAVA_HOME/bin/java
else
JAVA="java"
fi JBOSS_BOOT_CLASSPATH="$JBOSS_HOME/bin/shutdown.jar:$JBOSS_HOME/client/jbossall-client.jar"
if [ "x$JBOSS_CLASSPATH" = "x" ]; then JBOSS_CLASSPATH="$JBOSS_BOOT_CLASSPATH"
else
JBOSS_CLASSPATH="$JBOSS_CLASSPATH:$JBOSS_BOOT_CLASSPATH"
fi
exec $JAVA $JAVA_OPTS -classpath $JBOSS_CLASSPATH org.jboss.Shutdown "$@"
- Troque o arquivo /usr/local/jboss/server/default/deploy/postgres-ds.xml pelo seguinte
[postgres-ds.xml]
<?xml version="1.0" encoding="UTF-8"?>
<datasources>
<local-tx-datasource>
<jndi-name>PostgresDS</jndi-name>
<connection-url>jdbc:postgresql://localhost:5432/gsan_comercial</connection-url>
<driver-class>org.postgresql.Driver</driver-class>
<user-name>gsan_admin</user-name>
<password>gsan</password>
<min-pool-size>5</min-pool-size>
<max-pool-size>200</max-pool-size>
</local-tx-datasource>
<local-tx-datasource>
<jndi-name>PostgresGerencialDS</jndi-name>
<connection-url>jdbc:postgresql://localhost:5432/gsan_gerencial</connection-url> <driver-class>org.postgresql.Driver</driver-class>
<user-name>gsan_batch</user-name>
<password>b@tch</password>
</local-tx-datasource>
</datasources>
- Extraia o conteudo do arquivo /tmp/gsan/v6.2.11.2.7/Aplicação GSAN/Versao_621127.rar para a pasta /usr/local/jboss/server/default/deploy/
gsan# unrar x /tmp/gsan/v6.2.11.2.7/Aplica\347\343o\ GSAN/Versao_621127.rar /usr/local/jboss/server/default/deploy/
- Inicie o Jboss, e consequentemente a aplicação gsan, com
gsan# /usr/local/jboss/bin/run.sh
- Espere o jboss inicializar completamente, no final da saida deve aparecer algo como:
XX:XX:XX,XXX INFO [Server] JBoss (MX MicroKernel)... Started in Xm:XXs:XXXms
- Abra algum browser e vá em http://10.1.1.2:8080/gsan a aplicação do gsan deve abrir.
Pegadinha: o login e senha do administrador, da versão 6.2.11.2.7, são; login: admin senha: @s@@eJ
Isso é apenas o começo, as versões do gsan estão todas cheias de dados de produção/teste/homologação etc. Agora o administrador deve higienizar o banco de dados e configurar os demais arquivos .xml e .conf tanto do jboss quanto do gsan
Autor: igor kattar
1414 comentários
Para criar os arquivos de configuração dentro de pgsql/data
export LANG=pt_BR.ISO8859-1
export LC_CTYPE=ISO-8859-1
export LESSCHARSET=latin1
export GTK_IM_MODULE=xim
export GDK_USE_XFT=1
export GDM_LANG=pt_BR.ISO8859-1 Caso use o shell padrão do FreeBSD csh, adicione no /etc/csh.cshrc : setenv LC_ALL pt_BR.ISO8859-1
setenv LANG pt_BR.ISO8859-1
setenv LC_CTYPE ISO-8859-1
setenv LESSCHARSET latin1
setenv GTK_IM_MODULE xim
setenv GDK_USE_XFT 1
setenv GDM_LANG pt_BR.ISO8859-1 -------------------- Essa parte dos locales eu achei em: blog.nexthop.com.br/2007/01/does-my-freebsd-speak-brazilian.html depois foi só entrar na pasta /tmp conforme o tutorial original aqui do freebsd e dar o comando especificado pelo Igor, porem adiciona ao final a versao do Gsan que voce quer baixar, senao ele BAIXA TODO REPOSITORIO. No caso do tutorial, voce tem que baixar a versao v6.2.11.2.7 svn co --username seuemailcadastrado@nosoftwarepublico.gov.br svn.softwarepublico.gov.br/svn/gsan/v6.2.11.2.7 gsan abraços....
postgres=# \q - Volte ao shell do root $ exit Eu nao consegui criar o banco com o usuario root. Entao recomento que não saiam do usuario pgsql, pois com ele eu consegui criar o banco a partir dos arquivos SQL normalmente. Já durante a instalação do GERENCIAL.. apareceu rapidamente um erro do tipo: "role nao existe" para o usuario eduardo. Quem diabos é eduardo? e Porque o script tem um role com o nome dele? Como eu não sei de quem se trata, vamos fazer o seguinte: gsan # sed -i '' -e's/Owner\:\ eduardo/Owner\:\ gsan_admin/g' /tmp/v6.2.11.2.7/BancoDados/gsan_gerencial.sql
gsan # sed -i '' -e's/OWNER\ TO\ eduardo/OWNER\ TO\ gsan_admin/g' /tmp/v6.2.11.2.7/BancoDados/gsan_gerencial.sql para substituir o eduardo que existe no arquivo sql pelo usuario correto.
Exception in thread "main" java.lang.NoClassDefFoundError: -classpath
Exception in thread "main" java.lang.NoClassDefFoundError: -classpath
. . .
Exception in thread "main" java.lang.NoClassDefFoundError: -classpath Por hoje é só.. se alguma alma viva quiser ajudar.. mande email.. eugenio@megagenius.net.br abraços,
Não dá para eu editar meu post, caracteristica do forum.