Fórum OpenCart Brasil

Por um e-commerce livre, confiável e profissional

#14474
Como o tópico é extenso (e será editado ao longo do tempo), a primeira observação: NÃO USE A FUNÇÃO CITAR AQUI EM CIMA!
Use a função RESPONDER lá no rodapé do tópico.

Para ver em forma de ScreenCast:

ScreenCast #1 - Migrando de hospedagem sem deixar o site fora do ar

Eu vou começar esse tutorial, em face ao que foi discutido aqui neste tópico: https://forum.opencartbrasil.com.br/ ... =23&t=2662

O tópico se trata de uma promoção da DreamHost, que oferece hospedagem a um preço MUITO baixo. Como ela dá suporte a SSH, o tutorial faz um uso "massivo" desse recurso (além de explicar passo a passo como criar o usuário, domínio e banco de dados no painel deles). Depois, eu vou incluir instruções que sirvam para outras empresas de hospedagem, que eventualmente não tenham o cPanel para fazer uma importação direta via script.

---

a) Ao transferir a loja de hospedagem, preciso transferir também o domínio?
R: Não. As empresas registrantes de domínios, as chamadas "Registrar" são independentes dos servidores onde ficam seus arquivos, banco de dados e e-mails. Os Registrars não só permitem como requerem que você indique 2 (ou mais) "nameservers", que são os domínios/IPs para onde você apontará o seu domínio. No nameserver, por sua vez, você aponta as entradas DNS que indicam onde os dados (conteúdo html) do seu domínio deve ser lido. Então você pode continuar tendo o domínio na UOLHost, bastando apontar um nameserver de terceiros ou da própria DreamHost, neste caso, já que ela fornece gerenciamento de DNS. Os nameservers da DreamHost são:
  • ns1.dreamhost.com
  • ns2.dreamhost.com
  • ns3.dreamhost.com
Obs: você deve fazer isso depois de migrar os arquivos e o banco de dados! Veja abaixo.

b) Como migrar o meu site?

Se a sua hospedagem anterior é cPanel e você quer manter os mesmos dados de acesso (login, nome de banco, etc), pode usar o script cPanel Importer da DreamHost. Esse recurso cria o usuário, o domínio, o banco de dados, e-mails e extrai os dados do backup, tudo automaticamente. A desvantagem é que você ainda vai, invariavelmente, precisar editar os dados de conexão ao banco de dados, pois sua loja provavelmente usa "localhost" no servidor de conexão e ele muda para mysql.seudominio.com na DreamHost. Além disso, você perde a oportunidade de trocar nomes de usuário e banco de dados e de conhecer um pouco mais do mundo Linux. Tendo mais conhecimento sobre como o Linux funciona, fica muito mais fácil partir para o aprendizado de PHP (se for do seu interesse) e de editar a sua loja (ainda que você esteja apenas seguindo tutoriais que instruem como fazer determinada coisa na sua OpenCart editando arquivos, sem saber nada de PHP, fica bem mais prático).

Então, vou explicar passo a passo, como migrar "na raça" a sua loja para a DreamHost. Primeiro, como criar a conta de hospedagem no painel da DreamHost. Se a sua conta não é na DreamHost, desculpe, eu fiz o tutorial com foco nela, vá pulando o que não disser respeito à sua hospedagem.

Enquanto no cPanel um revendedor cria um domínio preenchendo simplesmente o nome do domínio, e-mail do responsável, e escolhe um pacote, e o sistema cria um grupo de acesso, um usuário, define permissões (baseada no pacote), limites (baseados no pacote), entradas do apache, zona DNS, etc, e depois, na hora de adicionar os bancos de dados, ele inclui um prefixo com o nome do usuário antes de cada banco, de cada login, na DreamHost é diferente. Nela, você trabalha mais "por baixo" no ambiente Unix. Primeiro você cria um usuário, define o tipo de acesso que ele vai ter, se o diretório dele será visível/editável por outros (propriedade de diretório e permissões padrão de novos arquivos), depois, adiciona a ele um domínio, definindo qual versão do PHP será utilizada, se será CGI ou FastCGI e se o mod_security será ativado ou não. Na parte dos bancos de dados, é mais parecido com o cPanel. Você cria bancos de dados usando FQDNs personalizados (normalmente mysql.dominio.com), depois os bancos (que não precisam ter prefixo, caso não queira) e os usuários, podendo atribuir ou remover acesso aos bancos quando quiser.

