Manual Usuario Integrator

Published on June 2016 | Categories: Documents | Downloads: 30 | Comments: 0 | Views: 328
of x
Download PDF   Embed   Report

Manual do integrator

Comments

Content

Sumário

O Básico do Uso no Painel
Antes de Começar
Sobre o Suporte Especializado
Serviços de Atuação do Suporte
Atuação Parcial de Suporte
O que o Suporte Não Ajuda
Sobre o Suporte de Programadores
Como funciona o serviço PHP e HTML
O Uso do PHP Em Servidores Compartilhados
Memória e Upload de Arquivos do PHP
Local dos Arquivos PHP ou HTML
Página Inicial em PHP ou HTML
Resumo do Local e Página Inicial de Sites PHP/HTML
Uso de Processamento em PHP
Como visualizar um site PHP ou HTML sem o domínio
Cada Painel de Controle
Portas de cada painel de controle
O https do WHM/cPanel ou NGasi
O Painel de Controle WHM - Revenda
O acesso ao painel de controle WHM
Criando novos domínios como revenda de sites
Criando um Pacote de Revenda
Adicionando o cPanel para um novo Domínio
Listando Domínios da Revenda
Alterando a senha do acesso ao painel cPanel do domínio revendido
DNS Próprio em Revenda
O Painel de Controle cPanel
O acesso ao painel de controle cPanel
Permissões de Arquivos e Diretórios
Fantastico De Luxe para Aplicativos OpenSource PHP
Instalando o WordPress em sua conta
Removendo um aplicativo como o WordPress
Instalando o WordPress em um subdomínio
Problema ao instalar um aplicativo no Fantastico De Luxe
Usando um Programa de FTP
Usando o FileZilla
Adicionando novos Domínios no cPanel
Adicionando Domínios Suplementares
Adicionando Domínios Estacionados
Adicionando subdomínios no cPanel
Adicionando um Subdomínio
Adicionando novos Domínios no WHM
Adicionando novas contas de e-mail
Alterando a Senha ou Excluindo Contas de Email
Redirecionando Contas de Email
Acesso ao E-mail
Acesso ao E-mail pelo Webmail
Acesso ao E-mail pelo PC ou MAC
Acesso ao E-mail pelo Outlook 2010 - Windows
Acesso ao E-mail pelo Mail do Mac OS
Acesso ao E-mail pelo Thunderbird (Linux/Windows/Mac OS)
Sobre as regras de envio de emails
Evitando Spams com os recursos do painel

1

5
6
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
30
32
33
34
36
37
38
39
40
44
46
47
48
49
52
53
54
55
56
57
58
60
61
63
64
65
66
70
73
75
76

Verificando a legitimidade de um e-mails enviado
O Spam Assassin
O BoxTrapper
Tradução das Mensagens do BoxTrapper
Visualizando as estatísticas de acesso ao seu site
Personalizando as paginas de erro do Apache
Como funciona o serviço Java
A memória do servidor Java
Uso de Processamento em Java
O Painel de Usuário Java
O acesso o painel NGasi
Erros do cliente e direito de suporte
Acesso Java em conexão ao banco de dados
Instalando o servidor Java
Local onde o servidor Java é instalado
A estrutura do servidor Java
Suas bibliotecas JAR
Compartilhando seu servidor Java em outros domínios ou subdomínios
Como mapear outro domínio ou subdomínio no painel Java
O Básico de Uso dos Servidores Java
Sobre a exibição no domínio
Usando o servidor Java Tomcat
Subindo o aplicativo no Tomcat
Subindo um aplicativo na Raiz do domínio com o Tomcat
Configurando o acesso ao Manager do Tomcat
Configurando o manager do Tomcat 7/8
Mapeando o Manager no Tomcat
Usando o servidor Java Jetty
Subindo um aplicativo na Raiz do domínio com o Jetty
Usando o servidor Java JBoss
Usando o servidor Java JBoss 7
Usando o servidor Java JBoss 7 com aplicativo na raiz do domínio
Pequeno exemplo do deploy na raiz com JBoss 7
Usando o servidor Java Wildfly
Usando o servidor Java Wildfly com aplicativo na raiz do domínio
Pequeno exemplo do deploy na raiz com Wildfly
Usando o servidor Java GlassFish
Colocando seu aplicativo na raiz do domínio com o servidor GlassFish
Aplicativo EAR na raiz com o GlassFish
Logs de Acesso do Servidor Java
Alterando o Locale: Data, hora, números e moedas
Alterando o Locale do Tomcat
Alterando o Locale do GlassFish
Um mesmo servidor Java em vários domínios
Trabalhando com o Banco de Dados
Criando Banco de Dados PostgreSQL no Painel
Usuário PADRÃO do PostgreSQL no Painel
Exportando no PostgreSQL do cPanel
Importando no PostgreSQL do cPanel
Importando no PostgreSQL Bancos Grandes
Criando Banco de Dados MySQL no Painel
Criando o usuário ao Banco de Dados MySQL no Painel
Definindo o usuário ao Banco de Dados MySQL no Painel
Formas de acesso ao Banco de Dados
Usando o phpMyAdmin para o MySQL
Usando o MySQL pelo Aplicativo Hospedado
Usando o phpPgAdmin para o PostgreSQL
Usando o PostgreSQL pelo Aplicativo Hospedado

2

77
79
80
82
84
85
86
87
88
89
90
92
93
94
96
97
98
99
100
101
102
103
104
106
108
109
110
111
112
113
114
115
116
117
118
119
120
124
128
129
130
131
132
133
135
136
137
138
140
141
142
143
144
146
147
148
149
151

Acesso Remoto ao Banco de Dados
Liberando o acesso remoto ao MySQL
Acessando remotamente o MySQL
Erro comum: Host is blocked because of many connection errors
Exceção no PostgreSQL
Dúvidas Comuns Encontradas na Hospedagem
Uso do HTTPS
HTTPS em Painéis
HTTPS em Domínio
128bits ou 256bits
Erro no certificado SSL: Elementos não criptografados
Erros Comuns Encontrados na Hospedagem
Erros Gerais
Erro 500
Resolvendo o Erro 500
Erro 503
Erro 503 com servidor Java iniciado
O Erro 404
Resolvendo o Erro 404 no PHP
Resolvendo o Erro 404 no Java
Erros de Uso do Servidor Java
Resolvendo o erro PermGen
Resolvendo o erro Java heap space
Proxy Error no Acesso ao Aplicativo Java
Resolvendo erro java.lang.OutOfMemoryError: unable to create new native thread
Erros Comuns de Operação no Banco de Dados
Erro de Permissão ou Privilégio no MySQL
Erro de Permissão ou Privilégio no Usuário
Erro de Permissão ou Privilégio em Functions, Views e Procedures
Resolvendo erro de Privilégio
Erro de Permissão no PostgreSQL
Resolvendo o Erro de Permissão no PostgreSQL
Banco de Dados existente após exclusão
O Erro Broken Pipe ou Communications link failure
Servidor Java não quer parar ou reiniciar
Fantastico De Luxe - Access denied for user
Troca de Senha do Admin Do GlassFish
Serviço Java não responde com erro de Timeout
Erro The web application [] registered the JDBC driver
Erro do MySQL: Host is blocked because of many connection errors
Erros Comuns de E-mail
Erro 501 Too many syntax or protocol errors
Alguns emails não vão para a caixa de enviados no Outlook
Outlook não salva emails em itens enviados
Erro de E-mail: Retry timeout exceeded copy
Causas da falha: Retry timeout exceeded
O SVN
Criando seu Repositório SVN
Testando o acesso remoto
Realizando Dump do Repositório
Recuperando o Dump do Repositório
Erro no repositório do SVN
O GIT
Para Desenvolvedores
Instalando o WebServices Axis2 no Tomcat
Enviando E-mails
Enviando E-mail com Java
Enviando E-mail com PHP

3

152
153
154
155
156
157
158
159
160
161
163
164
165
166
167
168
169
170
171
172
173
174
175
176
176
178
179
180
181
183
184
185
186
187
189
190
191
193
194
195
196
197
198
199
200
201
202
203
206
208
209
210
211
211
212
212
213
214

Alterando o Comportamento com as Diretrizes Apache
Desenvolvendo seu .htaccess
URL Amigável ou Mod_Rewrite
Procedimentos em seu Banco de Dados
Criando uma Stored Procedures no MySQL
Criando Functions no MySQL
Criando Triggers no MySQL
Privilégios em Procedimentos no MySQL
Uso Avançado do Painel e Serviços
Novas contas de FTP
Removendo contas de FTP
Cuidados ao excluir uma conta extra de FTP
Acesso SSH através do sistema operacional
Acesso SSH através do Linux/Unix e Windows
Linux/Mac OS X/FreeBSD/ Unix em Geral
Windows XP/Vista/7/8
Gerando chaves de acesso SSH no cPanel
Usando as chaves caso esteja usando o Linux/MacOS X
Usando as chaves caso esteja usando o Windows
Personalizando os DNS do seu Serviço
Vários Domínios ou Subdomínios na Raiz de um GlassFish
Configurando no GlassFish
Desativando erros do PHP
Ativando o GZip para Conteúdo Web
Criando Tarefas Automatizadas - Cron

4

216
217
218
220
221
222
223
224
225
226
227
228
229
230
231
232
234
237
238
239
241
242
244
245
246

O Básico do Uso no Painel

Este%capítulo%ensina%a%base%de%uso%do%painel%no%serviço%de%hospedagem%da%Integrator.

5

Antes de Começar

Antes%de%iniciar%a%jornada%em%conhecer%os%pontos%chaves%de%seu%serviço,%através%deste%
manual,%queremos%que%entenda%alguns%pontos%técnicos,%simples%que%não%estão%sobre%seu%
controle%por%não%serem%exclusivamente%seus.
1.
A% porta% 80% do% servidor% da% Integrator% é% compartilhada% entre% todos% os% usuários.%
Nossos%servidores%Java%executam%em%portas%exclusivamente%lançadas%pelo%nosso%sistema%
e%roteadas%pelo%painel.
2.
Não%altere%a%porta%do%seu%servidor%Java,%por%exemplo%para%8080,%ou%qualquer%outra%
que%“considere”%importante.%Se%o%Jizer,%seu%servidor%será%paralisado%sem%aviso%prévio.
3.
O%Banco%de%dados,%até%o%plano%Java%EE/PHP,%incluindo%promocionais%de%similares%
características,%não%são%servidores%exclusivos,%ou%seja,%você%não%é%o%administrador%geral%
do%serviço%de%banco%de%dados%como%um%todo.%Isso%signiJica%que%NÃO%é%possível%alterar%a%
porta,%mudar%o%encoding%default%do%PostgreSQL,%acessar%remotamente%o%PostgreSQL,%dar%
permissões%administrativas%para%o%seu%usuário%de%forma%que%ele%crie%banco%de%dados%por%
script,% além% de% entre% outras% modiJicações% que% exigem% serem% feitas% diretamente% pelo%
administrador%geral.%Se%esta%for%a%sua%necessidade,%considere%mudar%de%plano%para%um%
que%permita%tais%condições%ou%adicionar%um%servidor%de%banco%de%dados%dedicado.
4.
Você%tem%o%direito%de%alterar%o%que%precisar%em%seu%servidor%Java.%Mas%nunca%altere%
a%memória%\%além%do%já%considerado%no%item%2.%Isso%fará%seu%servidor%cair%ou%até%mesmo%
ser%suspensa%sua%conta.
5.% Jamais%realize%envios%massivos,%ou%SPAM.
6.
ConJigurações%técnicas%que%não%fazemos%cujo,%em%princípio,%precisa%saber:%
















Uso%de%keep\alive%connection,%
Timeout%acima%de%5%minutos,%
Execução%de%conexões%persistentes%inJinitas,%
SVN%via%protocolo%http,%
Mais%de%um%repositório%SVN%por%domínio,%
Múltiplos%usuários%GIT%em%um%mesmo%terminal%SSH%para%a%mesma%conta,%
Acesso%SHELL%para%usuários%de%plano%#1,%
PostgreSQL%em%muitos%planos%não%possuem%acesso%externo%pelo%pgAdmin,%
Uso%de%CPU%intenso%acima%de%5%,%
Memória%além%do%plano%contratado%sem%custo,%
Alterações% personalizadas% no% seu% servidor% Java% para% suas% necessidades% e% que%
Implicam%em%falhas%de%segurança%em%nossos%serviços,%
Adicionar%outros%serviços%Java%além%do%servidor%Java
Subir%outro%servidor%Java%em%paralelo
Subir%outro%domain%do%GlassFish
Privilégios%em%banco%de%dados%ou%outros%que%exigem%super%usuário

Os% pontos% acima% são% dúvidas% comuns% respondidas% sobre% a% hospedagem% que% escolheu.%
Caso% necessite% de% um% ou% mais% itens% expostos% nos% tópicos% como% sendo% indisponível% no%
plano% que% escolheu,% nos% comunique% seu% desejo% enviando% um% email% para%
[email protected],%que%lhe%direcionamos%para%um%plano%adequado.%%

6

7

Sobre o Suporte Especializado

Chamamos%de%suporte%especializado%os%seguintes%proJissionais%que%atendem%aos%
chamados%de%hospedagem:

Administradores%de%Painéis%\%Administram%painéis%e%analisam%erros%pertencentes%
a%eles

Administradores%Linux%\%Administram%os%serviços%do%sistema%operacional

Administradores%de%servidor%Java%\%Administram%serviços%de%servidores%Java

8

Serviços de Atuação do Suporte

Cada%administrador%tem%um%papel%e%faz%parte%de%uma%equipe.%Estes%administradores%são%
acionados%dependendo%o%chamado%para%analisar:
1.%Erros%apresentados%nos%painéis%de%controle
2.%Erros%apresentados%em%serviços%executando%no%Linux
3.%Erros%apresentados%ao%subir%um%servidor%Java

9

Atuação Parcial de Suporte

O%suporte%especializado%da%Integrator%ajuda%parcialmente%em%%resolver%casos%como:
1.%Erro%de%envio%de%email%pelos%nossos%serviços
2.%Acesso%por%porta%de%servidor%Tomcat
3.%Problema%ocasionado%de%permissão%em%banco%de%dados
4.%Análise%de%falhas%de%segurança%de%aplicativo%para%resolução%mais%rápida

10

O que o Suporte Não Ajuda

O%suporte%especializado%da%Integrator%negará%ajuda%em%%resolver%casos%como:
1.%Erro%apresentado%pelo%aplicativo%PHP
2.%Erro%apresentado%pelo%aplicativo%Java
3.%Falha%parcial%de%aplicativo
4.%Correção%de%código%para%funcionamento%em%serviços
5.%Dicas%para%contornar%problemas%programáticos
6.%Ensino%de%servidores%Java
7.%Ensino/ajuda%em%uso%de%programas%externos%para%qualquer%serviço
8.%Leitura%de%Logs%de%servidores%Java%para%ajuda%com%erros%de%aplicativo%de%usuário
9.%Ensino%de%banco%de%dados%
10.%Ajuda%com%questões%cujo%o%plano%que%atua%não%fornece%permissões

11

Sobre o Suporte de Programadores

Os%programadores%especialistas%não%são%acessíveis%no%suporte%de%primeiro%nível%padrão%
em%todos%os%serviços%de%hospedagem,%onde%consideramos%apenas%administradores.
O% suporte% de% programadores% é% contratado% separadamente% ou% adicionado% em% plano%
especíJico%contratado.%
Para% informações% se% o% seu% plano% possui% tal% suporte% sem% custo,% consulte% o%
[email protected].

12

Como funciona o serviço PHP e HTML

Assim% que% liberada% sua% conta,% páginas% PHP% 5.x% e% HTML% funcionam.% O% acesso% ao% seu%
servidor% para% levar% arquivos% está% basicamente% restrito% ao% usuário% do% FTP% do% seu%
domínio.%
O%servidor%da%Integrator%não%opera%com%caches,%ou%seja,%não%temos%em%nossas%máquinas%
Varnish,%%Memcached%e%nem%outro%cacheador%de%servidor.
Nada%do%que%existe%padronizado%pode%ser%alterado,%isso%inclui%adicionar%novas%extensões%
PHP%que%estejam%fora%do%já%existente%serviço%fornecido.
Situações*que*não*prestamos*suporte:

Problemas%referentes%a%formatação%de%páginas%HTML%e%CSS

Correção%de%versões%antigas%de%páginas%feitas%em%código%PHP%defasado

Falhas%de%segurança%advindas%de%sites%antigos%e%sem%manutenção

Ensino%de%linguagem%PHP%ou%de%formatação%HTML/CSS

O%Apache%não%é%somente%seu,%portanto%não%poderá%personalizá\lo

Site%e%conJigurações%de%domínio%sempre%pelo%painel%cPanel/WHM

Personalizações% de% .htaccess% para% resolver% questões% de% sites% desenvolvidos% por%
terceiros.

13

O Uso do PHP Em Servidores Compartilhados

A%Integrator%Host%sempre%opera%com%o%PHP%na%última%versão%mais%estável%e%compatível%
com%99%%dos%aplicativos%opensource%existentes%no%mercado.
Não%há%como%personalizarmos%versões%para%usuários%de%hospedagem%compartilhada.

14

Memória e Upload de Arquivos do PHP

A%Integrator%Host%utiliza%em%sua%hospedagem%compartilhada%as%seguintes%conJigurações%
de%memória%e%upload%de%arquivos%para%o%uso%de%PHP:



Máximo*de*Memória*RAM*disponível*por*processo:%128MB%de%RAM
Tamanho*Máximo*para*Upload*de*arquivos:%25MB%de%tamanho%máximo

15

Local dos Arquivos PHP ou HTML

Existe%um%padrão%inicial%do%local%onde%Jicam%os%arquivos%PHP%ou%HTML:
1)%Diretório%public_html
2)%Atalho(Link%Simbólico)%em%www%(o%mesmo%que%public_html)

16

Página Inicial em PHP ou HTML

Existe%um%padrão%para%página%inicial%no%local%onde%Jicam%os%arquivos%PHP%ou%HTML:

PHP:%index.php

HTML:%index.htm%ou%index.html

17

Resumo do Local e Página Inicial de Sites PHP/HTML

Seguindo%o%padrão,%suba%suas%páginas%PHP/HTML,%dentro%do%diretório%public_html,%
contendo%um%index.php,%índex.html%ou%índex.htm.%Evidentemente,%só%haverá%um%
index,%sendo%os%demais%nomes%suas%páginas%como%criadas.
Uma%estrutura%simples,%ao%ser%colocada%em%public_html,%de%páginas%HTML%seria:
public_html/
*
****index.html
****pagina1.html
****pagina2.html

18

Uso de Processamento em PHP

A%Integrator%Host%permite%o%uso%máximo%de%5%%de%CPU%em%20%minutos%de%tempo%
máximo.%
Caso%o%usuário%comece%a%ter%problemas%de%processamento%enviaremos%um%alerta.%Na%
insistência%do%processamento,%o%usuário%terá%um%informativo%explicando%sobre%o%melhor%
plano%para%o%caso.
A%Integrator%não%abre%exceções%quanto%ao%uso%de%processamento%em%qualquer%plano%de%
hospedagem%compartilhada%que%houver.
Caso%a%sua%necessidade%seja%de%processar%arquivos%com%alto%índice%de%processamento%
por%severos%minutos,%entre%em%contato%com%[email protected]%para%lhe%
oferecermos%um%plano%mais%adequado%ao%seu%caso.

19

Como visualizar um site PHP ou HTML sem o domínio

Para%%visualizar%o%site%em%PHP%ou%HTML%ainda%sem%o%domínio,%utilize%o%IP%com%o%nome%de%
usuário,%do%servidor,%assim:
http://IP_DO_EMAIL_CONFIGURACOES/~usuarioTftp
Por%exemplo,%digamos%que%o%IP%do%servidor%onde%está%hospedado,%informado%no%e\mail%
de% ConVigurações* e* Instruções* de* Uso% seja% 174.142.48.58% e% seu% usuário% FTP% seja%
integrator.%Você%acessa%seu%site%PHP%ou%HTML%da%seguinte%forma:
http://174.142.48.58/~integrator/

IMPORTANTE:% O% IP% informado% no% e\mail% de% ConVigurações* e* Instruções* de* Uso% não%
lhe% pertence.% Se% contratar% um% IP% dedicado% (veja% o% valor% de% um% IP% dedicado% mandando%
um%e\mail%ao%[email protected]),%ai%sim,%o%IP%acessado%será%seu.

20

Cada Painel de Controle

Na%hospedagem%temos%três%painéis%de%controle:%WHM,%cPanel%e%NGasi.
◆ O% WHM% é% o% painel% de% controle% geral,% de% revenda.% Ele% permite% a% você% adicionar,%
remover,% acrescentar% ou% retirar% recursos% de% domínios.% É% neste% painel% que% você%
controla%espaço,%banda%de%uso,%paralisa%um%cliente.
◆ O%cPanel%é%o%painel%que%o%cliente%acessa.%Ele%é%onde%estão%os%recursos%do%domínio%
como:%email,%bancos%de%dados,%DNSs%se%você%permitir,%usuários%e%senhas%do%FTP%
entre%outros.
◆ O%NGasi%é%o%painel%Java,%onde%o%cliente%pode%escolher%o%servidor%que%vai%instalar,%
iniciar,%parar%e%ler%os%logs%de%saída%do%terminal.
IMPORTANTE:* Nem% toda% hospedagem% possui% os% três% painéis% de% controle.% Caso% tenha%
dúvidas% sobre% o% plano% que% escolheu,% ou% deseja% mudar% de% plano,% envie% sua% questão% ao%
email%[email protected]%para%maiores%detalhes%ou%ajuda.%

21

Portas de cada painel de controle

Cada%painel%de%controle%possui%uma%porta%especíJica.%Estas%portas%precisam%ser%liberadas%
em%seu%Firewall%Caso%precise%acessar.




WHM%\%Utiliza%a%porta%padrão%2087
CPanel%\%Utiliza%a%porta%padrão%2083
NGasi%\%Utiliza%a%porta%padrão%8663*ou*8666

22

O https do WHM/cPanel ou NGasi

Os%painéis%WHM/cPanel%e%NGasi%são%todos%direcionados%a%usar%um%SSL%autoassinado.%
Um%certiJicado%SSL%precisa%ser%atribuído%a%um%domínio,%sempre.%O%painel%é%acessado%por%
IP%e,%como%não%tem%um%domínio%vinculado%e%nem%SSL%reconhecido%por%ele%atribuído,%verá%
uma%mensagem%de%alerta,%como%este%que%aparece%no%browser%Google%Chrome:

