Como instalar o Zen Cart com o instalador automático.

Na primeira parte, falamos sobre como baixar e configurar o instalador do Zen Cart no servidor. Aqui, vamos falar sobre o instalador automático do Zen Cart, especificamente. Para finalizar, vamos voltar ao servidor para realizar algumas operações que visam tornar o sistema mais seguro.
Clique nas imagens para ver maiores detalhes.

O instalador automático

Depois de fazer o download e configuração dos pacotes de instalação do Zen Cart, você já terá o instalador automática pronto para ser usado. Vamos ver como ele funciona, passo a passo.

LEIA MAIS

Iniciando o instalador

Se tudo estiver bem, até aqui, já podemos dar início ao processo de instalação do sistema.
No seu navegador, entre com a URL correspondente à sua loja online e o Instalador vai iniciar automaticamente.

A tela de boas vindas

Zen Cart Bem vindo instalação

A tela do “contrato”

Para continuar, é necessário aceitar a Licença de uso do aplicativo, que é GPL.
Zen Cart licença de uso

Os pre-requisitos – inspeção do sistema

Aqui o instalador vai fazer um exame no seu servidor e verificar se este está adequadamente configurado para dar prosseguimento ao processo de instalação do Zen Cart.
Esteja atento aos itens marcados com um “X” ou em vermelho. Estes itens precisam ser corrigidos para dar continuidade ao processo de instalação.
Os itens marcados com um símbolo de “aviso” ou em laranja, representam avisos e não impedem necessariamente que você prossiga.
Se você fizer mudanças no seu servidor ou em qualquer item na configuração inicial, você pode usar o F5, no seu teclado ou clicar em “Re-Check”, no final da página – qualquer uma das duas opções recarregará a página.
Se tudo estiver certo (itens em verde), clique em “Install”.

Ajustes do Banco de Dados

Na parte I deste artigo, entre outras coisas, foi pedido para anotar algumas informações que serão necessárias agora ‐ mas elas podem ser obtidas também com o administrador do seu servidor:

  • Endereço do banco de dados – alguns servidores não aceitam o padrão localhost
  • Usuário do banco de dados
  • Senha do usuário
  • Nome do banco de dados

Forneça estes dados e prossiga com a instalação.
Zen Cart dados instalação no servidor

Ajustes do sistema

Complete o formulário com o restante das opções que você já tem anotadas – ou consulte o administrador para saber os valores corretos para preencher o formulário.
Ambiente do sistema em que o Zen Cart será instalado
As opções relativas ao SSL só devem ser preenchidas se você souber o que está fazendo. Senão é melhor deixar do jeito que está — você poderá alterar estas informações com maior segurança mais tarde, na tela de configurações do Zen Cart.
Por fim, clique em “Save System Settings”, para prosseguir.

Ajustes da página da loja

Só para esclarecer, as informações desta tela também poderão ser ajustadas mais tarde, caso você pense em algo mais adequado posteriormente.
Zen Cart dados da loja comércio eletrônico

Definindo quem manda

O administrador é quem vai realizar todas as mudanças na estrutura da loja. Forneça as informações sobre ele ou ela nesta tela. A senha é temporária, neste momento e você poderá alterá-la mais tarde.
Zen Cart - Configuração da conta de administrador

Finalizando – recomendações de segurança

Antes de relaxar, não se esqueça de fazer uma breve faxina no seu sistema para garantir sua segurança. Algumas ações merecem a sua atenção e devem ser executadas no seu servidor:
Importante - Zen cart

  • A pasta admin deve ser renomeada para algo menos óbvio – o objetivo é dificultar possíveis acessos maliciosos — veja aqui como fazer isto de maneira segura;
  • Ajuste as permissões dos seguintes arquivos para 644 (preferencialmente) ou 444:
    • loja/includes/configure.php
    • loja/admin/includes/configure.php

    Zen Cart instalação

  • Remova o diretório zcinstall/, dentro da pasta loja.

Por último, se tiver dúvidas sobre como renomear o diretório admin/, leia este artigo. Este procedimento é obrigatório.
Bons negócios!