Então, vamos seguir os passos. No topo esquerdo do menu, há uma "Toolbox", que é uma caixa com as ferramentas mais utilizadas. Clique em Manage Users.

Adicione um usuário (na opção (+) Add User), que terá seu diretório no servidor (seu caminho /home/usuario/).
  • Tipo de acesso (FTP, SFTP, Shell): escolha Shell.
  • Shell type: deixe /bin/bash
  • username: escolha o nome
  • Enhanced Security?: ative (MUITO IMPORTANTE)*
  • Full Name: coloque o nome do usuário (visível apenas no painel, não influencia nada)
  • Pick a password: se quiser, deixe marcado para gerar uma senha**
  • Password/Password again: digite e confirme a senha, se quiser predefinir
* Informação avançada sobre o Enhanced Security: ele ativa permissões 710 e sem ele, a permissão é 751. Isso determina se o diretório desse usuário será visível e editável por outros usuários que você já criou ou ainda vai criar. Se você é desenvolvedor e vai desenvolver e hospedar um site para um cliente (daqueles que querem ter a senha para ele mesmo poder editar o site, ou ficam mudando constantemente), o ideal é criar um usuário para o seu cliente, desmarcando esta caixa (até porque, você não pode ter 2 usuários acessando o mesmo site! Se o seu cliente vai querer editar o site, é bom que ele tenha mesmo um usuário). É legal lembrar disso ANTES de definir em qual usuário um site vai ficar (dá para trocar depois, mas demora até 1 hora, dependendo da carga do servidor, e podem ocorrer erros de troca de propriedade nos arquivos, necessitando pedir auxílio ao suporte para corrigir). Depois, sobe o site usando o usuário do seu cliente e troca a permissão dos arquivos que quer permitir edição pelo SEU usuário para 771. Assim, você pode logar com o seu usuário e acessar o diretório dele, subindo de /home/seudiretorio/ para /home/diretorioseucliente/ e fazer edições nos arquivos para os quais você alterou a permissão. Se quiser permitir acesso completo, suba o site e, em seguida, troque a permissão da pasta do site inteira (e subpastas/arquivos) para 771 via SSH, com o comando chmod -Rc 771 seusite.com.br/ (instruções sobre SSH abaixo).

* Informação para todos sobre o Enhanced Security: se você não vai hospedar outras pessoas no seu servidor (ou se vai hospedar, mas cada usuário terá acesso somente a seu site e ponto final - assim como no cPanel) deixe essa caixa sempre marcada. Sites na DreamHost não precisam de CHMOD! Nunca troque a permissão de NENHUM arquivo ou diretório para 755 ou 777. Se você o fizer, estará abrindo a possibilidade de outros usuários da sua conta acessar/editar/apagar/criar arquivos - e se tiver deixado essa caixa desmarcada, QUALQUER usuário Dreamhost que estiver na mesma máquina que você, poderá ver arquivos 755 e ver/editar/apagar arquivos 777, assim você será, invariavelmente, hackeado!

** Informação de segurança sobre a senha: ao criar um usuário, o painel, frequentemente, exibe a senha em TEXTO PLANO logo após você enviar o formulário. Se tiver alguém perto de você que pode ver a senha, é mais seguro colocar uma senha qualquer e, em seguida, trocar a senha acessando a conta via SSH e, em seguida, digitar o comando passwd - esse comando pedirá uma nova senha duas vezes, e ela não aparece na tela enquanto é digitada. Nem mesmo o número de caracteres é exibido, simplesmente digite e pressione enter, depois digite de novo e pressione enter (instruções sobre SSH abaixo).