Não*se*preocupe.*Basta%prosseguir%e%adicionar%exceções%no%browser,%quando%houver.%O%
SSL% está% ativo,% mesmo% não% estando% em% um% domínio,% para% criptografar% os% dados%
transmitidos%de%usuário%e%senha%do%seu%browser,%colocados%para%entrar%no%painel,%para%
serem% recebidos% pelo% servidor.% Mesmo% não% sendo% reconhecido% pelo% painel,% os% dados,%
ainda%assim,%são%criptografados.

IMPORTANTE:*Se%alterar%sua%senha,%não%temos%como%saber.%O%que%poderemos%fazer,%caso%
isto% ocorra,% é% alterar% a% senha% para% aquela% que% lhe% enviamos% com% seu% e\mail% de*
ConVigurações*e*Instruções*de*Uso.

Portas*de*cada*painel*de*controle
Portas*de*cada*painel*de*controle

23

O Painel de Controle WHM - Revenda

O%WHM%é%o%painel%de%controle%geral,%de%revenda.%Ele%permite%a%você%adicionar,%remover,%
acrescentar% ou% retirar% recursos% de% domínios.% É% neste% painel% que% você% controla% espaço,%
banda%de%uso,%paralisa%um%cliente.

24

O acesso ao painel de controle WHM

Para%acessar%o%painel%de%controle%WHM,%inicialmente,%utilize%o%endereço%apresentado%em%
seu%e\mail%de%ConVigurações*e*Instruções*de*Uso,%que%sempre%terá%o%seguinte%formato:
O%padrão%mais%simples:
http://IP/whm%
Pela%porta%diretamente:
%http://IP:2087/
Pelo domínio que utiliza na Integrator (precisa apontar para a Integrator):
%http://seusite.com.br:2087/

IMPORTANTE:*Temos%o%IP%que%deve%ser%substituído%pelo%informado%no%email%supra%
citado%ou%o%“seusite.com.br”,%caso%aponte%para%a%Integrator,%como%seu%domínio.

25

Criando novos domínios como revenda de sites

Caso% o% seu% plano% suporte% revenda% de% sites,% % a% criação% de% domínios% de% revenda% exigem%
dois%passos%simples:%
1)%Criar%um%pacote%ou%utilizar%um%pacote%criado%existente
2)%Adicionar%o%acesso%cPanel%criando%o%cadastro%do%domínio%no%painel

26

Criando um Pacote de Revenda

1)%Vá%em%Packages* » *Add*a*Package/Pacotes*»Adicionar*um*pacote.

2)%Dê%um%nome%para%o%seu%pacote%(Nome%do%estilo)%:

3)%Selecione%os%recursos%do%pacote.%Os%recursos%principais%são:
• Cota*(MB)%–%tamanho%em%MB%do%espaço%usado%em%disco;
• Largura*de*banda*(MB)%–%este%local%pode%ser%colocado%um%número%grande,%pois%
a%banda%não%tem%limites;
• Max*Contas*FTP%–%Quantidade%de%contas%FTP%que%o%domínio%terá%permissão%para%
criar.
• Max* Contas* de* eTmail% –% Quantidade% de% e\mails% que% o% cliente% poderá% criar% no%
painel%cPanel.
• Max*Bancos*de*Dados%–%Quantidade%de%bancos%de%dados%que%será%permitido%ao%
cliente%criar%no%painel%cPanel.
• Max*Subdomínios%–%Número%máximo%de%subdomínios%permitidos%ao%cliente%
criar%no%painel%cPanel;
• Max*Domínios*Estacionados%–%Número%máximo%de%domínios%estacionados%que%
o%cliente%será%permitido%criar;
• Max*Domínios*Suplementares%–%Número%máximo%de%domínios%adicionais%que%o%
cliente%será%permitido%criar%no%cPanel%(isto%dividirá%o%espaço%dele%com%todos%os%
domínios%que%ele%criar).
• ETmail*horária*máxima*pelo*domínio*de*Retransmissão%–%Número%máximo%de%
e\mails%que%podem%ser%enviados%por%hora.%Este%valor%não%pode%superar%250%
emails%por%domínio,%uma%vez%que%a%nossa%restrição%global%impede%acima%disto.%%
Coloque%valores%baixos%se%desconJiar%que%seu%usuário%realizará%spam.
• Percentual*máximo*de*mensagens*que*falharam*ou*diferida*um*domínio*
pode*enviar*por*hora%–%Porcentagem%dos%emails%enviados%que%retornam%com%
erro.%Ao%dar%uma%porcentagem,%o%usuário%poderá%ser%bloqueado%após%tantos%%%do%
enviado%ser%retornado%por%falha%no%envio.%Esta%falha%vai%desde%email%inexistente,%
até%recusa%por%empresas%cujo%o%email%que%foi%enviado%não%é%solicitado%ou%está%
sendo%considerado%spam.%Deixe%sempre%uma%porcentagem%de%falhas%para%que%o%

27

usuário%seja%bloqueado%caso%ele%falhe%muito,%evitando%problemas%de%spam%e%
nosso%bloqueio%da%conta%que%possui%por%ter%usuário%realizando%spam.

4)% Você% poderá% permitir% que% o% cliente% tenha% acesso% ao% SHELL*,% podendo% executar%
comandos%via%SSH,%assim%como%determinar%a%língua%do%painel%cPanel.

5)%Para%conJirmar%a%criação%do%pacote,%clique%em%Adicionar.

28

IMPORTANTE:*O%acesso%Shell,%mesmo%ativo%por%você,%não%é%liberado%automaticamente.%
Lembre\se%que%o%SSH%é%um%recurso%de%segurança%extrema%e%a%grande%maioria%dos%
usuários%não%necessitam%deste%recurso.%Liberá\lo%poderá%causar%problemas%a%sua%
revenda%caso%este%cliente%que%liberou%cause%transtornos%ao%servidor%da%Integrator.%
Pedimos%cautela%no%pedido%de%liberação%de%acesso%shell.%Nós%precisamos%dar%a%última%
autorização.%Envie%o%pedido%para%[email protected].%

29

Adicionando o cPanel para um novo Domínio

1)%Ainda%no%WHM,%vá%em%Account*Functions* » *Create*New*Account/Funções*Conta*
»Criar*uma*nova*conta.

2)%Preencha%o%formulário%com%os%dados%do%domínio%que%vai%liberar%(Informações%de%
Domínio):

3) Determine o Pacote/Package que criou para a revenda.
4)%Determine%a%língua%do%painel%cPanel:

5) Em DNS Configurations/Configurações de DNS, deixe marcada apenas as opções

30

“Enable DKIM on this account” e “Enable SPF on this account (…)”.

6)%Selecione%o%primeiro%item%para%as%conJigurações%de%email%(Correio%conJigurações%de%
roteamento):

7)%ConJirme%a%criação%do%domínio%no%botão%Create/Criar.

31

Listando Domínios da Revenda

Para%listar%e%acessar%o%cPanel,%através%de%sua%revenda,%no%WHM,%vá%em%Account*
Information* » *List*Accounts/Informações*da*Conta*»Contas*Lista:

32

Alterando a senha do acesso ao painel cPanel do domínio revendido

Vá% em% Account* Information»List* Accounts/Informações* da* Conta* »Contas* Lista.%%
Clique% no% sinal% de% .% Altere% a% senha% do% painel% em% Change* Password/Alterar* senha.
Confirme no Change/Mudar.

33

DNS Próprio em Revenda

1) Entre no painel WHM com o seu usuário e senha de revenda;

 
2) Em Server Configuration»Basic cPanel & WHM Setup/Configuração do Servidor
»Básico cPanel & WHM Setup;

 
3) No campo "Nameserver 1" alterar os nomes dos NS1 e NS2 para o desejado (o correto é

34

do seu domínio principal, sempre) e clicar em "Save Changes";
 

 
4) Ao criar novos domínios com os DNS, vá em “Account Functions »Create a New
Account/Funções Conta »Criar uma nova conta" e selecione as opções de DNS:

IMPORTANTE:*Seu%domínio%deve%conter%seus%DNS%próprios%criados%no%registro.br,%por%
exemplo,%antes%de%usar%em%outros%domínios%de%sua%revenda.%Os%DNS%próprio%exigem%
respectivamente%os%IPs.%Caso%não%saiba%quais%são%seus%IPs%de%revenda,%peça%ao%
[email protected].

35

O Painel de Controle cPanel

O%cPanel%é%o%painel%que%o%cliente%acessa.%Ele%é%onde%estão%os%recursos%do%domínio%como:%
email,%bancos%de%dados,%DNSs%se%você%permitir,%usuários%e%senhas%do%FTP%entre%outros.

36

O acesso ao painel de controle cPanel

Para%acessar%o%painel%de%controle%cPanel%use%o%endereço%apresentado%em%seu%e\mail%de%
ConJigurações%e%Instruções%de%Uso,%ao%qual%possui%duas%formas%principais:
Pelo IP e nome do painel:
http://IP/cpanel%%
Pelo%IP%e%Porta:
https://IP:2083/
Pelo domínio que utiliza na Integrator (precisa apontar para a Integrator):
%http://seusite.com.br:2083/

IMPORTANTE:*Temos%o%IP%que%deve%ser%substituído%pelo%informado%no%email%supra%
citado%ou%o%“seusite.com.br”,%caso%aponte%para%a%Integrator,%como%seu%domínio.

37

Permissões de Arquivos e Diretórios
Permissões de Arquivos e Diretórios

Para%diretórios%e%arquivos,%seja%para%uso%ou%envio%de%upload,%precisam%estar%com%estas%
regras%sempre:
Diretórios%\%755
Arquivos%\%644
Executáveis%\%777%(procure%evitá\los)

IMPORTANTE:*Os%executáveis%são%para%arquivos%shell%em%geral.

38

Fantastico De Luxe para Aplicativos OpenSource PHP

Existem%alguns%aplicativos%PHP%muito%populares,%como%o%WordPress,%Joomla%e%outros,%
cujo%automatizamos%sua%instalação%dentro%do%cPanel.%
A%visão%que%teremos%agora%é%de%como%usar%o%Fantastico%De%Luxe%para%instalar%aplicativos%
pré\deJinidos.%
Como% exemplo,% iremos% usar% o% WordPress.% Mas% a% sequência% serve% para% qualquer%
aplicativo%como:%Joomla,%Drupal,%phpBB%e%outros.

IMPORTANTE:% O% Fantastico% De% Luxe% possui% aplicativos% PHP% conhecidos% e% são%
atualizados% automaticamente% pelo% painel.% As% versões% mais% novas% que% não% estiverem%
ainda% aparecendo% neste% local,% podem% ser% instaladas% manualmente% pelo% usuário,% no%
diretório%que%este%desejar,%desde%que%dentro%de%public_html.

39

Instalando o WordPress em sua conta

1)%Em%Software/Serviços%clique%em%Fantastico*De*Luxe:

2)%Assim%que%apresentar%a%janela%do%Fantástico,%clique%em%WordPress%e%depois%em%Nova*
instalação:

40

3)% Na% instalação,% você% preenche% o% formulário% e% conJirma% por% Jim% em% Instalar*
WordPress:

4)%No%segundo%passo%será%informado%o%nome%do%banco%de%dados%que%será%criado%em%sua%
conta% e% onde% você% determinou% a% criação% do% seu% WordPress.% ConJirme% em% Terminar*
instalação:

41

5)% Ao% Jinalizar% a% instalação,% você% verá% as% instruções% de% acesso.% Poderá% também% enviar%
estas%informações%ao%seu%e\mail:

42

43

Removendo um aplicativo como o WordPress

1)%Retorne%ao%Fantastico*De*Luxe%e%clique%em%Wordpress.%Clique%em%Remova%caso%tenha%
um%instalado.

2)%Aparecerá%a%conJirmação.%ConJirme%no%botão%Remova*WordPress.

3)%Uma%terceira%mensagem%surgirá%informando%que%foram%removidos%as%conJigurações.

44

45

Instalando o WordPress em um subdomínio

1)% Caso% queira% instalar% em% um% subdomínio,% crie\o% primeiro% em% Domínios* *
Subdomínios.
1.1)%Por%exemplo,%vamos%criar%um%subdomínio%chamado%blog:

»

2)%Ao%iniciar%a%instalação%do%WordPress,%no%Fantástico,%selecione%o%subdomínio:

2.2)% Não% preencha% nada% em% Instalar* na* directoria.% Os% demais% campos% você% preenche%
normalmente%como%ensinado%em%“Instalando%o%WordPress%em%sua%conta%”.

IMPORTANTE:% A% Integrator% não% ensina% a% operar,% apenas% hospeda,% qualquer% aplicativo%
PHP%existente%no%Fantastico.%O%Fantastico%apenas%automatiza%a%instalação,%mas%operar%o%
WordPress,%Joomla%ou%outros,%dependem%exclusivamente%do%conhecimento%do%cliente.%

46

Problema ao instalar um aplicativo no Fantastico De Luxe

Caso% ao% tentar% instalar% um% aplicativo% no% Fantastico% De% Luxe,% ocorrer% o% seguinte% erro% \%
onde%USUARIO%é%o%seu%usuário:
Access denied for user ‘USUARIO’@‘localhost' (using password: YES)

Vá% em% “Preferências% » % Alterar% Senha”,% recoloque% a% senha% do% cPanel,% antiga% e% nova% e%
marque%a%opção%“Synchronize MySQL password”.%%
ConJirmando% no% “Altere% sua% senha% agora!”,% volte% ao% Fantastico% De% Luxe% e% tente% instalar%
novamente.

IMPORTANTE:% O% Fantastico% apenas% automatiza% a% instalação% e% algumas% de% suas%
características% não% são% controladas% por% nós,% como% da% obrigação% de% sincronização% de%
senhas%com%o%MySQL.%

47

Usando um Programa de FTP

Caso% o% cliente% não% possua% nenhuma% experiência% em% um% programa% de% FTP,%
recomendamos%baixar%o%cliente%FTP%FileZilla%no%seguinte%endereço:
http://Jilezilla\project.org/download.php?type=client
Baixe%a%versão%correspondente%ao%seu%sistema%operacional%instalado%em%sua%máquina.

48

Usando o FileZilla

Assim%que%instalar%o%FileZilla,%vá%no%menu%Arquivo* » *Gerenciador*de*Sites.

Ao%aparecer%a%caixa%de%diálogo%Gerenciador*de*Sites,%clique%no%botão%Novo*Site.
Na%aba%Geral,%preencha:
• Host%–%coloque%o%seu%domínio;
• Protocolo%–%coloque%o%protocolo%FTP;
• Tipo*de*logon%–%selecione%Normal;
• Usuário% –% digite% o% usuário% do% seu% FTP% indicado% no% email% de% ConJigurações% e%
Instruções%de%Uso;
• Senha%–%digite%a%senha%do%usuário%de%FTP%indicado%no%email%de%ConJigurações%e%
Instruções%de%Uso;
Após%conJigurar%o%Gerenciador*de*Sites,%preenchendo%os%dados%do%seu%domínio,%clique%
no%botão%Conectar.

49

O% programa% de% FTP% abrirá% os% diretórios% locais% e% do% seu% site% remoto,% onde% hospeda%
conosco,%para%que%possa%subir%seus%arquivos.
Arraste% os% arquivos/diretórios% do% lado% da% sua% máquina% para% o% diretório% que% deseja% no%
lado%do%seu%site%(servidor).

50

51

Adicionando novos Domínios no cPanel

Se%você%não%é%revenda,%não%tem%o%WHM,%mas%quer%adicionar%domínios%e%não%se%importa%
de%compartilhar%o%mesmo%painel%de%controle,%é%possível%com%o%cPanel.%Mas%atento%aos%
detalhes:
1)%Não%há%um%usuário%diferente%para%o%novo%domínio
2)%O%domínio%novo%tem%usuário%FTP%com%nome%por%extenso%como:%[email protected]
3)%Não%há%como%liberar%parcialmente%uma%área%do%cPanel%para%um%usuário,%isso%inclui%e\
mails
4)%O%Webmail%não%tem%o%nome%personalizado%do%domínio:%webmail.siteadicional.com.br

52

Adicionando Domínios Suplementares

Vá% em% Domínios* * » * Domínio* de* complementos.% O% domínio% suplementar% permite%
compartilhar%o%mesmo%espaço,%mas%com%outro%usuário%e%senha%do%domínio%principal%do%
cliente%no%cPanel.

IMPORTANTE: O exemplo abaixo produzirá o domínio novo dentro de public_html, onde
o usuário FTP específico seria “[email protected]”. Não há como ser apenas
“usuario”.

53

Adicionando Domínios Estacionados

Entre no cPanel, clique em "Domínios *» Domínios Estacionados".
Adicione o outro domínio em "Criar um Novo Domínio Estacionado" e confirme no botão
"Adicionar Domínio":

Depois de adicionado, clique em "Gerenciar Redirecionamento".

Informe o domínio para onde será redirecionado, em "Redirecionamento de Domínio
Estacionado" e confirme no botão "Salvar".

54

Adicionando subdomínios no cPanel

Subdomínios%são%partes%de%um%domínio%com%início%próprio%e%localização,%conteúdo,%
independente.%Um%subdomínio%é%algo%como:
app.seusite.com.br

55

Adicionando um Subdomínio

Crie o subdomínio no cPanel, em "Domínios *» Subdomínios".
Na criação de um subdomínio, o nome do diretório dado para ele, somente servirá para
aplicativos PHP e HTML.

subdomínio

56

Adicionando novos Domínios no WHM

Ver%tópico%Criando%novos%domínios%como%revenda%de%sites%%do%manual.

57

Adicionando novas contas de e-mail

1)%No%cPanel,%vá%em%Correio* » *Contas*de*ETmail:

2)%No%assistente,%crie%a%conta%de%e\mail:

3)% As% contas% de% e\mail% criadas% aparecem% abaixo,% onde% você% pode% alterar% a% senha% ou%
excluir:

58

59

Alterando a Senha ou Excluindo Contas de Email

As%contas%de%e\mail%criadas%aparecem%abaixo,%onde%você%pode%alterar%a%senha%ou%excluir:

60

Redirecionando Contas de Email

Para redirecionar um email para outro, siga os passos:
1) Vá no cPanel, em "Correio *» Remetentes".

2) Clique no botão "Adicionar Remetente":

3) Em "Adicionar um Novo Remetente", digite o endereço do email que você possui em sua
conta no cPanel, no campo "Endereço para Encaminhamento".
Em "Destino *» Encaminhar para o endereço de e-mail", você define para onde o email
será encaminhado, quando o endereço para encaminhamento receber.
4) Confirme tudo em "Adicionar Remetente".

61

62

Acesso ao E-mail

Na%Integrator%você%pode%acessar%suas%contas%de%email%de%duas%formas:
1)%Pelo%Webmail
2)%Por%seu%programa%favorito%em%seu%PC/Mac

63

Acesso ao E-mail pelo Webmail

Existem%três%formas%de%acessar%o%Webmail:
1)%Na%conta%criada,%via%cPanel,%você%pode%ir%em%Ações*» **More**» Acessar*Webmail:

2)%No%cPanel,%em%Correio*» *Webmail:

3)%Para%acessar%diretamente%pelo%seu%navegador,%entre%pelo%endereço%apresentado%em%
seu%e\mail%de%ConVigurações*e*Instruções*de*Uso,%ao%qual%possui%o%seguinte%formato:
Pelo%IP:
http://IP/webmail
Pelo%seu%domínio%(site):
http://seusite.com.br/webmail
Onde “seusite.com.br” é o nome do seu site.

IMPORTANTE:*Para%logar%no%Webmail,%digite%o%e\mail%completo%e%a%senha.%O%email%deve%
ter%sido%criado%antes%no%cPanel.

64

Acesso ao E-mail pelo PC ou MAC

Para%acessar%sua%conta%de%email%pelo%seu%programa%de%PC%ou%Mac,%seja%os%clientes%Mail,%
Outlook,%Thunderbird,%temos%as%seguintes%conJigurações%padrão:




Host:%mail.SEUDOMINIO.com.br
Usuário:*[email protected]
Senha:%do%seu%Email



SMTP:

Porta: 587



POP3:

Porta: 110

65

Acesso ao E-mail pelo Outlook 2010 - Windows

O exemplo abaixo será de configurações no Outlook 2010. Caso sua versão
seja diferente e precise de ajuda, envie um email para
[email protected].
Os passos após iniciar o Outlook 2010
1. Clique no menu Arquivo e logo após em Configurações de Conta e
depois na opção que surgirá logo abaixo chamada Adicione e remova
contas ou altere as configurações... conforme mostra a imagem abaixo.

2. Na tela Configurações de Conta clique em Novo.

66

3) Na tela Adicionar Nova Conta
3.1 - Marque a opção Definir manualmente as configurações do servidor
ou tipo de servidores adicionais.
3.2 - Clique em Avançar.

4) Marque a opção Email da Internet e depois clique em Avançar.

5) Configurações de Email na Internet, insira suas informações pessoais,
informações da conta de Email e servidores.

67

1º - Informe o Nome da Pessoa ou Responsável pela Conta de Email.
2º - Informe o Endereço de Email completo: suaconta@seudomínio.
3º - Selecione o tipo de Servidor de entrada de Emails que poder ser POP ou
IMAP.
4ª - Informe o servidor de entrada de Emails que é mail.seudomínio.
5º - Informe o servidor de saída de Emails que é mail.seudomínio.
6º - Informe o Nome de Usuário que é o seu endereço de e-mail completo
suaconta@seudomínio.
7º - Informe a sua senha.
8º - Marque a opção Lembrar senha.
9º - Desmarque a opção Teste as configurações da Conta clicando no
botão Avançar.
10º - Clique em Mais Configurações e siga o exemplo na imagem abaixo.

68

Clique na guia Servidor de Saída e Marque as opções: Meu servidor de
saída (SMTP) requer autenticação e a opção: Usar as mesmas config. do
servidor de entrada de e-mails
Cique em OK.
Irá aparecer a tela de Configurações de Email na Internet novamente, clique
em Avançar.

69

Acesso ao E-mail pelo Mail do Mac OS

Abra o Mail e execute um dos seguintes procedimentos:
1.
2.

3.

4.
5.

Caso você nunca tenha configurado contas de email usando o Mail, a
página Bem-vindo ao Mail será exibida. Vá para a etapa 2.
Caso você já tenha criado contas de email usando o Mail, no menu
Mail, clique em Preferências. Na guia Contas, clique no sinal de
adição (+) na parte inferior do painel de navegação para abrir a janela
Adicionar Conta.
Na janela Bem-vindo ao Mail ou Adicionar Conta:
1. Na caixa Nome Completo, digite o nome a ser exibido para as
pessoas às quais você envia email.
2. Na caixa Endereço de Email, digite seu endereço de email
principal.
3. Na caixa Senha, digite a senha da sua conta de email e clique
em Continuar.
Na janela Servidor de Correio de Entrada, digite o seguinte:
Ao lado de Tipo de Conta, selecione POP ou IMAP.
1. Na caixa Descrição, digite um nome como lembrete da
finalidade dessa conta de email.
2. Na caixa Servidor de Correio de Entrada, insira o nome do
servidor de e-mail, informado anteriormente por nós. Ex:
mail.seudominio.com.br.
3. Na caixa Nome de Usuário, digite seu endereço de email
principal criado no painel de controle (ex:
[email protected]).
4. Na caixa Senha, digite a senha da sua conta de email.
5. Clique em Continuar. O Mail irá testar a sua conexão ao servidor
de entrada usando as configurações padrão.

