You are here: Home Management eClosing DocMagic Documentation DocMagic (DSI) Architecture and How to Replicate it
Document Actions

DocMagic (DSI) Architecture and How to Replicate it

DocMagic's logical and infrastructure overview. Dated as July 18, 2008 Adriano replicou o ambiente para testes e documentou o processo.

DocMagic's Infrastructure

Sent: Friday, July 18, 2008 5:07 PM
 

Attached, along with the information below should answer most questions about how our infrastructure is laid out. 

 

Document Systems, Inc Infrastructure Overview

 

Load Balancers
OS: FreeBSD 6.2
Software: Zeus ZXTM 4.2r2

 

Application Servers
OS: CentOS 5.2
App Server: JBoss 4.04.GA
Java: 1.5.0_15
Other Software:
Apache 2.2.3 w/mod_security 2.5.5 + core rules 1.6.1
SELinux w/default policy

 

Database Servers
OS: CentOS 5.2
DB: MySQL 5.0.45
Other Software: SELinux w/default policy

 

Storage Platform
OS: FAS2020
Current Capacity: 1TB

Expandable Capacity: 8TB

 

Jeremy Boyd
IT Manager

DocMagic, Inc.
www.docmagic.com
www.loan-magic.com


Confidentiality Notice: This communication (including any attachments) may contain privileged or confidential information intended for a specific individual and purpose, and is protected by law. If you are not the intended recipient, you should delete this communication and/or shred the materials and any attachments and are hereby notified that any disclosure, copying, or distribution of this communication, or the taking of any action based on it, is strictly prohibited.

 

How to replicate DM's environment

By: Adriano Souza 

 

Para quem quiser criar um ambiente de testes semelhante ao de produção da DM, com Linux e JBoss, eis algumas dicas.

Coloquei quase todos os instaladores no FTP da Fernanda.  Só não coloquei lá o instalador do CentOS porque é muito grande.

Link para baixar arquivos (onde for mencionado "FTP", usar link a seguir, mais nome do arquivo):

      http://www.sfdocs.com/DMD/dr/JBossEnvironment/

      Usuario e senha: contractor/sfdwsite!

 

  1. Baixe o CentOS 5.2 da Internet. Normalmente são 7 CDs ou um DVD com cerca de 3.74 GB. Há vários sites por aí com os arquivos para download. Veja em http://centos.fastshare.us/4.7/isos/i386/ ou http://centosbr.org/content/centos5.html ou http://isoredirect.centos.org/centos/5/isos/i386/, por exemplo.
  2. Gere um DVD (ou 7 CDs) do CentOS.
  3. Instale o CentOS normalmente, sem fugir dos defaults. As exceções são as seguintes:

a.       Desmarque a opção de instalar o MySQL, pois faremos a instalação depois.

b.      Desmarque a opção do Tomcat, pois usaremos o JBoss.

c.       Eu desmarquei outras coisas que não serão usadas, mas infelizmente não anotei o passo-a-passo quando estava instalando. Então deixe o restante como está.

d.      O Apache que vem no CentOS 5.2 já é a versão que queremos (2.2.3).

e.      O SELinux deve ficar com a configuração default.

f.        Conclua a instalação e configuração (rede, vídeo, som, etc.) normalmente.

4.       Agora vamos instalar os outros aplicativos. Crie a pasta /root/pacotes para armazenarmos os instaladores.

5.       Instale o Webmin. Esse aplicativo é bem interessante para você controlar os serviços do SO via Web. Ele cria uma interface web na porta 10000 para você administrar graficamente vários serviços do Linux. Não é obrigatório, mas é bem interessante e facilita muito a vida do administrador do Linux.

  1. Baixe o arquivo webmin-1.380.tar.gz do FTP para a pasta /root/pacotes.
  2. Vá para o diretório /usr/local.
  3. Digite tar xvfz /root/pacotes/webmin-1.380.tar.gz
  4. Digite cd webmin-1.380
  5. Rode setup.sh e responda as perguntas que surgirão.
  6. Para usar o Webmin abra o browser e digite http://localhost:10000.
  7. Você pode acessar o Webmin de outra máquina, bastando para isso digitar a URL correta com o IP ou nome da máquina onde está o CentOS. Exemplo: http://192.168.0.102:10000.

6.       Instalando o MySql:

  1. Baixe o arquivo mysql-5.0.45.tar.gz (no FTP) para a pasta /root/pacotes.
  2. Vá para o diretório /usr/local/src.
  3. Digite tar xvfz /root/pacotes/mysql-5.0.45.tar.gz
  4. Digite cd mysql-5.0.45
  5. Digite ./configure (isso vai rodar um configurador que pode demorar um pouco).
  6. Digite make (pode demorar um pouco).
  7. Agora digite make install (normalmente não demora).
  8. Pronto. O MySql está instalado.
  9. Para iniciá-lo manualmente faça o seguinte:

                                                               i.      Execute /etc/rc.d/init.d/mysqld start

                                                             ii.      Ou entre no Webmin e escolha Servers/MySQL Database Server no lado direito da tela.

