FUG-BR / Grupo Brasileiro de Usuarios de FreeBSD
 
23.04  
Inicio arrow Artigos arrow OpenBravo ERP + PostgreSQL + jail no FreeBSD 7.2
Principal
Inicio
Noticias
Artigos
Regras da Lista
Assinar a Lista
Histrico da Lista
Forum
Keyserver
PC-BSD: Artigos
PC-BSD: Notcias
Galeria de Imagens
Contador Usurios FUG
FUGs Estaduais
Downloads
Enquetes
FAQ
Resumo do Site
Links
Pesquisar
Contato
Sobre a FUG-BR
RSS / Twitter
-
DOC-BR (FUG BR)
Introduo
Projeto DOC-BR
Handbook
FAQ Oficial
-
+ Noticias
Alertas de Seguranca
Alertas em Ports
BSD em Geral
DaemonNews (Ingles)
MyFreeBSD
Todas Categorias
-
Login
Nome de Usurio

Senha

Lembrar login
Esqueceu sua senha?
Sem conta? Crie uma


OpenBravo ERP + PostgreSQL + jail no FreeBSD 7.2 PDF Imprimir E-mail
Por Diego Queiroz dos Santos   
09/07/2009
 Nesse tutorial irei demonstrar como instalar o OpenBravo ERP , usando banco de dados PostgreSQL dentro de um subsistema, usando o Jail. O OpenBravo é um sistema de gestão Enterprise Resource Planning e tem por função, basicamente o controle de informações financeiras, administrativas, logísticas, transacionais e contábeis de uma empresa. Estarei usando o FreeBSD 7.2-stable com uma placa sis0. Faça as mudanças em alguns paths caso necessário. Algumas coisas são opcionais, como o jail (o postgresql por exemplo, requer algumas mudanças para funcionar dentro da jail) e o DEVICE_POLLING. Isso é só para evitar dores de cabeça futuras.

Primeiramente, vamos atualizar o nosso sitema:

# portsnap fetch && portsnap extract
(caso você use tcsh)
# cp /usr/share/examples/cvsup/stable-supfile /home/diego/
# csup -g -L2 /home/diego/stable-supfile -h cvsup3.br.freebsd.org

Compile o kernel do sistema e adicione as seguintes linhas

options DEVICE_POLLING
options HZ=1000

O OpenBravo funciona pela web e isso vai melhorar o desempenho da rede, porém não funciona com algumas placas de rede. A opção DEVICE_POLLING muda o método que os dados da interface são passadas para o kernel. Normalmente cada vez que a placa de rede precisa de "atenção" (por exemplo, quando recebe um pacote) é gerado um pedido de interrupção (interrupt request). Esse interrupt request causa um "context switch" e uma chamada para interrupção. O context switch é quando a CPU e Kernel tem que trocar do user land (programas de usuário ou daemons) para kernel land (driver, hardware, etc). Com o DEVICE_POLLING ativado você muda isso, em conjunto com a opção HZ=1000, ele vai deixar mais lento o clock interrupts para 1000 vezes por segundo. É necessário adicionar a linha kern.polling.enable=1 no /etc/sysctl.conf.

OBS: Se o SMP estiver ativado no seu kernel, ele certamente não irá compilar. Não tem problema usar o DEVICE_POLLING mesmo com mais de um processador, mas você terá que DELETAR algumas linhas no arquivo /usr/src/sys/kern/kern_poll.c:

#ifdef SMP
        #include "opt_lint.h"
        #ifndef COMPILING_LINT
        #error DEVICE_POLLING is not compatible with SMP
        #endif
        #endif

     
Agora, make config nele! Caso não saiba compilar o kernel, acesse esse link!

Depois de uns cafezinhos, o sistema deve ta todo atualizado! E que tal montar um jail pra deixar mais seguro?

# vi /root/jail.sh

Insira as seguintes linhas:

D=/home/diego/JAIL
cd /usr/src
mkdir -p $D
make world DESTDIR=$D
make distribution DESTDIR=$D
mount -t devfs devfs $D/dev


# sh /root/jail.sh

Esse vai demorar bastante! Ainda bem que é opcional ! Enquanto isso, adicione as seguintes linhas no /etc/rc.conf

sshd_enable="YES"            
ifconfig_INTERFACE="inet x.x.x.x m.m.m.m media 100baseTX mediaopt full-duplex"

OBS: Possivelmente sua placa de rede faz autonegociação de velocidade. Mas isso acarreta alguns contras, a placa para de transferir dados para fazer a alto negociação, por exemplo. Adicionando "media 100baseTX mediaopt full-duplex" você diminui o uso da CPU. Claro que sua placa não pode ser tão velha :)

defaultrouter="x.x.x."
hostname="hostname.domain"
sendmail_enable="NONE"
firewall_enable="YES"
firewall_script="/etc/firewall"


Vou por o nome da jail de skunk, mas esse não é o hostname, apenas um meio de "listar" as jail no rc.conf

jail_enable="YES"
jail_list="skunk"
jail_set_hostname_allow="NO"       
jail_socket_unixiproute_only="YES"
jail_sysvipc_allow="YES"
jail_skunk_rootdir="/usr/home/diego/JAIL"
jail_skunk_hostname="hostname.domain"
jail_skunk_ip="192.168.1.1"
jail_skunk_interface="SUA_INTERFACE"
jail_skunk_exec_start="/bin/sh /etc/rc"
jail_skunk_flags="-l -u root"
jail_skunk_procfs_enable="YES"
jail_skunk_devfs_enable="YES"