IMPORTANTE: Caso apareça a opção de certificado, devido ao SSL
autoassinado do cPanel, clique em Mostrar Certificado, depois selecione
Confiar Sempre e mande Conectar. Confirme a senha do seu usuário do Mac
OS e não terá mais esta mensagem em seu Mail.

70

Se o teste não for bem-sucedido, clique novamente em Continuar. Você
pode verificar suas configurações após concluir este procedimento:
1.

Na janela Servidor de Correio de Saída, faça o seguinte:
1. Na caixa Descrição, insira o nome deste servidor de email; por
exemplo, Servidor de envio da Integrator.
2. Na caixa Servidor de Correio de Saída, digite o nome do
servidor SMTP. Ex.: mail.seudominio.com.br.
3. Marque a caixa de seleção Usar somente este servidor.
4. Marque a caixa de seleção Usar Autenticação. O seu nome de
usuário e a senha que você inseriu para o servidor de entrada
poderão ser exibidos nas caixas de texto Nome de Usuário e
Senha. Esses valores são os mesmos para o servidor de
Entrada ensinado anteriormente, caso não apareça. Clique em
Continuar.
5. O Mail testará a sua conexão com o servidor de email de saída
usando as configurações padrão.
Mesma Nota acima para o SSL autoassinado do cPanel.
No final do assistente, terá um sumário da criação da conta. Mantenha
marcada a opção Conectar conta e clique em Criar.

71

72

Acesso ao E-mail pelo Thunderbird (Linux/Windows/Mac OS)

O Thunderbird é um programa cliente gratuito, da Mozilla, OpenSource que
executa nas plataformas Linux/Windows e Mac OS. O Tutorial abaixo permite
configurar suas contas de email em qualquer plataforma que ele executar.
1) Crie a conta indo em Configurar Contas:

2) Cadastre a conta:

3) Espere ele testar.
4) Marque POP3 e clique em Config. Manual:

73

5) Altere os parâmetros para cada porta e tipo de acesso, confirmando em
Retestar. Veja o detalhe do campo Nome do usuário. Por fim, assim que
retestar, clique em Concluir.

74

Sobre as regras de envio de emails

A%Integrator%é%contra%o%envio%de%e\mails%em%massa.%Por%padrão,%qualquer%%domínio%pode%
enviar%de%100%emails%%até%250%emails%por%hora.%Caso%haja%a%necessidade%de%enviar%mais%e\
mails,%de%forma%legítima,%sem%ser%envios%em%massa,%entre%em%contato%com%o%
[email protected],%pedindo%o%aumento%de%envios%de%e\mail%por%hora,%com%a%
justiJicativa%para%tal.

IMPORTANTE:%O%uso%imprudente%de%envios%de%email,%caracterizando%envios%em%massa,%
causará%a%suspensão%automática%do%serviço%de%hospedagem%do%domínio%sem%devolução%
do%valor%pago,%onde%consideraremos%o%ato%como%quebra%de%contrato.

75

Evitando Spams com os recursos do painel

Atualmente%o%número%de%spams%que%recebemos%é%muito%grande.%Podemos%fazer%um%
bloqueio%dos%e\mails%considerados%Spam%de%diversas%formas.%O%padrão%da%Integrator%é%
apresentado%de%duas%formas:
1.%Temos%conJigurado%no%servidor%geral%para%rejeitar%emails%em%blacklists%conhecidas
2.%No%cPanel%contamos%com%o%SpamAssassin%e%o%BoxTrapper%para%barrar%os%e\mails%
massivos

76

Verificando a legitimidade de um e-mails enviado

Indo%em%Correio*»*Autenticação*de*ETmail:%

Neste%local%encontramos%o%DomainKeys.%A%explicação%de%como%funciona%está%no%próprio%
painel:

Temos%também%o%SPF:

IMPORTANTE:%O%SPF%pode%ter%exceções%que%podem%ser%adicionadas%neste%mesmo%local,%

77

dependendo%muito%de%como%a%empresa%que%lhe%envia%e\mails%trabalha.%Entretanto,%não%
só% o% seu% conhecimento% a% respeito% é% necessário,% como% também% saber% como% está%
conJigurado%o%servidor%no%qual%deseja%adicionar%as%conJigurações%de%SPF.%Seja%como%for,%
são% instruções% a% respeito,% sempre,% da% empresa/domínio% no% qual% está% lhe% enviando% e\
mails% e,% por% questões% de% conJigurações% diferentes% do% padrão% no% SPF,% você% não% está%
recebendo.%A%empresa%no%qual%lhe%envia%e\mails%precisa%se%informar%onde%hospeda%das%
regras% de% SPF% que% estão% usando% para% que% possa% adicionar% nas% ConVigurações*
Avançadas.%

78

O Spam Assassin

O% Spam* Assassin% é% um% sistema% de% Jiltragem% automatizado% de% e\mails,% cujo% sua%
característica% é% identiJicar% mensagens% consideradas% spam% baseados% no% conteúdo% dos%
cabeçalhos%e%no%corpo/texto%do%e\mail.%Mais%detalhes%são%explicados%no%próprio%painel,%
no%local%onde%acessamos%o%Spam%Assassin%para%ativá\lo.
Para%ativar,%vá%em%Correio**»*Spam*Assassin:

79

O BoxTrapper

O%serviço%BoxTrapper**(Correio*» *BoxTrapper)%protege%sua%caixa%de%entrada%de%
spams,%exigindo%que%todos%os%remetentes%de%e\mail%de%sua%lista%respondam%a%uma%
mensagem%de%veriJicação,%antes%que%você%receba%seus%e\mails.

1) Procure a conta de email que deseja habilitar o BoxTrapper e clique em

Manage.

80

2) Clique em Ativar

IMPORTANTE:%Os%usuários%precisam%Jicar%sempre%analisando%a%lista%que%existe%no%
BoxTrapper,%de%forma%a%certiJicar\se%de%que%os%e\mails,%legítimos,%que%desejam%receber,%
não%Jiquem%parados%indevidamente.
*Explicações%extraídas%do%próprio%cPanel

81

Tradução das Mensagens do BoxTrapper

Abaixo a tradução das mensagens de confirmação geradas pelo BoxTrapper.
Você pode editar os textos como preferir após copiar para a caixa de texto
IMPORTANTE: não altere os valores entre os caracteres "%". Esses valores
são interpretados pelo programa e representam dados da mensagem! Não
altere também os valores To e Subject no início da mensagem
1) verify - Mensagem automática enviada a um novo remetente
To: %email%
Subject: Seu e-mail requer verificação (verify#%msgid%)
A mensagem que enviou requer que você prove que é um ser vivo humano
real e não uma fonte de spam.
%if can_verify_web%
Para completar esta verificação, basta responder a esta mensagem e deixar a
linha de assunto intacta.
Os cabeçalhos da mensagem enviada do seu endereço são mostrados
abaixo:
%headers%
2) verifyreleased - Mensagem enviada quando um remetente é adicionado à
lista branca
To: %email%
Subject: Você foi adicionado à lista branca de %fromname% e seu e-mail foi
entregue. (original: %subject%)
Esta mensagem é para notificá-lo de que a sua verificação foi recebida, e seu
endereço de e-mail foi adicionado à lista branca.
Todas as mensagens pendentes de seu endereço foram entregues
à %fromname%. Nenhuma ação é necessária de sua parte.
Os cabeçalhos da mensagem enviada do seu endereço são mostrados
abaixo:
%headers%

82

3) returnverify - Mensagem de confirmação do BoxTrapper
To: %email%
Subject: Re: %subject%
Esta mensagem é uma resposta a uma mensagem de verificação
Boxtrapper. Nenhuma ação é necessária de sua parte.
Se você estava esperando para ser adicionado à lista branca do usuário,
certifique-se de que o e-mail de verificação que você respondeu continha a
seqüência correta de verificação no assunto. Boxtrapper viu a chave de
verificação como "%msgid%"
Os cabeçalhos da mensagem enviada do seu endereço são mostrados
abaixo:
%headers%

83

Visualizando as estatísticas de acesso ao seu site

Para%visualizar%logs%de%estatísticas,%atualizados%diariamente,%vá%em%Logs**» *Webalizer.

Você%verá%os%sites%e%subdomínios%existentes%no%seu%cPanel.%Clique%na%lupa%do%domínio/
subdomínio%que%deseja%para%visualizar%as%estatísticas:

84

Personalizando as paginas de erro do Apache

Caso%algo%do%seu%site%não%exista%ou%ocorra%um%erro%gerado%por%um%determinado%serviço,%
um%número%e%mensagem%aparecerá%no%navegador,%contendo%a%informação%mostrada%em%
páginas%padronizadas%pelo%painel,%%que%podem%ser%conJiguradas%em%Avançada**» *
Páginas*com*erro,%para%o%usuário.%

As%páginas%já%conJiguradas%estão%em%Editar*Códigos*de*Erros*Comuns.%Depois%clique%
no%erro%e%edite%a%mensagem.

Caso%necessite%de%personalizar%um%erro,%em%especíJico,%clique%em%Mostrar*Todos*os*
Códigos*de*Status*de*Erro*HTTP.%Depois%clique%no%erro%e%edite%a%mensagem.

85

Como funciona o serviço Java

O%acesso%ao%seu%servidor%java%está%restrito%ao%usuário%do%FTP%do%seu%domínio.%Portanto%
uma%alteração%fará%perder%o%acesso%ao%servidor%Java%ou%ter%de%reinstalar%e%reconJigurar%
tudo%que%já%o%fez.%
Regras%básicas%de%uso%do%serviço%Java:
1)% Jamais% altere% a% memória% de% seu% plano% sem% nossa% expressa% autorização% \% custos% de%
mudança%são%informados%caso%nos%peça%para%alterar
2)%Jamais%altere%as%portas%do%servidor%Java%sem%nossa%expressa%autorização
3)% Jamais% tente% subir% outro% serviço% Java% fora% do% servidor% Java% sem% nossa% expressa%
autorização

IMPORTANTE:*As%regras%básicas%citadas,%no%plano%que%escolheu,%devem%ser%seguidas%a%
risca.%Qualquer%alteração%destas%regras%por%sua%conta%colocará%seu%serviço%em%risco%de%
ser%paralisado%sem%aviso%prévio.

86

A memória do servidor Java

A%Integrator%Host%respeita%totalmente%seu%plano%de%hospedagem%e,%como%tal,%a%memória%
contratada%no%plano%escolhido.%A%memória%RAM%é%dedicada%a%máquina%virtual%Java%que%
vai%executar%o%servidor%Java.%Ela%não%está%destinada%a%execução%de%aplicativos%Java%fora%
do%servidor%Java.
Qualquer%tentativa%do%cliente%de%executar%algo%fora%do%padrão%da%memória,%assim%como%
tentar% adulterar% a% memória% contratada% do% plano,% para% mais,% seu% plano% poderá% ser%
cancelado%imediatamente,%%sem%devolução%do%valor%pago.
A%Integrator%Host%também%irá%paralisar%qualquer%serviço%Java%fora%do%servidor%Java%sem%
aviso%prévio,%além%de%não%se%responsabilizar%por%eventuais%prejuízos%causados%por%conta%
desta%situação.
Caso% o% usuário% tenha% dúvidas% sobre% nossas% políticas% no% plano% contratado,% consulte% o%
nosso%contrato%informado%em%endereço%no%email%de%ConJigurações%e%Instruções%de%Uso%
recebido%ao%liberar%seu%cadastro%ou,%nosso%suporte%pelo%email:
[email protected].%

87

Uso de Processamento em Java

A%Integrator%Host%permite%o%uso%máximo%de%5%%de%CPU%em%20%minutos%de%tempo%
máximo.%
Caso%o%usuário%comece%a%ter%problemas%de%processamento%enviaremos%um%alerta.%Na%
insistência%do%processamento,%o%usuário%terá%um%informativo%explicando%sobre%o%melhor%
plano%para%o%caso.
A%Integrator%não%abre%exceções%quanto%ao%uso%de%processamento%em%qualquer%plano%de%
hospedagem%compartilhada%que%houver.
Caso%a%sua%necessidade%seja%de%processar%arquivos%com%alto%índice%de%processamento%
por%severos%minutos,%entre%em%contato%com%[email protected]%para%lhe%
oferecermos%um%plano%mais%adequado%ao%seu%caso.

88

O Painel de Usuário Java

O%NGasi%é%o%painel%Java,%onde%o%cliente%pode%escolher%o%servidor%que%vai%instalar,%iniciar,%
parar%e%ler%os%logs%de%saída%do%terminal.

89

O acesso o painel NGasi

O%Painel%Java,%que%permite%instalar%e%conJigurar%o%servidor%Java%em%seu%domínio,%executa%
em%duas%portas:

Porta%padrão%pelo%acesso%via%cPanel:%8663

Porta%fora%do%acesso%via%cPanel:%8666

IMPORTANTE:*O*acesso*via*porta*8663,*portando*por*dentro*do*cPanel,*transmite*
sua*senha*no*endereço*http.*Se*estiver*em*um*local*de*acesso*público,*não*realize*
tal*acesso.
Sempre%que%for%acessar%o%painel%NGasi,%poderá%fazê\lo%diretamente%pelo%painel%cPanel%do%
domínio%no%qual%demos%a%permissão%do%serviço%java.
No%cPanel%Jica%em%Avançada* » *NGasi*Application*Automation.

Caso%esteja%usando%outro%tema,%verá%o%Ngasi%no%cPanel%em%Ferramentas*Avançadas** »
NGasi*Application*Automation:

90

Atenção:% %Se%o%painel%Java,%pelo%acesso%via%cPanel,%pedir%a%senha%do%seu%usuário%FTP,%é%
normal% em% casos% onde% a% senha% possui% caracteres% especiais% não% resolvidos% pelo%
cabeçalho%HTTP.%Digite\a%para%entrar.

91

Erros do cliente e direito de suporte

A%Integrator%é%uma%empresa%de%hospedagem.%Não%somos%responsáveis%pela%forma%como%
seu%aplicativo%foi%desenvolvido%e%nem%por%erros%dele%causados.%O%que%não%fazemos:
• Ensinar%a%operar%um%servidor%Java%(ensinamos%a%usar%nossos%painéis);
• Ensinar%a%conJigurar%um%administrador%de%servidor%Java;
• Ensinar%a%conJigurar%um%deployment%descriptor;
• Otimizar%o%desempenho%do%aplicativo;
• Corrigir%erros%de%programação%do%aplicativo%do%cliente.
Uma%alegação%comum%dos%clientes%é%que%funciona%localmente.%No%geral,%este%argumento%
não%tem%validade%se%o%cliente%executa%tudo%por%um%programa%como%Adobe%Flex,%Eclipse,%
NetBeans%ou%outros.%No%deploy,%o%cliente%precisa%esta%ciente%de%que:





Nome% do% banco% de% dados% é% diferente% do% de% desenvolvimento,% assim% como%
usuários%e%senhas;
No%Linux,%o%servidor%faz%diferença%entre%maiúsculas%e%minúsculas%em:%nomes%de%
arquivos,%nomes%de%diretórios,%nome%do%banco%de%dados;
Regras%que%impomos%não%podem%ser%burladas,%pois%o%seu%serviço%de%hospedagem%
compartilha%recursos%como:%servidor%de%banco%de%dados,%Apache,%PHP%e%outros.%
Embora%o%servidor%Java%seja%dedicado,%a%memória%do%servidor%é%limitada%pelo%seu%
plano.% Se% o% aplicativo% necessita% de% mais% memória% que% o% contratado,% erros%
causados%por%esta%questão%não%são%considerados%como%problemas%nosso,%uma%vez%
que%o%cliente%é%o%único%que%sabe%o%quanto%realmente%seu%aplicativo%necessita%de%
memória.

92

Acesso Java em conexão ao banco de dados

O%Cliente%é%obrigado%a%usar%pool%de%conexões%se%pretende%não%fechar%suas%conexões,%pois%
todos% os% servidores% de% bancos% de% dados% permitem% apenas% 40% conexões% simultâneas%
abertas,%seja%em%uso%ou%inoperante.
O%MySQL%fecha%automaticamente,%conexões%inoperantes,%com%mais%de%8%horas.%Conexão%
inoperante%é%aquela%que%não%está%sendo%usada,%mas%está%aberta%pelo%seu%aplicativo.
%
Esta%regra%vale%somente%para%planos%com%servidores%de%banco%de%dados%compartilhados.
Caso%queira%saber%quais%dados%colocar%em%seu%aplicativo%para%se%conectar%ao%banco%de%
dados,%vá%até%o%tópico%Formas de acesso ao Banco de Dados para configurar sua conexão.

93

Instalando o servidor Java

O% servidor% Java% pode% ser% selecionado*% na% lista,% assim% como% a% versão% que%
disponibilizamos%de%cada.
Para%instalar,%seleciona%o%Server%e%a%versão%do%JDK%e%clique%no%botão%Install.

ConJirme%no%Continue%para%prosseguir%com%a%instalação.

Ao%Jinalizar,%você%verá%na%descrição%do%painel%o%servidor%instalado%e%o%local%onde%ele%está%
instalado.

94

IMPORTANTE:* Cada% plano,% que% permite% servidores% Java,% possui% uma% quantidade% de%
memória.% Os% servidores% que% são% possíveis% de% serem% executados% são% informados% na%
página% da% Integrator.% Se% o% usuário% tentar% executar% um% servidor% Java% que% necessite% de%
mais% memória,% além% dele% gerar% erros,% % poderá% ter% problemas% em% para\lo% para%
substituição.%Caso%esqueça%qual%é%o%seu%plano,%veja%no%email%da%cobrança.%Os%servidores%
Java% que% consegue% rodar% em% seu% plano% são% visíveis% no% site% da% Integrator,% no% link%
Hospedagem*de*Sites.

95

Local onde o servidor Java é instalado

Qualquer%que%seja%o%servidor%Java,%ele%sempre%será%instalado%em%seu%respectivo%diretório,%
que%leva%seu%nome,%dentro%de%appservers.%
%Onde%X%é%o%número%da%versão%instalada:
1.
2.
3.
4.

Tomcat*6/7/8%\%appservers/apache\tomcat\Xx%
Jetty*8–*appservers/jetty\Xx
JBoss*7*–*appservers/jboss\7x
GlassFish*v3/v4*–*appservers/glassJish\Xx

IMPORTATE:*O%X%representa%o%número.%Por%exemplo%o%Tomcat*8%é%padronizado%em%
instalação%no%diretório%appservers/apacheTtomcatT8x.

96

A estrutura do servidor Java

Todos%os%servidores%Java%são%mantidos%em%sua%estrutura%original,%tal%qual%é%exatamente%
como% aquele% que% se% obtém% na% Internet.% Nada% é% modiJicado,% para% que% sua% experiência,%
com% o% que% já% desenvolve% antes% de% publicar,% seja% aplicado% 100%% na% produção% em%
hospedagem%da%Integrator.
Nada% do% que% for% exposto% aqui% substitui% o% seu% conhecimento% nos% servidores% Java% e% em%
suas%operações.%A%forma%como%trabalhar%com%o%servidor%Java,%de%conJigurar%o%servidor%
Java,%continua%sempre%a%mesma%padrão.%A%intenção%do%manual%é,%e%sempre%será,%explicar%
como%operar%o%painel%Java%para%que%o%seu%aplicativo%Jique%de%acordo%com%o%seu%desejo%de%
acesso%no%domínio.%

IMPORTANTE:% Tentar% realizar% um% deploy% de% forma% diferente% do% que% expomos,%
acessando% áreas% do% painel% Java% que% não% estamos% aqui% divulgando,% pode% lhe% causar%
problemas%na%implantação%do%seu%aplicativo%em%seu%servidor.%Operar%características%que%
fogem% do% seu% acesso% direto% ao% servidor% Java,% como% deploy,% não% está% dentro% do% nosso%
suporte.%

97

Suas bibliotecas JAR

Nada% do% que% está% no% servidor% Java,% que% instalar,% é% personalizado% por% nós.% O% motivo:%
compatibilidade%total%com%seu%aplicativo.
Isso% mesmo,% queremos% que% você% coloque% suas% bibliotecas% JAR,% nas% versões% que% está%
utilizando%em%seu%aplicativo,%sem%conJlitos.%
Resumindo:%empacotou%em%WAR/EAR,%com%as%bibliotecas,%faça%o%deploy.

IMPORTANTE:*Se%quiser%colocar%as%bibliotecas%que%possui%no%diretório%lib%do%servidor%
Java,% também% pode.% Mas% Jique% ciente% de% que,% se% reinstalar% o% servidor% Java,% tudo% será%
apagado%e%terá%que%subir%as%bibliotecas%novamente.

98

Compartilhando seu servidor Java em outros domínios ou
subdomínios

Se%a%sua%intenção%é%ter%o%mesmo%servidor%Java%em%outros%domínios,%saiba%que:
1) Não%é%possível%colocar%dois%ROOTs%independentes%para%cada%domínio;
2) O%domínio%ou%subdomínio%não%poderá%ser%cadastrado%no%WHM,%ou%seja,%precisará%
cadastrar%no%cPanel%conforme%os%tópicos%“Adicionando*subdomínios”%ou%
“Adicionando*Domínios*Suplementares”.
3) Não%é%possível%separar%sua%memória,%desmembrando%a%quantidade%para%mais%de%
uma%JVM,%de%modo%a%distribuir%entre%mais%de%um%domínio/subdomínio%(ex:%
512MB%RAM%dividir%em%duas%JVMs%de%256MB%RAM).

99

Como mapear outro domínio ou subdomínio no painel Java

Primeiro,%crie%o%domínio%ou%subdomínio%no%cPanel%conforme%os%tópicos%“Adicionando*
subdomínios”%ou%“Adicionando*Domínios*Suplementares”.
Depois,%vá%no%painel%Java,%%Web*Server*ConViguration.%Selecione%o%subdomínio%ou%
domínio%suplementar%na%caixa%de%combinação%como%destacado%na%Figura%abaixo:

Se%o%primeiro%domínio%estiver%com%o%servidor%Java%na%raiz,%não%será%possível%colocar%o%
segundo% na% raiz% de% um% aplicativo% independente.% Por% servidor% Java,% só% existe% a%
possibilidade%de%ter%apenas%um%aplicativo%na%raiz%do%domínio.

IMPORTANTE:%Se%a%sua%intenção%é%ter%mais%de%um%domínio%com%servidor%na%raiz,%entre%
em%contato%com%o%[email protected]%para%saber%de%nossos%preços%por%memória%
dedicada.%%

100

O Básico de Uso dos Servidores Java

Na%Integrator,%temos%as%seguintes%versões%de%servidores%Java:%
1%\%Tomcat:%6.0.x%,%7.0.x%e%8.x.
2%\%Jetty:%8.x
3%\%JBoss:%7.x%e%8%(WildJly)
4%\%GlassJish:%3.x%e%4.x
Este%Capítulo%tem%a%intenção%de%mostrar%o%básico%em%termos%de%localização%e%realização%
de% deploy.% Este% manual% não% substitui% o% conhecimento% técnico% do% desenvolvedor% no%
servidor%Java%que%escolher%operar.

101

Sobre a exibição no domínio

Duas%situações%são%possíveis%em%uso%de%aplicações%Java%no%seu%domínio:
Aplicativo%com%PHP/HTML%em%conjunto,%ou%seja,%aparecerá%assim:
http://seusite.com.br/AplicativoJava
Aplicativo%na%raiz%do%domínio%sendo%apenas%Java:
http://seusite.com.br

IMPORTANTE: Chamamos%de%“raiz”%do%domínio%a%situação%em%que%o%servidor%Java%irá%
apresentar%o%seu%aplicativo%diretamente%quando%os%seus%usuários%digitarem%o%domínio%
no%navegador%(seja%com%ou%sem%WWW).

102

Usando o servidor Java Tomcat

Na% Integrator,% temos% as% seguintes% versões% de% Tomcat:% 6.0.x% ,% 7.0.x% e% 8.x.% Um% aplicativo%
criado% no% Tomcat% 6.x,% executa% em% qualquer% servidor% Tomcat% de% versão% superior.% O%
contrário% já% não% é% verdadeiro,% pois% bibliotecas% podem% ser% necessárias% na% versão%
disponível% do% Servlet% ou% JSP% que% podem% não% ser% compatíveis% com% uma% versão%
retrógrada.
O% Tomcat% não% é% ensinado% pelo% nosso% suporte% de% hospedagem.% Esta% parte% do% manual%
apenas%irá%orientá\lo%sobre%como%ele%funciona%na%Integrator,%com%um%exemplo%simples.%
Caso% necessite% de% mais% orientações% sobre% o% Tomcat,% seu% modo% de% operação,%
recomendamos%a%documentação.

103

Subindo o aplicativo no Tomcat

Caso%o%aplicativo%seja%grande,%o%mais%correto%em%subir%um%aplicativo%no%Tomcat%é%usando%
o%FTP.
Para%fazer%deploy%no%Tomcat,%execute%estes%passos:

1)
2)
a.

Pare%o%Tomcat%no%painel%Java%em%
;
Suba%seu%arquivo%WAR,%com%todas%as%bibliotecas,%por%FTP,%no%seguinte%diretório:%
appservers/apacheTtomcatTXx/webapps%–%onde%X%é%a%versão%do%seu%Tomcat;

3)

Inicie%o%Tomcat%no%painel%Java%em%

%;

4) Ainda%no%painel%Java,%mapeie%o%domínio%em%
.%O%mapeamento%
segue%a%seguinte%regra:
a.
Digamos%que%você%tenha%enviado%um%aplicativo%WAR%chamado%Aplicacao.war.%No%
mapeamento,% digite% Aplicacao* no% campo% mostrado% abaixo% e% conJirme% no% botão% Set*
Paths:

5) Teremos,%assim%que%adicionado,%a%URL%de%onde%o%aplicativo%Java%está%funcionando.%
Por%exemplo:

104

Removendo o mapeamento do aplicativo no Domínio

Digamos,% assim% que% adicionado,% a% URL% de% onde% o% aplicativo% Java% está% funcionando,%
mapeado,%em%/Aplicacao.%
Para%remover,%os%passos:
1)%Clique%no%X%do%mapeamento%realizado

2)% Após% desaparecer% o% endereço% do% mapeamento,% clique% em% Set* Paths% e% aguarde%
processar%a%mudança.

105

Subindo um aplicativo na Raiz do domínio com o Tomcat

A% raiz% de% um% domínio% é% quando% digitamos% o% endereço% do% site% (integrator.com.br% \% por%
exemplo)%e%ele%abre%o%aplicativo%Java.
No% Tomcat,% existe% um% padrão% para% o% ROOT% do% domínio,% onde% o% seu% aplicativo% deve% se%
chamar%ROOT.war%ou%ele%deve%estar%em%ROOT.%
Faça%os%seguintes%passos%para%realizar%tal%conJiguração:

1) Pare%o%Tomcat%no%painel%Java%em%
;
2)% Remova%%o%diretório%ROOT%do%Tomcat%padrão.
3) Suba% seu% arquivo% ROOT.war,% com% todas% as% bibliotecas,% por% FTP,% no% seguinte%
diretório:%
a.
appservers/apacheTtomcatTXx/webapps%–%onde%X%é%a%versão%do%seu%Tomcat;
4)

Inicie%o%Tomcat%no%painel%Java%em%

%;

5)
6)%

Ainda%no%painel%Java,%mapeie%o%domínio%em%
Mapeie%na%Raiz%do%domínio%clicando%no%botão%Set*Wild*Card.

.%%

Não%aparecerá%nada%após%o%processamento,%mas%ao%abrir%o%domínio,%deve%aparecer%seu%
aplicativo.

IMPORTANTE:* Caso% apareça% em% Branco,% veja% o% procedimento% de% como% analisar% o%
problema,%lendo%os%logs%do%seu%servidor%Java,%baixando\os%pelo%FTP.%Para%ver%onde%Jicam%
seus%logs,%vá%no%tópico%Logs%de%Acesso%do%Servidor%Java%.

IMPORTANTE:* Pools% de% conexão% exigem% a% biblioteca% do% banco% de% dados% no% diretório%
appservers/apacheTtomcatTXx/lib.

106

Removendo o mapeamento da Raiz no Domínio

Clique%em%Desabe*Mappings%e%aguarde%o%processamento%que%removerá%o%mapeamento%
da%raíz%do%domínio.

107

Configurando o acesso ao Manager do Tomcat

Qualquer% versão% do% servidor% Tomcat% instalada% no% painel% não% possui% o% Manager%
conJigurado%por%padrão%com%um%usuário%e%senha%idênticos%ao%do%seu%painel.%Isto%é%você%
quem%deve%olhar%o%arquivo%e%alterá\lo%como%quiser.
As configurações de acesso ao Manager são feitas no arquivo tomcat-users.xml.
O tomcat-users.xml fica em appservers/apache-tomcat-Xx/conf/tomcat-users.xml, onde o
"X" é a versão do seu Tomcat.
Se o seu Tomcat estiver iniciado, reinicie para ter efeito as mudanças.

108

Configurando o manager do Tomcat 7/8

O que vamos passar abaixo é um exemplo de configuração do tomcat-users.xml do Tomcat
na versão 7 ou 8.
Com o Tomcat parado, altere o arquivo tomcat-users.xml assim:
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
<role rolename="manager-jmx"/>
<role rolename="manager-script"/>
<role rolename="manager-status"/>
<role rolename="manager-gui"/>
<user username="USER" password="PASS"
roles="manager-jmx,manager-script,manager-status,manager-gui"/>
</tomcat-users>

Onde USER é o usuário que deseja e PASS é a senha que deseja ter. Mas lembre-se, somente
no Tomcat 7/8 deve ser assim.

109

Mapeando o Manager no Tomcat

Antes de começar, esses passos não devem ser realizados por usuários que colocaram o
Tomcat na raiz do domínio. Caso não esteja usando o servidor Java na raiz do domínio,
mapeie o Manager do Tomcat da seguinte forma:
1) Vá%em%em%
%e,%no%mapeamento,%digite%manager/html*no%campo%
ilustrado%na%Jigura%abaixo.%ConJirme%no%botão%Set*Paths:

2) Depois acesse o manager assim:
http://seudominio/manager/html
Um usuário e senha serão requisitados e devem ser configurados conforme ensinamos em
Configurando o manager do Tomcat 7/8.

IMPORTANTE: Não ensinamos as características e formas de configurações do Manager do
Tomcat. Caso o usuário deseje aprender mais sobre o Manager do servidor Tomcat, veja a
documentação da versão que está usando em http://tomcat.apache.org.

110

Usando o servidor Java Jetty

Para%fazer%deploy%no%Jetty,%execute%estes%passos:

1)
2)
a.

Pare%o%Tomcat%no%painel%Java%em%
;
Suba%seu%arquivo%WAR,%com%todas%as%bibliotecas,%por%FTP,%no%seguinte%diretório:%
appservers/jettyTXx/webapps%–%onde%X%é%a%versão%do%seu%Jetty;

3)

Inicie%o%Jetty%no%painel%Java%em%

%;

4) Ainda%no%painel%Java,%mapeie%o%domínio%em%
.%O%mapeamento%
segue%a%seguinte%regra:
a.
Digamos%que%você%tenha%enviado%um%aplicativo%WAR%chamado%Aplicacao.war.%No%
mapeamento,% digite% Aplicacao* no% campo% mostrado% abaixo% e% conJirme% no% botão% Set*
Paths:

5) Teremos,%assim%que%adicionado,%a%URL%de%onde%o%aplicativo%Java%está%funcionando.%
Por%exemplo:

111

Subindo um aplicativo na Raiz do domínio com o Jetty

A% raiz% de% um% domínio% é% quando% digitamos% o% endereço% do% site% (integrator.com.br% \% por%
exemplo)%e%ele%abre%o%aplicativo%Java.
Faça%os%seguintes%passos%para%realizar%tal%conJiguração:

1)
2)
a.

Pare%o%Jetty%no%painel%Java%em%
;
Suba%seu%arquivo%.war,%com%todas%as%bibliotecas,%por%FTP,%no%seguinte%diretório:%
appservers/jettyTXx/webapps%–%onde%X%é%a%versão%do%seu%Jetty;

3) Coloque% o% contexto% do% Jetty% em% appservers/jettyTXx/contexts/% –% onde% X% é% a%
versão%do%seu%Jetty;
a.
O%detalhe%do%contexto%para%colocar%o%aplicativo%Java%na%raiz%do%domínio%é:
<Set*name="contextPath">/</Set>
4)

Inicie%o%Jetty%no%painel%Java%em%

%;

5)
6)%

Ainda%no%painel%Java,%mapeie%o%domínio%em%
Mapeie%na%Raiz%do%domínio%clicando%no%botão%Set*Wild*Card.

.%%

Não%aparecerá%nada%após%o%processamento,%mas%ao%abrir%o%domínio,%deve%aparecer%seu%
aplicativo.

IMPORTANTE:* Caso% apareça% em% Branco,% veja% o% procedimento% de% como% analisar% o%
problema,%lendo%os%logs%do%seu%servidor%Java,%baixando\os%pelo%FTP.%Para%ver%onde%Jicam%
seus%logs,%vá%no%tópico%Logs%de%Acesso%do%Servidor%Java%.

IMPORTANTE:* Pools% de% conexão% exigem% a% biblioteca% do% banco% de% dados% no% diretório%
appservers/jettyTXx/lib.

112

Usando o servidor Java JBoss

Antes%de%começar,%usuários%que%operam%com%WAR/EAR%e%desconhecem%o%JBoss/WildJly,%
apenas%realizando%deploy%por%ferramentas,%consulte%o%manual%do%servidor%JBoss/WildJly%
antes%para%compreendê\lo.%
O% suporte% da% Integrator% não% tem% como% foco% ensinar% a% usar% o% JBoss/WildJly,% mas% sim%
fornecer%a%estrutura%necessária%para%que%execute%seus%aplicativos%no%mesmo.

113

Usando o servidor Java JBoss 7

O JBoss 7 é instalado sempre usando a opção "standalone”, que é a qual devemos trabalhar:
~/appservers/jboss-7x/standalone
Para%fazer%deploy%no%JBoss%7,%execute%estes%passos:

1) Pare%o%servidor%no%painel%Java%em%
;
2) Suba% seu% arquivo% WAR% ou% EAR,% com% todas% as% bibliotecas,% por% FTP,% no% seguinte%
diretório:%
~/appservers/jboss-7x/standalone/deployments
2.1) Para as Bibliotecas JAR:
~/appservers/jboss-7x/standalone/lib/

3)

Inicie%o%servidor%no%painel%Java%em%

%;

4) Ainda%no%painel%Java,%mapeie%o%domínio%em%
.%O%mapeamento%
segue%a%seguinte%regra:
a.
Digamos%que%você%tenha%enviado%um%aplicativo%WAR%chamado%Aplicacao.war.%No%
mapeamento,% digite% Aplicacao* no% campo% mostrado% abaixo% e% conJirme% no% botão% Set*
Paths:

5) Teremos,%assim%que%adicionado,%a%URL%de%onde%o%aplicativo%Java%está%funcionando.%
Por%exemplo:

114

Usando o servidor Java JBoss 7 com aplicativo na raiz do domínio

No%JBoss%7,%faça%os%seguintes%passos:

1) Pare%o%servidor%no%painel%Java%em%
;
2) Suba% seu% arquivo% WAR% ou% EAR,% com% todas% as% bibliotecas,% por% FTP,% no% seguinte%
diretório:%
~/appservers/jboss-7x/standalone/deployments
2.1) Para as Bibliotecas JAR:
~/appservers/jboss-7x/standalone/lib/

3)

Inicie%o%servidor%no%painel%Java%em%

%;

4)
5)%

Ainda%no%painel%Java,%mapeie%o%domínio%em%
Mapeie%na%Raiz%do%domínio%clicando%no%botão%Set*Wild*Card.

.

Não%aparecerá%nada%após%o%processamento,%mas%ao%abrir%o%domínio,%deve%aparecer%seu%
aplicativo.

IMPORTANTE:* Caso% apareça% em% Branco,% veja% o% procedimento% de% como% analisar% o%
problema,%lendo%os%logs%do%seu%servidor%Java,%baixando\os%pelo%FTP.%Para%ver%onde%Jicam%
seus%logs,%vá%no%tópico%Logs%de%Acesso%do%Servidor%Java%.

115

Pequeno exemplo do deploy na raiz com JBoss 7

Se% você% sobe% o% aplicativo,% descompactado% (sem% estar% no% formato% WAR),% dentro% de%
"deployments",% chamado% "site1.war",% você% deve% criar% um% arquivo% chamado%
"site1.war.deployed",%sem%aspas,%com%o%conteúdo%abaixo:
Isto%fará%o%Deploy%ao%iniciar%o%JBoss%7.
Para% que% Jique% na% raiz,% você% deve% ter% o% arquivo% "site1.war/WEBTINF/jbossTweb.xml"%
com%este%conteúdo:
<?xml version="1.0" encoding="UTF-8"?>
<jboss-web>
<context-root>/</context-root>
</jboss-web>

E%deve%desativar%o%"enable\welcome\root"%do%JBoss%7%no%seguinte%arquivo:
~/appservers/jbossT7x/standalone/conViguration/standalone.xml
Deixe%a%opção%como%false:
<virtualTserver*name="defaultThost"*enableTwelcomeTroot="false">

IMPORTANTE:* Saiba% que% é% conhecimento% do% JBoss% o% que% estamos% fornecendo% neste%
pequeno% exemplo.% Logo,% entenda% que% é% um% exemplo% e% não% um% ensino% do% JBoss.% Não%
ensinamos% e% nem% resolvemos% características% pertencentes% ao% JBoss,% uma% vez% que% isso%
foge%da%hospedagem%de%serviços%Java.

116

Usando o servidor Java Wildfly

O Wildfly 1 é instalado usando a opção "standalone":
~/appservers/wildfly-8x/standalone

Para%fazer%deploy%no%JBoss%7,%execute%estes%passos:

1) Pare%o%servidor%no%painel%Java%em%
;
2) Suba% seu% arquivo% WAR% ou% EAR,% com% todas% as% bibliotecas,% por% FTP,% no% seguinte%
diretório:%
~/appservers/wildfly-8x/standalone/deployments
2.1) Para as Bibliotecas JAR:
~/appservers/wildfly-8x/standalone/lib/

3)

Inicie%o%servidor%no%painel%Java%em%

%;

4) Ainda%no%painel%Java,%mapeie%o%domínio%em%
.%O%mapeamento%
segue%a%seguinte%regra:
a.
Digamos%que%você%tenha%enviado%um%aplicativo%WAR%chamado%Aplicacao.war.%No%
mapeamento,% digite% Aplicacao* no% campo% mostrado% abaixo% e% conJirme% no% botão% Set*
Paths:

5) Teremos,%assim%que%adicionado,%a%URL%de%onde%o%aplicativo%Java%está%funcionando.%
Por%exemplo:

117

Usando o servidor Java Wildfly com aplicativo na raiz do domínio

No%WildJly,%faça%os%seguintes%passos:

1) Pare%o%servidor%no%painel%Java%em%
;
2) Suba% seu% arquivo% WAR% ou% EAR,% com% todas% as% bibliotecas,% por% FTP,% no% seguinte%
diretório:%
~/appservers/wildfly-8x/standalone/deployments
2.1) Para as Bibliotecas JAR:
~/appservers/wildfly-8x/standalone/lib/

3)

Inicie%o%servidor%no%painel%Java%em%

%;

4)
5)%

Ainda%no%painel%Java,%mapeie%o%domínio%em%
Mapeie%na%Raiz%do%domínio%clicando%no%botão%Set*Wild*Card.

.

Não%aparecerá%nada%após%o%processamento,%mas%ao%abrir%o%domínio,%deve%aparecer%seu%
aplicativo.

IMPORTANTE:* Caso% apareça% em% Branco,% veja% o% procedimento% de% como% analisar% o%
problema,%lendo%os%logs%do%seu%servidor%Java,%baixando\os%pelo%FTP.%Para%ver%onde%Jicam%
seus%logs,%vá%no%tópico%Logs%de%Acesso%do%Servidor%Java%.

118

Pequeno exemplo do deploy na raiz com Wildfly

Se% você% sobe% o% aplicativo,% descompactado% (sem% estar% no% formato% WAR),% dentro% de%
"deployments",% chamado% "site1.war",% você% deve% criar% um% arquivo% chamado%
"site1.war.dodeploy",% sem% aspas,% sem% conteúdo% algum. Isto% fará% o% Deploy% ao% iniciar% o%
WildJly.
Para% que% seu% aplicativo% Jique% na% raiz% do% domínio/servidor% WildJly,% você% deve% ter% o%
arquivo%"site1.war/WEBTINF/jbossTweb.xml"%com%este%conteúdo:
<?xml version="1.0" encoding="UTF-8"?>
<jboss-web>
<context-root>/</context-root>
</jboss-web>

IMPORTANTE:* Saiba% que% é% conhecimento% do% WildJly% o% que% estamos% fornecendo% neste%
pequeno% exemplo.% Logo,% entenda% que% é% um% exemplo% e% não% um% ensino% do% WildJly.% Não%
ensinamos%e%nem%resolvemos%características%pertencentes%ao%WildJly,%uma%vez%que%isso%
foge%da%hospedagem%de%serviços%Java.%Para%saber%mais%sobre%nossas%regras%de%suporte,%
clique%aqui.

119

Usando o servidor Java GlassFish

Após%instalar%o%GlassFish,%você%pode%acessar%o%Admin.%

1)
2)

Inicie%o%GlassFish%no%painel%Java%em%
Para%acessar%o%Admin,%assim%que%instalado%o%GlassFish,%faça:
http://seudominio:4848

;

Onde%seudominio%é%o%seu%site.%Caso%não%apareça%o%Admin,%assim%que%iniciar%o%servidor%
Java%GlassFish,%entre%em%contato%com%o%[email protected],%relatando%a%situação.
3)

O%usuário%e%senha%padrão%do%GlassFish:
a.

Usuário:%admin

b.

Senha:%adminadmin

4)

Faça%o%deploy%do%seu%aplicativo%indo%em%Applications%no%GlassFish.

5)

Clique%em%Deploy:

6)

Selecione%o%arquivo%de%sua%máquina%se%sua%internet%for%acima%de%2MB%e%for%possível%

120

usar%um%upload%de%arquivos%rápido:

7) Caso% sua% internet% tenha% um% upload% de% arquivos% baixo,% recomendamos% subir% seu%
aplicativo%por%FTP.%Suba%em%um%diretório%qualquer,%podendo%ser%na%raiz%do%seu%usuário%
mesmo:

8) Selecione%no%Admin%o%item%Local*Packaged*File*or*Directory*That*Is*Accessible*
from*GlassFish*Server,%clicando%no%botão%para%selecionar%o%arquivo:

9) Ao%abrir%a%janela%popup,%%va’em%Look*In*até%onde%está%seu%aplicativo,%sabendo%que%
ele% começa% com% /home/USUARIO_FTP.% Por% exemplo,% temos% o% usuário% chamado%
clouds10,% acessamos% /home/clouds10.% O% ideal% é% digitar% este% caminho% inicial% e%
pressionar% Enter.% Mais% abaixo%você%verá%os%arquivos%listados.%Selecione%o%arquivo%WAR%
ou%EAR%e%conJirme%no%botão%Choose*File.

121

10) Assim%que%selecionado,%serão%puxadas%as%conJigurações%iniciais%para%o%deploy:

122

11) %ConJirme%por%Jim%no%botão%

.

12) Ainda%no%painel%Java,%mapeie%o%domínio%em%
.%O%mapeamento%
segue%a%seguinte%regra:
a.
Digamos%que%você%tenha%enviado%um%aplicativo%WAR%chamado%Aplicacao.war.%No%
mapeamento,% digite% Aplicacao* no% campo% mostrado% abaixo% e% conJirme% no% botão% Set*
Paths:

13) Teremos,%assim%que%adicionado,%a%URL%de%onde%o%aplicativo%Java%está%funcionando.%
Por%exemplo:

123

Colocando seu aplicativo na raiz do domínio com o servidor GlassFish

Após%instalar%o%GlassFish,%você%pode%acessar%o%Admin.%

1)
2)

Inicie%o%GlassFish%no%painel%Java%em%
Para%acessar%o%Admin,%assim%que%instalado%o%GlassFish,%faça:
http://seudominio:4848

;

Onde%seudominio%é%o%seu%site%sem%“www”.%Caso%não%apareça%o%Admin,%assim%que%iniciar%
o% servidor% Java% GlassFish,% entre% em% contato% com% o% [email protected],%
relatando%a%situação.
3)

