Acesso ao pelo Outlook Windows 73 Acesso ao pelo Mail do Mac OS 77 Acesso ao pelo Thunderbird (Linux/Windows/Mac OS) 80

Documentos relacionados
Acesso ao 64 Acesso ao pelo Webmail 65 Acesso ao pelo PC ou MAC 66 Acesso ao pelo Outlook Windows 67 Acesso ao

GUIA PARA CONFIGURAÇÃO DE CORREIO ELETRÔNICO

MANUAL DE CONFIGURAÇÃO DE CLIENTES DE PARA O EXPRESSO BR

TUTORIAL: Como configurar no Outlook 2007

1. CONFIGURAÇÃO OUTLOOK EXPRESS/XP

Manual de Configuração dos Clientes de .

Com a OABRJ Digital você trabalha de forma colaborativa, simples e objetiva, em uma única tela.

Manual de Configuração dos Clientes de .

Como Criar um Blog WordPress Guia completo

STD SERVIÇO DE BACKUP EM NUVEM

COMO CONFIGURAR UMA CONTA DE NO MICROSOFT OUTLOOK 2007

Guia de Instalação. 1. Guia de Instalação do Nintex Workflow 2010

AiSMTP

Desenvolvimento de softwares e aplicações web

Manual Técnico. Instalação e Configuração do Reporting Services

Acessando e configurando os s

Aviso. O conteúdo deste documento é de propriedade intelectual exclusiva da GVDASA Sistemas e está sujeito a alterações sem aviso prévio.

Procedimento de instalação do Oracle EBS da Mundial

Manual de instalação do Microsoft SQL Server 2008 R2 Express no Windows 10

Guia de Instalação do Lotus Notes 7

Outlook 2007 Gmail - Terra - Uol HSA Informática Goiânia (062)

JAVA. Professor: Bruno Toledo

UNIVERSIDADE TECNOLOGIA FEDERAL DO PARANÁ. Owncloud SERVIÇO DE COMPARTILHAMENTO EM NUVEM. Manual

Configuração do banco de dados. - Crie o banco de dados no MySQL. - Abrir o arquivo app/database/database.conf.php

MANUAL DE EMISSÃO E INSTALAÇÃO DO CERTIFICADO TIPO A1 (GOOGLE CHROME)

Tutorial de Instalação do Cliente Jabber

Configuração do GIGAERP Integrado ao GIGA e-doc.

Manual de instalação do SQL 2012

Software Aplicativo LibreOffice Writer 5.1 Mala Direta para

MANUAL DE EMISSÃO E INSTALAÇÃO DO CERTIFICADO TIPO A1 (INTERNET EXPLORER)

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE SISTEMA DE BIBLIOTECAS BIBLIOTECA CENTRAL ZILA MAMEDE

Folha de Configuração Instrução de Implantação para Cliente Andrade Gutierrez

Meios de Comunicação de Dados.

Requisitos do sistema

Microsoft Office Outlook 2007

Sinai Sistema Integrado Administrativo de Igreja

Criar envio. tradicional. Série manuais da ferramenta ALL in Mail

TOTVS Utilização dos Aplicativos. Arquitetura e Instalação

1 Configurando o Microsoft Outlook 2007 para acesso IMAP 2 Reforçando a segurança (Apenas para usuários do Mobimail) 3 Veja também 4 Links

INSTALANDO O HYPER-V EM SISTEMAS OPERACIONAIS WINDOWS

Instalando o Driver de Impressora Custom PostScript ou PCL para Windows

Como configurar s zimbra tryideas no Outlook e no Smartphone

X-RiteColor Master Web Edition

Procedimentos para Instalação do Sisloc (Estação de Trabalho) versão

RedeMBTCP 1.23 Procedimento de Instalação e Download de memória de massa Konect/Mult-K Grafic ligados diretamente a notebook

Envio Seguro de Mensagem Manual do Usuário

Procedimento Instalação Impressora Servidor de impressão/quota

Manual do Usuário. Versão 1.0. Página 1 de 73

Fiery Command WorkStation 5.8 com Fiery Extended Applications 4.4

Esse tutorial auxiliará o usuário a estabelecer conexão via SFTP com o servidor da Inflexion, e assim enviar ou receber arquivos.

MANUAL DE INSTALAÇÃO SISTEMA DE GERÊNCIA CONSCIUS

Manual do Usuário. Uma plataforma:

Como atribuir um endereço IP e acessar seu dispositivo

ProdCert Módulo Certificador. Manual de Instalação e configuração

Fiery Remote Scan. Conectando ao Fiery servers. Conecte-se a um Fiery server no primeiro uso

CLARO BACKUP ONLINE Guia Prático

Configuração do assinador Shodō

É possível acessar o Fiery Remote Scan de sua área de trabalho ou de um aplicativo compatível com o TWAIN.

Manual de Instalação Recuperação Fiscal

LINUX Revenda de Hospedagem

Avisos legais KYOCERA Document Solutions Inc.

Ajuda do Usuário do Forcepoint Secure Messaging

Configuração do Google Groups for Business para administradores

Configuração do GIGAERP Integrado ao GIGA e-doc.

Assina Web S_Line Manual de Uso

Manual de Utilização

Instalação do Papercut MF

SISTEMA COD CONFIGURAÇÃO DE ACESSO

Este manual destina-se a ativação do DMI, para posterior utilização.

Conhecendo e editando o seu perfil

Instalação do IBM SPSS Modeler Entity Analytics

Manual de Utilização

Centro de Serviços Compartilhados TI. Manual de Configuração da Ferramenta Outlook 2007

1.1.Etapa 1 Bem vindo ao Assistente de Instalação do SIP Sistema Integrado de Pessoal...3

SmartMail. Intrudução

Criando site. Tutorial Webnode

Para acessar o seu cpanel é simples, basta ir até um dos endereços abaixo:

BAIXA E INSTALAÇÃO DO CERTIFICADO DIGITAL. A3 em token

Estas etapas preliminares devem ser executadas para todas as impressoras:

Procedimento Configuração Dispositivos Android Procedimento para Configuração do Office365 em Dispositivos Android

2. Instalação do WinThor Anywhere (Linux ambiente terminal/console)... 10

Configurar as conferências do Cisco Meeting Server e CUCM Ad hoc

SMA PROCEDIMENTO DE ACESSO AO SISTEMA

Manual de configuração do Central Tiss, com base de dados MySQL e utilização em rede.

Instalando o driver personalizado de impressora PostScript ou PCL para Windows

2. Execute o instalador do V-Ray 2.0. Você chegará à tela de bem-vindo, como na imagem abaixo. Clique no botão Next para prosseguir.

Instalando Active Directory Windows Server 2008

JOOMLA! 3.6. Extrato de atualizações Guia de Consulta Joomla! 3.6 Página 1

Guia de Instalação. Versão Fevereiro 2013

SMA PROCEDIMENTO DE ACESSO AO SISTEMA SMA PROCEDIMENTO DE ACESSO AO SISTEMA

Windows 2000, Windows XP e Windows Server 2003

Manual SISTEMA GERENCIADOR DE SENHAS Versão GUICHÊ

MANUAL DE DEPLOY DFE V3 SERVIDOR DE APLICAÇÃO WEBSPHERE

Microsoft Office 365 Acesso ao , calendário e contatos

Plataforma Biométrica Aplicativo para capturar biometria

Para quem não quiser testar estes procedimentos, e não se importa em manter uma versão antiga do Java, informo que testamos com alguns clientes a tran

CRIANDO E CONFIGURANDO O DDNS SE104, SE108, SE116, SE204, SE208, SE216, SE404, SE408, SE416, SE432, SE504, SE508, SE516, SE604, SE608, SE708, SE724

Para instalar o driver da D600 / N200 via USB ( modelo de rede ) siga os seguintes passos:

CADASTRO NO KDP. Nesta etapa faremos o cadastro no sistema Kindle Direct Publishing. Aos que já possuírem conta na Amazon podem pular esta parte.

Transcrição:

