Semana Drupal 7 na Dicas-L - Dica 1 - O ambiente de desenvolvimento

Quando vamos desenvolver um portal com o Drupal, uma questão a considerar é onde o ambiente de produção estará hospedado. Tipicamente, mesmo que trabalhemos em uma plataforma que não seja o Linux, há uma grande possibilidade de que a instalação final, disponível ao público, esteja em um servidor rodando alguma distribuição Linux.

Outra coisa que já sabemos é que um ambiente de desenvolvimento é aquele em que podemos fazer todos os nossos testes e exercitarmos nosso direito de aprender com nossos erros. Por isso, mesmo que usemos o nosso próprio computador para nossos testes, o ideal é isolar o ambiente de desenvolvimento da melhor maneira possível. Para isto existe a virtualização!

Nossa dica é que você instale o VirtualBox, um software que irá permitir que você crie seu ambiente Linux de desenvolvimento (onde estará o seu Drupal). Assim, independente de sua opção de sistema operacional (Mac OS X, Windows ou Linux) você poderá acompanhar integralmente todas as nossas instruções. Para começar, visite o site http://www.virtualbox.org  e escolha o download adequado para a sua plataforma. Caso você já use o Linux, prefira instalar o Virtual Box usando seu gerenciador de pacotes preferido.

É importante salientar que o VirtualBox irá criar uma máquina virtual dentro de sua máquina real. Por isso é conveniente que você tenha ao menos três gigabytes disponíveis de espaço em disco e no mínimo dois gigabytes de memória.

Uma vez instalado o VirtualBox, ao executá-lo você deve ser apresentado a uma tela parecida com esta:

Clique para ver a imagem ampliada

Deixe esta janela quietinha por enquanto e vamos escolher qual será a distribuição do Linux que iremos instalar. Hoje em dia, a maioria dos serviços de hospedagem oferece algum sabor do Ubuntu como servidor. Na BrodTec nós utilizamos os serviços de hospedagem e servidor cloud da Locaweb e, em nosso ambiente de desenvolvimento usamos o Linux Mint. Quanto mais próximo for seu ambiente de desenvolvimento de seu ambiente de produção, menos trabalho você terá na migração de seu portal entre um ambiente e outro e também será mais fácil o seu processo de depuração de problemas. Para nosso exercício utilizaremos a distribuição Linux Mint Debian XFCE 32 bits e todos os exemplos serão baseados nela. Tudo o que for dito aqui, porém, deve servir bem para qualquer outra distribuição baseada no Debian, como o próprio Ubuntu. Para baixar o Linux Mint Debian visite esta página.

Depois de baixar a distribuição Linux de sua escolha, volte à janela do VirtualBox para criar seu ambiente. Clique em Novo, no canto superior esquerdo da janela, e você será apresentado ao assistente de criação da máquina virtual. Avance para a tela seguinte e escolha o nome Drupal 7 - Desenvolvimento para a sua máquina, usando o sistema operacional Linux, versão Debian. Clique em Próximo. Escolha 1024 MB para a memória de sua máquina e clique em Próximo (caso você não tenha muita memória em sua máquina você pode experimentar com menos, mas um mínimo de 512 MB é recomendável para a memória de sua máquina virtual de desenvolvimento). O VirtualBox irá sugerir a criação de um novo disco rígido de 8 GB, mas qualquer tamanho acima de três deve ser suficiente para seu ambiente de desenvolvimento. Claro, se você tiver espaço disponível em disco, adote a sugestão do VirtualBox e clique em Próximo. Você será levado ao assistente de criação de seu disco virtual. Mais uma vez, clique em Próximo e escolha Armazenamento Dinamicamente Expansível (nesta mesma tela você tem uma explicação sobre o que isto significa). Clique em Próximo, verifique suas opções e clique novamente em Próximo. Verifique mais uma vez suas opções, clique em Finalizar e, novamente, em Finalizar.