Agora, vamos adicionar o domínio no diretório desse usuário. Clique lá no Toolbox em Manage Domains. Adicione o domínio, escolhendo (+) Add New Domain / Sub-Domain.
  • Domain to host: digite o domínio, sem o www
  • Do you want www?: escolha entre:
    • Leave it alone (aceita acessar o domínio direto ou com www)
    • Add www (se o usuário acessar direto, redireciona para www.dominio.com)
    • Remove www (se o usuário acessar com www, redireciona para o domínio direto)*
  • Users, files, and path: escolha o usuário que você já criou antes (se escolher "create new user", insira o nome do usuário ao lado - obs: é criado um usuário somente FTP, sem permissão Shell)
  • PHP Mode: 5.2 ou 5.3, CGI ou FastCGI, na dúvida, deixe padrão
  • Extra web security: mod_security ativo? na dúvida, padrão.
  • Page Speed Optimization: ferramenta de desempenho do Google, na dúvida, padrão
  • Passenger: ferramenta para programação Ruby, ative só se for utilizar
  • Gmail: ative se quiser usar a platafora do Gmail para os e-mails do seu domínio (eu recomendo, o serviço de e-mail da Dreamhost é confiável, sempre recebe os e-mails, mas o webmail em si, cai com uma certa frequência - mas se for usar IMAP externamente, em um cliente como Thunderbird ou Outlook, pode usar o serviço da própria DH sem problemas)
  • Google Apps: adicione recursos como Calendar, Sites, Docs, etc do serviço Google Apps: se ativar o de cima, ative este também, e o DNS será configurado para que você possa acessar o docs através de docs.seudominio.com em vez de docs.google.com/a/seudominio.com (se quiser, pode deixar desmarcado e personalizar os endereços manualmente depois, na seção de DNS - por exemplo: escritorio.seudominio.com para o Docs, agenda.seudominio.com para o Calendar)
* Recomendo deixar "leave it alone" ou "add www". Se usar subdomínio "loja.seusite.com.br", deixe "remove www" ou "leave it alone" (eu particularmente acho feio www.loja.seudominio.com.br)

Agora é só clicar em "Fully host this domain"

Se você hospeda a sua loja em um subdomínio como loja.seudominio.com, basta acessar essa mesma tela novamente, e preencher o subdomínio completo (loja.seudominio.com). O path real será, por padrão, /home/usuario/loja.seudominio.com (e não dentro do diretório do domínio principal, como era no cPanel). Isso torna a administração do subdomínio bem mais fácil. Obs: no cPanel é possível fazer um subdomínio fora da raiz public_html também, mas poucos conhecem, assim como você pode editar o path na hora de adicionar o subdomínio da loja na DreamHost também, fica a seu critério.

Agora, vamos ao cliente SSH. Eu recomendo o Kitty (similar ao famoso Putty).

Com ele aberto, eu acho legal você configurar o charset utilizado nas conexões ao servidor (não é obrigatório). Explico: como o OpenCart é todo feito em UTF-8, é legal configurar o Kitty para este charset, assim você pode escrever caracteres acentuados, como á é ó ç ã etc nos arquivos do OpenCart (usando o Notepad++ para manter a codificação UTF-8, claro) e depois, se precisar editar levemente algum arquivo, pode fazê-lo diretamente pelo SSH com os editores vi ou joe (muitos usam os editores nano e pico no terminal, mais próximos do bloco de notas ou os visuais KEdit, Gedit e outros editores linux, e não sabem que o joe suporta UTF-8 nos últimos releases, por isso abandonaram o SSH e passaram a trabalhar diretamente no linux), que os caracteres continuam visíveis (se não configurar, coisas estranhas como "<ô?" aparecem no lugar dos caracteres acentuados e causam problemas na hora de salvar os arquivos). Esse processo é fácil:
  • Abra o menu Windows > Translation
  • Troque a codificação ISO para UTF-8 na lista
  • Volte o primeiro menu, Session
  • Selecione a entrada "Default Settings"
  • Clique "Save" do lado direito