Sumário O Básico do Uso no Painel 5 Antes de Começar 6 Sobre o Suporte Especializado 8 Serviços de Atuação do Suporte 9 Atuação Parcial de Suporte 10 O que o Suporte Não Ajuda 11 Sobre o Suporte de Programadores 12 Como funciona o serviço PHP e HTML 13 O Uso do PHP Em Servidores Compartilhados 14 Memória e Upload de Arquivos do PHP 15 Local dos Arquivos PHP ou HTML 16 Página Inicial em PHP ou HTML 17 Resumo do Local e Página Inicial de Sites PHP/HTML 18 Uso de Processamento em PHP 19 Como visualizar um site PHP ou HTML sem o domínio 20 Cada Painel de Controle 21 Portas de cada painel de controle 22 O https do WHM/cPanel ou NGasi 23 O Painel de Controle WHM - Revenda 24 O acesso ao painel de controle WHM 25 Criando novos domínios como revenda de sites 26 Criando um Pacote de Revenda 27 Adicionando o cpanel para um novo Domínio 30 Listando Domínios da Revenda 32 Alterando a senha do acesso ao painel cpanel do domínio revendido 33 DNS Próprio em Revenda 34 O Painel de Controle cpanel 36 O acesso ao painel de controle cpanel 37 Permissões de Arquivos e Diretórios 38 Softaculous para Aplicativos OpenSource PHP 39 Antes de Utilizar o Softaculous 40 Instalando o WordPress em sua conta 41 Removendo um aplicativo como o WordPress 44 Instalando o WordPress em um subdomínio 45 Fantastico De Luxe para Aplicativos OpenSource PHP 46 Instalando o WordPress em sua conta 47 Removendo um aplicativo como o WordPress 51 Instalando o WordPress em um subdomínio 53 Problema ao instalar um aplicativo no Fantastico De Luxe 54 Usando um Programa de FTP 55 Usando o FileZilla 56 Adicionando novos Domínios no cpanel 59 Adicionando Domínios Suplementares 60 Adicionando Domínios Estacionados 61 Adicionando subdomínios no cpanel 62 Adicionando um Subdomínio 63 Adicionando novos Domínios no WHM 64 Adicionando novas contas de e-mail 65 Alterando a Senha ou Excluindo Contas de Email 67 Redirecionando Contas de Email 68 Acesso ao E-mail 70 Acesso ao E-mail pelo Webmail 71 Acesso ao E-mail pelo PC ou MAC 72 1

Acesso ao E-mail pelo Outlook 2010 - Windows 73 Acesso ao E-mail pelo Mail do Mac OS 77 Acesso ao E-mail pelo Thunderbird (Linux/Windows/Mac OS) 80 Sobre as regras de envio de emails 82 Evitando Spams com os recursos do painel 83 Verificando a legitimidade de um e-mails enviado 84 O Spam Assassin 86 O BoxTrapper 87 Tradução das Mensagens do BoxTrapper 89 Visualizando as estatísticas de acesso ao seu site 91 Personalizando as paginas de erro do Apache 92 Como funciona o serviço Java 93 A memória do servidor Java 94 Uso de Processamento em Java 95 O Painel de Usuário Java 96 O acesso o painel NGasi 97 Instalando o servidor Java 99 Colocando o Aplicativo Java no Endereço do seu Site 100 Erros do cliente e direito de suporte 102 Acesso Java em conexão ao banco de dados 103 Instalando o servidor Java 104 Local onde o servidor Java é instalado 106 A estrutura do servidor Java 107 Suas bibliotecas JAR 108 Compartilhando seu servidor Java em outros domínios ou subdomínios 109 Como mapear outro domínio ou subdomínio no painel Java 110 O Básico de Uso dos Servidores Java 111 Sobre a exibição no domínio 112 Usando o servidor Java Tomcat 113 Subindo o aplicativo no Tomcat 114 Removendo o mapeamento do aplicativo no Domínio 115 Subindo um aplicativo na Raiz do domínio com o Tomcat 116 Removendo o mapeamento da Raiz no Domínio 117 Configurando o acesso ao Manager do Tomcat 118 Configurando o manager do Tomcat 7/8 119 Mapeando o Manager no Tomcat 120 Usando o servidor Java Jetty 121 Subindo um aplicativo na Raiz do domínio com o Jetty 122 Usando o servidor Java JBoss 123 Usando o servidor Java JBoss 7 124 Usando o servidor Java JBoss 7 com aplicativo na raiz do domínio 125 Pequeno exemplo do deploy na raiz com JBoss 7 126 Usando o servidor Java Wildfly 127 Usando o servidor Java Wildfly com aplicativo na raiz do domínio 128 Pequeno exemplo do deploy na raiz com Wildfly 129 Usando o servidor Java GlassFish 130 Colocando seu aplicativo na raiz do domínio com o servidor GlassFish 134 Aplicativo EAR na raiz com o GlassFish 138 Logs de Acesso do Servidor Java 139 Alterando o Locale: Data, hora, números e moedas 140 Alterando o Locale do Tomcat 141 Alterando o Locale do GlassFish 142 Um mesmo servidor Java em vários domínios 143 Trabalhando com o Banco de Dados 145 Criando Banco de Dados PostgreSQL no Painel 146 Usuário PADRÃO do PostgreSQL no Painel 148 Exportando no PostgreSQL do cpanel 149 Importando no PostgreSQL do cpanel 151 2

Importando no PostgreSQL Bancos Grandes 152 Criando Tabelas no PostgreSQL com Aplicativos 152 Criando Banco de Dados MySQL no Painel 153 Criando o usuário ao Banco de Dados MySQL no Painel 154 Definindo o usuário ao Banco de Dados MySQL no Painel 155 Formas de acesso ao Banco de Dados 157 Usando o phpmyadmin para o MySQL 158 Usando o MySQL pelo Aplicativo Hospedado 159 Usando o phppgadmin para o PostgreSQL 160 Usando o PostgreSQL pelo Aplicativo Hospedado 162 Acesso Remoto ao Banco de Dados 163 Liberando o acesso remoto ao MySQL 164 Acessando remotamente o MySQL 165 Erro comum: Host is blocked because of many connection errors 166 Exceção no PostgreSQL 167 Dúvidas Comuns Encontradas na Hospedagem 168 Uso do HTTPS 169 HTTPS em Painéis 170 HTTPS em Domínio 171 128bits ou 256bits 172 Erro no certificado SSL: Elementos não criptografados 174 Erros Comuns Encontrados na Hospedagem 175 Erros Gerais 176 Erro 500 177 Resolvendo o Erro 500 178 Erro 503 179 Erro 503 com servidor Java iniciado 180 O Erro 404 181 Resolvendo o Erro 404 no PHP 182 Resolvendo o Erro 404 no Java 183 Permissão de Tabelas no PostgreSQL 183 Erros de Uso do Servidor Java 184 Resolvendo o erro PermGen 185 Resolvendo o erro Java heap space 186 Proxy Error no Acesso ao Aplicativo Java 187 Resolvendo erro java.lang.outofmemoryerror: unable to create new native thread 187 Erros Comuns de Operação no Banco de Dados 189 Erro de Permissão ou Privilégio no MySQL 190 Erro de Permissão ou Privilégio no Usuário 191 Erro de Permissão ou Privilégio em Functions, Views e Procedures 192 Resolvendo erro de Privilégio 194 Erro de Permissão no PostgreSQL 195 Resolvendo o Erro de Permissão no PostgreSQL 196 Banco de Dados existente após exclusão 197 O Erro Broken Pipe ou Communications link failure 198 Servidor Java não quer parar ou reiniciar 200 Fantastico De Luxe - Access denied for user 201 Troca de Senha do Admin Do GlassFish 202 Serviço Java não responde com erro de Timeout 204 Erro The web application [] registered the JDBC driver 205 Erro do MySQL: Host is blocked because of many connection errors 206 Erros Comuns de E-mail 207 Erro 501 Too many syntax or protocol errors 208 Alguns emails não vão para a caixa de enviados no Outlook 209 Outlook não salva emails em itens enviados 210 Erro de E-mail: Retry timeout exceeded copy 211 Causas da falha: Retry timeout exceeded 212 O SVN 213 3