O%usuário%e%senha%padrão%do%GlassFish:
a.

Usuário:%admin

b.

Senha:%adminadmin

4)

Faça%o%deploy%do%seu%aplicativo%indo%em%Applications%no%GlassFish.

5)

Clique%em%Deploy:

124

6) Selecione%o%arquivo%de%sua%máquina%se%sua%internet%for%acima%de%2MB%e%for%possível%
usar%um%upload%de%arquivos%rápido:

7) Caso% sua% internet% tenha% um% upload% de% arquivos% baixo,% recomendamos% subir% seu%
aplicativo%por%FTP.%Suba%em%um%diretório%qualquer,%podendo%ser%na%raiz%do%seu%usuário%
mesmo:

8) Selecione%no%Admin%o%item%Local*Packaged*File*or*Directory*That*Is*Accessible*
from*GlassFish*Server,%clicando%no%botão%para%selecionar%o%arquivo:

9) Ao%abrir%a%janela%popup,%%va’em%Look*In*até%onde%está%seu%aplicativo,%sabendo%que%
ele% começa% com% /home/USUARIO_FTP.% Por% exemplo,% temos% o% usuário% chamado%
clouds10,% acessamos% /home/clouds10.% O% ideal% é% digitar% este% caminho% inicial% e%
pressionar% Enter.% Mais% abaixo%você%verá%os%arquivos%listados.%Selecione%o%arquivo%WAR%
ou%EAR%e%conJirme%no%botão%Choose*File.

125

10) Assim%que%selecionado,%serão%puxadas%as%conJigurações%iniciais%para%o%deploy:

11) %ConJirme%por%Jim%no%botão%

.

126

4)
5)%

Ainda%no%painel%Java,%mapeie%o%domínio%em%
Mapeie%na%Raiz%do%domínio%clicando%no%botão%Set*Wild*Card.

.

Não%aparecerá%nada%após%o%processamento,%mas%ao%abrir%o%domínio,%deve%aparecer%seu%
aplicativo.

IMPORTANTE:* Caso% apareça% em% Branco,% veja% o% procedimento% de% como% analisar% o%
problema,%lendo%os%logs%do%seu%servidor%Java,%baixando\os%pelo%FTP.%Para%ver%onde%Jicam%
seus%logs,%vá%no%tópico%Logs%de%Acesso%do%Servidor%Java%.

127

Aplicativo EAR na raiz com o GlassFish

O GlassFish pode ser configurado de diversas formas. O que precisa é a configuração do seu
Enterprise Application informando que o seu aplicativo WAR é na raiz. Digamos que o
aplicativo se chame AplicacaoEAR.ear, onde teríamos o arquivo application.xml em METAINF.
Veja o exemplo do application.xml em detalhes:
<?xml version="1.0" encoding="UTF-8"?>
<application version="6"
xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/
XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://
java.sun.com/xml/ns/javaee/application_6.xsd">
<display-name>Aplicacao</display-name>
<module>
<web>
<web-uri>Aplicacao-war.war</web-uri>
<context-root>/</context-root>
</web>
</module>
<module>
<ejb>Aplicacao-ejb.jar</ejb>
</module>
</application>

1)
2)%

No%painel%Java,%mapeie%o%domínio%em%
.
Mapeie%na%Raiz%do%domínio%clicando%no%botão%Set*Wild*Card.

IMPORTANTE:%ConJigurações%adicionais%do%aplicativo,%gerado%no%EAR%ou%WAR%Jile%não%
fazem% parte% do% conhecimento% que% a% Integrator% fornece.% Se% você% automatiza% tudo% pelo%
NetBeans,% por% exemplo,% procure% entender% o% que% é% feito% na% geração% do% WAR/EAR% em%
termos% de% conJigurações.% A% Integrator% não% ensina% estes% detalhes% por% se% tratarem%
exclusivamente%de%conhecimento%voltado%ao%desenvolvimento.

128

Logs de Acesso do Servidor Java

Cada%servidor%Java%possui%um%caminho%padrão%para%acesso%aos%seus%logs.%Abaixo%a%
relação%de%cada%servidor%Java%para%que%possa%baixar%os%logs%via%FTP.
Substitua%o%“X”,%em%maiúsculo,%pela%versão%instalada.
Tomcat 6 até 8
~/appservers/apache-tomcat-Xx/logs/stdout.log
JETTY 8
~/appservers/jetty-8x/logs/stdout.log
JBOSS 7
~/appservers/jboss-7x/standalone/log/server.log
WILDFLY
~/appservers/wildfly-8x/standalone/log/server.log
GlassFish 3 e 4
~/appservers/glassfish-Xx/domains/domain1/logs/server.log

IMPORTANTE:* * O% suporte% da% Integrator% não% analisa% logs% e% nem% resolve% problemas% de%
aplicativo.% Tais% situações% são% consideradas% de% desenvolvimento% ou% ensino% e% fogem% ao%
quesito%hospedar%um%site.

129

Alterando o Locale: Data, hora, números e moedas

O%servidor%Java%pode%ser%personalizado%nas%informações%de%locale:%data,%hora,%números%e%
moedas%podem%ser%conJiguradas.%
Cada%servidor%Java%possui%uma%forma%de%alterar%o%Locale.%

130

Alterando o Locale do Tomcat

As%instruções%que%deve%passar,%se%for%conJigurar%no%servidor%Java,%são%feitas%no%shell%que%
inicializa% o% serviço.% Por% exemplo,% se% formos% usar% a% região% de% São% Paulo,% passamos% as%
informações%mostradas%abaixo.%Mas%atenção,%substitua%o%“X”,%em%maiúsculo,%pela%versão%
instalada.
Duser.timezone=America/Sao_Paulo -Duser.language=pt -Duser.region=BR
No% Apache% Tomcat,% para% ilustrar% melhor% como% seria,% conJiguramos% no% arquivo%
appservers/apacheTtomcatTXx/bin/catalina.sh:
export CATALINA_OPTS="-Duser.timezone=America/Sao_Paulo -Duser.language=pt Duser.region=BR"
Em%alguns%servidores,%as%instruções%mostradas%são%passadas%na%variável%JAVA_OPTS%no%
shell%que%inicializa%o%servidor%Java.
Entretanto,%saiba%das%seguintes%regras:
1) Altere%somente%o%que%informamos,%nada%além;
2) Existem%timezones%diferentes%para%algumas%regiões;
3) Reinicie%o%servidor%Java;
Estas% mudanças% são% feitas% pelo% cliente% e% de% sua% total% responsabilidade.% O% suporte% da%
Integrator% não% tem% obrigação% de% orientar% o% desenvolvedor% a% respeito% de% suas%
conJigurações%regionais%para%uso%no%timezone.

IMPORTANTE:* * O% suporte% da% Integrator% não% analisa% logs% e% nem% resolve% problemas% de%
aplicativo.% Tais% situações% são% consideradas% de% desenvolvimento% ou% ensino% e% fogem% ao%
quesito%hospedar%um%site.

131

Alterando o Locale do GlassFish

Para locale, adicione a linha abaixo, no Locale do Timezone do Brasil, América, São Paulo:
-Duser.timezone=America/Sao_Paulo -Duser.language=pt -Duser.region=BR
A alteração deve ser feita no seguinte local do Admin do GlassFish:
Configurations » server-config » JVM Settings » JVM Options. Clique em Add JVM
Option, adicione a linha ensinada acima. Confirme em Save.

IMPORTANTE: Jamais altere a memória do servidor Java, pois nossos sistemas derrubam
máquinas alteradas.

132

Um mesmo servidor Java em vários domínios

Crie o outro domínio como suplementar/ou subdomínio, no cPanel, em Domínios
Suplementares/ Subdomínios.
O exemplo abaixo é sobre domínio suplementar. Nós temos o clouds13integrator.com e
adicionamos o usuário teste para o domínio "teste.com.br". Veja como ficou o domínio
suplementar:

O cPanel trata todo domínio suplementar como subdomínio do principal. Logo teste.com.br
é para o cPanel (não para seus usuários) teste.clouds13integrator.com. Seus usuários sempre
acessarão como teste.com.br de forma transparente e sempre aparecerá desta forma na URL.
 1) Depois de adicionado o domínio suplementar, ou subdomínio, vá no painel NGasi, em
;
2) Clique em
%e selecione o domínio suplementar/subdomínio que
aparecerá com o nome do usuário, assim:

3) Vamos dizer que você fez o deploy, de um aplicativo novo, chamado "Aplicativo.war" e
vai mapeá-lo no novo domínio.
3.1) Digite o nome do "Aplicativo", Digamos%que%você%tenha%enviado%um%aplicativo%WAR%
chamado%Aplicacao.war.%No%mapeamento,%digite%Aplicacao*no%campo%mostrado%abaixo%
e%conJirme%no%botão%Set*Paths:

133

13) Teremos,%assim%que%adicionado,%a%URL%de%onde%o%aplicativo%Java%está%funcionando.%

4) Após mapear, terá o domínio suplementar/subdomínio com o acesso ao servidor java e no
aplicativo que deseja.

IMPORTANTE: Na raiz do domínio/subdomínio - raiz é quando digitamos
www.teste.com.br, por exemplo - podemos ter um ROOT apenas no Tomcat, ou seja, não é
possível, como no nosso exemplo, abrir www.clouds13integrator.com um aplicativo
diretamente e ww.teste.com.br, outro aplicativo.

134

Trabalhando com o Banco de Dados

Na% Integrator,% % o% usuário% pode% trabalhar% com% dois% tipos% de% banco% de% dados% que%
prestamos%suporte:
1.%MySQL
2.%PostgreSQL
Cada% banco% de% dados% possui% sua% particularidade.% O% suporte% não% ensina% as%
particularidades%do%%banco%de%dados%que%escolher%usar%de%forma%administrativa.%Apenas%
orientamos% no% uso% pelos% painéis% em% termos% de% acesso,% assim% como% em% seu% aplicativo%
online%e%erros%que%possuir,%desde%que%não%sejam%ocasionados%pela%falta%de%conhecimento%
técnico%no%que%deseja%realizar,%como%por%exemplo,%criação%de%functions/procedures.

IMPORTANTE: A Integrator é uma empresa que visa hospedar aplicativos profissionais.
Qualquer pergunta que caracterize falta de conhecimento técnico o suporte será obrigado a
responder apresentando o endereço Web da documentação do serviço que está querendo
operar.

135

Criando Banco de Dados PostgreSQL no Painel

Para%trabalhar%com%o%PostgreSQL,%da%forma%mais%simples,%vá%em%Bancos*de*Dados*»
Banco*de*Dados*PostgreSQL.

1. Dentro do painel, você cria o banco de dados, dando seu nome no campo "Nome do Banco
de Dados" e confirmando em "Criar Banco de Dados". Mais abaixo aparecerá o banco de
dados, assim que criado, ao entrar neste mesmo painel.

IMPORTANTE: O PostgreSQL não precisa criar usuário, pois ele usa o mesmo usuário do
FTP. Para se conectar ao seu banco de dados PostgreSQL pelo seu aplicativo, após definir o
banco de dados, use:

host: localhost

Usuário: mesmo do FTP

Senha: a mesma do usuário FTP

Banco de dados: Inclui o prefixo criado no painel de controle cPanel

136

Usuário PADRÃO do PostgreSQL no Painel

Para%trabalhar%com%o%PostgreSQL,%não%é%preciso%criar%usuário,%como%no%MySQL%para%
acesso%a%ele.
Para se conectar ao seu banco de dados PostgreSQL pelo seu aplicativo, após definir o banco
de dados, use:





host: localhost
Usuário: mesmo do FTP
Senha: a mesma do usuário FTP
Banco de dados: O nome completo, que inclui o prefixo, criado no painel de controle
cPanel

137

Exportando no PostgreSQL do cPanel

No cPanel, você exporta o banco de dados pelo phpPgAdmin usando os seguintes passos:
1) Vá em "Bancos de Dados", clique em "phpPgAdmin".

2) No phpPgAdmin, clique em "Exportar".

3)  Em Exportar, selecione "Estrutura e dados", o Formato "SQL", marque "Download" e
confirme no botão "Exportar".

138

139

Importando no PostgreSQL do cPanel

Para Importar, no phpPgAdmin do cPanel, clique sobre o banco de dados.
1) Clique em "SQL".
2) Na parte inferior de SQL, selecione o arquivo que deseja importar e confirme no botão
"Executar".

140

Importando no PostgreSQL Bancos Grandes

Para Importar bancos de dados grandes, use o acesso SSH e comandos de importação do
PostgreSQL via psql.
Para importar via SSH, os passos:
1) Leve o arquivo por FTP para a conta do seu usuário.
2) Crie apenas o banco de dados no cPanel
2) No terminal SSH, execute após subir seu arquivo via FTP, o seu DUMP em SQL:
psql -U USUARIO_FTP BANCO_CRIADO < ARQUIVO.SQL
Onde:

USUARIO_FTP - Seu usuário do cPanel ou FTP

BANCO_CRIADO - Seu banco de dados criado no cPanel

ARQUIVO.SQL - Seu arquivo de dump SQL gerado local e levado via FTP para sua
conta

141

Criando Banco de Dados MySQL no Painel

A forma mais simples de criar um banco de dados MySQL no cPanel é ensinado abaixo:
1. Crie o banco de dados MySQL indo em Banco de Dados, “Banco de dados MySQL”.

2. Em "Criar Novo Banco de Dados", coloque o nome em "Novo Banco de Dados" e
confirme no botão "Criar Banco de Dados":

142

Criando o usuário ao Banco de Dados MySQL no Painel

1. Em Banco de Dados, “Banco de dados MySQL”.

2. Defina um usuário em "Adicionar Novo Usuário", confirmando depois no botão "Criar
Usuário":

143

Definindo o usuário ao Banco de Dados MySQL no Painel

1) Em Banco de Dados, “Banco de dados MySQL”.

2) Com o Usuário criado, atribua ao banco de dados em "Adicionar Usuário ao Banco de
Dados":

2.1) Defina seus privilégios e confirme no botão "Fazer Alterações".

144

3) Por fim, você deverá ver o nome do banco de dados e seu respectivo usuário.

145

Formas de acesso ao Banco de Dados

Na%Integrator,% %o%usuário%pode%trabalhar%com%o%acesso%ao%banco%de%dados%das%seguintes%
formas%após%criar%o%banco%de%dados%no%cPanel:
No*MySQL*
1.%Pelo%cPanel%através%do%phpMyAdmin
2.%Pelo%SSH%através%de%comandos%diretamente%executados%no%banco%de%dados
3.%Remotamente%desde%que%liberado%acesso%via%cPanel
No*PostgreSQL
1.%Pelo%cPanel%através%do%phpPgAdmin
2.%Pelo%SSH%através%de%comandos%diretamente%executados%no%banco%de%dados

O%Item%2%de%cada%banco%de%dados%exige%conhecimento%de%SQL%e%também%o%conhecimento%
técnico%do%terminal%de%cada%banco%de%dados.%

IMPORTANTE:%Se%é%iniciante,%recomendamos%fortemente%o%MySQL%por%ser%mais%simples%
e%seguir%as%normas%SQL%padrão.

146

Usando o phpMyAdmin para o MySQL

1.%Após%criar%o%banco%de%dados%no%MySQL,%vá%em%Banco*de*Dados*»*phpMyAdmin

2.%Ao%abrir%o%phpMyAdmin,%clique%no%seu%banco%de%dados:

%
No% phpMyAdmin% você% pode% importar% seu% SQL,% clicando% em% Importar,% selecionando% o%
arquivo.

147

Usando o MySQL pelo Aplicativo Hospedado

No%Java%ou%PHP,%use%sempre%as%seguintes%conJigurações:
Host:%localhost
Banco%de%dados,%Usuário%e%senha:%Criados%no%cPanel

148

Usando o phpPgAdmin para o PostgreSQL

1.%Após%criar%o%banco%de%dados%no%PostgreSQL,%vá%em%Banco*de*Dados*»*phpPgAdmin:

2.%Ao%abrir%a%janela%do%phpPgAdmin,%clique%no%banco%de%dados%para%que%possa%executar%
suas%queries%SQL%ou%Importar%um%banco%de%dados:

3.%Para%importar%as%tabelas%e%dados,%exporte%em%formato%SQL,%depois%no%phpPgAdmin,%
vá%em%SQL*» selecione*o*arquivo*local*» Execute*a*importação:

149

150

Usando o PostgreSQL pelo Aplicativo Hospedado

No%Java,%use%sempre%as%seguintes%conJigurações:
Host:%localhost
Banco%de%dados:%Criado%no%cPanel
Usuário*:%O%mesmo%do%usuário%cPanel
Senha:%Senha%do%Usuário%cPanel
No%PHP,%use%sempre%as%seguintes%conJigurações:
Host:%127.0.0.1
Banco%de%dados,%usuário%e%senha:%Criado%no%cPanel

* Use o mesmo Usuário do cPanel sempre que for criar tabelas no PostgreSQL.

IMPORTANTE: No PHP não gere tabelas pelo aplicativo e jamais use o mesmo usuário e
senha do cPanel.

151

Acesso Remoto ao Banco de Dados

Na% Integrator,% % o% usuário% pode% trabalhar% com% o% acesso% acesso% remoto% padronizado% no%
banco%de%dados%MySQL,%desde%que%liberados%antes%no%cPanel.

152

Liberando o acesso remoto ao MySQL

Os%passos%para%liberação%de%acesso%remoto:
1. Vá em "Bancos de Dados » MySQL Remoto", no seu cPanel.
 

2. Digite somente o símbolo da percentagem, "%", sem aspas, em "Adicionar Host de
Acesso » Host (% wildcard é permitido)".
 

3. Confirme no botão Adicionar Host .

153

Acessando remotamente o MySQL

O host do seu programa local, executado em sua máquina, pode ser seu domínio, sem "http://
www." ou o IP que aparece no FTP do seu email de Configurações e Instruções de Uso.
Resumindo:
Host: seusite.com.br
Porta: 3306
Banco de Dados, Usuário e Senha: Criados no cPanel

154

Erro comum: Host is blocked because of many connection errors

Se estiver vendo este erro aparecendo para a conexão do seu aplicativo online, seja Java ou
PHP, veja o tópico Formas de acesso ao Banco de Dados para corrigir sua conexão, cujo
online, deve ser no host apenas “localhost”, sem as aspas.
Remotamente*, se muitos erros de conexão ocorrerem em um período pequeno, haverá uma
mensagem de erro ao tentar se conectar remotamente ao seu banco de dados no MySQL. A
mensagem é similar a mostrada abaixo:
Host ‘199.182.11.0’ is blocked because of many connection errors; unblock with
'mysqladmin flush-hosts'
A mensagem acompanha um comando 'mysqladmin flush-hosts’. Infelizmente, somente um
administrador geral pode realizar este comando. Planos abaixo do Java EE/PHP Plus devem
solicitar o nosso desbloqueio administrativo.
Para pedir ajuda, se estiver vendo este erro por conta de seu acesso remoto, com o comando
administrativo, envie email para [email protected], informando o site e mostrando o
referido problema no corpo da mensagem.
*Por remotamente dizemos da sua máquina local de desenvolvimento ou acesso externo
a Integrator. Não considere remotamente por seu aplicativo, que executa no servidor da
Integrator.

IMPORTANTE:%O%comando%'mysqladmin flush-hosts' só é realizado por nossa equipe uma
vez por um severo período de horas, desde que o bloqueio seja do seu acesso remoto. Nós
realizamos o comando com um aviso do período que poderemos realizar novamente.

155

Exceção no PostgreSQL

Se% o% seu% plano% permitir% banco% de% dados% dedicado,% poderá% acessar% o% PostgreSQL%
remotamente.%Veja%detalhes%de%acesso%no%email%de%assunto%“ConJigurações%de%Acesso%ao%
Banco%de%Dados”%que%receber%caso%seja%seu%plano%com%tal%serviço.

156

Dúvidas Comuns Encontradas na Hospedagem

O%erro%mais%comum%de%“OutOfMemoryError:%Java%heap%space”%é%falta%de%memória%no%
servidor%Java%para%executar%o%aplicativo.
Para%resolver:
1)%VeriJique%a%necessidade%real%de%seu%aplicativo%perante%o%plano%que%escolheu
2)%Se%houver%mais%de%um%aplicativo,%remova%todos,%deixe%apenas%1%e%vá%acrescendo%cada%
aplicativo%até%que%o%erro%ocorra

IMPORTANTE:*O%suporte%da%Integrator%não%resolverá%de%outra%forma,%que%não%seja%
oferecendo%um%plano%com%mais%memória.%

157

Uso do HTTPS

Uma%dúvida%comum%que%ocorre%na%Integrator%é%o%uso%do%HTTPS.
Temos%duas%situações%de%uso%de%HTTPS:

Painéis%e%E\mail

Domínio

158

HTTPS em Painéis

O%SSL%nos%painéis%e%no%e\mail%são%autoassinados,%ou%seja,%pertencem%ao%painel%de%
controle%e%não%são%reconhecidos%pelo%browser.
Para%saber%mais%veja%o%tópico%%“O%https%do%WHM/cPanel%ou%NGasi%“.

159

HTTPS em Domínio

O%SSL%em%seu%domínio%depende%de%duas%situações:
1.%IP%dedicado%\%contratado%separadamente%com%valor%mensal%mínimo
2.%SSL%Homologado%\%emitido%por%uma%certiJicadora%reconhecida

160

128bits ou 256bits

Ao usar SSL próprio, na barra de endereços do domínio, dependendo do navegador, podemos
ver "https://"  e o símbolo de uma cadeado é exibido logo ao lado, dando a informação de
segurança na página.

Certificado SSL 128 bits ou 256 bits?
Ao olhar os detalhes de um SSL no navegador, você pode se deparar com 128 bits ou 256
bits. Isso não se refere a quantidade de bits do certificado que foi adquirido. Essa diferença é
uma escolha feita pelo navegador que está usando, browser, para permitir a comunicação dos
dados criptografados com o servidor. Resumindo: não está sendo informado o número de bits
do certificado propriamente dito.

O certificado digital SSL é gerado com uma chave de 2048 bits. Essa informação pode ser
conferida nos detalhes do certificado. Por exemplo, no navegador Google Chrome, é possível
identificar com um clique no cadeado » Conexão » Informações do certificado » Detalhes » 
Campos do certificado » Informações de Chave Pública » Tamanho da Chave.

A informação de 128 bits ou 256 bits é designada pelo navegador no momento em que acessa
o site, e sua conexão com um site é obtido em HTTPS por um alto nível, da seguinte forma:

O navegador conecta-se ao servidor e envia uma requisição HTTPS para o acesso ao
site que informou.

O servidor responde enviando seu certificado ao cliente, ou seja, para o navegador que
está usando, contendo sua chave pública.