Agora a conexão padrão do Kitty é UTF-8, mesmo ao digitar um hostname "novo" na hora de se conectar! ;)

Agora, para facilitar ainda mais, você deve criar um perfil de conexão ao seu servidor, para não precisar digitar o endereço do seu servidor sempre que abrir o Kitty. Digite no primeiro campo o hostname da máquina onde ficam seus arquivos na sua conta DreamHost (essa informação você pega ao se logar no painel deles, clicando em Account Status no topo direito, abre um floating panel com o nome dos servidores web, mysql e mail). Você vai usar o nome do Web Server, adicionando o domínio. Ex: se o servidor for mercurio ou venus, fica no formato mercurio.dreamhost.com, venus.dreamhost.com, etc. Agora, abaixo de "Saved Sessions", digite um nome que identificará essa sessão (eu utilizo "DH (mercurio)", por exemplo, mas pode usar o que quiser, é apenas para controle). Agora, clique Save novamente. Uma nova entrada será criada na lista abaixo de Saved Sessions. Quando quiser se conectar ao seu servidor, basta clicar duas vezes no nome dessa entrada. Prático, né?

Esse "quando quiser", é agora. Clique duas vezes para conectar, uma tela preta (terminal SSH) se abrirá. A primeira solicitação é seu usuário e, em seguida, sua senha. Na primeira conexão, também pode aparecer uma pergunta em inglês, perguntando se você aceita a assinatura da chave pública deste servidor. Uma vez aceita, esse aviso não deve aparecer de novo. Se aparecer, significa que o cache DNS da sua máquina (ou do seu provedor de internet) está apontando o endereço "servidor.dreamhost.com" para um IP ou máquina diferente do usual (verifique isso com cautela, para saber que está se conectando à máquina certa - se você digita seu usuário e senha em uma máquina que não é a sua, podem estar tentando roubar sua senha, sacaram? Experimentem errar a senha uma vez, ou conectem-se e verifiquem logo em seguida se todos os arquivos estão ali - se não for, mude sua senha pelo painel da DH imediatamente. Estou sendo bem extremista/precavido aqui, é muito raro esse tipo de intrusão, teriam que infectar sua máquina ou o seu provedor para depois roubarem sua senha de hospedagem... não se amedrontem tanto :mrgreen: ). Uma vez conectado com seu usuário, não esqueça de trocar a senha (caso você tenha digitado diretamente no painel e ela tenha ficado visível após a criação da conta e alguém tenha visto - como comentei mais acima). Relembrando o comando: passwd, depois senha, enter, senha, enter (lembrando que a senha não aparece na tela, nem mesmo os *****, enquanto você digita - é assim mesmo! Dessa forma, uma possível pessoa ao seu lado, não saberá sequer o número de caracteres da sua senha).

Ótimo... agora vamos à migração em si!! ;)

Primeiro, você tem que acessar o painel da sua conta antiga (cPanel?) e abrir o gerenciador de arquivos. Alguns cPanel tem 2 gerenciadores, neste caso, abra o segundo (tem um visual mais facilitado). Se ele perguntar o diretório inicial, escolha public_html (ou abra a raiz e depois entre na public_html, tanto faz). Aproveite e marque a caixinha "show dot files" ou "exibir arquivos iniciados com .ponto" ou coisa parecida... isso garante que você veja o .htaccess na raiz da loja. Uma vez dentro do gerenciador, abra a pasta da loja (se não for a public_html e você ainda não estiver nela), selecione todos os arquivos, e escolha Comprimir, lá no topo direito. Escolha o nome de um arquivo fácil, como "backupcompleto.zip". Se você já tem muitos arquivos (imagens e anexos de pedido) na sua loja, pode optar por um arquivo .tar, que o linux empacota mais rapidamente, sem comprimir, ou .tar.gz, que é o tar empacotado + comprimido com gzip, em vez do tradicional .zip. Arquivo comprimido, beleza. Não feche essa tela por enquanto.