Criando seu Repositório SVN 214 Testando o acesso remoto 217 Realizando Dump do Repositório 219 Recuperando o Dump do Repositório 220 Erro no repositório do SVN 221 O GIT 222 Para Desenvolvedores 222 Instalando o WebServices Axis2 no Tomcat 223 Enviando E-mails 223 Enviando E-mail com Java 224 Enviando E-mail com PHP 225 Alterando o Comportamento com as Diretrizes Apache 227 Desenvolvendo seu.htaccess 228 URL Amigável ou Mod_Rewrite 229 Procedimentos em seu Banco de Dados 231 Criando uma Stored Procedures no MySQL 232 Criando Functions no MySQL 233 Criando Triggers no MySQL 234 Privilégios em Procedimentos no MySQL 235 Uso Avançado do Painel e Serviços 236 Novas contas de FTP 237 Removendo contas de FTP 238 Cuidados ao excluir uma conta extra de FTP 239 Acesso SSH através do sistema operacional 240 Acesso SSH através do Linux/Unix e Windows 241 Linux/Mac OS X/FreeBSD/ Unix em Geral 242 Windows XP/Vista/7/8 243 Gerando chaves de acesso SSH no cpanel 245 Usando as chaves caso esteja usando o Linux/MacOS X 248 Usando as chaves caso esteja usando o Windows 249 Personalizando os DNS do seu Serviço 250 Vários Domínios ou Subdomínios na Raiz de um GlassFish 252 Configurando no GlassFish 253 Desativando erros do PHP 255 Ativando o GZip para Conteúdo Web 256 Criando Tarefas Automatizadas - Cron 257 4

O Básico do Uso no Painel Este%capítulo%ensina%a%base%de%uso%do%painel%no%serviço%de%hospedagem%da%Integrator. 5

Antes de Começar Antes%de%iniciar%a%jornada%em%conhecer%os%pontos%chaves%de%seu%serviço,%através%deste% manual,%queremos%que%entenda%alguns%pontos%técnicos,%simples%que%não%estão%sobre%seu% controle%por%não%serem%exclusivamente%seus. 1. A% porta% 80% do% servidor% da% Integrator% é% compartilhada% entre% todos% os% usuários.% Nossos%servidores%Java%executam%em%portas%exclusivamente%lançadas%pelo%nosso%sistema% e%roteadas%pelo%painel. 2. Não%altere%a%porta%do%seu%servidor%Java,%por%exemplo%para%8080,%ou%qualquer%outra% que% considere %importante.%se%o%jizer,%seu%servidor%será%paralisado%sem%aviso%prévio. 3. O%Banco%de%dados,%até%o%plano%Java%EE/PHP,%incluindo%promocionais%de%similares% características,%não%são%servidores%exclusivos,%ou%seja,%você%não%é%o%administrador%geral% do%serviço%de%banco%de%dados%como%um%todo.%isso%signijica%que%não%é%possível%alterar%a% porta,%mudar%o%encoding%default%do%postgresql,%acessar%remotamente%o%postgresql,%dar% permissões%administrativas%para%o%seu%usuário%de%forma%que%ele%crie%banco%de%dados%por% script,% além% de% entre% outras% modijicações% que% exigem% serem% feitas% diretamente% pelo% administrador%geral.%se%esta%for%a%sua%necessidade,%considere%mudar%de%plano%para%um% que%permita%tais%condições%ou%adicionar%um%servidor%de%banco%de%dados%dedicado. 4. Você%tem%o%direito%de%alterar%o%que%precisar%em%seu%servidor%Java.%Mas%nunca%altere% a%memória%\%além%do%já%considerado%no%item%2.%isso%fará%seu%servidor%cair%ou%até%mesmo% ser%suspensa%sua%conta. 5.% Jamais%realize%envios%massivos,%ou%SPAM. 6. ConJigurações%técnicas%que%não%fazemos%cujo,%em%princípio,%precisa%saber:% Uso%de%keep\alive%connection,% Timeout%acima%de%5%minutos,% Execução%de%conexões%persistentes%inJinitas,% SVN%via%protocolo%http,% Mais%de%um%repositório%SVN%por%domínio,% Múltiplos%usuários%GIT%em%um%mesmo%terminal%SSH%para%a%mesma%conta,% Acesso%SHELL%para%usuários%de%plano%#1,% PostgreSQL%em%muitos%planos%não%possuem%acesso%externo%pelo%pgAdmin,% Uso%de%CPU%intenso%acima%de%5%,% Memória%além%do%plano%contratado%sem%custo,% Alterações% personalizadas% no% seu% servidor% Java% para% suas% necessidades% e% que% Implicam%em%falhas%de%segurança%em%nossos%serviços,% Adicionar%outros%serviços%Java%além%do%servidor%Java Subir%outro%servidor%Java%em%paralelo Subir%outro%domain%do%GlassFish Privilégios%em%banco%de%dados%ou%outros%que%exigem%super%usuário Os% pontos% acima% são% dúvidas% comuns% respondidas% sobre% a% hospedagem% que% escolheu.% Caso% necessite% de% um% ou% mais% itens% expostos% nos% tópicos% como% sendo% indisponível% no% plano% que% escolheu,% nos% comunique% seu% desejo% enviando% um% email% para% suporte@integrator.com.br,%que%lhe%direcionamos%para%um%plano%adequado.%% 6

7

Sobre o Suporte Especializado Chamamos%de%suporte%especializado%os%seguintes%proJissionais%que%atendem%aos% chamados%de%hospedagem: Administradores%de%Painéis%\%Administram%painéis%e%analisam%erros%pertencentes% a%eles Administradores%Linux%\%Administram%os%serviços%do%sistema%operacional Administradores%de%servidor%Java%\%Administram%serviços%de%servidores%Java 8

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

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

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

Sobre o Suporte de Programadores Os%programadores%especialistas%não%são%acessíveis%no%suporte%de%primeiro%nível%padrão% em%todos%os%serviços%de%hospedagem,%onde%consideramos%apenas%administradores. O% suporte% de% programadores% é% contratado% separadamente% ou% adicionado% em% plano% especíjico%contratado.% Para% informações% se% o% seu% plano% possui% tal% suporte% sem% custo,% consulte% o% suporte@integrator.com.br. 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%suporte@integrator.com.br%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%suporte@integrator.com.br),%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%suporte@integrator.com.br%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%suporte@integrator.com.br.% 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% suporte@integrator.com.br. 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

Softaculous para Aplicativos OpenSource PHP Existem%alguns%aplicativos%PHP%muito%populares,%como%o%WordPress,%Joomla,%%Drupal,% Moodle,%Magento%e%outros,%cujo%automatizamos%sua%instalação%dentro%do%cPanel.% A% visão% que% teremos% agora% é% de% como% usar% o% Softaculous% para% instalar% aplicativos% pré\ dejinidos.% Como% exemplo,% iremos% usar% o% WordPress.% Mas% a% sequência% serve% para% qualquer% outro% aplicativo%disponível%no%painel. IMPORTANTE:% O%Softaculous%possui%aplicativos%PHP%conhecidos%e%são%atualizados% automaticamente%pelo%painel%em%versões.. 39

Antes de Utilizar o Softaculous É%fundamental%o%usuário%compreender%que%hospedamos%aplicativos%e%não%os%ensinamos.% Os%softwares,%uma%vez%instalados%pelo%Softaculous,%não%tem%nossa%assistência%de%ensino% de%utilização.% IMPORTANTE:%O%suporte%para%erros%que%seu%aplicativo%apresentar%durante%a%utilização% devem%ser%buscadas%no%site%de%seus%idealizadores.% %O%Softaculous%apenas%automatiza%a% instalação.% A% utilização% e% manutenção% do% Site% são% exigências% que% o% usuário% deve% ter% sobre%seus%aplicativos,%jicando%a%integrator%isenta%de%quaisquer%problemas%decorrentes% do%uso.% 40

Instalando o WordPress em sua conta 1)%Em%Softaculous*Apps*Installer%clique%em%WordPress%no%item%Script: 2)%Assim%que%apresentar%a%janela%do%Softaculous,%clique%em%Instalar: 3)%Na%instalação,%você%preenche%o%formulário%primeiro.%Perceba%que%o%painel%lhe%orienta% como% funciona% a% instalação% em% cada% passo,% inclusive% como% será% visível% o% software% instalado%em%seu%site/domínio: 4) Você pode alterar o prefixo das tabelas que serão geradas em Database Settings. O padrão é o que o painel mantém em seu formulário já preenchido cujo, se não for de sua necessidade, mantenha como está. 41

