Manual Usuário Integrator - Integrator Host do Brasil

Propaganda
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
1
6
7
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
48
49
50
53
54
55
56
57
58
59
61
62
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
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 5 e 6
Subindo um aplicativo na Raiz do domínio com o JBoss 5 e 6
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
2
64
65
66
67
71
74
76
77
78
80
81
83
85
86
87
88
89
90
91
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
114
115
117
118
119
121
122
123
127
131
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
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 Memória o Servidor Java
Resolvendo o erro PermGen
Resolvendo o erro Java heap space
Proxy Error no Acesso ao Aplicativo Java
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
3
132
133
134
135
136
138
139
140
141
143
144
145
146
147
149
150
151
152
154
155
156
157
158
159
160
161
162
163
164
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
185
186
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 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
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
4
187
188
189
191
192
193
195
196
197
198
199
200
201
202
203
204
207
209
210
211
212
212
213
214
214
215
217
218
219
221
222
223
224
225
226
227
228
229
230
231
232
233
235
238
239
240
242
243
245
Ativando o GZip para Conteúdo Web
Criando Tarefas Automatizadas - Cron
246
247
5
O Básico do Uso no Painel
Este%capítulo%ensina%a%base%de%uso%do%painel%no%serviço%de%hospedagem%da%Integrator.
6
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
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.%%
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
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%”.
46
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.%
47
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.%
48
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.
49
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.
50
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).
51
52
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
53
Adicionando Domínios Suplementares
Vá% em% Domínios* * » * Domínios* Suplementares.% 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”.
54
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".
55
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
56
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
57
Adicionando novos Domínios no WHM
Ver%tópico%Criando%novos%domínios%como%revenda%de%sites%%do%manual.
58
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:
59
60
Alterando a Senha ou Excluindo Contas de Email
As%contas%de%e\mail%criadas%aparecem%abaixo,%onde%você%pode%alterar%a%senha%ou%excluir:
61
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".
62
63
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
64
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.
65
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
66
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.
67
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.
68
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.
69
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.
70
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.
71
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.
72
73
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:
74
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.
75
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.
76
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
77
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,%
78
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.%
79
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:
80
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.
81
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
82
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%
83
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%
84
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:
85
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.
86
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.
87
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].%
88
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.
89
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.
90
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:
91
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.
92
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.
93
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.
94
Instalando o servidor Java
O% servidor% Java% pode% ser% selecionado*% na% lista,% assim% como% a% versão% que%
disponibilizamos%de%cada%um,%na%aba%
:
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*5.5/6/7/8%\%appservers/apache\tomcat\Xx%
Jetty*6/7/8–*appservers/jetty\Xx
JBoss*4/5/6/7*–*appservers/jboss\7x
GlassFish*v2/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,%clique%em
domínio%suplementar%em%Web*Server*virtual*hosts:
.%Selecione%o%subdomínio%ou%
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%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:%5.5.x,%6.0.x%,%7.0.x%e%8.x.
2%\%Jetty:%6.x,%7.x%e%8.x
3%\%JBoss:%4.0.x,%5.0.x,%6.0.x,%7.x%e%8%(WildJly)
4%\%GlassJish:%2.x,%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:% 5.5.x,% 6.0.x% ,% 7.0.x% e% 8.x.% Um%
aplicativo% criado% no% Tomcat% 5.5.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) Pare%o%Tomcat%no%painel%Java%em%
>%
;
2) Suba%seu%arquivo%WAR,%com%todas%as%bibliotecas,%por%FTP,%no%seguinte%diretório:%
a. 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%Add:
5) Teremos,% assim% que% adicionado,% a% URL% de% onde% o% aplicativo% Java% está%
funcionando.%Por%exemplo:
104
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) Renomeie%seu%WAR%Jile%para%ROOT.war.
3) Com% o% FTP,% remova% o% diretório% ROOT,% localizado% em% appservers/apacheT
tomcatTXx/webapps*–%onde%X%é%a%versão%do%seu%Tomcat;
4) Agora%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;
5) Inicie%o%Tomcat%no%painel%Java%em%
>
6) Ainda%no%painel%Java,%mapeie%o%domínio%em%
;
.%No%mapeamento,%clique%em%
.
IMPORTANTE:* Pools% de% conexão% exigem% a% biblioteca% do% banco% de% dados% no% diretório%
appservers/apacheTtomcatTXx/lib.
105
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.
106
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.
107
Mapeando o Manager no Tomcat
Caso não esteja usando o servidor Java na raiz do domínio, mapeie o Manager do Tomcat da
seguinte forma:
1) Vá% em%
% e,% no% mapeamento,% digite% manager/html* no% campo% ilustrado% na%
Jigura%abaixo.%ConJirme%no%botão%Add:
2) Depois acesse o manager assim:
http://seudominio/manager/html
Um usuário e senha serão requisitados.
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.
108
Usando o servidor Java Jetty
Para%fazer%deploy%no%Jetty,%execute%estes%passos:
1)
2)
3)
4)
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;
Coloque% o% contexto% do% Jetty% em% appservers/jettyTXx/contexts/% –% onde% X% é% a%
versão%do%seu%Jetty;
5) Inicie%o%Jetty%no%painel%Java%em%
>
;
6) 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%Add:
7) Teremos,% assim% que% adicionado,% a% URL% de% onde% o% aplicativo% Java% está%
funcionando.%Por%exemplo:
109
Subindo um aplicativo na Raiz do domínio com o Jetty
A%raiz%de%um%domínio%é%quando%digitamos%o%endereço%do%site%e%ele%e%o%aplicativo%Java%é%
apresentado.
No%Jetty,%faça%os%seguintes%passos:
1) Pare%o%Jetty%no%painel%Java%em%
>%
;
2) Agora% suba% seu% arquivo% WAR,% com% todas% as% bibliotecas,% por% FTP,% no% seguinte%
diretório:%
a. 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) Ainda% no% painel% Java,% mapeie% o% domínio% em%
em%
;
.% No% mapeamento,% clique%
.
IMPORTANTE:* Pools% de% conexão% exigem% a% biblioteca% do% banco% de% dados% no% diretório%
appservers/jettyTXx/lib.
110
Usando o servidor Java JBoss
O%Servidor%JBoss%tem%sua%estrutura%diferente%nas%versões%4,%5%e%6,%7%e%8.%A%Integrator%não%
possui%um%suporte%que%ensina%a%migrar%de%versão%do%JBoss.%O%manual%aqui%é%apenas%uma%
demonstração%de%simples%uso%para%deploy.
Usuários%que%operam%com%WAR/EAR%e%desconhecem%o%JBoss,%apenas%realizando%deploy%
por%ferramentas,%consulte%o%manual%do%servidor%JBoss%antes%para%compreendê\lo.%
111
Usando o servidor Java JBoss 5 e 6
Para%fazer%deploy%no%JBoss,%execute%estes%passos:
1) Pare%o%JBoss%no%painel%Java%em%
>%
;
2) Suba% seu% arquivo% WAR% ou% EAR,% com% todas% as% bibliotecas,% por% FTP,% no% seguinte%
diretório:%
a. appservers/jbossTXx/server/default/deploy% –% onde% X% é% a% versão% do%
seu%JBoss;
3) Caso%haja%um%datasource,%no%JBoss,%coloque%em%appservers/jbossTXx/%server/
default/deploy/–%onde%X%é%a%versão%do%seu%JBoss;
a. Um% exemplo% seria% colocar% um% datasource% do% MySQL,% com% o% noem% de%
mysqlTds.xml%e%o%seguinte%conteúdo:
<datasources>
<local-tx-datasource>
<jndi-name>l8</jndi-name>
<connection-url>
jdbc:mysql://localhost:3306/banco
</connection-url>
<driver-class>com.mysql.jdbc.Driver</driver-class>
<user-name>USUARIO</user-name>
<password>SENHA</password>
<exception-sorter-class-name>
org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter
</exception-sorter-class-name>
</local-tx-datasource>
</datasources>
4) Inicie%o%JBoss%no%painel%Java%em%
>
;
5) 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%Add:
6) Teremos,% assim% que% adicionado,% a% URL% de% onde% o% aplicativo% Java% está%
funcionando.%Por%exemplo:
112
113
Subindo um aplicativo na Raiz do domínio com o JBoss 5 e 6
No%JBoss,%faça%os%seguintes%passos:
1) Pare%o%JBoss%no%painel%Java%em%
>%
;
2) Agora%suba%seu%arquivo%WAR/EAR,%com%todas%as%bibliotecas,%por%FTP,%no%seguinte%
diretório:%
a. appservers/jbossTXx/server/default/deploy% –% onde% X% é% a% versão% do%
seu%JBoss;
b. Detalhe% do% contexto% jboss-web.xml% para% colocar% o% aplicativo% Java% na% raiz%
do%domínio%é:
<context-root>/</context-root>
3) Inicie%o%JBoss%no%painel%Java%em%
>
4) Ainda% no% painel% Java,% mapeie% o% domínio% em%
em%
;
.% No% mapeamento,% clique%
.
IMPORTANTE:* Pools% de% conexão% exigem% a% biblioteca% do% banco% de% dados% no% diretório%
appservers/jbossTXx/server/default/lib/.
114
Usando o servidor Java JBoss 7
O JBoss 7 é instalado usando a opção "standalone":
~/appservers/jboss-7x/standalone
Para%fazer%deploy%no%JBoss%7,%execute%estes%passos:
1) Pare%o%JBoss%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%JBoss%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%Add:
5) Teremos,% assim% que% adicionado,% a% URL% de% onde% o% aplicativo% Java% está%
funcionando.%Por%exemplo:
115
116
Usando o servidor Java JBoss 7 com aplicativo na raiz do domínio
No%JBoss%7,%faça%os%seguintes%passos:
1) Pare%o%JBoss%no%painel%Java%em%
>%
;
2) Agora%suba%seu%arquivo%WAR/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%JBoss%no%painel%Java%em%
>
4) Ainda%no%painel%Java,%mapeie%o%domínio%em%
.
117
;
.%No%mapeamento,%clique%em%
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.
118
Usando o servidor Java Wildfly
O Wildfly 1 é instalado usando a opção "standalone":
~/appservers/wildfly-8x/standalone
Para%fazer%deploy%no%WildJly,%execute%estes%passos:
1) Pare%o%WildJly%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%WildJly%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%Add:
5) Teremos,% assim% que% adicionado,% a% URL% de% onde% o% aplicativo% Java% está%
funcionando.%Por%exemplo:
119
120
Usando o servidor Java Wildfly com aplicativo na raiz do domínio
No%WildJly,%faça%os%seguintes%passos:
1) Pare%o%WildJly%no%painel%Java%em%
>%
;
2) Agora%suba%seu%arquivo%WAR/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%WildJly%no%painel%Java%em%
>
4) Ainda%no%painel%Java,%mapeie%o%domínio%em%
.
121
;
.%No%mapeamento,%clique%em%
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.
122
Usando o servidor Java GlassFish
Após%instalar%o%GlassFish,%você%pode%acessar%o%Admin.%
1) Inicie%o%GlassFish%no%painel%Java%em%
>
2) 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
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%usar%um%upload%de%arquivos%rápido:
123
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.
124
10)Assim%que%selecionado,%serão%puxadas%as%conJigurações%iniciais%para%o%deploy:
125
11)%ConJirme%por%Jim%no%botão%
.
12)Vá%agora%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,%e%o%manteve%no%Admin%do%GlassFish,%em%Context*Root.%No%
mapeamento,%digite%Aplicacao*no%campo%mostrado%abaixo%e%conJirme%no%
botão%Add:
13)Teremos,% assim% que% adicionado,% a% URL% de% onde% o% aplicativo% Java% está%
funcionando.%Por%exemplo:
126
Colocando seu aplicativo na raiz do domínio com o servidor GlassFish
Após%instalar%o%GlassFish,%você%pode%acessar%o%Admin.%
1) Inicie%o%GlassFish%no%painel%Java%em%
2) 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
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%
127
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.
128
10)Assim%que%selecionado,%serão%puxadas%as%conJigurações%iniciais%para%o%deploy:
11)%ConJirme%por%Jim%no%botão%
.
129
5) Vá%agora%no%painel%Java,%mapeie%o%domínio%em%
.%No%mapeamento,%clique%
em%
.
12)%Pronto,%seu%aplicativo%está%na%raiz%do%domínio%pelo%servidor%Java.
130
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>
No% painel% Java,% mapeie% a% raiz% do% domínio% em%
.% No% mapeamento,% clique% em%
.
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.
131
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 5.5. até 8
~/appservers/apache-tomcat-Xx/logs/stdout.log
JBOSS 4 até 6
~/appservers/jboss-Xx/server/default/log/server.log
JBOSS 7
~/appservers/jboss-7x/standalone/log/server.log
GlassFish 2 até 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.
132
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.%
133
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.
134
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.
135
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", no campo "Adicionar Caminho Mapa; por exemplo..." e
136
confirme no botão "Adicionar", como a imagem ilustra abaixo:
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.
137
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.
138
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
139
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
140
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".
141
142
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".
143
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
144
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":
145
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":
146
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".
147
3) Por fim, você deverá ver o nome do banco de dados e seu respectivo usuário.
148
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.
149
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.
150
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
151
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:
152
153
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.
154
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.
155
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 .
156
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
157
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.
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 com o comando administrativo, envie email para [email protected],
informando o site e mostrando o referido problema no corpo da mensagem.
IMPORTANTE:%O%comando%'mysqladmin flush-hosts' só é realizado por nossa equipe uma
vez por um severo período de horas. Nós realizamos o comando com um aviso do período
que poderemos realizar novamente.
158
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.
159
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.%
160
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
161
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%“.
162
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
163
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.
164
•
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.
165
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.
166
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
167
Erros Gerais
Existem%dezenas%de%erros%em%uma%hospedagem.%Neste%tópico%listamos%os%mais%comuns:
•
•
•
•
Permissão
Bloqueio
Aplicativo
E\mail
168
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
169
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
170
Erro 503
Este%erro%signiJica%que%seu%servidor%Java%está%parado.%%Entre%no%painel%Java%e%o%inicie.
171
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%\%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.
172
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
173
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.
174
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.
175
Erros de Memória o Servidor Java
Existem%muitos%erros%em%um%servidor%java.%Neste%tópico%listamos%apenas%os%mais%
comuns:
•
•
•
PermGen
OutOfMemoryError:%Java%heap%space
Proxy%Error
176
Resolvendo o erro PermGen
O%erro%mais%comum%de%PermGen%precisa%da%ajuda%do%[email protected]%para%
podermos%conJigurar%seu%servidor%Java%de%forma%a%adequar%seu%plano%na%memória%
PermGen%fornecida.
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.
177
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.%
178
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
179
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
180
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
181
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.
182
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
183
técnico que deve ser obrigação do desenvolvedor conforme reza nosso contrato.
184
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.
185
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
186
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.
187
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
188
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:
189
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.
190
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%NGasi,%clique%em%
>%
diversos%erros,%conJirme%os%diálogos%que%o%servidor%iniciará.
.%Aparecerão%
IMPORTANTE: Se o servidor Java não funcionar ainda assim, relate o
problema no [email protected].
191
Fantastico De Luxe - Access denied for user
Veja%o%tópico%“Problema%ao%instalar%um%aplicativo%no%Fantastico%De%Luxe%”%deste%manual.
192
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/
193
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.%
194
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.
195
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 .
196
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.
197
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.
198
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.
199
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.
200
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.
201
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.
202
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.%
%
203
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:
204
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:
205
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%
%
%
206
.
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.
207
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.%
208
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.%
209
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.%
210
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.%
211
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%
212
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
2)%Pare%o%Tomcat
3)%Coloque%o%axis2.war%dentro%do%diretório%appservers/apache\tomcat\Xx/webapps.
4)%Inicie%o%Tomcat
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.
Vá no painel NGasi, em
, clique em
.
Digite o nome do "axis2", no campo "Adicionar Caminho Mapa; por exemplo..." e confirme
no botão "Adicionar".
213
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%
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
214
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");
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”%.%
215
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";
$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
216
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.%
217
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.%
218
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:
219
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.
220
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.%
221
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.%
222
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.%
223
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.%
224
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.%
225
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
226
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.
227
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.
228
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.
229
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
230
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.
231
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]
232
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
233
serem resolvidos.
234
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:
235
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:
236
237
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).%
238
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.
239
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:
240
241
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, nos informe que enviamos um tutorial.
O domínio suplementar, uma vez criado no cPanel, deve ser mapeado no NGasi, como Raiz.
No painel Java, clique em
. Uma vez selecionado em "Web Server virtual hosts" o
domínio suplementar/subdomínio, clique no botão
.
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.
242
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.
243
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.
244
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.
245
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".
246
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.
247
248
Download