Agora, volte no terminal SSH. Comando básico: ls (LS, abreviatura de LIST, sempre minúsculo). Isso lista os arquivos em uma única linha (ou mais, apenas se precisar). Tá feio? ls -lh (LS -LH minúsculo. Os parâmetros indicam LISTA VERTICAL e HUMAN READABLE - que é "humanamente legível"). Isso lista os arquivos e diretórios um sobre o outro, em forma de lista com colunas e com tamanho legível em KB, MB ou GB em vez de bytes (sem o H, você veria números enormes em bytes). Você deve ver aí, Maildir, logs, e seudominio.com.br (se criou um subdomínio para a loja, verá ele nesta lista, também). A primeira coluna, tem as permissões, no formato drwxrwxrwx. Por enquanto, explico o primeiro "d". Isso indica que é um diretório. Simples, né?

Para entrar no diretório, digite cd nome-do-diretório (para voltar para a pasta anterior, digite "cd .." sem as aspas)

Dica: após digitar cd, comece a digitar os primeiros 2 ou 3 caracteres do domínio, e pressione TAB. Isso completa o nome do diretório automaticamente, inclui a / no final e dá um espaço, para indicar que é um diretório e que completou sozinho. Se você digitar errado e completar sem a barra e com um espaço, indica que é um arquivo. Se você tiver meusiteum.com e meusitedois.com.br, ao digitar meusiteum e pressionar tab, completa meusiteum.com automaticamente mas, ao digitar apenas "meu" e pressionar tab, será completado até "meusite" e o cursor continuar próximo à palavra, indicando que ainda não foi completada. Isso porque após "meusite", temos 2 ocorrências, "meusiteum" e "meusitedois". Pressione tab novamente e será exibida uma breve lista, com as possibilidades de completamento. Se você digitar a letra "u" e pressionar tab novamente, o completamento prossegue.

O terminal funciona como se você estivesse sentado em frente à máquina da DreamHost. Então agora, vamos "baixar" a sua loja do servidor antigo. Digite:

wget http://sualoja.com.br/backupcompleto.zip (considerando o endereço real da sua loja e a extensão .zip, ajuste conforme necessário).

Pronto! Seu zip foi baixado do servidor antigo. Agora, apague o zip do seu servidor anterior, pois ele pode ser baixado por qualquer um que saiba a URL e ele possui os arquivos config.php e admin/config.php, com os parâmetros de conexão ao seu banco de dados, inclusive login e senha!

Para descompactar o pacote da loja, você pode usar um dos comandos:

Para arquivos .zip:
Código: Selecionar todos
unzip backupcompleto.zip
Para arquivos .tar:
Código: Selecionar todos
tar -xvf backupcompleto.tar
Para arquivos .tar.gz
Código: Selecionar todos
tar -xzvf backupcompleto.tar.gz
No comando tar eu incluí o parâmetro -v que lista todos os arquivos sendo descompactados. O comando unzip já lista os arquivos por padrão. Se quiser verificar, use o ls -lh

Agora delete o arquivo .zip (ou .tar, ou .tar.gz) com rm -f backupcompleto.zip