5) Em Site Settings você define o assunto do seu blog e a descrição inicial. 6) Uma das áreas do formulário mais importantes, se não a mais importante, é a segurança do administrador. Você define em Admin Account os dados do administrador do blog, como Usuário e sua senha. Observe que existe uma barra Strong que demonstra se a senha inserida é forte. 5)%Conclua%a%instalação%assim%que%preencher%o%formulário%clicando%em%Instalar*%ao%Jinal% do%formulário. 6)%O%Softaculous%apresentará%onde%está%o%seu%blog%conJigurado%e%também%o%caminho%do% administrador%na%conclusão%da%instalação. 42

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

Removendo um aplicativo como o WordPress 1)%Retorne%ao%Softaculous%e%clique%em%Todas&as&Instalações.% 2)%Clique%em%Remover%(o%X)%caso%tenha%um%instalado. 3)% Uma% mensagem% surgirá% informando% o% que% será% removido.% Mantenha% todos% os% itens% checados% na% parte% superior% para% uma% remoção% completa.% ConJirme% em% Remover* Instalação. 44

Instalando o WordPress em um subdomínio 1)%Caso%queira%instalar%em%um%subdomínio,*selecione\o%na%instalação%do%WordPress%em% Selecione*Dominio. 2)% Deixe% vazio,% o% campo% Directório.* % Os% demais% campos% você% preenche% normalmente% como%ensinado%em% Instalando%o%WordPress%em%sua%conta%. IMPORTANTE:% A% Integrator% não% ensina% a% operar,% apenas% hospeda,% qualquer% aplicativo% PHP%existente%no%Softaculous.%O%Softaculous%apenas%automatiza%a%instalação,%mas%operar% o%wordpress,%joomla%ou%outros,%dependem%exclusivamente%do%conhecimento%do%cliente.% 45

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. 46

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: 47

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: 48

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

50

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. 51

52

Instalando o WordPress em um subdomínio 1)% Caso% queira% instalar% em% um% subdomínio,% crie\o% primeiro% em% Domínios* *» Subdomínios. 1.1)%Por%exemplo,%vamos%criar%um%subdomínio%chamado%blog: 2)%Ao%iniciar%a%instalação%do%WordPress,%no%Fantástico,%selecione%o%subdomínio: 2.2)% Não% preencha% nada% em% Instalar* na* directoria.% Os% demais% campos% você% preenche% normalmente%como%ensinado%em% Instalando%o%WordPress%em%sua%conta%. IMPORTANTE:% A% Integrator% não% ensina% a% operar,% apenas% hospeda,% qualquer% aplicativo% PHP%existente%no%Fantastico.%O%Fantastico%apenas%automatiza%a%instalação,%mas%operar%o% WordPress,%Joomla%ou%outros,%dependem%exclusivamente%do%conhecimento%do%cliente.% 53

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.% 54

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. 55

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. 56

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). 57

58

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:%usuario@site.com.br 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 59

Adicionando Domínios Suplementares Vá% em% Domínios* *» * Domínio* de* complementos.% O% domínio% suplementar% permite% compartilhar%o%mesmo%espaço,%mas%com%outro%usuário%e%senha%do%domínio%principal%do% cliente%no%cpanel. IMPORTANTE: O exemplo abaixo produzirá o domínio novo dentro de public_html, onde o usuário FTP específico seria usuario@novodominio.com.br. Não há como ser apenas usuario. 60

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". 61

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 62

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 63

Adicionando novos Domínios no WHM Ver%tópico%Criando%novos%domínios%como%revenda%de%sites%%do%manual. 64

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: 65

66

Alterando a Senha ou Excluindo Contas de Email As%contas%de%e\mail%criadas%aparecem%abaixo,%onde%você%pode%alterar%a%senha%ou%excluir: 67

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". 68

69

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 70

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. 71

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:*seuemail@SEUDOMINIO.com.br Senha:%do%seu%Email SMTP: Porta: 587 POP3: Porta: 110 72

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 suporte@integrator.com.br. 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. 73

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. 74

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. 75

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. 76

Acesso ao E-mail pelo Mail do Mac OS Abra o Mail e execute um dos seguintes procedimentos: 1. 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. 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. 3. 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. 4. Na janela Servidor de Correio de Entrada, digite o seguinte: 5. 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: usuario@seudominio.com.br). 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. 77

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. 78

79

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: 80

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. 81

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% suporte@integrator.com.br,%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. 82

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 83

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,% 84

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.% 85

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: 86

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. 87

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 88

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% 89

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% 90

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: 91

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. 92

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. 93

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: suporte@integrator.com.br.% 94

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%suporte@integrator.com.br%para%lhe% oferecermos%um%plano%mais%adequado%ao%seu%caso. 95

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. 96

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: 97

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. 98

Instalando o servidor Java Veja%no%tópico% Instalando%o%servidor%Java%. 99

Colocando o Aplicativo Java no Endereço do seu Site Chamamos%de%mapeamento%a%ação%de%colocar%seu%aplicativo%Java%visível%no%endereço%do% seu%site/domínio. Para%fazer%isso,%seguimos%estes%passos: 1)%Vá%no%painel%Java 2)% Mapeie% o% domínio% em% Web* Server* ConViguration* (no* novo* NGasi* no* canto* superior*direito*no*ícone*de*3*riscos):% /.% 2.1)%O%mapeamento%segue%a%seguinte%regra%se%for%apenas%o%aplicativo%na%URL: a. Digamos%que%você%tenha%enviado%um%aplicativo%WAR%chamado%Aplicacao.war.%No% mapeamento,% digite% Aplicacao* no% campo% mostrado% abaixo% e% conjirme% no% botão% Set* Paths: Teremos,%assim%que%adicionado,%a%URL%de%onde%o%aplicativo%Java%está%funcionando.%Por% exemplo: b. Se for colocar na raiz do domínio, ou seja, digitou www.seusite.com.br, aparece o aplicativo Java, mapeie%na%raiz%do%domínio%clicando%no%botão%set*wild*card.%neste%caso,% não% aparecerá%nada% escrito% na% área% de% mapeamento.% Basta% abrir% o% site,% após% o% painel% terminar%a%conjiguração,%que%deve%aparecer%a%página%default%do%servidor%java%ou%o%seu% aplicativo. Para%cada%servidor%Java%que%oferecemos,%um%básico%de%uso%com%os%painéis%é%apresentado% no%tópico% O%Básico%de%Uso%dos%Servidores%Java%. 100

101

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. 102

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. 103

Instalando o servidor Java O% servidor% Java% pode% ser% selecionado*% na% lista,% assim% como% a% versão% que% disponibilizamos%de%cada. Para%instalar,%seleciona%o%Server%e%a%versão%do%JDK%e%clique%no%botão%Install. ConJirme%no%Continue%para%prosseguir%com%a%instalação. Ao%Jinalizar,%você%verá%na%descrição%do%painel%o%servidor%instalado%e%o%local%onde%ele%está% instalado. 104

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. 105

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. Tomcat*6/7/8%\%appservers/apache\tomcat\Xx% 2. Jetty*8 *appservers/jetty\xx 3. JBoss*7* *appservers/jboss\7x 4. GlassFish*v3/v4* *appservers/glassjish\xx IMPORTATE:*O%X%representa%o%número.%Por%exemplo%o%Tomcat*8%é%padronizado%em% instalação%no%diretório%appservers/apachettomcatt8x. 106

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.% 107

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. 108

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). 109

Como mapear outro domínio ou subdomínio no painel Java Primeiro,%crie%o%domínio%ou%subdomínio%no%cPanel%conforme%os%tópicos% Adicionando* subdomínios %ou% Adicionando*Domínios*Suplementares. Depois,%vá%no%painel%Java,%%Web*Server*ConViguration.%Selecione%o%subdomínio%ou% domínio%suplementar%na%caixa%de%combinação%como%destacado%na%figura%abaixo: Se%o%primeiro%domínio%estiver%com%o%servidor%Java%na%raiz,%não%será%possível%colocar%o% segundo% na% raiz% de% um% aplicativo% independente.% Por% servidor% Java,% só% existe% a% possibilidade%de%ter%apenas%um%aplicativo%na%raiz%do%domínio. IMPORTANTE:%Se%a%sua%intenção%é%ter%mais%de%um%domínio%com%servidor%na%raiz,%entre% em%contato%com%o%suporte@integrator.com.br%para%saber%de%nossos%preços%por%memória% dedicada.%% 110

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

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). 112

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

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%Web*Server*ConViguration.% 4.1)%O%mapeamento%segue%a%seguinte%regra: a. Digamos%que%você%tenha%enviado%um%aplicativo%WAR%chamado%Aplicacao.war.%No% mapeamento,% digite% Aplicacao* no% campo% mostrado% abaixo% e% conjirme% no% botão% Set* Paths: 5) Teremos,%assim%que%adicionado,%a%URL%de%onde%o%aplicativo%Java%está%funcionando.% Por%exemplo: 114