Você agora tem um computador novinho dentro de seu computador! Vamos iniciá-lo pela primeira vez, avisando a ele que utilizará, no lugar do CD-Rom, o arquivo com a instalação do Linux que baixamos (em nosso caso, baixado deste link. Para isso, clique em Configurações -> Armazenamento -> Controladora IDE -> Vazio e, no ícone ao lado direito de Drive de CD/DVD, selecione como arquivo de CD/DVD Virtual a imagem Linux que você baixou.

Em Configurações -> Rede -> Conectado a, selecione Placa em modo bridge para que sua máquina virtual esteja no mesmo segmento de rede de sua máquina real. Desta forma você poderá acessá-la da mesma forma que acessa um outro servidor em sua rede ou na internet.

Clique em Ok e "ligue" sua máquina clicando em Iniciar. Você receberá uma série de mensagens do VirtualBox. Leia-as e clique em Ok.

Em poucos minutos você terá seu Linux rodando a partir da imagem de CD/DVD em sua máquina virtual, em uma tela similar a esta:

Clique para ver a imagem ampliada

Clique em Install Linux para começar a instalar o ambiente em sua máquina virtual e siga as instruções que serão apresentadas. Como linguagem de instalação escolha o português brasileiro e como timezone America/Sao Paulo. Selecione apropriadamente seu teclado e teste a opção escolhida no espaço apropriado. Você chegará em um ponto onde deverá preparar a partição para a instalação de seu Linux em seu disco virtual. Siga a seguinte receita: clique em Edit partitions -> Device -> Create Partition Table -> Apply. Em seguida clique em Partition -> New e escolha como File System a opção ext4, deixando as outras opções intactas. Clique em Add. Clique em Edit -> Apply All Operations. Uma nova mensagem de confirmação aparecerá, clique em Apply. Esta operação irá deixar sua máquina bem lenta por alguns minutos e, após uma mensagem confirmando o final da operação, clique em Close. Feche a janela do GParted que você usou para criar sua partição, clique em Refresh e, em seguida, clique duas vezes na partição /dev/sda1, selecione Mount as / e formate como ext4. Clique em Ok e em seguida em Forward.

Nota: Se você tiver familiaridade com o ambiente Linux pode, certamente, utilizar outras opções como a separação de partições para swap e áreas de usuários. Você também pode optar por limpar sua instalação, eliminando todos os pacotes dos quais não precisará (como o ambiente de produção LibreOffice, utilitários de impressão, som, gráficos, etc). Em nosso exemplo faremos apenas uma instalação bem simples, usando todos os padrões.

Na tela seguinte, como nome completo, coloque Desenvolvedor Drupal, como usuário, drupal, escolha uma senha da qual você irá se lembrar e coloque como nome da máquina drupal-devel. Siga clicando em Forward nas telas seguintes, conferindo as informações e, ao final, clique em Install. Após alguns minutos, o sistema pedirá que você reinicie a máquina virtual. Reinicie e, assim que você ver a mensagem solicitando que remova o CD (Please remove the disk), clique no menu superior do VirtualBox em Dispositivos -> Dispositivos de CD/DVD e selecione uma unidade de CD/DVD vazia para que o sistema reinicie corretamente a partir de sua instalação no disco virtual. Se você não fizer isto, a máquina vai reiniciar novamente através da imagem de CD/DVD. Se tudo deu certo, você está com seu ambiente de desenvolvimento quase pronto, bastando instalar os prerrequisitos para o Drupal e algumas ferramentas auxiliares.

Após reiniciar, a máquina virtual pedirá que você entre com seu usuário e senha. Faça isto e, antes de qualquer coisa, aproveite para dar uma passeada pelo seu novo ambiente e habituar-se com ele, especialmente se você ainda não conhecer o Linux.

Repare que, no canto inferior direito, há um ícone com um ponto de exclamação dentro dele. Este é o aviso de que há atualizações para o seu sistema e ele deve aparecer em qualquer nova instalação da distribuição que estamos usando. Clique nele e instale todas as atualizações necessárias antes de seguir adiante com novas instalações. Em uma instalação nova é possível que você tenha que repetir este procedimento algumas vezes e isto pode demorar bastante dependendo de sua velocidade de conexão com a internet. Caso o sistema de atualizações pergunte se você deseja substituir algum arquivo, aceite. Como esta é a primeira instalação, não corremos o risco de sobrescrever alguma eventual modificação que teríamos feito caso já estivéssemos usando o sistema há mais tempo.

Enquanto você espera, este é um bom momento para criar a sua conta no portal http://drupal.org, explorar a documentação, ver quais módulos e temas estão disponíveis e ver como as pessoas interagem através dos fóruns de discussões, que são o melhor ponto para sanar suas dúvidas.

Quando todas as atualizações forem feitas, a letra V, na cor verde, substituirá o ponto de exclamação. Como o volume de atualizações é muito intenso, logo após a primeira instalação, reinicie seu sistema de desenvolvimento clicando em Menu -> Sair -> Reiniciar.

É a hora de instalarmos todos os prerrequisitos necessários ao Drupal 7 e mais algumas ferramentas que serão úteis ao nosso ambiente de desenvolvimento. Você pode obter informações completas sobre todos estes prerrequisitos na documentação do Drupal. Aqui apenas daremos o comando que irá instalar o servidor web apache, o gerenciador de banco de dados MySQL, a linguagem PHP e ferramentas auxiliares sobre as quais falaremos mais adiante, como o servidor ssh, o servidor ftp e o phpMyAdmin para permitir um acesso mais fácil à suas bases de dados.

Em sua máquina virtual, abra um terminal clicando em Menu -> Terminal (ou Menu de Aplicativos -> Acessórios -> Emulador de Terminal)l. Torne-se o usuário root digitando o comando abaixo e informando a senha que você escolheu para o usuário drupal na instalação:

  sudo su

O comando a seguir fará a instalação dos pacotes que necessitamos:

  apt-get install openssh-server apache2 proftpd phpmyadmin php5-gd mysql-server

Aceite (respondendo S) a instalação de todos os demais pacotes sugeridos pelo comando acima.

Nota: A lista completa de pacotes a ser instalada é a seguinte:

  • apache2
  • apache2-mpm-prefork
  • apache2-utils
  • apache2.2-common
  • dbconfig-common
  • libapache2-mod-php5
  • libdbd-mysql-perl libdbi-perl
  • libgd2-xpm libmcrypt4
  • libhtml-template-perl
  • libmysqlclient16
  • libnet-daemon-perl libonig2
  • libplrpc-perl libqdbm14
  • mysql-client mysql-client-5.1
  • mysql-common
  • mysql-server-5.1
  • mysql-server-core-5.1
  • openssh-blacklist
  • openssh-blacklist-extra
  • openssh-server
  • php5-cli
  • php5-common
  • php5-gd
  • php5-mcrypt
  • php5-mysql
  • php5-suhosin
  • phpmyadmin
  • proftpd-basic

Certifique-se de que os pacotes sugeridos estão nesta lista. Caso algum deles não esteja, instale-o com o comando:

  apt-get install nome_do_pacote

Algumas perguntas serão feitas pelo apt-get, a primeira é relativa ao pacote proftpd. Responda de forma a fazer com que a execução do serviço seja autônoma (independente do inetd). Você não precisa saber muito sobre isso agora, mas o importante é que se o servidor de arquivos rodar de forma autônoma a detecção de problemas relacionados a ele fica mais fácil. Marque (teclando a barra de espaços) a instalação automática do phpMyAdmin para o apache2. A tecla TAB navega entre as opções nesta tela de texto. Tecle TAB até chegar em OK e pressione a tecla Enter. Quando surgir a pergunta sobre a configuração da base de dados do phpMyAdmin leia as instruções e escolha Sim. Para a senha do usuário administrativo da base de dados MySQL, escolha root ou qualquer outra senha da qual você tenha certeza de que lembrará depois. Faça o mesmo quando a senha do MySQL for solicitada.

Vamos agora testar se tudo funcionou. No terminal de sua máquina virtual execute o comando ifconfig. Como resultado você terá algo do tipo:

  drupal-devel drupal # ifconfig
  eth1      Link encap:Ethernet  Endereço de HW 08:00:27:1b:c3:ce  
           inet end.: 192.168.1.126  Bcast:192.168.1.255  Masc:255.255.255.0
           endereço inet6: fe80::a00:27ff:fe1b:c3ce/64 Escopo:Link
           UP BROADCASTRUNNING MULTICAST  MTU:1500  Métrica:1
           RX packets:1247 errors:0 dropped:0 overruns:0 frame:0
           TX packets:229 errors:0 dropped:0 overruns:0 carrier:0
           colisões:0 txqueuelen:1000
           RX bytes:250058 (244.1 KiB)  TX bytes:26761 (26.1 KiB)
  
  lo        Link encap:Loopback Local  
           inet end.: 127.0.0.1  Masc:255.0.0.0
           endereço inet6: ::1/128 Escopo:Máquina
           UP LOOPBACKRUNNING  MTU:16436  Métrica:1
           RX packets:4 errors:0 dropped:0 overruns:0 frame:0
           TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
           colisões:0 txqueuelen:0
           RX bytes:240 (240.0 B)  TX bytes:240 (240.0 B)

O endereço 192.168.1.126 é o de meu ambiente de desenvolvimento. Em sua máquina ele pode ser outro. Anote-o. Minimize a janela do VirtualBox e, em seu navegador, abra o endereço correspondente. No meu caso ele é http://192.168.1.126. O navegador deve exibir algo como o que está abaixo:

  It works!
  This is the default web page for this server.
  The web server software is running but no content has been added, yet.

Isto significa que seu servidor apache está funcionando.

Você também deve poder abrir uma sessão segura em seu ambiente virtual de desenvolvimento. Caso você use o Linux, basta abrir um terminal e digitar o seguinte comando:

  ssh drupal@192.168.1.126

(use o endereço de sua máquina virtual!)

Você terá que fornecer a sua senha.

Nota: No Windows você deve usar um programa como o putty para fazer isso. No Mac OS X você deve achar seu terminal em Finder -> Aplicações -> Utilitários -> Terminal

Digite

  sudo su

para tornar-se o usuário root e digite o seguinte comando:

  nano /var/www/teste.php

O nano é um dos editores de texto disponíveis no ambiente Linux. Na janela que abrir digite o seguinte:

  <?php phpinfo(); ?>

Tecle Ctrl+X para sair do editor e salvar o arquivo e, em seu navegador, digite o seguinte:

  http://192.168.1.126/teste.php

(use o endereço de sua máquina virtual!)

Você deve obter uma série de informações, indicando que seu interpretador de linguagem PHP está funcionando.

Em seu terminal digite exit (ou use simultaneamente as teclas Ctrl + D) para fechar a sessão segura. Agora veja se o servidor de arquivos (ftp) está funcionando com o comando:

  ftp 192.168.1.126 

(use o endereço de sua máquina virtual!)

Informe o usuário (drupal) e a senha que você escolheu. Você deve ver algo como o que está abaixo:

  brod@brod-laptop ~ $ ftp 192.168.1.126
  Connected to 192.168.1.126.
  220 ProFTPD 1.3.4rc2 Server (Debian) [::ffff:192.168.1.126]
  Name (192.168.1.126:brod): drupal
  331 Password required for drupal
  Password:
  230 User drupal logged in
  Remote system type is UNIX.
  Using binary mode to transfer files.

Digite exit ou use simultaneamente as teclas Ctrl + D para fechar a sessão de transferência de arquivos.

Nota: No Mac OS X faça isso no terminal. No Windows você deve abrir uma tela do MS-DOS (Iniciar -> Executar Programa -> digite cmd).

Para certificar-se de que o gerenciador de banco de dados MySQL está funcionando digite, em seu navegador:

  http://192.168.1.126/phpmyadmin/ 

(use o endereço de sua máquina virtual!)

Entre com o usuário e senha que você definiu na instalação do MySQL (em nosso exemplo root é o usuário e root é também a senha). Aproveite para já criar o banco de dados que o Drupal irá utilizar clicando em Banco de Dados, informando o nome (drupal7) e clicando em Criar.

Se tudo isto funcionou você agora tem um ambiente de desenvolvimento preparado para fazer seus testes com o Drupal. Claro que estas dicas servem para a criação de um ambiente de desenvolvimento para qualquer propósito. Caso você tenha uma máquina individual para o desenvolvimento, você não precisará usar um ambiente virtualizado. Ainda assim, as dicas para a instalação do ambiente Linux e os prerrequisitos para o Drupal listadas aqui são válidas.

Um ambiente virtualizado oferece muitas vantagens. Você só "liga" a máquina virtual quando precisar dela - no uso normal de seu computador você não vai querer deixar rodando o apache, o MySQL e outras coisas que consomem recursos de seu computador. Você também pode transportar facilmente seu ambiente virtualizado para qualquer outra máquina rodando o VirtualBox e você pode testar a transferência daquilo que desenvolveu para um outro servidor simplesmente criando outro ambiente virtualizado.

Na dica de amanhã faremos a instalação do Drupal 7 em nosso ambiente de desenvolvimento.

Publicado originalmente no Dicas-L

Nota: Você pode também obter a imagem de um ambiente já configurado para o desenvolvimento com o Drupal no projeto Quickstart.



Design: Dobro Comunicação. Desenvolvimento: Brod Tecnologia. Powered by Drupal