Arquivos ok... agora o banco de dados. Clique em MySQL Databases na Toolbox do painel da Dreamhost. Os bancos funcionam num esquema parecido aos domínios... primeiro você cria um Database Hostname (que é como se fosse um "repositório de bancos"), depois cria o banco em si e, por último, os usuários que terão acesso ao banco. Então, só mudou a ordem de criação em relação aos sites: um repositório tem vários bancos e cada banco pode ter vários usuários (enquanto na parte dos arquivos é o inverso: um usuário tem vários sites). A parte legal é que aqui, depois de criar o usuário, você pode associar ele a outros bancos (mesmo de outros hostnames/repositórios). Mais recentemente, eles incluíram até a possibilidade de ler o bancos de um repositório através da URL do outro, então acabou ficando um "repositório único de bancos", apenas com hostnames diferentes, pra facilitar o acesso (o site abc.com.br acessa em mysql.abc.com.br mas pode usar xyz.com.br caso prefira). Compliquei? Não esquenta a cabeça! O formulário é simples...
  • Database name: nome do banco de dados (recomendo dominio_aplicação, exemplo: seusite_loja)
  • Use hostname: create a new hostname now... (cuidado na seleção do domínio, se tiver mais de um, eu sempre esqueço de selecionar, rsrs - pode usar o domínio principal, mesmo que a loja esteja em um subdomínio)
  • First User: create a new user now... insira os dados (a senha fica visível na tela seguinte! cuidado)
  • Database Comment: comentário livre que aparecerá abaixo do nome do banco na listagem, só para controle
Com o banco criado, você pode fazer o backup do servidor antigo. Vá no phpMyAdmin, abra o banco de dados (lista na esquerda), depois clique em Exportar no topo direito, selecione a checkbox "Enviado". O site vai chamar um download de um arquivo .sql. Banco salvo!

Agora, você precisa abrir o gerenciador de BD da Dreamhost para restaurar o banco. Como o domínio ainda não foi apontado para a Dreamhost, o caminho mysql.seusite.com.br não funcionará (se você tentar um ping, não vai retornar nada). Vamos contornar isso. Volte ao Manage Domains lá na Toolbox. Embaixo do seu domínio, clique em DNS. Na tela que abrir, você verá entradas de DNS e, entre elas, a entrada "mysql" apontando para um IP. Esse é o IP do seu servidor MySQL. Anote. Aproveite que está nesta tela e anote também o IP para onde aponta a entrada www.

Baixe o Notepad++. Agora, abra o Notepad++ em modo administrador (procure-o no seu menu iniciar, clique com o botão direito > executar como administrador). Agora clique no menu Arquivo > Abrir, e cole no campo Nome: C:\Windows\System32\drivers\etc\hosts - O arquivo que abrir, terá um extenso comentário em inglês e, possivelmente, entradas no formato [IP] [site.com.br]. Adicione 3 novas linhas no final:

IPMYSQL mysql.seusite.com.br
IPWWW seusite.com.br
IPWWW www.seusite.com.br

exemplo:
Código: Selecionar todos
55.55.55.55 mysql.seusite.com.br
64.64.64.64 seusite.com.br
64.64.64.64 loja.seusite.com.br
Salve (deixe o arquivo aberto aí por enquanto, depois você saberá porquê). Abra um prompt do Windows (iniciar > executar > cmd). Digite: ping mysql.seusite.com.br (se tudo deu certo, deve ser retornado o IP do seu servidor mysql). Da mesma forma, ping seusite.com.br deve retornar o IP do servidor www. Como não há site algum no servidor novo, se você abrir seu site agora, não verá nada (verá apenas uma Quickstart Page da Dreamhost). Na verdade, é bom que você abra para ter certeza que fez tudo certo até aqui. Agora, abra http://mysql.seusite.com.br (entre com o login e senha do usuário mysql que você criou). Abra o banco de dados novo. Clique em Importar no topo direito. Escolha o arquivo .sql que você havia baixado do servidor antigo. Envie e pronto! Atualizando a página você deve ver todas as tabelas na lista à esquerda.