Removendo o mapeamento do aplicativo no Domínio Digamos,% assim% que% adicionado,% a% URL% de% onde% o% aplicativo% Java% está% funcionando,% mapeado,%em%/aplicacao.% Para%remover,%os%passos: 1)%Clique%no%X%do%mapeamento%realizado 2)% Após% desaparecer% o% endereço% do% mapeamento,% clique% em% Set* Paths% e% aguarde% processar%a%mudança. 115

Subindo um aplicativo na Raiz do domínio com o Tomcat A% raiz% de% um% domínio% é% quando% digitamos% o% endereço% do% site%(integrator.com.br%\% por% exemplo)%e%ele%abre%o%aplicativo%java. No% Tomcat,% existe% um% padrão% para% o% ROOT% do% domínio,% onde% o% seu% aplicativo% deve% se% chamar%root.war%ou%ele%deve%estar%em%root.% Faça%os%seguintes%passos%para%realizar%tal%conJiguração: 1) Pare%o%Tomcat%no%painel%Java%em% ; 2)% Remova%%o%diretório%ROOT%do%Tomcat%padrão. 3) Suba% seu% arquivo% ROOT.war,% com% todas% as% bibliotecas,% por% FTP,% no% seguinte% diretório:% a. appservers/apachettomcattxx/webapps% %onde%x%é%a%versão%do%seu%tomcat; 4) Inicie%o%Tomcat%no%painel%Java%em% %; 5) Ainda%no%painel%Java,%mapeie%o%domínio%em%Web*Server*ConViguration.% 5.1)%O%mapeamento%segue%a%seguinte%regra: 6)% Mapeie%na%Raiz%do%domínio%clicando%no%botão%Set*Wild*Card. Não%aparecerá%nada%após%o%processamento,%mas%ao%abrir%o%domínio,%deve%aparecer%seu% aplicativo. IMPORTANTE:* Caso% apareça% em% Branco,% veja% o% procedimento% de% como% analisar% o% problema,%lendo%os%logs%do%seu%servidor%java,%baixando\os%pelo%ftp.%para%ver%onde%jicam% seus%logs,%vá%no%tópico%logs%de%acesso%do%servidor%java%. IMPORTANTE:* Pools% de% conexão% exigem% a% biblioteca% do% banco% de% dados% no% diretório% appservers/apachettomcattxx/lib. 116

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

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. 118

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. 119

Mapeando o Manager no Tomcat Antes de começar, esses passos não devem ser realizados por usuários que colocaram o Tomcat na raiz do domínio. Caso não esteja usando o servidor Java na raiz do domínio, mapeie o Manager do Tomcat da seguinte forma: 1) Vá% em% em% Web* Server* ConViguration% e,% no% mapeamento,% digite% manager/html* no% campo%ilustrado%na%jigura%abaixo.%conjirme%no%botão%set*paths: 2) Depois acesse o manager assim: http://seudominio/manager/html Um usuário e senha serão requisitados e devem ser configurados conforme ensinamos em Configurando o manager do Tomcat 7/8. IMPORTANTE: Não ensinamos as características e formas de configurações do Manager do Tomcat. Caso o usuário deseje aprender mais sobre o Manager do servidor Tomcat, veja a documentação da versão que está usando em http://tomcat.apache.org. 120

Usando o servidor Java Jetty Para%fazer%deploy%no%Jetty,%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/jettytxx/webapps% %onde%x%é%a%versão%do%seu%jetty; 3) Inicie%o%Jetty%no%painel%Java%em% %; 4) Ainda%no%painel%Java,%mapeie%o%domínio%em%Web*Server*ConViguration.% 4.1)%O%mapeamento%segue%a%seguinte%regra: a. Digamos%que%você%tenha%enviado%um%aplicativo%WAR%chamado%Aplicacao.war.%No% mapeamento,% digite% Aplicacao* no% campo% mostrado% abaixo% e% conjirme% no% botão% Set* Paths: 5) Teremos,%assim%que%adicionado,%a%URL%de%onde%o%aplicativo%Java%está%funcionando.% Por%exemplo: 121

Subindo um aplicativo na Raiz do domínio com o Jetty A% raiz% de% um% domínio% é% quando% digitamos% o% endereço% do% site%(integrator.com.br%\% por% exemplo)%e%ele%abre%o%aplicativo%java. Faça%os%seguintes%passos%para%realizar%tal%conJiguração: 1) Pare%o%Jetty%no%painel%Java%em% ; 2) 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%Web*Server*ConViguration.%% 6)% Mapeie%na%Raiz%do%domínio%clicando%no%botão%Set*Wild*Card. Não%aparecerá%nada%após%o%processamento,%mas%ao%abrir%o%domínio,%deve%aparecer%seu% aplicativo. IMPORTANTE:* Caso% apareça% em% Branco,% veja% o% procedimento% de% como% analisar% o% problema,%lendo%os%logs%do%seu%servidor%java,%baixando\os%pelo%ftp.%para%ver%onde%jicam% seus%logs,%vá%no%tópico%logs%de%acesso%do%servidor%java%. IMPORTANTE:* Pools% de% conexão% exigem% a% biblioteca% do% banco% de% dados% no% diretório% appservers/jettytxx/lib. 122

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

Usando o servidor Java JBoss 7 O JBoss 7 é instalado sempre usando a opção "standalone, que é a qual devemos trabalhar: ~/appservers/jboss-7x/standalone Para%fazer%deploy%no%JBoss%7,%execute%estes%passos: 1) Pare%o%servidor%no%painel%Java%em% ; 2) Suba% seu% arquivo% WAR% ou% EAR,% com% todas% as% bibliotecas,% por% FTP,% no% seguinte% diretório:% ~/appservers/jboss-7x/standalone/deployments 2.1) Para as Bibliotecas JAR: ~/appservers/jboss-7x/standalone/lib/ 3) Inicie%o%servidor%no%painel%Java%em% %; 4) Ainda%no%painel%Java,%mapeie%o%domínio%em%Web*Server*ConViguration.% 4.1)%O%mapeamento%segue%a%seguinte%regra: a. Digamos%que%você%tenha%enviado%um%aplicativo%WAR%chamado%Aplicacao.war.%No% mapeamento,% digite% Aplicacao* no% campo% mostrado% abaixo% e% conjirme% no% botão% Set* Paths: 5) Teremos,%assim%que%adicionado,%a%URL%de%onde%o%aplicativo%Java%está%funcionando.% Por%exemplo: 124

Usando o servidor Java JBoss 7 com aplicativo na raiz do domínio No%JBoss%7,%faça%os%seguintes%passos: 1) Pare%o%servidor%no%painel%Java%em% ; 2) Suba% seu% arquivo% WAR% ou% EAR,% com% todas% as% bibliotecas,% por% FTP,% no% seguinte% diretório:% ~/appservers/jboss-7x/standalone/deployments 2.1) Para as Bibliotecas JAR: ~/appservers/jboss-7x/standalone/lib/ 3) Inicie%o%servidor%no%painel%Java%em% %; 4) Ainda%no%painel%Java,%mapeie%o%domínio%em%Web*Server*ConViguration.% 5)% Mapeie%na%Raiz%do%domínio%clicando%no%botão%Set*Wild*Card. Não%aparecerá%nada%após%o%processamento,%mas%ao%abrir%o%domínio,%deve%aparecer%seu% aplicativo. IMPORTANTE:* Caso% apareça% em% Branco,% veja% o% procedimento% de% como% analisar% o% problema,%lendo%os%logs%do%seu%servidor%java,%baixando\os%pelo%ftp.%para%ver%onde%jicam% seus%logs,%vá%no%tópico%logs%de%acesso%do%servidor%java%. 125

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. 126