O navegador verifica o certificado informado, reconhecido por ele, para saber se ele é
válido e extrai a chave pública corretamente.

161



O navegador então gera uma chave aleatória para ser usada na conexão com o
servidor. Essa chave aleatória é criptografada usando a chave pública recebida
anteriormente, e o resultado é enviado para o servidor novamente.

O servidor recebe a chave criptografada e a descriptografa usando sua chave privada esse modo de operação é chamado de "troca de chave" - key exchange.

Neste ponto, o navegador e servidor possuem uma chave compartilhada que só os
dois conhecem, gerando a segurança devida pela criptografia. Isso permite
criptografar o conteúdo do site em envio de dados que somente você que preenche
conhece e o servidor que vai receber, saberá.

A chave aleatória criada pelo navegador pode ser gerada de formas diferentes,
dependendo das bibliotecas de criptografia instaladas no computador do usuário e seu
processo automatico ocorre no navegador de forma transparente a você. As duas
possibilidades mais comuns são:

Criptografia de 128 bits usando AES_128_GCM (com TLS 1.2)

Criptografia de 256 bits usando AES_256_CBC (com TLS 1.1)
As siglas GCM e CBC referem-se a modos de operações criptográficas, ou seja, são
algoritmos usados para criptografar a chave aleatória gerada pelo navegador. O modo de
operação GCM é considerado mais seguro do que o CBC, embora use menos bits
informados, pois há uma versão mais recente do TLS - versão 1.2.

162

Erro no certificado SSL: Elementos não criptografados

Se o seu site apresentar junto ao cadeado da imagem, uma exclamação no SSL, não significa
que o SSL está mal configurado.
O erro apresentado é porque certas partes de seu site não foram criptografados pelo SSL.

Se pedir para ver os detalhes da Conexão, haverá um informativo do porque não foi possível
criptografar tudo.

Infelizmente, é uma situação que somente o desenvolvedor do site pode resolver. Este erro,
caso não seja você o desenvolvedor, deverá ser apresentado a ele.
A questão somente será resolvida se analisar o aplicativo que é envolvido no site, buscando
endereços que não estão dentro do seu serviço ou com acesso de outros domínios, cujo o SSL
não alcança.

IMPORTANTE:*O suporte de hospedagem não tem como ajudar neste caso em hipótese
alguma.

163

Erros Comuns Encontrados na Hospedagem

Existem%vários%erros,%comuns,%encontrados%na%Hospedagem%da%Integrator.%Eles%são%
divididos%em%duas%classes:
1.%PHP%\%Erros%de%servidor%Apache
2.%Java%\%Erros%de%servidores%Java

164

Erros Gerais

Existem%dezenas%de%erros%em%uma%hospedagem.%Neste%tópico%listamos%os%mais%comuns:





Permissão
Bloqueio
Aplicativo
E\mail

165

Erro 500

O%erro%mais%comum%de%permissão%é%o%erro%500.%Este%erro%ocorre%porque:
1.%Possui%um%.htaccess%com%sintaxe%errada
2.%Mudou%a%permissão%do%diretório%public_html%fora%a%755
3.%Recriou%o%diretório%public_html%%(Mudou%a%permissão%do%Grupo%nobody)
3.%Criou%um%php.ini%personalizado%com%erros
4.%Arquivos%principais%como%index.php%com%permissão%diferente%da%644

166

Resolvendo o Erro 500

Para%resolver%o%Erro%500%alguns%passos:
1.%Renomear%o%.htaccess%com%o%FTP%para%.htaccess.old
2.%Recolocar%a%permissão%no%public_html%para%755
3.%Recolocar%a%permissão%em%qualquer%diretório%para%755
4.%Se%apagou%o%public_html,%informar%ao%[email protected]%sobre%o%incidente
3.%Renomear%o%php.ini%para%php.ini.old
4.%Recolocar%a%permissão%do%index.php,%como%de%outros%arquivos,%para%644

167

Erro 503

Este%erro%signiJica%que%seu%servidor%Java%está%parado.%%Entre%no%painel%Java%e%o%inicie.

168

Erro 503 com servidor Java iniciado

A%possível%situação%é%que%alterou%o%arquivo%de%conJigurações%do%servidor%Java%alterando%
sua%porta.%Isso%causou%falha.
Para%resolver,%devolva%as%conJigurações%originais.%Caso%não%saiba,%terá%que,%infelizmente,%
reinstalar%o%arquivo%de%conJigurações.
Abaixo%os%arquivos%que,%se%alterar%portas,%terá%problemas:




Tomcat%\%server.xml
JBoss%7/WildJly%\%standalone.xml
GlassFish%\%domain.xml

IMPORTANTE:* * Caso% seja% a% primeira% vez% que% ocorre,% ou% seja,% assim% que% mapeou% o%
serviço% e% o% iniciou,% este% erro% apareceu,% chame% o% [email protected]% para%
investigar,%pois%pode%ter%ocorrido%algum%problema%na%conJiguração%do%servidor%Java%em%
relação%ao%seu%domínio.

169

O Erro 404

O%erro%404%é%não%encontrado.%Cada%serviço%tem%uma%forma%de%resolver:

PHP%\%veriJique%se%está%acessando%corretamente.%

Java%\%veriJique%se%fez%o%mapeamento%no%seu%domínio%corretamente

170

Resolvendo o Erro 404 no PHP

O%erro%404%no%PHP%pode%ter%como%causa%comum%a%conJiguração%que%fez%em%seu%
aplicativo.
Problemas%comuns%relatados%para%ajudar:

Mod_Rewrite%\%Mapeamento%no%.htaccess%incorreto%para%URL%Amigáveis%

Falta%de%arquivo%\%Falta%do%arquivo%index.php%ou%conJiguração%incorreta%de%
mapeamento%do%index%personalizado%no%.htaccess

IMPORTANTE:* * O% suporte% da% Integrator% não% resolve% problemas% de% aplicativo% e% nem%
ensina% a% corrigir% .htaccess% com% mod_rewrite% personalizado.% Tais% situações% são%
consideradas%de%desenvolvimento%ou%ensino%e%fogem%ao%quesito%hospedar%um%site.

171

Resolvendo o Erro 404 no Java

O% erro% 404% no% Java% pode% ter% como% causa% comum% a% conJiguração% que% fez% em% seu%
aplicativo.
Problemas%comuns%relatados%para%ajudar:

Mapeamento%no%NGasi%\%ConJira%o%nome%que%deu%no%seu%WAR%Jile%para%o%que%fez%
de%mapeamento%no%NGasi.

Acesso%Incorreto%\%Iniciantes%costumam%executar%aplicativos%Java%por%programas%
como%Eclipse,%sem%se%dar%conta%da%falta%de%um%index.%Casos%como%index.jsf%em%vez%
de% um% index.jsp% reconhecido% pelo% servidor% Java% automaticamente,% causam% erro%
404%sem%que%o%usuário%perceba.
A%forma%correta%de%resolver%é%baixando%os%logs%do%servidor%Java%pelo%FTP%e%analisando%
sempre.

IMPORTANTE:* * O% suporte% da% Integrator% não% resolve% problemas% de% aplicativo.% Tais%
situações%são%consideradas%de%desenvolvimento%ou%ensino%e%fogem%ao%quesito%hospedar%
um%site.

172

Erros de Uso do Servidor Java

Existem%muitos%erros%em%um%servidor%java.%Neste%tópico%listamos%apenas%os%mais%
comuns:




PermGen
OutOfMemoryError:%Java%heap%space
Proxy%Error

173

Resolvendo o erro PermGen

A% JVM% separa% uma% área% Jixa% de% memória% no% momento% da% inicialização,% chamada% de%
Permanent% Generation% (PermGen)\% % Geração% Permanente% \% onde% são% armazenados% os%
objetos%estáticos,%objetos%de%reJlexão%(Class,%Method%e%Field),%objetos%de%ClassLoader%e%
Pool% de% Strings.% Como% esta% área% de% memória% não% costuma% ter% muitas% atualizações,% os%
objetos% costumam% demorar% para% serem% desalocados% da% memória.% % Vários% deploys%
consecutivos%costumam%gerar%muita%sujeira%e%esta%vai%sendo%acumulada%na%PermGen.
Esse%espaço%é%independente%do%Java%Heap%Space,%a%memória%oJicial,%conJigurada%por%nós,%
tendo%alocações%distintas.%%Por%padrão,%a%área%utilizada%para%o%PermGen%é%64mb.%Quando%
essa%área%de%memória%atinge%um%limite,%o%seguinte%erro%é%gerado:
java.lang.OutOfMemoryError:%PermGen%space
Como% este% é% o% erro% mais% comum,% você% precisa% da% ajuda% do% [email protected]%
para%podermos%conJigurar%seu%servidor%Java%de%forma%a%adequar%seu%plano%na%memória%
PermGen%fornecida%e%permitida%a%ele.
O% Tomcat% é% o% servidor% Java% mais% comum% neste% erro,% uma% vez% que% JBoss% e% GlassFish% já%
estão%com%as%conJigurações%máximas%estabelecidas%pré\conJiguradas.

174

Resolvendo o erro Java heap space

O%erro%mais%comum%de%“OutOfMemoryError:%Java%heap%space”%é%falta%de%memória%no%
servidor%Java%para%executar%o%aplicativo.
Para%resolver:
1)%VeriJique%a%necessidade%real%de%seu%aplicativo%perante%o%plano%que%escolheu
2)%Se%houver%mais%de%um%aplicativo,%remova%todos,%deixe%apenas%1%e%vá%acrescendo%cada%
aplicativo%até%que%o%erro%ocorra

IMPORTANTE:*O%suporte%da%Integrator%não%resolverá%de%outra%forma,%que%não%seja%
oferecendo%um%plano%com%mais%memória.%

175

Proxy Error no Acesso ao Aplicativo Java

Não se trata de uma mensagem que parte diretamente do servidor Java, mas que a causa é
feita por ele.
Ao navegar em seu aplicativo, digamos que se depare com o seguinte erro:

Proxy*Error
The%proxy%server%received%an%invalid%response%from%an%upstream%server.
The%proxy%server%could%not%handle%the%request%GET+/.
Reason:%Error*reading*from*remote*server
Additionally,%a%502%Bad%Gateway%error%was%encountered%while%trying%to%use%an%
ErrorDocument%to%handle%the%request.

O erro de Proxy apresentado é dado pelo servidor Apache. Para entender como funciona a
hospedagem, resumimos em três pontos:
1) Apache responde a todas as requisições de sites na porta 80
2) Cada servidor Java possui uma porta definida em suas configurações
3) O Apache faz o roteamento da 80 para a porta do servidor Java que opera pelo seu módulo
chamado "mod_proxy"
O Proxy Error ocorre quando o mod_proxy continua chamando o servidor Java, mas a
resposta deste serviço não ocorre. O Apache não sabendo o que responder gera o erro.
O que deve analisar:
1) Analisar os logs - Severos erros geram problemas na performance e no servidor Java
2) Tempo de resposta a uma requisição demasiadamente grande - O Apache é configurado
para 5 minutos no máximo
3) Memória do servidor Java estourou - Erros de PermGen ou OutOfMemory podem ocorrer,
assim como específicos do aplicativo
Como resolver:
1) Modificar o aplicativo para ser mais responsivo
2) Na falta de memória, adicionar mais memória ao servidor Java contratando o serviço, caso
opere em uma memória contratada padrão de um plano de hospedagem
3) Aumentar o tempo de resposta que o Apache exige, desde que esteja em uma hospedagem
de máquina virtual dedicada

Resolvendo erro java.lang.OutOfMemoryError: unable to create new
native thread

176

Se houver o erro “java.lang.OutOfMemoryError: unable to create new native thread”, é um
forte indicativo que seu aplicativo está tentando criar mais threads que nós impomos no
servidor como um todo, limitado por usuário.
Este erro é comum no uso de pools como C3P0 e deve ser analisado pelo desenvolvedor.
Uma recomendação, no uso do C3P0 é tentar inicializar um pool com “final static
ComboPooledDataSource pool…”.
Por outro lado, injetores de dependência como o Spring são altamente recomendados.

177

Erros Comuns de Operação no Banco de Dados

Existem%alguns%erros%comuns%de%operação%com%o%banco%de%dados%MySQL%ou%PostgreSQL%
que%vamos%listá\los%aqui.
1.%Erro%de%Permissão%no%MySQL%ou%PostgreSQL
2.%Banco%de%dados%existente%após%excluir%no%MySQL%ou%PostgreSQL
3.%Erro%de%Broken%Pipe%ou%Communications%link%failure

178

Erro de Permissão ou Privilégio no MySQL

Existem dois tipos de Erros de Permissão no MySQL comuns na hospedagem:
1. Erro na criação de tabelas e outros objetos no banco de dados por um usuário
2. Erro na permissão de functions, views ou procederes por desconhecimento do usuário

179

Erro de Permissão ou Privilégio no Usuário

Existem três possibilidades comuns de erro de permissão no MySQL.
1. No cPanel, vá em Bancos de Dados » Bancos de dados MySQL.

Verifique se o banco de dados possui o USUÁRIO que criou.

1.1. Se aparecer vazio como da imagem acima, adicione mais abaixo o usuário ao banco de
dados:

1.2. Dê a ele os privilégios de acesso ao banco de dados.
2. Outra possibilidade seria a sua chamada estar procurando o banco de dados com nome
diferente do que existe a tabela.
3. A terceira e última possibilidade, seria sua query buscar por uma tabela escrita em
MAIÚSCULAS, mas elas terem sido criadas em minúsculas no nome, ou vice-versa.

180

Erro de Permissão ou Privilégio em Functions, Views e Procedures

Um erro comum no MySQL para usuários inexperientes é a permissão de Views, Functions e
Procedures.
O MySQL diferencia na criação o acesso dando a permissão adequada, cujo o usuário terá
permissão de acesso.
Todo objeto criado remotamente - View, Functions e Procedures - que não estiverem com o
DEFINER informado, serão gerados com o usuário em condição de acesso remoto somente.

Todo objeto criado localmente, pelo phpMyAdmin, por exemplo - View, Functions e
Procedures - que não estiverem com o DEFINER informado, serão gerados com o usuário em
condição de acesso local somente.
O Exemplo mostrado abaixo é para entender como se faz a permissão para acesso local de
determinado usuário - que deve ser considerado ao realizar o seu teste, colocando o seu do
cPanel.
1. A Tabela de exemplo:
create table teste (id int not null primary key auto_increment, data date);
2. A procedure de exemplo, onde o USUARIO é o seu usuário do cPanel:
DELIMITER $$
CREATE DEFINER=‘USUARIO’@‘localhost' PROCEDURE `inserir`(data date)
BEGIN
INSERT INTO teste VALUES (NULL,data);
END $$
DELIMITER ;
3. Testando a procedure na hospedagem, seria assim:
call inserir('2012-12-12');

IMPORTANTE: Caso precise de mais instruções, recomendamos a documentação do
MySQL. O suporte da Integrator Host não aceita pedidos de ajuda que envolvam ensino

181

técnico que deve ser obrigação do desenvolvedor conforme reza nosso contrato.

182

Resolvendo erro de Privilégio

Remova onde o criou e recrie da forma correta, ou seja, se criou remotamente, remova
remotamente e o recrie com o DEFINER como citamos em Erro de Permissão ou Privilégio
em Functions, Views e Procedures .
Se não entender bem do MySQL, e quer criar um objeto com permissão local, simplesmente
remova o remoto e recrie no phpMyAdmin, que mesmo sem o DEFINER, ele criará
localmente como permissão do usuário.

IMPORTANTE: Caso precise de mais instruções, recomendamos a documentação do
MySQL. O suporte da Integrator Host não aceita pedidos de ajuda que envolvam ensino
técnico que deve ser obrigação do desenvolvedor conforme reza nosso contrato.

183

Erro de Permissão no PostgreSQL

Quem opera criando tabelas através do aplicativo Java, usando JPA, Hibernate ou JDBC
diretamente, deve:
1. Não criar usuário no cPanel e nem atribuir ele ao Banco de Dados
2. Usar o usuário do cPanel/FTP para se conectar ao Banco de Dados

184

Resolvendo o Erro de Permissão no PostgreSQL

Se você criou tabelas, ou outros objetos, através do aplicativo Java, usando JPA, Hibernate ou
JDBC diretamente, e não usou o usuário do cPanel/FTP, deve realizar os passos abaixo para
resolver:
1. Faça um backup via SSH usando o mesmo owner que criou as tabelas, mas retirando-o do
backup. O comando que deve ser realizado:
pg_dump -i BANCO_DE_DADOS>ARQUIVO_BKP.sql -U USUARIO --no-owner
Onde temos:
BANCO_DE_DADOS - nome do seu banco de dados
ARQUIVO_BKP.sql - nome do arquivo de backup do banco de dados completo
USUARIO - o usuário que utilizou para gerar as tabelas/objetos pelo seu aplicativo
2. Suba o backup em um segundo banco de dados criado no cPanel usando o owner do
cPanel. O comando que deve ser realizado:
psql BANCO_DE_DADOS_NOVO<ARQUIVO_BKP.sql -U USUARIO_CPANEL
USUARIO_CPANEL - use o usuário do cPanel neste caso
3. Confira tudo, veja se está ok com o owner e se consegue manipular pelo phpPgAdmin
4. Pare o serviço Java caso ele esteja conectando ao banco de dados que está com problemas
5. Remova o banco de dados com problema através do cPanel.
6. Recrie novamente o mesmo banco de dados removido pelo cPanel,
7. Suba via SSH o backup no banco de dados que foi removido e recriado
psql BANCO_DE_DADOS<ARQUIVO_BKP.sql -U USUARIO_CPANEL
8. Mude a sua conexão de internet, se usar o Hibernate/JPA para criar objetos, usando o
usuário do cPanel
9. Suba o aplicativo Java com a conexão alterada e refaça o deploy do seu aplicativo para
obter a conexão correta da próxima vez que operar, iniciando o servidor Java novamente.

185

Banco de Dados existente após exclusão

Excluir um banco de dados com conexão persistente, ativa, usual em aplicativos Java, causa
este erro. O cPanel apresenta como excluído mas, no servidor de banco de dados, a operação
não foi realizada.
Como resolver:
1. No MySQL ou PostgreSQL, tente parar o servidor Java e verificar se, após isso, o banco
foi excluído também no servidor de banco de dados.
2. Se o passo 1 não resolver, entre em contato com o [email protected] relatando:

Domínio que está seu serviço ou Domínio principal que o identifica na Integrator

O nome do Banco de Dados que não consegue ser excluído

Tipo do Banco de Dados - PostgreSQL ou MySQL

186

O Erro Broken Pipe ou Communications link failure

Este erro, comum em banco de dados MySQL, ocorre por conta de um
timeout padrão, no MySQL – e na Integrator, de 8 horas de conexão inativa.
O problema é comum quando o desenvolvedor não resolve em seu Pool de
Conexões essa característica, seja por desconhecimento ou por
esquecimento.
Para resolver, existem formas diferentes para cada framework que opera.
Por exemplo, com o Hibernate, em um hibernate.cfg.xml, com o C3p0, temos
o hibernate.c3p0.idle_test_period que resolve o broken pipe. No exemplo,
ele checa a cada 100 segundos se a conexão está inválida:
<property name="hibernate.connection.provider_class">
org.hibernate.connection.C3P0ConnectionProvider
</property>
<property name="hibernate.c3p0.min_size">1</property>
<property name="hibernate.c3p0.max_size">20</property>
<property name="hibernate.c3p0.timeout">30</property>
<property name="hibernate.c3p0.idle_test_period">100</property>

No Pool do Tomcat, é comum vermos o erro Communications link failure.
Neste caso, por exemplo, temos o atributo validationQuery, além de outros
testes que permitem a validação da conexão a cada X tempo, permitindo
assim que o aplicativo possa analisar se a conexão está ainda ativa ou se o
MySQL realizou o famoso timeout.
<Resource auth="Container"
name="jdbc/POOL"
driverClassName="com.mysql.jdbc.Driver"
maxActive="20"
maxIdle="10"
maxWait="-1"
type="javax.sql.DataSource"
url="jdbc:mysql://localhost/banco?autoReconnect=true"
password="senha"
username="usuario"
removeAbandoned = true
validationInterval = 34000
validationQuery="SELECT 1"
testOnBorrow="true" testWhileIdle="true"
timeBetweenEvictionRunsMillis="10000"
minEvictableIdleTimeMillis="60000" />
</Context>

Abaixo uma rápida explicação técnica:

187

Validação da Conexão
• testOnBorrow = true - valida antes de ser usado no pool. Se não validar,
ele será retirado do pool, sendo pego outro.
• validationInterval = 34000 - usado para evitar o excesso de validação ,
apenas executar a validação no máximo nesta frequência - tempo em
milissegundos . Se uma conexão está prevista para a validação , mas já foi
validado anteriormente neste intervalo, não será validado novamente .
Quanto maior o valor, melhor o desempenho, mas você aumenta a chance de
uma conexão antiga estar sendo requisitada.
• validationQuery = SELECT 1 - consulta o MySQL usando esta simples
query para validar conexões do pool antes de apresenta-las ao aplicativo.
Vazamentos de Conexão
Existem várias definições de configuração para ajudar a detectar vazamentos
de conexões, ajudando a resolver possíveis leaks:
• removeAbandoned = true – remove conexões abandonadas se excederem
o removeAbandonedTimeout . A conexão é considerada abandonada e
elegíveis para retirada do pool. Conexões em banco de dados, desta forma,
podem ser recuperadas a partir de aplicações que não conseguem fechar
uma conexão.
• removeAbandonedTimeout = 54 - tempo limite em segundos antes que
uma conexão seja considerada abandonada e elegível para ser removida.
• validationQuery - Vide explicação anterior.

IMPORTANTE: As questões informadas neste tópico não possuem suporte
na hospedagem em analisar problemas relacionados, uma vez que são
considerados de conhecimento técnico do desenvolvedor.

188

Servidor Java não quer parar ou reiniciar

Entre%no%terminal%SSH%e%execute%o%comando%abaixo:
ps*cu*TU*USUARIO_FTP*|*awk*'{*print*$2*"*"*$11*}'*|*grep*java
Onde%USUARIO_FTP%é%o%usuário%do%FTP%que%está%executando%o%servidor%Java.
Pegue%o%número%que%é%apresentado%do%servidor%Java%e%mate%o%processo%assim.%
kill*T9*NUMERO

Digite%o%número%do%PID%que%apareceu%no%comando%acima%e%pressione%ENTER.

Depois,% vá% no% painel% Java,% clique% em%
.% Aparecerão% diversos%
erros,%conJirme%o%diálogo%de%Erro%que%o%servidor%exibirá%no%Jinal.
Após,%clique%em%