j.  Para fazer o MySql iniciar no boot da máquina faça o seguinte:

                                                               i.      cd /etc/rc5.d

                                                             ii.      ln -S ../init.d/mysqld S96mysql

                                                            iii.      Isso é meio equivalente a colocar um atalho para o MySql no menu iniciar do windows.

k. Não instalei interface gráfica do MySql no Linux porque não achei uma versão boa para o CentOS.

l. Então uso a interface gráfica (MySQL Administrator e MySQL Query Browser) no Windows mesmo, apontando para a base do CentOS.

m. Para isso funcionar é necessário informar ao MySQL do CentOS que um aplicativo de fora do localhost tem permissão para acessá-lo.

n. Entre no Webmin, Servers/MySQL Database Server. Clique em Host Permissions e cadastre o host que vai acessar o MySQL remotamente.

7.       Instalando o Java 5:

  1. Baixe o arquivo jre-1_5_0_15-linux-i586.bin do FTP para a pasta /root/pacotes.
  2. Crie o diretório /usr/local/src/jre.
  3. cd /usr/local/src/jre
  4. cp /root/pacotes/jre-1_5_0_15-linux-i586.bin . (observe o ponto no final do comando)
  5. Execute o arquivo jre-1_5_0_15-linux-i586.bin (digite ./ jre-1_5_0_15-linux-i586.bin)
  6. Instale em /usr/local para que fique /usr/local/jre1.5.0_15
  7. Depois da instalação é importante criar/alterar umas variáveis de ambiente.
  8. Edite o arquivo /etc/profile (com o vi ou qualquer outro editor de texto de sua preferência).
  9. Antes da linha que tem export PATH (...) adicione as linhas abaixo:

 

JAVA_HOME=/usr/local/jre1.5.0_15

export JAVA_HOME

PATH=$JAVA_HOME/bin:$PATH

 

j.        Como mudamos o arquivo /etc/profile então recomendo que a máquina seja resetada (reboot) nesse momento. É possível recarregar o profile sem resetar a máquina, mas para evitarmos problemas vamos dar o velho e bom boot.

8.       Instalando o JBoss:

  1. Baixe o arquivo jboss-4.0.4.GA-Patch1-installer.jar do FTP no diretório /root/pacotes.
  2. Vá para o diretório /root/pacotes.
  3. Digite java -jar jboss-4.0.4.GA-Patch1-installer.jar.
  4. Isso é o instalador do JBoss, com interface gráfica.
  5. Não lembro dos detalhes da interface gráfica, mas basicamente deixei as opções default.
  6. Instale-o em /usr/local/jboss-4.0.4.GA.
  7. Depois da instalação vá para o diretório /usr/local.
  8. Digite ln –s jboss-4.0.4.GA jboss
  9. Isso criará um link chamado jboss que aponta para o jboss-4.0.4.GA. É só para facilitar referências ao diretório do JBoss.
  10. Para iniciar o JBoss digite /etc/init.d/jboss start. Para Pará-lo digite /etc/init.d/jboss stop ou interrompa o comando anterior com Ctrl+C.
  11. Para fazer deploy de um arquivo .war basta copiar esse arquivo para /usr/local/jboss/server/default/deploy. Para fazer undeploy é só apagar o arquivo do diretório de deploy.
  12. Para monitorar as ações do JBoss basta ficar de olho no arquivo de log dele. Digite tail -f /usr/local/jboss/server/default/log/server.log.
  13. Para facilitar as ações de iniciar, parar e monitorar o JBoss coloquei três scripts no FTP. Baixe esses scripts no diretório /root e execute-os de lá. Exemplo: ./monitora_jboss.sh

 

 Curiosidade sobre espaço de disco necessário para instalação:

  • Criei uma partição de 40Gb (36GB úteis) e depois de tudo instalado (Sistema Operacional + aplicativos) usei 5.3Gb. Ou seja, quem não tiver muito espaço em disco sobrando não precisa se preocupar. Com 10GB úteis já dá pra instalar o ambiente.

 

Bom, como não anotei esses passos durante a instalação do meu ambiente (só os escrevi agora, de cabeça), é possível que haja falhas. Como vocês são bem espertos, certamente contornarão as eventuais falhas sem problemas.

 

 

 

Related content

powered by Plone