Usando o servidor Java Wildfly O Wildfly 1 é instalado usando a opção "standalone": ~/appservers/wildfly-8x/standalone Para%fazer%deploy%no%JBoss%7,%execute%estes%passos: 1) Pare%o%servidor%no%painel%Java%em% ; 2) Suba% seu% arquivo% WAR% ou% EAR,% com% todas% as% bibliotecas,% por% FTP,% no% seguinte% diretório:% ~/appservers/wildfly-8x/standalone/deployments 2.1) Para as Bibliotecas JAR: ~/appservers/wildfly-8x/standalone/lib/ 3) Inicie%o%servidor%no%painel%Java%em% %; 4) Ainda%no%painel%Java,%mapeie%o%domínio%em%.%O%mapeamento% segue%a%seguinte%regra: a. Digamos%que%você%tenha%enviado%um%aplicativo%WAR%chamado%Aplicacao.war.%No% mapeamento,% digite% Aplicacao* no% campo% mostrado% abaixo% e% conjirme% no% botão% Set* Paths: 5) Teremos,%assim%que%adicionado,%a%URL%de%onde%o%aplicativo%Java%está%funcionando.% Por%exemplo: 127

Usando o servidor Java Wildfly com aplicativo na raiz do domínio No%WildJly,%faça%os%seguintes%passos: 1) Pare%o%servidor%no%painel%Java%em% ; 2) Suba% seu% arquivo% WAR% ou% EAR,% com% todas% as% bibliotecas,% por% FTP,% no% seguinte% diretório:% ~/appservers/wildfly-8x/standalone/deployments 2.1) Para as Bibliotecas JAR: ~/appservers/wildfly-8x/standalone/lib/ 3) Inicie%o%servidor%no%painel%Java%em% %; 4) Ainda%no%painel%Java,%mapeie%o%domínio%em%Web*Server*ConViguration.% 5)% Mapeie%na%Raiz%do%domínio%clicando%no%botão%Set*Wild*Card. Não%aparecerá%nada%após%o%processamento,%mas%ao%abrir%o%domínio,%deve%aparecer%seu% aplicativo. IMPORTANTE:* Caso% apareça% em% Branco,% veja% o% procedimento% de% como% analisar% o% problema,%lendo%os%logs%do%seu%servidor%java,%baixando\os%pelo%ftp.%para%ver%onde%jicam% seus%logs,%vá%no%tópico%logs%de%acesso%do%servidor%java%. 128

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. 129

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%suporte@integrator.com.br,%relatando%a%situação. 3) O%usuário%e%senha%padrão%do%GlassFish: a. Usuário:%admin b. Senha:%adminadmin 4) Faça%o%deploy%do%seu%aplicativo%indo%em%Applications%no%GlassFish. 5) Clique%em%Deploy: 6) Selecione%o%arquivo%de%sua%máquina%se%sua%internet%for%acima%de%2MB%e%for%possível% 130

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. 131

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

11) %ConJirme%por%Jim%no%botão%. 12) Ainda%no%painel%Java,%mapeie%o%domínio%em%Web*Server*ConViguration.% 12.1)%O%mapeamento%segue%a%seguinte%regra: a. Digamos%que%você%tenha%enviado%um%aplicativo%WAR%chamado%Aplicacao.war.%No% mapeamento,% digite% Aplicacao* no% campo% mostrado% abaixo% e% conjirme% no% botão% Set* Paths: 13) Teremos,%assim%que%adicionado,%a%URL%de%onde%o%aplicativo%Java%está%funcionando.% Por%exemplo: 133

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% suporte@integrator.com.br,% relatando%a%situação. 3) O%usuário%e%senha%padrão%do%GlassFish: a. Usuário:%admin b. Senha:%adminadmin 4) Faça%o%deploy%do%seu%aplicativo%indo%em%Applications%no%GlassFish. 5) Clique%em%Deploy: 134

6) Selecione%o%arquivo%de%sua%máquina%se%sua%internet%for%acima%de%2MB%e%for%possível% usar%um%upload%de%arquivos%rápido: 7) Caso% sua% internet% tenha% um% upload% de% arquivos% baixo,% recomendamos% subir% seu% aplicativo%por%ftp.%suba%em%um%diretório%qualquer,%podendo%ser%na%raiz%do%seu%usuário% mesmo: 8) Selecione%no%Admin%o%item%Local*Packaged*File*or*Directory*That*Is*Accessible* from*glassfish*server,%clicando%no%botão%para%selecionar%o%arquivo: 9) Ao%abrir%a%janela%popup,%%va em%look*in*até%onde%está%seu%aplicativo,%sabendo%que% ele% começa% com% /home/usuario_ftp.% Por% exemplo,% temos% o% usuário% chamado% clouds10,% acessamos% /home/clouds10.% O% ideal% é% digitar% este% caminho% inicial% e% pressionar%enter.%mais%abaixo%você%verá%os%arquivos%listados.%selecione%o%arquivo%war% ou%ear%e%conjirme%no%botão%choose*file. 135

10) Assim%que%selecionado,%serão%puxadas%as%conJigurações%iniciais%para%o%deploy: 11) %ConJirme%por%Jim%no%botão%. 4) Ainda%no%painel%Java,%mapeie%o%domínio%em%Web*Server*ConViguration.% 136

5)% Mapeie%na%Raiz%do%domínio%clicando%no%botão%Set*Wild*Card. Não%aparecerá%nada%após%o%processamento,%mas%ao%abrir%o%domínio,%deve%aparecer%seu% aplicativo. IMPORTANTE:* Caso% apareça% em% Branco,% veja% o% procedimento% de% como% analisar% o% problema,%lendo%os%logs%do%seu%servidor%java,%baixando\os%pelo%ftp.%para%ver%onde%jicam% seus%logs,%vá%no%tópico%logs%de%acesso%do%servidor%java%. 137

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 META- INF. Veja o exemplo do application.xml em detalhes: <?xml version="1.0" encoding="utf-8"?> <application version="6" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/ XMLSchema-instance" xsi:schemalocation="http://java.sun.com/xml/ns/javaee http:// java.sun.com/xml/ns/javaee/application_6.xsd"> <display-name>aplicacao</display-name> <module> <web> <web-uri>aplicacao-war.war</web-uri> <context-root>/</context-root> </web> </module> <module> <ejb>aplicacao-ejb.jar</ejb> </module> </application> 1) Ainda%no%painel%Java,%mapeie%o%domínio%em%Web*Server*ConViguration.% 2)% Mapeie%na%Raiz%do%domínio%clicando%no%botão%Set*Wild*Card. IMPORTANTE:%ConJigurações%adicionais%do%aplicativo,%gerado%no%EAR%ou%WAR%Jile%não% fazem% parte% do% conhecimento% que% a% Integrator% fornece.% Se% você% automatiza% tudo% pelo% NetBeans,% por% exemplo,% procure% entender% o% que% é% feito% na% geração% do% WAR/EAR% em% termos% de% conjigurações.% A% Integrator% não% ensina% estes% detalhes% por% se% tratarem% exclusivamente%de%conhecimento%voltado%ao%desenvolvimento. 138

Logs de Acesso do Servidor Java Cada%servidor%Java%possui%um%caminho%padrão%para%acesso%aos%seus%logs.%Abaixo%a% relação%de%cada%servidor%java%para%que%possa%baixar%os%logs%via%ftp. Substitua%o% X,%em%maiúsculo,%pela%versão%instalada. Tomcat 6 até 8 ~/appservers/apache-tomcat-xx/logs/stdout.log JETTY 8 ~/appservers/jetty-8x/logs/stdout.log JBOSS 7 ~/appservers/jboss-7x/standalone/log/server.log WILDFLY ~/appservers/wildfly-8x/standalone/log/server.log GlassFish 3 e 4 ~/appservers/glassfish-xx/domains/domain1/logs/server.log IMPORTANTE:* * O% suporte% da% Integrator% não% analisa% logs% e% nem% resolve% problemas% de% aplicativo.% Tais% situações% são% consideradas% de% desenvolvimento% ou% ensino% e% fogem% ao% quesito%hospedar%um%site. 139

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.% 140

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. 141

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. 142

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) Vá%em%Web*Server*ConViguration%e selecione o domínio suplementar/subdomínio que aparecerá com o nome do usuário, assim: 3) Vamos dizer que você fez o deploy, de um aplicativo novo, chamado "Aplicativo.war" e vai mapeá-lo no novo domínio. 3.1) Digite o nome do "Aplicativo", Digamos%que%você%tenha%enviado%um%aplicativo%WAR% chamado%aplicacao.war.%no%mapeamento,%digite%aplicacao*no%campo%mostrado%abaixo% e%conjirme%no%botão%set*paths: 143