Como instalar o Zen Cart.

O Zen-Cart é uma das ferramentas de comércio eletrônico (ecommerce), de código aberto, mais populares atualmente.
Neste artigo, vamos abordar a sua instalação/configuração em duas partes. zen cart comércio eletrônicoNuma delas, vamos baixar e instalar a infraestrutura de instalação do Zen Cart. Na segunda, vamos proceder com a instalação e configuração básica do ambiente de trabalho do software.
Mesmo que você já tenha feito o download do pacote de instalação do Zen-Cart, convém verificar se você já tem tudo para prosseguir com a aventura:

  • Nome/endereço do servidor FTP para o qual irá fazer upload dos pacotes de instalação;
  • Acesso ao banco de dados — a certa altura, serão pedidas informações sobre o banco de dados onde o Zen Cart será instalado. Anote o DB_NAME (nome do banco de dados), DB_USER (usuário do banco de dados), DB_PASS (senha de usuário) e DB_HOST (nome do servidor de banco de dados)
LEIA MAIS

A instalação

Se ainda não fez, você pode baixar o Zen Cart aqui.
Feito o download, copie ou faça o upload do pacote do Zen Cart pro diretório, dentro do servidor, em que será feita a instalação.
Aqui, neste artigo, vou usar o diretório /loja.

Criar os arquivos de configuração configure.php

Será necessário criar alguns arquivos de configuração no servidor. Se você já descompactou o pacote .zip (o que você baixou), localize o arquivo /loja/includes/dist/configure.php e mude suas permissões para 777 – o que permite que todos o possam ler, alterar e executar.
Localize, agora, o arquivo /loja/admin/includes/dist-configure.php. Renomeie-o para configure.php e mude suas permissões para 777.
Sem título1

Ajustando as permissões das pastas

Ao fazer upload, o servidor vai ajustar automaticamente algumas permissões de arquivos e pastas/diretórios. De modo geral, pastas terão suas permissões ajustadas para 755 e arquivos para 644. Estes valores são comuns à maioria dos servidores, mas podem ser diferentes no seu.
O Zen Cart vai precisar de permissão de escrita especial para poder usar adequadamente alguns arquivos e pastas.
As seguintes pastas precisam ter suas permissões alteradas para 777. Se vocẽ estiver usando um cliente FTP e este tiver o recurso de ajustar permissões recursivamente, use-o:

  • cache/
  • images/
  • includes/languages/english/html_includes/
  • media/
  • pub/
  • admin/backup/
  • admin/images/graphs/

O comando ficaria assim:
chmod -v 777 cache/ images/ includes/languages/english/html_includes/ media/ pub/ admin/backups/ admin/images/graphs/
Sem título2

Pre-requisitos para rodar o instalador