# vi /etc/firewall
ipfw add 50 divert natd ip4 from any to any via INTERFACE

Você precisa do divert para o jail acessar a net !

Agora digite:

# jail /usr/home/diego/JAIL skunk 192.168.1.1 /bin/sh

Pronto, você acessou o novo jail!

# touch /etc/fstab

 Copie o resolv.conf do sistema anfitrião e cole no /usr/home/diego/JAIL/etc/resolv.conf

# touch /etc/resolv.conf
# echo 'rpcbind_enable="NO"' >> /etc/rc.conf
# passwd
# adduser
# /etc/rc.d/sshd start
# echo 'sshd_enable="YES"' >> /etc/rc.conf
# echo 'sendmail_enable="NONE"' >> /etc/rc.conf


Caso você queira o ports no jail:

# mkdir /usr/home/diego/JAIL/usr/ports

# mount_nullfs  /usr/ports/ /usr/home/diego/JAIL/usr/ports/


O Jail está pronto para uso.

OBS: caso você nao consiga usar a internet no jail, verifica as entradas no sysctl

# sysctl -a | grep -i jail

O security.jail.allow_raw_sockets tem que ta como ligado (1)

Verifique também o NAT  !

Beleza, agora vamos instalar o OpenBRAVO ERP !! Mas antes, entre no site da sun e baixe o tzupdater e o diablo jdk. Será necessário fazer um registro, mas nada muito demorado. Depois de baixar os dois pacotes, mova-os para o /usr/ports/distfiles. Vamos instalar o postgreSQL server também, porque durante a instalação do OpenBravo só o postgreSQL client é instalado, pule essa parte caso você já possua um servidor postgreSQL.

# cd /usr/ports/database/postgresql83-server; make install clean
# echo 'postgresql_enable="YES"' >> /etc/rc.conf


O postgreSQL é um database que roda em sandbox, ou seja, todas as operações dele terá que ser feito pelo o seu usuário, que no caso é o pgsql (default).

# su -l pgsql
# initdb -D /usr/local/pgsql/data/
# createuser --pwprompt postgres


Quando o prompt perguntar se o novo usuario será super usuario, responda que sim. O initdb irá povoar o diretório data. (Você provavelmente terá problemas relacionados a shared memory, insira as seguintes linhas no /boot/loader.conf:

kern.ipc.semaem=32767
kern.ipc.semvmx=65534
kern.ipc.semusz=184
kern.ipc.semume=80
kern.ipc.semopm=200
kern.ipc.semmsl=120
kern.ipc.semmnu=4096
kern.ipc.semmns=8192
kern.ipc.semmni=32767
kern.ipc.semmap=60


E no /etc/sysctl.conf:

security.jail.sysvipc_allowed=1
kern.ipc.shmall=65536
kern.ipc.shmmax=134217728
kern.ipc.semmap=4096

(Fonte: http://www.freebsddiary.org/jail-multiple.php)


# cd /usr/ports/www/openbravoerp; make install clean

No final da instalação aparecerá um setup, aceite a licença e responda as questões referente ao PostgreSQL. Ponha o mesmo usuario e senha do createuser. Adicione a linha tomcat5.5_enable="YES", também adicione a linha referente ao apache, também verifique se o postgresql está presente no /etc/rc.conf. Depois de tudo isso dê um reboot

Agora acesse pelo navegador, não esqueça de configurar o httpd.conf !! As entradas Servername irá ficar com o nome do seu servidor, ou então o ip caso não existe /etc/hosts configurado. Por exemplo, se você definiu como ServerName 10.1.2.3, o OpenBravo deverá ser acessado pelo http://10.1.2.3:8180/openbravo.

Tae! Espero que funcione ! :) Qualquer dúvida mail to: Este endereo de e-mail est sendo protegido de spam, voc precisa de Javascript habilitado para v-lo

Abraços!

Comentrios
ratQEqzpddER
Por Bhimaom em 21/08/2012 14:58:42
???????, ? ??????? ???? ?????????? ? ???? ?????????.????? ???????? kern.ipc.shmmax ?? ????????. ? ??? ????? ????? ????????.?????? ??????????. ?? ??????? ???? ?? FreeBSD 6.x ????? ?????????? ?????? ?????????????????? ??? ?????? ???????./boot/loader.confkern.ipc.semmni=128kern.ipc.semmns=32000kern.ipc.shmmni=4096/etc/sysctl.confkern.ipc.semmsl=250kern.ipc.shmmax=2147483648kern.ipc.shmall=2097152????? ??????????? ????????kern.ipc.semmax=32000???? ????? ? ????????? ????????? ?? /etc/sysctl.conf, zabbix ??????????.
This is getting a bi
Por Beatiful em 22/12/2015 22:58:16
This is getting a bit a lot more subtecjive, but I much prefer the Zune Marketplace. The interface is colorful, has more flair, and some cool features like Mixview' that let you quickly see related albums, songs, or other users related to what you're listening to. Clicking on one of those will center on that item, and another set of neighbors will come into view, allowing you to navigate around exploring by similar artists, songs, or users. Speaking of users, the Zune Social is also great fun, letting you find others with shared tastes and becoming friends with them. You then can listen to a playlist created based on an amalgamation of what all your friends are listening to, which is also enjoyable. Those concerned with privacy will be relieved to know you can prevent the public from seeing your personal listening habits if you so choose.