POP - Configuração do servidor
Conteúdo |
[editar] Introdução
Abaixo seguem orientações sobre os recursos necessários para preparar um servidor de aplicação e de banco de dados para o sistema Resulth WEB.
É altamente recomendado que a pessoa responsável pela preparação do servidor tenha pleno conhecimento no que está fazendo, uma vez que um servidor mal configurado pode colocar em risco o funcionamento do sistema ocasionando travamentos, lentidão ou até mesmo perda de dados.
No caso de clientes que desejam ter seu próprio servidor, a ATS Informática não se responsabilizará pelo funcionamento e segurança do mesmo quando a configuração/preparação
é feita pelo próprio cliente.
[editar] Sistema operacional
O sistema operacional recomendado é Linux, na versão Ubuntu Server LTS mais recente. Outros sistemas operacionais como Windows, FreeBSD e OS X também podem ser utilizados, desde que comportem os softwares e hardware necessários.
[editar] Hardware
- Processador: Mínimo de 4 núcleos com 6MB de cache e frequência de 3GHz. Recomendamos um processador i7 ou superior.
- Memória RAM: Considerando que cada aplicação consome em média 1GB de memória, a cada nova aplicação o servidor deverá ganhar mais 1GB de memória. Recomendamos que o servidor tenha disponível pelo menos 50% do total de memória RAM em uso. Exemplo: Um servidor com 32GB de RAM em pleno funcionamento consome aproximadamente 16GB, terá disponível outros 16GB.
- HD: Pelo menos 80GB livres. É recomendado o uso de HD com tecnologia SSD para otimizar a leitura e gravação. No caso de servidor dedicado para banco de dados, é recomendado que os bancos fiquem em uma partição específica com um sistema de arquivos apropriado para esta tarefa.
É recomendado ter dois servidores dedicados, um para aplicação e outro para banco de dados.
[editar] Softwares necessários
- Java 7: Instalar no SO do servidor o Java/JDK da Oracle. Softwares equivalentes como OpenJDK do Linux não são recomendados.
- Apache Tomcat: Utilizar a versão 7.0 disponibilizado pelo P&D da ATS Informática sem instalação. O Tomcat deverá ser copiado para um diretório do servidor (recomendamos o diretório /var) para ser iniciado via script.
- PostgreSQL: Instalar a versão 9.2 ou superior de 64 bits.
- phppgadmin: Instalar a versão compatível com o sistema operacional do servidor. Este software viabiliza acesso ao banco de dados via browser para usuários credenciados. É importante ressaltar que para seu funcionamento, é necessário ter instalado no servidor o pacote LAMP (Linux|Apache|MySQL|PHP).
[editar] Configurações
- Java
- Definir/configurar as variáveis de ambiente do java (pode variar de SO para SO).
- PostgreSQL
- Executar o tunning nas configurações do PostgreSQL de acordo com o hardware do servidor e com o desempenho esperado.
- Criar o(s) banco(s) de dados com o(s) nome(s) referentes à(s) aplicações. É imprescindível que na criação de novos bancos, seja utilizada a codificação UTF-8.
- Criar um banco de dados chamado cep, também utilizando a codificação UTF-8.
- O P&D disponibilizará um backup do banco de dados padrão e também do banco de cep para ser restaurado no(s) banco(s) criado(s).
- Tomcat
- Acessar o diretório bin/com.ats.config e renomear a pasta bancoPadrao com o nome da aplicação a ser criada. Este nome fará parte do link de acesso ao sistema no servidor, exemplo: resulthweb.com:8080/bancoPadrao.
- Acessar o diretório renomeado no passo anterior e editar o arquivo application.properties alterando na terceira linha o trecho LuceneIndexes acrescentando no final o mesmo nome utilizado no passo anterior, exemplo: LuceneIdexesBancoPadrao.
- No mesmo diretório em que se encontra o arquivo application.properties, acessar a pasta spring e editar o arquivo spring-resource.xml. Encontrar a linha com o conteúdo <property name="url" value="jdbc:postgresql:banco_padrao" /> e substituir o trecho banco_padrao pelo nome do banco de dados criado para a aplicação cuja pasta mencionada no primeiro passo se refere.
- Ainda em modo de edição no arquivo spring-resource.xml, encontrar as linhas com os conteúdos <property name="username" value="postgres" /> e <property name="password" value="ats" /> (haverão 2 ocorrências para cada linha no arquivo, uma para o banco da aplicação e outra para o banco de cep) alterando os trechos postgres e ats pelo usuário e senha do PostgreSQL definidos em sua instalação.
- Configurar no servidor scripts para inicialização automática do tomcat junto com o SO. Criar também scripts de interrupção e reinicialização do tomcat.
- Renomear o arquivo JLite.war disponibilizado pelo P&D da ATS Informática com o nome da aplicação que irá ser disponibilizada. O nome deverá ser idêntico ao nome utilizado no 1º passo. Mover o arquivo em questão para o diretório /webapps do tomcat.
- Iniciar o tomcat e acessar a aplicação no endereço www.dnsDoSeuServidor:PortaDoTomcat/nomeDaAplicacao, exemplo: resulthweb.com:8080/JLite.
[editar] Segurança
- Tomcat
- Acessar o diretório /conf e editar o arquivo server.xml. Encontrar a linha com o conteúdo <Connector port="8080" protocol="HTTP/1.1" e substituir o trecho 8080 pela porta na qual a aplicação ficará alocada no servidor. Este passo é opcional e deverá ser executado somente se o usuário não desejar utilizar a porta padrão do tomcat.
- Ainda no diretório /conf acessar e editar o arquivo tomcat-users.xml. Encontrar a linha com o conteúdo <user username="usuario" password="senha" roles="manager-gui"/> e substituir os trechos usuário e senha por um usuário e senha a seu critério. Este usuário e senha serão utilizados para acessar o painel administrativo do tomcat (probe) se necessário.
- PostgreSQL
- Criar rotinas de backup dos bancos de dados que executem no mínimo 1 vez ao dia.
- Configurar o PostgreSQL para aceitar somente conexões de um determinado IP ou faixa de IP, que no caso seria o servidor de aplicação.
- Ter usuário e senha seguros para evitar invasões.
Os tópicos acima são sugestões de segurança para itens relacionados ao sistema. Todavia o responsável pela administração do servidor deverá criar suas próprias políticas de segurança.
[editar] Acesso remoto
O servidor precisa dispor de um mecanismo de acesso remoto que permita o acesso de pessoas autorizadas na execução de tarefas como:
- Fazer backup/restore/download de banco de dados.
- Consultar log da aplicação
- Troca de versões e etc.