Agora, é hora de editar os arquivos config.php e admin/config.php. Você pode fazer por FTP, pelo Notepad++ (usando um plugin nativo que faz conexão remota) ou pelo próprio SSH. A edição pelo Notepad++ é MUITO mais prática, mas não posso incluir agora, meu tempo está ficando curto, fica para depois (eu editarei e colocarei exatamente aqui nessa parte). Por agora, como são poucas linhas, vou ensinar a edição pelo SSH, usando o editor joe e o gerenciador de arquivos Midnight Commander, ou simplesmente, mc.

O mc é um aplicativo tradicional em meio aos linuxers. Podem até pensar que ele é pouco difundido, mas na verdade, ele está pouco presente na internet simplesmente porque o "help" dele é o mais prático de se ler, e a edição funciona muito próxima dos editores visuais, assim, ninguém fica pesquisando por aí como ele funciona, já está tudo na palma de suas mãos!

Digite mc no terminal e você verá uma tela azul, dividida em duas. Ele é um gerenciador de arquivos muito útil! Você pode jogar a "seleção" de um lado para o outro usando TAB. Cada lado lista uma árvore de arquivos, é útil para mover ou copiar arquivos de um lado para o outro. Mas, vamos falar só da edição por hoje. Mova a seleção para o config.php usando as setas direcionais. Agora, aperte F4, que chama o editor interno do MC (alternativamente, você pode apertar F9 e usar os menus superiores para ver as operações possíveis a cada pasta/diretório, navegando também com as setas direcionais). Dentro do editor, o uso é simples. É como digitar como no seu bloco de notas ou editor favorito... com a vantagem do "code highlighting (realce de sintaxe)".

O conteúdo a ser editado, está no final do arquivo:
Código: Selecionar todos
// DB
define('DB_DRIVER', 'mysql');
define('DB_HOSTNAME', 'localhost');
define('DB_USERNAME', 'seusite_logindb');
define('DB_PASSWORD', 'xxxxx');
define('DB_DATABASE', 'seusite_banco');
define('DB_PREFIX', '');
Você vai trocar as linhas DB_HOSTNAME (trocando localhost por mysql.seusite.com.br), DB_USERNAME pelo login e DB_DATABASE pelo nome do banco.

Para salvar/sair, é que você pode se complicar, hehe. Para te ajudar, segue um macete: aperte Ctrl+KH (pode ser Ctrl+K, soltar Ctrl, e depois H sozinho ou, mantendo Ctrl pressionado uma só vez, as teclas K e H seguidas - mas não juntas - aqui funciona das duas formas, mas depende do seu teclado). Isso abre um painel superior com os principais atalhos. Dá para deixar esse painel aberto e continuar a edição! Repita Ctrl+KH para fechar o painel. Os atalhos são exibidos nesse formato, onde o caractere ^ significa a tecla Ctrl:

EXIT
^KX save
^C abort
^KZ shell

FILE
^KE edit
^KR insert
^KD save

Então:
Ctrl+KX fecha o arquivo, salvando a edição que você fez (e sai do editor se for o único arquivo aberto)
Ctrl+C fecha o arquivo (se tiver editado o arquivo, pede confirmação Y/N)
Ctrl+KZ minimiza o editor, voltando para o terminal Shell (você pode trabalhar no Shell e voltar pro MC com o comando "fg").

Ctrl+KE editar arquivo (abre um prompt pedindo o nome de outro arquivo e abre por cima do atual)
Ctrl+KR inserir arquivo (abre um prompt pedindo o nome de outro aquivo, que é inserido dentro do arquivo atual, na posição do cursor)
Ctrl+KD salva o arquivo (abre um prompt perguntando o nome, caso queira "salvar como... outro nome", já com o nome atual preenchido)

Resumidamente, edite o arquivo e pressione Ctrl+KX, que ele já salva e fecha o arquivo, numa tacada só.

Agora, faça o mesmo com o arquivo admin/config.php

Depois que concluir, para fechar o mc, aperte F10.

Belesma! Tá tudo pronto. Pode acessar a loja através da sua máquina antes de apontar os nameservers novos (por isso foi útil você ver se o direcionamento do IPWWW funcionou). Deu certo? Ótimo!! :mrgreen:

Se não deu certo (aparecer um erro MySQL), é porque a máquina onde o seu site está, não consulta os DNS da própria Dreamhost na hora de chamar o MySQL, então mysql.seusite.com.br não está retornando o IP do seu servidor MySQL ainda. Nesse caso, você pode fazer um dos dois: esperar até propagar ou editar os arquivos de novo, trocando mysql.seusite.com.br pelo IP do servidor MySQL (isso deve fazer funcionar imediatamente). Fica a seu critério (se trocar pelo IP, lembre-se de trocar pelo domínio mysql.seusite.com.br novamente depois de alguns dias, só por precaução, pois a Dreamhost pode alterar os IPs dos servidores, apesar de isso ser raro). Quando estiver funcionando (devido à propagação ter ocorrido ou se você trocar o IP nos arquivos), é só apontar os nameservers!! :D Até que seus visitantes sejam direcionados ao servidor da DreamHost, eles continuarão caindo no servidor antigo, mas ele continuará funcionando normalmente. Se você usa SMTP para envio de e-mails, lembre-se de criar também a conta de e-mail responsável pelo envio, com a mesma senha (ou edite a senha na configuração da loja), para que os e-mails sejam enviados, independente do pedido ter sido feito através do servidor antigo ou da DreamHost. Se você optou por usar o Google para os seus e-mails, o servidor é ssl://smtp.google.com e a porta 465. O usuário deve ser preenchido por completo (email@dominio.com).

Depois de tudo feito, nameservers apontados... lembre-se de retirar as entradas do seu arquivo hosts. Como eu já disse, a Dreamhost pode trocar os IPs dos servidores e, se você os mantiver aí no seu arquivo hosts, vai deixar de acessar o seu site e ficar achando que é algum problema, quando na realidade não é.

Mais mastigado que isso, acho que não tem como! Loja migrada e, de quebra, ainda aprendeu a mexer nas funções básicas do painel da DH, aprendeu a configurar o SSH em UTF-8, funções básicas de Unix, conheceu o Midnight Commander. Depois eu volto pra ensinar a usar o Notepad++ acessando os arquivos diretamente no servidor, fica mais legal ainda (pois você continua trabalhando com os atalhos que sempre usou, e tem todas as ferramentas de edição à sua disposição, em português).
#14562
Valeu Vidal!! Me motivou... Criei um screencast (de 1 hora :o ) com um conteúdo 90% fiel a esse tópico. É exatamente uma migração de um site de uma cliente, de uma hospedagem cPanel comum para a DreamHost!! Tem jeito melhor de aprender?! rsrs.. :mrgreen:

Eu perdi um dia inteiro nisso, então é bom que me façam doações... :oops:

ScreenCast #1 - Migrando de hospedagem sem deixar o site fora do ar

Imagem
Imagem

Algumas coisas daqui não estão no screencast (poucas), e outras do screencast não estão aqui (mais do que o inverso).

:arrow: No screencast eu também falei de:

- AjaXplorer (webftp)
- Importação de arquivo .SQL via linha de comando
- Como acessar o phpMyAdmin em mysql.seudominio.com.br (nos casos em que ele não funciona de imediato)
- Migração de site de um usuário para outro
- Possibilidade de ter dominioprincipal.com.br em um usuário e subdominio.dominioprincipal.com.br em outro
- Versões de PHP 5.2/5.3
- Explicação breve sobre o Google Apps (preço)
- e um monte de coisinhas legais, que vai ajudar todo mundo a conhecer o painel da DH e a administrar suas lojas via SSH com praticidade! :idea:

Ola @felipesujf Se você extrai os arquiv[…]

extensção -> Módulos

Voltou ao normal sozinho

Olá Uso o OpenCart 2 e tenho algumas d&uac[…]

Night games. One night, no worries Real Women P[…]