%%e%aguarde%iniciar.

IMPORTANTE: Se o servidor Java não funcionar ainda assim, relate o
problema no [email protected].

189

Fantastico De Luxe - Access denied for user

Veja%o%tópico%“Problema%ao%instalar%um%aplicativo%no%Fantastico%De%Luxe%”%deste%manual.

190

Troca de Senha do Admin Do GlassFish

Os passos abaixo são para o GlassFish 3.x, instalado em diretório default pelo NGasi.
Antes de começar, é exigido um pequeno conhecimento em shell. É necessário acessa o SSH
com seu usuário para executar os passos. Caso não saiba como operar, a recomendação é
reinstalar o servidor GlassFish e reconfigurar seu aplicativo.
1) Deixe o GlassFish parado
~/appservers/glassfish-3x/bin/./asadmin.sh stop-domain domain1
2) Retire o antigo autenticador cujo a senha se perdeu:
mv ~/.asadminpass ~/.asadminpass.bk
3) No SSH, faça um backup do seu atual domain1:
~/appservers/glassfish-3x/bin/./asadmin.sh backup-domain
domain1
4) Verifique a porta do GlassFIsh admin, anotando o número que aparecer, entre aspas, com o
comando abaixo:
cat  ~/appservers/glassfish-3x/domains/domain1/config/
domain.xml | grep 'network-listener port' | grep adminlistener | grep admin-thread-pool| awk -Fport= '{print $2}'
4.1) Digamos que o resultado foi:
"8395" protocol="admin-listener" trans
4.2) O número é 8395
5) Crie um segundo domain com a porta encontrada:
~/appservers/glassfish-3x/bin/./asadmin.sh create-domain -adminport 8395 domain2

6) Atribua a senha para o admin após a pergunta no SSH. As perguntas começando ao admin
(coloque admin)
- Digite o nome de usuário admin [Pressione a tecla Enter para
aceitar o default "admin" / sem senha]>  admin
- Digite a senha admin [Pressione a tecla Enter para aceitar o
default de nenhuma senha]>
- Digite a senha admin novamente>

7) Copie os arquivos de autenticação do domain2, que possui a nova senha, para o domain1,
cujo perdeu:
cp ~/appservers/glassfish-3x/domains/domain2/config/

191

cacerts.jks \
~/appservers/glassfish-3x/domains/domain2/config/admin-keyfile
\
~/appservers/glassfish-3x/domains/domain2/config/keyfile \
~/appservers/glassfish-3x/domains/domain2/config/keystore.jks
\
~/appservers/glassfish-3x/domains/domain1/config/

8) Apague o domain2 que não vai mais usar:
~/appservers/glassfish-3x/bin/./asadmin.sh delete-domain
domain2
9) Inicie e entre no admin com a senha que havia dado no passo 6 e pronto, já está operando
novamente no GlassFish Admin:
~/appservers/glassfish-3x/bin/./asadmin.sh start-domain
domain1

IMPORTANTE:*O%suporte%da%Integrator%não%resolverá%estes%passos%para%o%usuário.%É%de%
total%responsabilidade,%assim%que%alterada%a%senha,%guardar%em%local%seguro%para%não%
esquecer%um%lembrete.%

192

Serviço Java não responde com erro de Timeout

Existe um tipo de problema que para muitos desenvolvedores é incomum: Thread Leaks. A
característica mais comum, de threads abertas ao máximo, sem ter como o serviço Java de
abrir novas, é uma página em branco ou, após alguns minutos aparecer um erro no browser
de tempo esgotado - Timeout.
Alguns servidores como o Jetty pode se comportar simplesmente não servindo o conteúdo e
sim indexando as páginas e arquivos dentro do diretório de aplicativos.
Muitos%usuários%percebem%sempre%que%volta%a%funcionar%após%reiniciar%o%servidor%Java,%
sem%entender%a%causa.
Estes problemas não tem uma solução única e cada aplicativo apresenta em seus logs erros
que formam a situação. Cabe ao desenvolvedor, ao se deparar com o problema, baixar os logs
e analisar todos os erros, antes mesmo de reiniciar o serviço Java.

IMPORTANTE:*O%suporte%da%Integrator%não%analisará%os%logs%para%os%usuários,%muito%
menos%dará%dicas%para%solucionar%a%causa.%%Aplicativo%desenvolvido%por%empresa/pessoa%
que%não%opera%mais%em%manutenção%do%mesmo,%deve%ser%ainda%assim%acionada%para%
resolução%da%causa,%já%que%se%trata%de%uma%correção%para%um%problema%não%visto%no%
desenvolvimento.

193

Erro The web application [] registered the JDBC driver

Se nos logs encontrar o erro
similar a este “SEVERE [localhost-startStop-2]
org.apache.catalina.loader.WebappClassLoader.clearReferencesJdbc
The
web
application [] registered the JDBC driver [...Driver] but failed to unregister it when the
web application was stopped. “, significa que sua biblioteca JDBC pode estar conflitando
com o diretório lib do servidor Java e do seu WAR/EAR file.
Neste caso, retire a biblioteca JDBC duplicada de um dos dois locais. Se usar POOL de
conexões, retire do seu aplicativo WAR/EAR.

IMPORTANTE:*O%suporte%da%Integrator%não%analisará%os%logs%para%os%usuários,%muito%
menos%dará%dicas%para%solucionar%a%causa.%%Aplicativo%desenvolvido%por%empresa/pessoa%
que%não%opera%mais%em%manutenção%do%mesmo,%deve%ser%ainda%assim%acionada%para%
resolução%da%causa,%já%que%se%trata%de%uma%correção%para%um%problema%não%visto%no%
desenvolvimento.

194

Erro do MySQL: Host is blocked because of many connection errors

Veja detalhes sobre este erro em Erro comum: Host is blocked because of many connection
errors .

195

Erros Comuns de E-mail

Existem alguns erros comuns no envio de email que fornecemos as soluções mais práticas
neste capítulo.
É importante ressaltar que alguns erros são de natureza puramente do programa que está
usando para submeter emails e nem sempre nosso suporte consegue alcançar a resposta certa
para o problema de imediato.

196

Erro 501 Too many syntax or protocol errors

Existem erros ao enviar emails usando o Outlook.  Provavelmente, quando você copia e cola
os endereços de e-mail no campo Para, ou os chama, estes incluem aspas ao seu redor que o
servidor não sabe como lidar, por exemplo: '[email protected]' em vez de apenas
[email protected].
Remova as aspas e tente enviar o email novamente.

197

Alguns emails não vão para a caixa de enviados no Outlook

Tente os passos a seguir caso seu Outlook seja 2010 - pode funcionar em versões superiores
ou 2007:
1. Botão direito do mouse sobre "Itens Enviados"
2. Propriedades
3. Marcar "mostrar número total de Itens"
4. Desmarcar “Gerar modos de exibição Microsoft Exchange”
O endereço abaixo pode ser consultado para dúvidas e soluções sobre esta questão:
http://support.microsoft.com/kb/184059/pt-br

IMPORTANTE: Caso o endereço que a Microsoft fornece for alterado, nos informe no
[email protected] para atualizarmos o manual.
 

198

Outlook não salva emails em itens enviados

Se a caixa de seleção Salvar cópias das mensagens na pasta Itens Enviados não estiver
marcada, a pasta Itens Enviados não manterá uma cópia de cada mensagem enviada. A caixa
de seleção Salvar cópias das mensagens na pasta Itens Enviados é marcada por padrão.
Para selecionar a configuração, siga este procedimento:
1.
2.
3.

No menu Ferramentas, clique em Opções.
Na guia Preferências, clique em Opções de Email.
Em Manipulação de mensagens, marque a caixa de seleção Salvar cópias das
mensagens na pasta Itens Enviados.

IMPORTANTE: Há uma pasta Itens Enviados correspondente para cada pastaCaixa de
Entrada. Se você usar mais de uma conta de email e quiser enviar uma mensagem de uma
conta secundária, uma cópia da mesma também será enviada para a pasta Itens Enviados da
conta padrão principal.
 

199

Erro de E-mail: Retry timeout exceeded copy

O erro "Retry timeout exceeded" retornado pelo servidor de email, Exim, indica que o
servidor tentou enviar o email ao destinatário, mas falhou.
Depois de uma certa quantidade de tentativas falhas para entregar um determinado e-mail, o
servidor envia a mensagem que irá adicionar o ID da mensagem para um banco de dados
específico do serviço. As mensagens neste banco de dados não estão inclusas no próximo
ciclo de tentativas em transmitir mensagens de e-mail. Depois de um período de tempo, as
mensagens no banco de dados são re-enviadas, em uma nova rodada de tentativas de
transmissão. Este processo continua até que se atinge um ponto de falha, onde o servidor não
tentará enviar a mensagem. Após as tentativas de entregar a mensagem esgotadas, você
poderá então ver a mensagem de devolução com um retorno de erro: Retry timeout
exceeded.

200

Causas da falha: Retry timeout exceeded

Vários motivos causam esta falha. Todos são referentes ao local para onde envia, sendo os
principais:





Caixa de email lotada - usuário não tem espaço adicional para receber sua mensagem
Porta do SMTP bloqueada - a porta de comunicação SMTP não funciona
Filtro antispam - seus emails são bloqueados pelo servidor para o qual envia
Roteamento da rede com falhas (problemas de DNS) - erro de DNS do domínio para o
qual envia

Problemas de caixa lotada ou antispam, a empresa para o qual envia conseguirá resolver
facilmente se conseguir se comunicar com eles a respeito do assunto. Porém, problemas com
porta do SMTP ou falhas de DNS, podem demorar mais tempo, pois a empresa ao qual está
submetendo emails pode estar passando por instabilidades ou mudanças de configurações no
qual estão propagando ou precisam ser resolvidos pela equipe técnica deles.
Para nossa ajuda, envie sempre o email de falha para [email protected] para que
nossa equipe técnica especilizada seja escalada para análise e ajuda com o problema.

201

O SVN

Para% usar% o% SVN% no% servidor,% será% necessário% mudar% de% tema.% Infelizmente,% o% tema%
padrão%do%painel%de%controle%não%possui%suporte%direto%ao%assistente%do%SVN.

IMPORTANTE:%O%SVN%usa%o%protocolo%“svn://”%e%tem%o%repositório%completamente%
criado%dentro%do%usuário.%
%

202

Criando seu Repositório SVN

Inicialmente,%precisamos%mudar%o%tema%do%painel%para%ter%acesso%ao%ícone%do%SVN.%Veja%
abaixo%os%passos:
1)%Para%mudar%de%tema,%vá%em%Preferências*» *RVSkin*Theme*Changer:

2)%Selecione%o%tema%rvneo%e%conJirme%no%botão%Change:

Acessando o Painel SVN

Assim% que% trocar% de% tema,% desça% a% rolagem% e% encontrará% em% Programa* » * Subversion*
and*Trac*Manager%o%SVN:

203

Ao%entrar%no%painel%do%Subversion,%execute%estes%passos:
1)%Habilite%o%SVN%clicando%em%Activate*Now:

2)%Assim%que%ativar,%desça%a%rolagem%até%o%Jim%e%clique%em%Go*to*Management*
Subversion*and*Trac*NOW:

3)%Para%conJigurar%uma%conta%%no%SVN,%crie%um%Grupo:

4)%Assim%que%criar%o%grupo,%mais%abaixo,%adicione%um%usuário:

204

5)% Adicionado% o% usuário% e% o% grupo,% vá% em% Subversion* Management% e% visualize% o%
caminho%para%acesso%remoto:

6)% Ainda% em% Subversion* Management,% você% pode% gerir% os% privilégios% do% grupo,%
clicando%em%Subversion*Privileges*Management:

6.1)%Em%

%Add*Privileges,%%você%pode%adicionar%o%privilégio%ao%repositório:

Se%desejar%remover%um%repositório,%clique%em%
%
%

205

.

Testando o acesso remoto

Antes% de% mais% nada,% só% teste% se% o% seu% domínio% estiver% apontando% para% o% servidor% da%
Integrator.
Depois% de% adicionado% seu% repositório,% usuário% e% senha,% teste% seu% acesso% usando% um%
programa%como%o%Eclipse,%por%exemplo.
1)%No%Eclipse,%podemos%testar%indo%em%File*» *Import.%%Na%janela%Import,%selecione%SVN%
» %Checkout*Projects*from*SVN%e%conJirme%no%botão%Next.

2)%Na%próxima%etapa%selecione%Create*a*new*repository*location.

206

3)% Na% etapa% seguinte,% em% URL,% coloque% o% endereço% apresentado% em% Subversion*
Management.%Por%exemplo:

4)% Ao% solicitar% o% usuário% e% a% senha,% coloque% aquele% que% cadastrou% neste% repositório.%
Prossiga%até%que%seja%concluído.

IMPORTANTE:%A%Integrator%não%ensina%a%operar%o%SVN.%A%demonstração%ilustrada%neste%
tutorial%é%apenas%um%teste%e%não%responderemos%sobre%problemas%de%sua%operação%local,%
uma%vez%que%foge%a%hospedagem%e%entra%no%quesito%ensino.%

207

Realizando Dump do Repositório

Para%realizar%um%backup/dump%do%repositório%SVN:
1)%Entre%no%SSH%com%seu%usuário%e%senha%do%cPanel.
2) Realize o dump com a linha de comando no SSH:
svnadmin dump ~/rvsubversion/repository/ > ~/svn.dump

O comando do passo 2) criará um arquivo chamado svn.dump dentro do usuário de sua conta.
Se precisar baixar via FTP, ao logar o encontrará junto a arquivos e diretórios. Ele é gerado
no mesmo "nível" de arquivos dos diretórios: public_html, mail e etc.

IMPORTANTE:%A%Integrator%não%ensina%a%operar%o%SVN.%A%demonstração%neste%tutorial%é%
apenas%um%exemplo%e%não%responderemos%sobre%problemas%de%sua%operação%local,%uma%
vez%que%foge%a%hospedagem%e%entra%no%quesito%ensino.%

208

Recuperando o Dump do Repositório

Para%realizar%a%recuperação%do%backup/dump%do%repositório%SVN:
1)%Suba%para%o%seu%usuário%o%dump%do%seu%SVN.%Para%exemplo,%subimos%o%nosso%backup%
com%um%arquivo%chamado%de%"svn.dump".
2)%Entre%no%SSH%com%seu%usuário%e%senha%do%cPanel.
3) Realize a recuperação do dump com a linha de comando no SSH:
svnadmin load ~/rvsubversion/repository/ < ~/svn.dump

O comando do passo 3) irá buscar um arquivo chamado svn.dump dentro do usuário de sua
conta. Lembre-se que ele deve ser levado via FTP, onde no exemplo ele é colocado no
mesmo "nível" de arquivos dos diretórios: public_html, mail e etc.

IMPORTANTE:%A%Integrator%não%ensina%a%operar%o%SVN.%A%demonstração%neste%tutorial%é%
apenas%um%exemplo%e%não%responderemos%sobre%problemas%de%sua%operação%local,%uma%
vez%que%foge%a%hospedagem%e%entra%no%quesito%ensino.%

209

Erro no repositório do SVN

O%SVN%é%um%serviço%particular,%de%servidor%SVNServe%que%sobe%no%usuário%de%sua%conta.%
Como% existem% alguns% erros% que% são% de% natureza% impossível% de% serem% solucionadas,%
nossa%recomendação%é%de%backup%do%svn%caso%tenha%erro%e%recriação%do%repositório.

IMPORTANTE:%A%Integrator%não%ensina%a%operar%o%SVN.%A%demonstração%neste%tutorial%é%
apenas%um%exemplo%e%não%responderemos%sobre%problemas%de%sua%operação%local,%uma%
vez%que%foge%a%hospedagem%e%entra%no%quesito%ensino.%

210

O GIT

O%GIT%trabalha%via%SSH,%já%ativo,%por%padrão,%nos%servidores%da%Integrator.%O%que%
apresentaremos%a%seguir%é%um%exemplo%de%como%usá\lo.
Para%criar%um%%repositório%GIT,%de%dentro%da%sua%conta,%no%servidor,%em%seu%domínio,%%
através%do%SSH,%faça%os%seguintes%passos:
1) Crie%o%diretório%do%repositório,%por%exemplo:
a. mkdir%\p%repo/nome_projeto.git
b. cd%repo/nome_projeto.git
c. git%\\bare%init
2) Saia%do%SSH%que%está%logado%no%servidor.
3) Em%sua%máquina%local,%no%seu%computador,%crie%um%repositório%GIT,%escolhendo%o%
projeto%que%deseja%trabalhar%com%esta%ferramenta%.

Nota:%O%GIT%pode%trabalhar%com%o%Eclipse%IDE,%usando%o%plug\in%EGit:
http://wiki.eclipse.org/EGit/User_Guide

IMPORTANTE:%A%Integrator%não%ensina%a%operar%o%GIT.%A%demonstração%passada%neste%
tutorial%é%apenas%um%exemplo%de%seu%uso.%
%

Para Desenvolvedores

Este% tópico% foge% ao% padrão% de% um% serviço% de% suporte% de% hospedagem% pois% envolve%
questões%técnicas%de%habilidade%e%conhecimento%do%desenvolvedor.
As% informações% que% encontrar% não% possuem% nosso% suporte% para% análise% ou% veriJicação%
de%erros,%seja%de%qual%natureza%for.
O% responsável% pelo% conhecimento% de% adoção% das% informações% aqui% contidas,% junto% a%
documentação%do%serviço%que%deseja%operar,%é%do%desenvolvedor.

IMPORTANTE:% O% tópico% envolve% ensino,% mas% com% base% de% endereços% de% sites% de%
terceiros%em%alguns%casos.%Não%nos%responsabilizamos%por%ensinar%desenvolvedores%que%
operam%em%suas%máquinas%apenas%por%plugins%de%softwares%como%Eclipse%ou%NetBeans.%
Se%a%sua%necessidade%for%de%aprendizado,%recomendamos%um%bom%fórum%ou%uma%escola%

211

adequada%de%ensino%de%desenvolvimento.

Instalando o WebServices Axis2 no Tomcat

1)%Baixe%o%Axis2%em:
http://axis.apache.org/axis2/java/core/download.cgi
Os%passos%seguintes%seguem%as%regras%abordadas%no%tópico%Subindo%o%aplicativo%no%
Tomcat.
2)%Pare%o%Tomcat
3)%Coloque%o%axis2.war%dentro%do%diretório%appservers/apache\tomcat\Xx/webapps.
4)%Inicie%o%Tomcat
Os%passos%seguintes%são%ensinados%no%manual,%visto%no%último%passo%informado%abaixo.
5)%Acesse%o%axis2%pela%URL%do%seu%domínio,%algo%como:
http://seusite.com.br/axis2
6)%Use%o%link%“Validate”%para%veriJicar%se%está%executando%corretamente.
7)%Veja%mais%instruções%de%uso%do%Axis2%no%endereço:
http://axis.apache.org/axis2/java/core/docs/installationguide.html#servlet_container

IMPORTANTE:*Caso%o%Tomcat%não%esteja%na%raiz%do%domínio,%faça%o%mapeamento%do%
aplicativo%axis2%no%Ngasi.

Enviando E-mails

Uma% dúvida% comum% de% desenvolvedores% na% Integrator% é% o% envio% de% emails.% Operamos%
com% Java% e% PHP% oJicialmente,% logo,% os% exemplos% contidos% aqui% são% nestas% duas%

212

linguagens.
Envios%que%fujam%as%regras%básicas,%como%as%citadas%logo%abaixo,%não%possuem%garantia%
alguma% de% seu% funcionamento.% Pedidos% de% suporte% desta% natureza,% com% alegações% de%
funcionamento% anterior% diferindo% das% conJigurações% alertadas,% são% negados% como%
resposta.
Resumo%das%conJigurações%para%envio%de%email%online%em%aplicativos%Web%hospedados%
na%Integrator:






Host:%localhost
Porta:%25
Usuário%e%senha:%email%criado%e%sua%respectiva%senha%no%painel%de%controle
SSL%e%TLS:%Não%deixe%nada%conJigurado%a%respeito%ou%coloque%No
Requer%autenticação:%Sim

IMPORTANTE:* É% fundamental% entender% que% nossos% exemplos% não% possuem% nosso%
suporte% para% análise% de% erros% que% obtiver,% uma% vez% que% isso% caracteriza% ensino.% Eles%
servem%como%base%para%o%desenvolvedor%que%já,%por%sua%obrigação%técnica,%deve%resolver%
a%questão%alterando%seu%aplicativo%para%obter%o%envio%correto%no%seu%site/serviço.

Enviando E-mail com Java

Para%enviar%email%em%Java,%temos%um%exemplo%simples,%compactado%com%a%fonte%.java,%no%
arquivo%.war%chamado%EnviaEmail.war.
Baixe%o%exemplo%no%endereço%(arquivo%precisa%de%duas%descompactações,%pois%está%
como%.zip%também):
http://wiki.integrator.com.br/index.php?title=Enviando_E\mail_em_Java
Descompacte%o%.war%com%um%programa%de%Zip%ou%Rar%que%estiver%instalado%em%sua%
máquina.%Na%descompactação,%abra%o%%arquivo%“WEB-INF/classes/br/com/integrator/
Envia Email.Java”%.%
Nele,%temos%as%seguintes%linhas:


props%=%System.getProperties();
props.put("mail.smtp.host",%"localhost");
props.put("mail.smtp.port",%"25");

213

props.put("mail.smtp.auth",%"true");
session%=%Session.getInstance(props,
new*Autenticar("seu_email_aqui","sua_senha_aqui")
);
Coloque%seu%email%completo,%criado%no%cPanel%e%a%respectiva%senha%dada%a%ele,%na%linha%
de%%“new%Autenticar”.

Resumo%das%conJigurações%para%envio%de%email%online%informado%no%EnviaEmail.java:

Host:%localhost

Porta:%25

Usuário%e%senha:%email%criado%e%sua%respectiva%senha%no%painel%de%controle

SSL%e%TLS:%Não%deixe%nada%conJigurado%a%respeito%ou%coloque%No

Requer%autenticação:%Sim

Enviando E-mail com PHP

O ideal para sua segurança é enviar emails autenticados, com uma boa biblioteca de PHP que
permita isso de forma fácil. Para isso, temos o PHPMailer.
Para%enviar%email%em%PHP,%temos%um%exemplo%simples,%compactado,%no%arquivo%.zip%
chamado%phpmailer.zip.
Baixe%o%exemplo%no%endereço:
http://wiki.integrator.com.br/index.php?title=Enviando_E\mail_com_PHP
Descompacte%o%.zip%com%um%programa%de%Zip%ou%Rar%que%estiver%instalado%em%sua%
máquina.%Na%descompactação,%abra%o%%arquivo%“confirm.php”%.%
Nele,%temos%as%seguintes%linhas%que%devem%ser%alteradas%respectivamente%para%seu%site/
domínio,%seu%email%e%senha.
$dominio = 'seudominio.com.br';
$mailfrom = "contato@$dominio";