13) Teremos,%assim%que%adicionado,%a%URL%de%onde%o%aplicativo%Java%está%funcionando.% 4) Após mapear, terá o domínio suplementar/subdomínio com o acesso ao servidor java e no aplicativo que deseja. IMPORTANTE: Na raiz do domínio/subdomínio - raiz é quando digitamos www.teste.com.br, por exemplo - podemos ter um ROOT apenas no Tomcat, ou seja, não é possível, como no nosso exemplo, abrir www.clouds13integrator.com um aplicativo diretamente e ww.teste.com.br, outro aplicativo. 144

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. 145

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. ATENÇÃO: Antes de criar tabelas, visite o tópico Usuário PADRÃO do PostgreSQL no Painel se estiver usando frameworks. 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 146

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 147

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, principalmente se estiver usando Frameworks para criar tabelas, como Hibernate/JPA em Java. 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 148

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". 149

150

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". 151

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 Criando Tabelas no PostgreSQL com Aplicativos Veja-o-tópico-Usuário-PADRÃO-do-PostgreSQL-no-Painel--caso-estejausando-Hibernate/JPA.-Usuários-PHP-que-trabalhem-com-Frameworks,-aorientação-é-a-mesma. 152

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": 153

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": 154

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". 155

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

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. 157

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. % 158

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 159

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: 160

161

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. 162

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. 163

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. 164

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 165

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

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. 167

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.% 168

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 169

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%. 170

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 171

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. 172

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. 173

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. 174

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 175

Erros Gerais Existem%dezenas%de%erros%em%uma%hospedagem.%Neste%tópico%listamos%os%mais%comuns: Permissão Bloqueio Aplicativo E\mail 176

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 177

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%suporte@integrator.com.br%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 178

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

Erro 503 com servidor Java iniciado A%possível%situação%é%que%alterou%o%arquivo%de%conJigurações%do%servidor%Java%alterando% sua%porta.%isso%causou%falha. Para%resolver,%devolva%as%conJigurações%originais.%Caso%não%saiba,%terá%que,%infelizmente,% reinstalar%o%arquivo%de%conjigurações. Abaixo%os%arquivos%que,%se%alterar%portas,%terá%problemas: Tomcat%\%server.xml JBoss%7/WildJly%\%standalone.xml GlassFish%\%domain.xml IMPORTANTE:* * Caso% seja% a% primeira% vez% que% ocorre,% ou% seja,% assim% que% mapeou% o% serviço% e% o% iniciou,% este% erro% apareceu,% chame% o% suporte@integrator.com.br% para% investigar,%pois%pode%ter%ocorrido%algum%problema%na%conjiguração%do%servidor%java%em% relação%ao%seu%domínio. 180

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 181

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. 182

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. Permissão de Tabelas no PostgreSQL O%erro%de%criação%de%tabelas%no%PostgreSQL%com%o%usuário%incorreto%é%um%problema% comum.%o%correto%é%realizar%a%criação%das%tabelas%como%ensinamos%no%tópico%usuário% PADRÃO%do%PostgreSQL%no%Painel%.% Para%resolver,%veja%o%tópico%Erro%de%Permissão%no%PostgreSQL%%em%diante. 183

Erros de Uso do Servidor Java Existem%muitos%erros%em%um%servidor%java.%Neste%tópico%listamos%apenas%os%mais% comuns: PermGen OutOfMemoryError:%Java%heap%space Proxy%Error 184

Resolvendo o erro PermGen A% JVM% separa% uma% área% Jixa% de% memória% no% momento% da% inicialização,% chamada% de% Permanent% Generation% (PermGen)\% % Geração% Permanente% \% onde% são% armazenados% os% objetos%estáticos,%objetos%de%rejlexão%(class,%method%e%field),%objetos%de%classloader%e% Pool% de% Strings.% Como% esta% área% de% memória% não% costuma% ter% muitas% atualizações,% os% objetos% costumam% demorar% para% serem% desalocados% da% memória.% % Vários% deploys% consecutivos%costumam%gerar%muita%sujeira%e%esta%vai%sendo%acumulada%na%permgen. Esse%espaço%é%independente%do%Java%Heap%Space,%a%memória%oJicial,%conJigurada%por%nós,% tendo%alocações%distintas.%%por%padrão,%a%área%utilizada%para%o%permgen%é%64mb.%quando% essa%área%de%memória%atinge%um%limite,%o%seguinte%erro%é%gerado: java.lang.outofmemoryerror:%permgen%space Como% este% é% o% erro% mais% comum,% você% precisa% da% ajuda% do% suport@integrator.com.br% para%podermos%conjigurar%seu%servidor%java%de%forma%a%adequar%seu%plano%na%memória% PermGen%fornecida%e%permitida%a%ele. O% Tomcat% é% o% servidor% Java% mais% comum% neste% erro,% uma% vez% que% JBoss% e% GlassFish% já% estão%com%as%conjigurações%máximas%estabelecidas%pré\conjiguradas. 185

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.% 186

Proxy Error no Acesso ao Aplicativo Java Não se trata de uma mensagem que parte diretamente do servidor Java, mas que a causa é feita por ele. Ao navegar em seu aplicativo, digamos que se depare com o seguinte erro: Proxy*Error The%proxy%server%received%an%invalid%response%from%an%upstream%server. The%proxy%server%could%not%handle%the%request%GET&/. Reason:%Error*reading*from*remote*server Additionally,%a%502%Bad%Gateway%error%was%encountered%while%trying%to%use%an% ErrorDocument%to%handle%the%request. O erro de Proxy apresentado é dado pelo servidor Apache. Para entender como funciona a hospedagem, resumimos em três pontos: 1) Apache responde a todas as requisições de sites na porta 80 2) Cada servidor Java possui uma porta definida em suas configurações 3) O Apache faz o roteamento da 80 para a porta do servidor Java que opera pelo seu módulo chamado "mod_proxy" O Proxy Error ocorre quando o mod_proxy continua chamando o servidor Java, mas a resposta deste serviço não ocorre. O Apache não sabendo o que responder gera o erro. O que deve analisar: 1) Analisar os logs - Severos erros geram problemas na performance e no servidor Java 2) Tempo de resposta a uma requisição demasiadamente grande - O Apache é configurado para 5 minutos no máximo 3) Memória do servidor Java estourou - Erros de PermGen ou OutOfMemory podem ocorrer, assim como específicos do aplicativo Como resolver: 1) Modificar o aplicativo para ser mais responsivo 2) Na falta de memória, adicionar mais memória ao servidor Java contratando o serviço, caso opere em uma memória contratada padrão de um plano de hospedagem 3) Aumentar o tempo de resposta que o Apache exige, desde que esteja em uma hospedagem de máquina virtual dedicada Resolvendo erro java.lang.outofmemoryerror: unable to create new native thread 187

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

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 189

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 190

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. 191

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 192

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

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. 194

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 195

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. 196

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 suporte@integrator.com.br 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 197

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: 198

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. 199

Servidor Java não quer parar ou reiniciar Entre%no%terminal%SSH%e%execute%o%comando%abaixo: ps*cu*tu*usuario_ftp* *awk*'{*print*$2*"*"*$11*}'* *grep*java Onde%USUARIO_FTP%é%o%usuário%do%FTP%que%está%executando%o%servidor%Java. Pegue%o%número%que%é%apresentado%do%servidor%Java%e%mate%o%processo%assim.% kill*t9*numero Digite%o%número%do%PID%que%apareceu%no%comando%acima%e%pressione%ENTER. Depois,% vá% no% painel% Java,% clique% em% erros,%conjirme%o%diálogo%de%erro%que%o%servidor%exibirá%no%jinal..% Aparecerão% diversos% Após,%clique%em% %%e%aguarde%iniciar. IMPORTANTE: Se o servidor Java não funcionar ainda assim, relate o problema no suporte@integrator.com.br. 200