O instalador é relativamente inteligente e pode ser capaz de responder por conta própria as questões que seguem. Ainda assim, é recomendável que você verifique se ele está tomando o caminho adequado item a item.
Algumas informações básicas que você precisa ter disponíveis antes de prosseguir com a instalação:

  • O caminho correto (physical path do diretório em que o Zen Cart será instalado
    Exemplo: /home/meu_usuario/public_html/loja
  • O caminho Virtual HTTP ou o domínio completo onde a loja estará hospedada (URL domain)
    Exemplo: http://www.meudominio.com.br/loja
  • O servidor HTTPS Virtual (a URL segura para seu domínio)
    Exemplo: https://meudominio.nomedoservidorseguro.com.br/
  • O caminho virtual seguro HTTPS (a URL segura pro seu domínio e o diretório em que sua loja esta instalada)
    Exemplo: https://www.meudominio.com.br/loja

Leia na fase II como rodar o instalador automático do Zen Cart.

Magento: Baixe e instale via SSH.

magento-logo

introdução

Neste artigo, vamos abordar a instalação do Magento, via SSH, no seu site. Ou seja, vamos usar uma shell para fazer o download e deixar o aplicativo pronto para ser configurado em seu servidor.
O uso do SSH vai tornar este processo mais fácil e rápido e, como vamos fazer tudo no servidor, haverá, provavelmente, o benefício da velocidade de download de todo os pacotes necessários.
Dependendo das suas necessidades, os seguintes artigos também podem ser úteis:

Se o seu servidor já estiver pronto, com PHP, MySQL e uma senha para acesso SSH, siga em frente.

Instalação do pacote completo


wget http://www.magentocommerce.com/
downloads/assets/1.7.0.2/magento-1.7.0.2.tar.gz

(Substitua o número  1.7.0.2 nos comandos pela versão que você deseja instalar. Você pode ver os números das versões disponíveis para download na página do MagentoCommerce).
Feito o download, descompacte o arquivo dentro do diretório no qual o Magento será instalado:

tar -zxvf magento-1.7.0.2.tar.gz

No próximo comando moveremos o conteúdo da pasta Magento para o nosso diretório atual, onde estamos instalando o aplicativo:

mv magento/* magento/.htaccess .

Vamos alterar as permissões iniciais dos arquivos e diretórios do Magento:

chmod o+w var var/.htaccess app/etc
chmod -R o+w media

2013-05-23-1369341950_1024x1368
O comando para remover os pacotes de instalação, bem como o que restou de seus arquivos, é opcional – ou você pode deixar para fazer isto mais tarde, quando o seu site estiver configurado e funcionando bem:

rm -rf magento/ magento-1.7.0.2.tar.gz

Cluster MySQL: Glossário.

MySQL.svg

O que é um Cluster?

No sentido genérico, um cluster é um conjunto de computadores funcionando em unidade para realizar uma determinada tarefa.

Cluster (Imagem: WikiMedia.)
Cluster (Imagem: WikiMedia.)

Um Cluster NDB é um mecanismo de armazenamento, usado pelo MySQL, para implementar o armazenamento de dados, recuperação e gestão distribuída entre os vários computadores que compõem o sistema.

O que é um Cluster MySQL

O termo MySQL Cluster se refere a um grupo de computadores fazendo uso de um mecanismo NDB para dar suporte ao banco de dados em um arquitetura shared-nothing com um sistema de armazenamento em memória principal (in memory).

O que é arquitetura shared-nothing?

A tradução literal livre é “nada compartilhado” e se refere a um sistema de computação distribuída, com unidades auto suficientes, sem ponto crítico de falha e que não compartilham armazenamento em memória ou disco. (Fonte: Wikipedia.)

O glossário

Para melhor ajudar iniciantes que desejam aprender sobre como construir um cluster MySQL, seguem mais termos, de acordo com os manuais oficiais da Oracle. Note que a maioria dos termos se encontra em inglês – por que desejamos facilitar a vida de quem está buscando este glossário para entender melhor algum outro material em inglês.

Configuration files

São arquivos contendo diretivas de funcionamento e informações concernentes ao nosso cluster, seus hosts (unidades hospedeiras, anfitriãs) e seus nós. São lidos pelo sistema assim que o cluster é iniciado.

Backup

Uma cópia integral dos dados do cluster, suas transações e seus arquivos de log salvos em discos ou em outros dispositivos de armazenamento.

Restauro

Ato de levar o cluster a um estado préviamente salvo no backup.

Checkpoint

Grosso modo, quando os dados são gravados em disco, diz-se que chegamos a um checkpoint. No caso do Cluster, para sermos mais específicos, é um ponto no tempo em que todas as transações autorizadas já foram armazenadas em disco.
No que tange o mecanismo de armazenamento NDB, podemos citar dois tipos de checkpoints que trabalham em conjunto para assegurar que uma visão consistente dos dados do cluster seja mantida:

  • Local Checkpoint (LCP): Este é o checkpoint que se refere especificamente a um nó. Um LCP envolve a gravação de todos os dados de um nó no disco, o que ocorre a cada x minutos — o intervalo x varia em função de fatores tais como a quantidade de dados contida em cada nó, o nível de atividade do cluster, entre outros.
  • Global Checkpoint (GCP): Este ocorre a cada x segundos, quando as transações para todos os nós são sincronizadas e o redo-log é liberado pro disco.
Cluster host

Um computador que seja parte de um Cluster MySQL. Um cluster tem tanto uma estrutura física como lógica. Fisicamente, consiste de um conjunto de computadores (cluster hosts) ou hosts. Consulte os termos (node) ou grupo de nós (group nodes).

Node, cluster node

…ou , refere-se a uma unidade lógica ou funcional de um Cluster MySQL. Dentre do contexto do Cluster MySQL, usamos o termo antes para nos referir a um processo em vez de um componente físico.
Há 3 tipos diferentes de nós requeridos para implementar um Cluster MySQL funcional. São os seguintes:

  1. Management (MGM) nodes ou nós de gestão/gerenciamento:
    • organizam os outros nós dentro do Cluster MySQL;
    • fornecem dados de configuração aos outros nós;
    • iniciam e terminam nós (processos);
    • entre outras funções.
  2. Nós SQL (SQL nodes): instâncias do servidor MySQL que funcionam como front ends pros dados mantidos nos nós de armazenamento do cluster. Clientes que desejem armazenar, recuperar ou alterar dados podem acessar um nó SQL tal como se estivessem acessando qualquer outro Servidor MySQL — fazendo uso das APIs e dos métodos de autenticação costumeiros; a distribuição subjacente de dados entre os node groups é transparente entre os usuários e os aplicativos. Os SQL nodes acessam integralmente os dados no banco do cluster sem se “preocuparem” com a forma como se encontram distribuídos entre os diferentes nós de armazenamento ou cluster hosts.
  3. Data nodes: também conhecidos como storage nodes ou, em bom português (quanta pretensão da minha parte!), nós de dados ou nós de armazenamento. Enfim, a função destes nós é armazenar os dados reais. A tabela de dados fragmentados é guardada em um conjunto de node groups — cada qual guarda um subconjunto diferente da tabela de dados. Cada nó, sendo parte de um grupo de nós, armazena uma réplica do fragmento pelo qual o grupo é responsável. Atualmente, um único cluster pode carregar um total de 48 nós de dados;

Nada impede que mais de um nó coexistam em uma única máquina. Mais do que isto: é possível ter um cluster completo rodando dentro de uma única máquina — embora seja totalmente desaconselhável em um ambiente de produção, pode ser um cenário muito útil e até recomendável em um ambiente de aprendizado.
Lembre-se, no contexto de um Cluster MySQL, quando falamos em hospedeiros, ou hosts, nos referimos a um componente físico do cluster, no qual um nó é um compoente lógico ou funcional (ou seja, um processo).

Node group

Um conjunto de nós de dados (data nodes). Todos os nós de dados em um conjunto, contém os mesmos dados (fragmentos) e cada nó pertencente a um determinado grupo precisa estar hospedado em uma máquina diferente.

Node failure

Um Cluster MySQL não precisa de cada um de seus nós para funcionar. O cluster pode continuar rodando, mesmo com a falha de um ou mais nós. O número preciso de falhas em nós que um cluster pode tolerar depende do número total destes e das configurações do sistema.

Node restart

É o processo de reiniciar um dos nós do cluster que tenha falhado.

Initial node restart

É o processo de iniciar um nó cluster sem o seu sistema de arquivos. É útil em alguns casos de upgrade de software e em outras circunstâncias específicas.

System crash ou system failure

Falhas no sistema, como um todo, podem ocorrer em casos de haver tantos nós do cluster com erros que a estabilidade geral do sistema fica comprometida ou não pode ser mais garantida.

System restart

É o processo de reiniciar o cluster e seu estado a partir de logs de disco e checkpoints.

Fragmento

Uma porção de uma tabela. Em um mecanismo de armazenamento NDB, uma tabela é fracionada e armazenada em fragmentos. No Cluster MySQL as tabelas são fragmentadas para facilitar o balanceamento da carga entre máquinas e nós.
Nota: É possível encontrar o termo “partição” (partition) na documentação formal do MySQL, com o mesmo significado. No entanto, o termo recomendado é “fragmento” (fragment).

Replica

No mecanismo NDB de armazenamento, cada fragmento de tabela armazena os números de replicas contidos em outros nós de armazenamento — para manter a redundância. Atualmente, pode haver até quatro réplicas por fragmento.

Transporter

Protocolo que proporciona transferência de dados entre nós. O Cluster MySQL atualmente suporta até 4 tipos diferentes de transporter connections: TCP/IP (local), TCP/IP (remoto), SCI, e SHM.

  • O TCP/IP é, naturalmente, aquele mesmo protocolo que dá sustentação ao HTTP, FTP etc na Internet, que você já conhece;
  • O SCI (Scalable Coherent Interface) é um protocolo veloz usado na montagem de sistemas multiprocessador e aplicações de processamento paralelo. O uso deste protocolo com o Cluster MySQL requer hardware especializado;
  • SHM é sigla para Unix-style shared memory segments ou segmentos de memória compartilhada “no estilo do Unix”, em uma tradução literal.

Nota: O transporter do cluster é um protocolo interno. Aplicações usando o MySQL se comunicam com os nós SQL tal como o fazem com outras versões do MySQL Server (via TCP/IP ou Windows named pipes/Unix Sockets). Através de suas APIs padrão, podemos enviar queries e receber resultados.

NDB

Sigla para Network Database. Refere-se ao mecanismo de armazenamento usado para fazer funcionar o MySQL Cluster. O NDB suporta os tipos mais comuns de colunas e comandos MySQL, além de ser ACID-compliant. Este mecanismo também oferece suporte pleno a transações (commits e rollbacks).

share-nothing architecture

Conceito de arquitetura ideal para um Cluster MySQL. Em um ambiente genuinamente share-nothing, cada nó roda em um host separado. A vantagem desta concepção é que, nela, nenhum host ou nó pode sozinho derrubar ou se tornar um gargalo pras atividades do sistema como um todo.

In-memory storage

Toda informação armazenada em cada nó de dado é guardado na memória do computador em que este se encontra hospedado. Para cada nó de dados (data node) no conjunto, é necessário ter disponível uma quantidade de RAM igual ao tamanho dos dados multiplicado pelo número de replicas, dividido pelo número de nós de dados.
Para exemplificar, se o banco de dados ocupa um gigabyte de memória, e você deseja configurar o cluster com quatro replicas e 8 nós de dados, uma reserva de, no mínimo, 500 MB de memória será necessária por nó. Some a este valor os requisitos necessários para rodar o sistema operacional e os demais aplicativos da máquina.

Tabela

Como de hábito, no contexto de um banco de dados relacional, o termo “tabela” denota um conjunto ordenado de registros estruturados e idênticos. Em um Cluster MySQL, um banco de dados é armazenado em um nó de dados na forma de um conjunto de fragmentos — cada um dos quais é replicado em outros nós de dados. Este conjunto de dados, que reproduz o mesmo fragmento ou conjunto de fragmentos, é chamado de grupo de nós (node group).

programas do Cluster

São programas em linha de comando usados para rodar, configurar e administrar o Cluster MySQL. O que inclui ambos daemons de servidor:

  • ndbd – daemon que executa o processo de dados do nó;
  • ndb_mgmd – executa o servidor de gestão.
Programas clientes
  • ndb_mgm – O cliente de gestão (oferece uma interface para executar os programas de gestão)
  • ndb_waiter – Usado para verificar o status de todos os nós em um cluster
  • ndb_restore – Recupera dados do cluster do backup
Event log

O Cluster MySQL registra (log) os eventos por categoria (início, desligamento, erros, checkpoints etc.), prioridade e pela sua gravidade.
Os registros são divididos em 2 tipos:

  • Cluster log – mantém um registro de todos os eventos relacionados ao cluster, como um todo;
  • Node log – um registro (log) separado é criado e mantido para cada nó individualmente.

Sob circunstâncias normais, é necessário e suficiente manter e examinar apenas o log do cluster (cluster log). Os node logs, normalmente só são necessários para desenvolvedores de aplicativos e para fins de depuração.