214

$passwd = "SUA_SENHA_AQUI";
Para utilizar o exemplo:
1.%Crie%o%email%no%cPanel.
2. Se quiser baixar a última versão do PHPMailer, este endereço é o mais indicado:
https://github.com/PHPMailer/PHPMailer
Resumo%das%conJigurações%para%envio%de%email%online%com%PHPMailer%informado%no%
exemplo:

Host:%localhost

Porta:%25

Usuário%e%senha:%email%criado%e%sua%respectiva%senha%no%painel%de%controle

SSL%e%TLS:%Não%deixe%nada%conJigurado%a%respeito%ou%coloque%No

Requer%autenticação:%Sim

215

Alterando o Comportamento com as Diretrizes Apache

O%Apache%permite%mudar%seu%comportamento%através%de%diretrizes%que%permitem%ser%
adicionadas%em%arquivos%.htaccess.
Essas%diretrizes%são%instruções%que%podem%ir%de%comportamentos%básicos%e%simples%de%
compreender%até%mesmo%envolver%lógica%de%programação.
A%documentação%para%aprender%sobre%as%diretrizes%do%.htaccess%Jica%em:
http://httpd.apache.org/docs/2.2/pt\br/howto/htaccess.html

IMPORTANTE:%O%suporte%da%Integrator%Host%não%analisa%seu%.htaccess%personalizado%em%
casos%que%envolvam%o%comportamento%de%seu%site,%seja%pela%performance%ou%análise%de%
URL%amigável.%

216

Desenvolvendo seu .htaccess

O%.htaccess%(%arquivos%de%conJiguração%distribuída%\%distributed%conJiguration%Jiles)%é%um%
arquivo%que%permite%realizar%mudanças%comportamentais%de%acesso%aos%arquivos%
existentes%em%um%site%servido%pelo%servidor%Apache.
O%.htaccess%é%complexo%e%possui%características%que%nas%conJigurações,%podem%exigir%
conhecimentos%de%lógica%de%programação.
Existem%alguns%motivos%para%não%usar%.htaccess:
1.%Ele%é%complexo%e%exige%lógica%em%certas%diretrizes
2.%Exige%conhecimento%em%regex%pelo%usuário%para%obter%muitas%vezes%o%comportamento%
desejado
3.%Pode%inJluir%profundamente%na%performance%do%site
Para%saber%mais:
http://httpd.apache.org/docs/2.2/pt\br/howto/htaccess.html

IMPORTANTE:%O%suporte%da%Integrator%Host%não%analisa%seu%.htaccess%personalizado%em%
casos%que%envolvam%o%comportamento%de%seu%site,%seja%pela%performance%ou%análise%de%
URL%amigável.%

217

URL Amigável ou Mod_Rewrite

URL%amigável%ou,%URLs%Amigáveis,%são%a%forma%que%os%desenvolvedores%usam%para%
rescrever%um%endereço%de%site%dinâmico,%geralmente%em%PHP,%da%forma%original%para%
uma%mais%“amigável”%a%leitura,%tanto%para%o%endereço%no%navegador,%como%para%os%
buscadores%como%o%Google.
Por%exemplo,%digamos%que%seu%site%tenha%um%link%chamado%hospedagem,%que%é%dinâmico,%
onde%seu%usuário%acessaria%ele%da%forma%abaixo:
http://integrator.com.br/?p=2
Mas%os%usuários%podem%ter%diJiculdade%em%lembrar%o%endereço%todo%de%uma%vez,%ou%até%
mesmo%memorizar%na%barra%de%endereço%qual%número%é%a%página%que%desejam%ver.%Com%
o%intuito%de%facilitar,%você%modiJica%o%comportamento%%para%que%seja%visível%assim:
http://integrator.com.br/hospedagem
Internamente,%o%“?p=2”%permanece%existindo.%Mas%para%seu%usuário,%o%navegador/
browser%e%os%buscadores,%é%na%realidade%“hospedagem”.
A%rescrita%foi%feita%pelo%servidor,%usando%recursos%de%diretrizes%existentes%no%Apache%
através%do%.htaccess.%Digamos%que%seja%um%“truque”%que%envolve:
1.%Lógica%de%programação
2.%Conhecimento%de%regex.
Exemplo:
Um%site%contendo%o%seguinte%conteúdo:
http://integrator.com.br/hospedagem.php?plano=1
E%deseja%deixar%ao%seu%usuário%visível:
http://integrator.com.br/hospedagem/plano\php\basico
Teria%um%.htaccess%assim:
RewriteEngine%On
RewriteBase%/
ErrorDocument%404%/404.php
RewriteRule%^hospedagem\/plano\php\basico$%%/hospedagem.php?plano=1%[NC,L]
Já%existem%casos%mais%complexos,%que%precisam%operar%em%Regex,%por%exemplo,%digamos%
que%a%URL%seja:
http://integrator.com.br/edit/host/1
Temos%que%usar%uma%expressão%regular%assim:
([a\z]+)\/([a\z]+)\/([0\9]+)
O%arquivo%em%por%trás%desta%URL,%serial%algo%como:

218

http://integrator.com.br/sistema.php?act=$1&model=$2&id=$3
Onde%cada%$número%é%o%número%do%grupo%em%sequência%ao%que%foi%analisado%pela%
expressão%regular.
Para%entender%melhor%o%trecho%do%.htaccess:
RewriteRule%^([a\z]+)\/([a\z]+)\/([0\9]+)$%%sistema.php?act=$1&model=$2&id=$3%
[NC,L]

IMPORTANTE:% Sem% experiência,% procure% estudar% para% entender% o% que% pretende% fazer%
ou% ,% sempre% que% possível,% buscar% ajuda% de% proJissional% qualiJicado% experiente% para%
instruí\lo%em%como%resolver%a%questão%do%seu%programa.%O%suporte%da%Integrator%por%ser%
hospedagem,% em% momento% algum% será% responsável% por% tal% ajuda% de% desenvolvimento%
comportamental% particular% e% nem% resolução% das% conseqüências% de% conJigurações%
erradas%que%obtiver.

219

Procedimentos em seu Banco de Dados

Tanto%o%MySQL,%como%o%PostgreSQL,%permitem%criar%programação%procedural%em%
formato%de%funções%dentro%de%seus%bancos%de%dados.

IMPORTANTE:% O% suporte% da% Integrator% Host% não% ensina,% não% analisa% e% nem% se%
responsabiliza%pela%falta%de%conhecimento%na%criação%de%procedures,%functions%ou%views%
em%seu%banco%de%dados,%muito%menos%na%qualidade%da%exportação%de%seu%banco%de%dados%
local,%em%arquivo,%para%upload%no%servidor%online.%

220

Criando uma Stored Procedures no MySQL

Para%exempliJicar,%temos%uma%pequena%tabela:
create%table%teste%(id%int%not%null%primary%key%auto_increment,%data%date);

Assim%que%criada%a%tabela,%temos%a%procedure:
DELIMITER%$$
CREATE%PROCEDURE%`inserir`(data%date)
%%%BEGIN
%%%%%%%%INSERT%INTO%teste%VALUES%(NULL,data);
%%%END%$$
DELIMITER%;
Testando%a%procedure:
call%inserir('2012\12\12');

IMPORTANTE:% % Criar% stored% procedures,% functions% ou% triggers% online% permitem%
automaticamente% seus% usuários,% devidamente% adicionados% ao% banco% de% dados% pelo%
cPanel,%acessar%online%somente.%

221

Criando Functions no MySQL

Veja%na%documentação%oJicial%do%MySQL%pelo%endereço%abaixo%um%exemplo%que%funciona:
http://dev.mysql.com/doc/refman/5.5/en/create\function.html
Trecho%extraído%do%endereço%da%documentação:
mysql> CREATE FUNCTION hello (s CHAR(20))
mysql> RETURNS CHAR(50) DETERMINISTIC
-> RETURN CONCAT('Hello, ',s,'!');
Query OK, 0 rows affected (0.00 sec)
mysql> SELECT hello('world');

IMPORTANTE:% % Criar% stored% procedures,% functions% ou% triggers% online% permitem%
automaticamente% seus% usuários,% devidamente% adicionados% ao% banco% de% dados% pelo%
cPanel,%acessar%online%somente.%

222

Criando Triggers no MySQL

Veja%na%documentação%oJicial%do%MySQL%pelo%endereço%abaixo%um%exemplo%que%funciona:
http://dev.mysql.com/doc/refman/5.5/en/trigger\syntax.html
Trecho%extraído%do%endereço%da%documentação:

mysql> CREATE TABLE account (acct_num INT, amount
DECIMAL(10,2));
Query OK, 0 rows affected (0.03 sec)
mysql> CREATE TRIGGER ins_sum BEFORE INSERT ON account
-> FOR EACH ROW SET @sum = @sum + NEW.amount;
Query OK, 0 rows affected (0.06 sec)

IMPORTANTE:% % Criar% stored% procedures,% functions% ou% triggers% online% permitem%
automaticamente% seus% usuários,% devidamente% adicionados% ao% banco% de% dados% pelo%
cPanel,%acessar%online%somente.%

223

Privilégios em Procedimentos no MySQL

Veja%a%documentação%oJicial%do%MySQL%em:
http://dev.mysql.com/doc/refman/5.5/en/stored\programs\security.html

IMPORTANTE:% % Criar% stored% procedures,% functions% ou% triggers% online% permitem%
automaticamente% seus% usuários,% devidamente% adicionados% ao% banco% de% dados% pelo%
cPanel,%acessar%online%somente.%

224

Uso Avançado do Painel e Serviços

O%usuário%mais%experiente%pode%precisar%realizar%certas%operações%no%painel%cPanel,%ou%
acessar%sua%conta,%de%algumas%formas%diferentes%dos%usuários%comuns.%Temos%neste%
tópico%resumido:
1)%Criação%de%novas%contas%FTP
2)%Acesso%SSH%através%de%terminal
3)%Criação%de%Chaves%de%Acesso%SSH%%
4)%Personalização%dos%DNS
5)%Erros%em%PHP
6)%Compactando%conteúdo%com%GZip%pelo%painel%cPanel
7)%Crontab

225

Novas contas de FTP

Para%criar%uma%nova%conta%de%usuário%FTP,%vá%em%Arquivos* » *Contas*FTP.

No%formulário,%basta%preencher%o%usuário%do%FTP,%a%senha%e%o%local%onde%será%adicionado%
o%acesso%a%este%usuário.

Ao criar a conta de FTP, ela será listada abaixo.

226

Removendo contas de FTP

Para%remover%a%conta%de%FTP%extra%criada,%mais%abaixo,%depois%de%criada,%existem%as%
contas%existentes.%Clique%em%Excluir.
Haverão%duas%opções%para%exclusão.%PreJira%Excluir*Conta,%removendo%assim,%somente%o%
acesso%ao%usuário%do%FTP%que%existia%antes.

IMPORTANTE: Não é possível excluir as contas padrão de FTP criadas ao ser liberado o
acesso ao painel cPanel.

227

Cuidados ao excluir uma conta extra de FTP

Caso%tenha%apontando%a%conta%extra%de%FTP%em%um%diretório%do%seu%servidor%Java,%por%
exemplo,%tenha%muito%cuidado%ao%excluir.%O%botão%Excluir*Conta*e*Arquivos%removerá%
tudo,% sem% exceções,% causando% transtornos% inclusive% para% reinstalar% o% servidor% pelo%
painel%Java,%portanto%CUIDADO.

IMPORTANTE: A recuperação de backup não é imediata. O seu pedido pode levar até 48
horas para ser atendido e, para emergências, um custo extra será cobrado para adiantar o
tempo de recuperação.

228

Acesso SSH através do sistema operacional

Se%o%seu%plano%permitir%acesso%SSH,%existe%a%possibilidade%de%manipular%arquivos%e%seu%
banco%de%dados%particular%diretamente%por%linhas%de%comando.
Antes%de%iniciar,%precisamos%esclarecer%dois%pontos%do%acesso%SSH:
1.% O% suporte% da% Integrator% não% ensina% a% operar% em% linhas% de% comando% para% manipular%
arquivos,%o%que%exige%conhecimentos%de%Linux.
2.%No%caso%de%banco%de%dados,%o%suporte%da%Integrator%não%ensina%a%manipular%seu%banco%
de% dados,% via% linha% de% comando,% o% que% exige% conhecimento% SQL,% além% da% interface% de%
terminal%do%Banco%de%Dados%que%está%pretendendo%operar:%MySQL%ou%PostgreSQL.

IMPORTANTE:%Não%tente%operar%via%linhas%de%comando%em%nenhuma%das%duas%situações%
citadas% neste% tópico% se% houver% pouca% experiência% de% uso.% Problemas% em% mudança% de%
permissões,%até%mesmo%exclusões%indevidas,%podem%lhe%custar%horas%para%resolução,%ou%
até%mesmo%a%cobrança%de%recuperação%de%backup.%
SSH

229

Acesso SSH através do Linux/Unix e Windows

Temos% dois% tipos% padrão% de% Sistema% Operacional% em% formato% de% acesso:% Unix% e%
Windows.%O%Linux%usa%o%padrão%Unix.

230

Linux/Mac OS X/FreeBSD/ Unix em Geral

1.%No%padrão%Unix,%abra%o%terminal%e%execute%o%seguinte%comando:
ssh%USUARIO_FTP@SEUDOMINIO
Exemplo:
ssh%[email protected]
Se% o% domínio% não% estiver% ainda% apontando% para% o% servidor% da% Integrator,% use% o% IP% da%
máquina%informada%no%email%ConJigurações%e%Instruções%de%Uso:
ssh%USUARIO_FTP@IP
Exemplo%abaixo%com%um%IP%Jictício:
ssh%[email protected]

231

Windows XP/Vista/7/8

No% Windows% não% existe% um% programa% padrão% do% sistema% operacional.% Neste% caso,%
recomendamos%o%Putty.%
Para usar o SSH, baixe o programa Putty no seguinte endereço:
http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html.
O Putty é um executável simples que, após baixado, basta dar um duplo clique sobre ele.
Ao aparecer a janela de PuTTY Configuration:
Clique em Session e preencha o formulário como mostrado na Imagem abaixo:
1. Host Name (or IP address): Digite seu domínio ou o IP do email de Configurações
2. Deixe marcada a opção SSH
3. Dê um nome em Saved Sessions
4. Confirme tudo no botão Open

5. Ao clicar em Open, a tela de Prompt aparecerá pedindo o usuário, que deve ser o mesmo
do seu FTP. Pressione <ENTER> no teclado para confirmar após digitar.
6. A senha é oculta, ou seja, não aparecerá nem mesmo asteriscos (***). Ele pedirá a senha do
seu usuário FTP. Digite-a e pressione <ENTER> no teclado.

IMPORTANTE: Se você apenas opera no SO Windows, procure evitar ao máximo o
terminal SSH se não tem experiência com Linux. Erros para serem corrigidos pelo nosso
suporte, ao constatarmos a questão por falta de experiência do usuário, serão cobrados para

232

serem resolvidos.

233

Gerando chaves de acesso SSH no cPanel

Para%gerar%chaves%SSH,%evitando%que%tenha%que%digitar%sua%senha%todas%as%vezes%que%
precisar%logar,%siga%estes%passos:
1)%No%cPanel,%vá%em%Segurança*» *Acesso*SSH/Shell.

2)%Clique%no%botão%Gerenciar*Chaves*SSH.%
3)%Na%etapa%seguinte,%clique%em%Gerar*nova*chave:

4)%Crie%a%chave:

234

5)%Depois%de%criada,%clique%em%Gerenciar*Autorização%para%gerar%a%autorização%para%o%
uso%da%chave%gerada.

6)%ConJirme%a%autorização%clicando%no%botão%Authorize.

Veja%que%haverá%uma%conJirmação%que%foi%autorizada:

*
7)%Baixe%as%chaves%em%sua%máquina:

235

236

Usando as chaves caso esteja usando o Linux/MacOS X

Antes% de% começar,% saiba% que% está% sendo% mostrado% neste% tópico% não% tem% suporte% em%
termos% de% uso% via% sistema% operacional.% Usar% um% sistema% operacional% de% usuário,% via%
terminal,% não% é% de% responsabilidade% do% suporte% da% Integrator% e% nem% mesmo% deve% ser%
cobrado%como%parte%do%mesmo.%%
Você%estará%de%posse%de%duas%chaves/arquivos%para%utilizar%em%seu%sistema%operacional%
Linux/Mac%OS%X:

chave

chave.pub
Da%primeira%vez%será%solicitada%a%senha%da%key.%Depois,%não%ocorrerá%mais.
Coloque\os%no%diretório%“~/.ssh”,%sem%aspas,%de%seu%usuário.

IMPORTANTE:*Se%você%não%usar%os%nomes%de%chave%padrão,%que%no%caso%seria%id_rsa,%ou%
deseja%armazenar%suas%chaves%em%um%caminho%diferente,%será%necessário%adicionar%o%
caminho%em%/usr/bin/sshTadd*para%que%o%comando%ssh%saiba%onde%encontrar%sua%
chave%(no%MacOs%X%é%“ssh\add%\K%~/.ssh/chave”,%sem%as%aspas).%

237

Usando as chaves caso esteja usando o Windows

Para%usar%no%sistema%operacional%Windows,%faça%os%seguintes%passos:
1)%Vá%em%Visualizar/Download.

2)%Digite%a%senha%da%chave%que%criou%e%clique%em%Converter:

3)%Clique%em%Fazer*Download*da*Chave:

4)%No%Putty,%expanda%em%Category:%Connection>SSH>Auth.*%Clique%em%Browse%e%
selecione%a%key%que%baixou.*
5)%ConJirme%clicando%no%botão*Open.

238

Personalizando os DNS do seu Serviço

Antes% de% começar,% saiba% que% não% nos% responsabilizamos% por% suas% personalizações.%
Corrigir%ou%apontar%nossos%DNS%conJigurados%corretamente%na%liberação%do%seu%serviço%
poderá%ser%cobrado.
Para%os%DNSs%comuns,%vá%em%%Domínios**» Editor*de*Zona*DNS*Simples*ou%Editor*de*
Zona*DNS*Avançado:

Se%for%adicionar%um%registro%DNS,%vá%em%Editor*de*Zona*DNS*Avançado,%em%Adicionar*
um* Registro% e% selecione% o% Tipo,% preenchendo% os% demais% campos.% ConJirme% em%
Adicionar*Registro.
Neste%local,%são%permitidos%os%tipos:%A,%CName%e%TXT.

Para%editar%entradas%de%DNS%do%tipo%MX,%vá%em%Correios**» Entrada*MX:

239

240

Vários Domínios ou Subdomínios na Raiz de um GlassFish

Saiba que terá de criar os domínios e subdomínios no mesmo painel de controle cPanel, como
Domínio Suplementar. Em caso de domínios, eles devem ser criados obrigatoriamente como
suplementares. Caso não saiba realizar a criação, veja o tópico Adicionando um Subdomínio
ou Adicionando Domínios Suplementares .
O domínio suplementar, uma vez criado no cPanel, deve ser mapeado no NGasi, como Raiz,
conforme ensinamos no tópico Colocando seu aplicativo na raiz do domínio com o servidor
GlassFish .

IMPORTANTE:* Usar% muitos% aplicativos% em% um% mesmo% servidor% GlassFish% exige%
memória.%Não%nos%responsabilizamos%se%ocorrer%erros%de%memória%Java%Heap%Space.

241

Configurando no GlassFish

1) Entre no Admin do GlassFish.
2) Vá em "Configurações *» server-config *» Servidores Virtuais" e clique no botão
"Novo...".

3) No "Novo Servidor Virtual", determine um "Id", que o identifique, e no campo "Hosts",
coloque o site/domínio ou subdomínio, separado por vírgulas. Isso inclui o "www" no caso de
domínios. Mais abaixo, selecione em "Listeners de Rede" os itens "http-listener-1" e "httplistener-2". Confirme no botão "OK".
3.1) O processo do passo #3 deve ser realizado quantos domínios/subdomínios quiser.

242

4) Uma vez criados os servidores virtuais, vá em "Aplicações" e implante um novo
aplicativo.
4.1) Em "Raiz de Contexto", digite "/", sem aspas, que indica a raiz do documento.
4.2) Em "Servidores Virtuais", selecione o servidor virtual que definiu anteriormente, cujo
responderá pelas requisições ao domínio/subdomínio.

243

Desativando erros do PHP

Crie um arquivo php.ini, dentro do diretório onde estão os arquivos PHP com este
conteúdo:
display_errors = Off
error_reporting = 0

Caso seja por causa da date(), timezone, exemplo para a região de São Paulo:
date.timezone = "America/Sao_Paulo"

IMPORTANTE: Desativar a exibição de um erro não o resolve. Nem toda mensagem de
erro deve ser resolvida com a dica apresentada neste tópico. Cabe ao desenvolvedor/usuário
compreender que aplicativos PHP antigos podem ter falhas por código ultrapassado que
precisam ser substituído para ter o erro resolvido definitivamente.

244

Ativando o GZip para Conteúdo Web

Antes de começar, saiba que esta forma de configuração não funciona para Java.
1) Ative o GZip no cPanel indo em "Software/Serviços *» Otimizar Site".

2) Marque a opção "Compactar todo o conteúdo" e confirme no botão "Atualizar
Definições".

245

Criando Tarefas Automatizadas - Cron

Antes de começar, saiba que não pode automatizar tarefas com serviços Java independentes,
ou seja, em .JAR executando via SHELL fora do servidor Java. Se o fizer, sua conta poderá
ser suspensa sem aviso prévio.
1) Entre no cPanel, vá em "Avançada *» Tarefas Cron".

2) Em "Adicionar Novo Trabalho Cron", selecione a forma como vai executar, em
"Definições Comuns".
3) Em "Comando", defina o comando Linux, desde que tenha permissão para tal, assim
como o path onde encontra-se seu aplicativo.
O path físico sempre começa assim:
/home/USUARIO_FTP
Onde USUARIO_FTP é o seu usuário de FTP. Dentro dele, que é a área onde você visualiza
ao entrar com o FTP, você coloca seu aplicativo para ser executado.

IMPORTANTE: Jamais execute envio de e-mails em massa, pois é proibido praticas de
Spam nos servidores da Integrator. Jamais execute aplicativos Java fora do servidor Java
também.

246

247

Sponsor Documents

Or use your account on DocShare.tips

Hide

Forgot your password?

Or register your new account on DocShare.tips

Hide

Lost your password? Please enter your email address. You will receive a link to create a new password.

Back to log-in

Close