Fantastico De Luxe - Access denied for user Veja%o%tópico% Problema%ao%instalar%um%aplicativo%no%Fantastico%De%Luxe% %deste%manual. 201

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/ 202

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.% 203

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. 204

Erro The web application [] registered the JDBC driver Se nos logs encontrar o erro similar a este SEVERE [localhost-startstop-2] org.apache.catalina.loader.webappclassloader.clearreferencesjdbc The web application [] registered the JDBC driver [...Driver] but failed to unregister it when the web application was stopped., significa que sua biblioteca JDBC pode estar conflitando com o diretório lib do servidor Java e do seu WAR/EAR file. Neste caso, retire a biblioteca JDBC duplicada de um dos dois locais. Se usar POOL de conexões, retire do seu aplicativo WAR/EAR. IMPORTANTE:*O%suporte%da%Integrator%não%analisará%os%logs%para%os%usuários,%muito% menos%dará%dicas%para%solucionar%a%causa.%%aplicativo%desenvolvido%por%empresa/pessoa% que%não%opera%mais%em%manutenção%do%mesmo,%deve%ser%ainda%assim%acionada%para% resolução%da%causa,%já%que%se%trata%de%uma%correção%para%um%problema%não%visto%no% desenvolvimento. 205

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. 206

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. 207

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: 'nome@site.com.br' em vez de apenas nome@site.com.br. Remova as aspas e tente enviar o email novamente. 208

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 suporte@integrator.com.br para atualizarmos o manual. 209

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. No menu Ferramentas, clique em Opções. 2. Na guia Preferências, clique em Opções de Email. 3. 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. 210

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. 211

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 suporte@integrator.com.br para que nossa equipe técnica especilizada seja escalada para análise e ajuda com o problema. 212

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.% % 213

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: 214

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: 215

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%. % % 216

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. 217

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.% 218

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.% 219

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.% 220

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.% 221

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% 222

adequada%de%ensino%de%desenvolvimento. Instalando o WebServices Axis2 no Tomcat 1)%Baixe%o%Axis2%em: http://axis.apache.org/axis2/java/core/download.cgi Os%passos%seguintes%seguem%as%regras%abordadas%no%tópico%Subindo%o%aplicativo%no% Tomcat%. 2)%Pare%o%Tomcat 3)%Coloque%o%axis2.war%dentro%do%diretório%appservers/apache\tomcat\Xx/webapps. 4)%Inicie%o%Tomcat Os%passos%seguintes%são%ensinados%no%manual,%visto%no%último%passo%informado%abaixo. 5)%Acesse%o%axis2%pela%URL%do%seu%domínio,%algo%como: http://seusite.com.br/axis2 6)%Use%o%link% Validate %para%verijicar%se%está%executando%corretamente. 7)%Veja%mais%instruções%de%uso%do%Axis2%no%endereço: http://axis.apache.org/axis2/java/core/docs/installationguide.html#servlet_container IMPORTANTE:*Caso%o%Tomcat%não%esteja%na%raiz%do%domínio,%faça%o%mapeamento%do% aplicativo%axis2%no%ngasi. Enviando E-mails Uma% dúvida% comum% de% desenvolvedores% na% Integrator% é% o% envio% de% emails.% Operamos% com% Java% e% PHP% ojicialmente,% logo,% os% exemplos% contidos% aqui% são% nestas% duas% 223

linguagens. Envios%que%fujam%as%regras%básicas,%como%as%citadas%logo%abaixo,%não%possuem%garantia% alguma% de% seu% funcionamento.% Pedidos% de% suporte% desta% natureza,% com% alegações% de% funcionamento% anterior% diferindo% das% conjigurações% alertadas,% são% negados% como% resposta. Resumo%das%conJigurações%para%envio%de%email%online%em%aplicativos%Web%hospedados% na%integrator: Host:%localhost Porta:%25 Usuário%e%senha:%email%criado%e%sua%respectiva%senha%no%painel%de%controle SSL%e%TLS:%Não%deixe%nada%conJigurado%a%respeito%ou%coloque%No Requer%autenticação:%Sim IMPORTANTE:* É% fundamental% entender% que% nossos% exemplos% não% possuem% nosso% suporte% para% análise% de% erros% que% obtiver,% uma% vez% que% isso% caracteriza% ensino.% Eles% servem%como%base%para%o%desenvolvedor%que%já,%por%sua%obrigação%técnica,%deve%resolver% a%questão%alterando%seu%aplicativo%para%obter%o%envio%correto%no%seu%site/serviço. Enviando E-mail com Java Para%enviar%email%em%Java,%temos%um%exemplo%simples,%compactado%com%a%fonte%.java,%no% arquivo%.war%chamado%enviaemail.war. Baixe%o%exemplo%no%endereço%(arquivo%precisa%de%duas%descompactações,%pois%está% como%.zip%também): http://wiki.integrator.com.br/index.php?title=enviando_e\mail_em_java Descompacte%o%.war%com%um%programa%de%Zip%ou%Rar%que%estiver%instalado%em%sua% máquina.%na%descompactação,%abra%o%%arquivo% WEB-INF/classes/br/com/integrator/ Envia Email.Java %.% Nele,%temos%as%seguintes%linhas: props%=%system.getproperties(); props.put("mail.smtp.host",%"localhost"); props.put("mail.smtp.port",%"25"); 224

props.put("mail.smtp.auth",%"true"); session%=%session.getinstance(props, new*autenticar("seu_email_aqui","sua_senha_aqui") ); Coloque%seu%email%completo,%criado%no%cPanel%e%a%respectiva%senha%dada%a%ele,%na%linha% de%% new%autenticar. Resumo%das%conJigurações%para%envio%de%email%online%informado%no%EnviaEmail.java: Host:%localhost Porta:%25 Usuário%e%senha:%email%criado%e%sua%respectiva%senha%no%painel%de%controle SSL%e%TLS:%Não%deixe%nada%conJigurado%a%respeito%ou%coloque%No Requer%autenticação:%Sim Enviando E-mail com PHP O ideal para sua segurança é enviar emails autenticados, com uma boa biblioteca de PHP que permita isso de forma fácil. Para isso, temos o PHPMailer. Para%enviar%email%em%PHP,%temos%um%exemplo%simples,%compactado,%no%arquivo%.zip% chamado%phpmailer.zip. Baixe%o%exemplo%no%endereço: http://wiki.integrator.com.br/index.php?title=enviando_e\mail_com_php Descompacte%o%.zip%com%um%programa%de%Zip%ou%Rar%que%estiver%instalado%em%sua% máquina.%na%descompactação,%abra%o%%arquivo% confirm.php %.% Nele,%temos%as%seguintes%linhas%que%devem%ser%alteradas%respectivamente%para%seu%site/ domínio,%seu%email%e%senha. $dominio = 'seudominio.com.br'; $mailfrom = "contato@$dominio"; 225

$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 226

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.% 227

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.% 228

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: 229

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. 230

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.% 231

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.% 232

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.% 233

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.% 234

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.% 235

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 236

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. 237

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. 238

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. 239

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 240

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. 241

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%suporte@integrator.com.br 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%suporte@191.160.0.1 242

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 243

serem resolvidos. 244

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: 245

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: * 246

247

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).% 248

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. 249

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: 250

251

Vários Domínios ou Subdomínios na Raiz de um GlassFish Saiba que terá de criar os domínios e subdomínios no mesmo painel de controle cpanel, como Domínio Suplementar. Em caso de domínios, eles devem ser criados obrigatoriamente como suplementares. Caso não saiba realizar a criação, veja o tópico Adicionando um Subdomínio ou Adicionando Domínios Suplementares. O domínio suplementar, uma vez criado no cpanel, deve ser mapeado no NGasi, como Raiz, conforme ensinamos no tópico Colocando seu aplicativo na raiz do domínio com o servidor GlassFish. IMPORTANTE:* Usar% muitos% aplicativos% em% um% mesmo% servidor% GlassFish% exige% memória.%não%nos%responsabilizamos%se%ocorrer%erros%de%memória%java%heap%space. 252

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. 253

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. 254

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. 255

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". 256

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. 257