Ambiente de Desenvolvimento

Enviado por Yukare em quarta-feira, 2 de Agosto de 2017 - 16:58

O objetivo deste artigo é criar um ambiente para desenvolver com o Drupal 8. Mais de uma vez eu precisei instalar todos esses programas quando reinstalei o Windows ou Linux, e precisei procurar essas informações em vários lugares diferentes, então tanto quanto um guia para ajudar a mim mesmo futuramente quanto para ajudar outras pessoas, resolvi escrever agora que estou no exato processo de instalar tudo isso novamente.

Estou fazendo isso no Ubuntu 14.04, se você estiver fazendo isso no Windows ou em outra distribuição Linux, algumas coisas serão diferentes, principalmente caminhos e comandos para instalar os programas, mas no geral deve servir como alguma ajuda.

Algo que gostaria de deixar claro que isto é para desenvolvimento com o Drupal, não para um ambiente que será usado em produção, que estará publico. Se você for deixar esta instalação publica medidas adicionais de segurança deverão ser tomadas.

Instalando o servidor LAMP

Primeiro, para quem não souber, servidor LAMP se refere a Linux + Apache + MySql + PHP.

Para instalar todos esses servidores no Linux precisamos de apenas um comando:

sudo apt-get install lamp-server^

Isto ira instalar os programas e suas dependências. Você precisará digitar duas vezes a senha para o usuário root do mysql(esse usuário será criado, não é a sua senha). Neste momento já é possível experimentar o servidor acessando o endereço http://localhost/

Agora precisamos instalar mais dois pacotes do php que são necessários para o Drupal:

sudo apt-get install php-gd php-curl php-dom php-simplexml php-xml php-mbstring

Precisamos também adicionar o módulo rewrite do apache, ele vai permitir que tenhamos urls amigáveis no Drupal:

sudo a2enmod rewrite

E depois disso reiniciar o servidor apache:

sudo service apache2 restart

Instalando o Composer

Para algumas das ferramentas que vamos instalar depois vamos precisar do Composer, então precisamos instala-lo. Vou mostrar como instalar o Composer em sua pasta home para que não seja necessário utilizar o sudo, por exemplo, quando você esta em uma hospedagem compartilhada e ele não esta disponível.

O primeiro passo é criar uma pasta dentro do seu diretório home onde colocaremos o Composer:

cd
mkdir bin

Agora iremos copiar o composer para a pasta que criamos, substitua "usuario" por seu nome de usuário:

curl -sS https://getcomposer.org/installer | php -- --install-dir=$HOME/bin --filename=composer

Com isso teremos o Composer pronto para usar, no entanto não é nada prático quer que utlizar o caminho completo até ele a cada vez, então vamos agora adicionar o caminho para o Composer e as ferramentas que vamos instalar com o composer no seu PATH, assim não será necessário digitar todo o caminho até o composer cada ver que formos utiliza-lo:

sed -i '1i export PATH="$HOME/bin:$PATH"' $HOME/.bashrc
sed -i '1i export PATH="$HOME/.composer/vendor/bin:$PATH"' $HOME/.bashrc
source $HOME/.bashrc

Instalando o Drush

Antigamente se instalava o Drush de maneira global, no entanto se recomenda agora que ele seja instalado de maneira local, isso ajuda em evitar conflitos de versão nos pacotes dos quais ele depende, entretanto é complicado ficar usando ele com o caminho da pasta vendor do projeto.

Para que possamos continuar da mesma maneira, vamos utilizar um projeto chamado drush-shim(https://github.com/webflo/drush-shim) com ele poderemos continuar usando o drush da mesma maneira. Você pode ver na pagina indicada qual a versão mais recente dele e recomendo que instale ela, para instalar a versão mais recente no momento use:

wget https://github.com/webflo/drush-shim/releases/download/0.2.6/drush.phar
chmod +x drush.phar
mv drush.phar bin/drush

Para instalar o Drush é necessário executar o seguinte comando dentro da pasta do seu site:

composer require drush/drush

Vários pacotes necessários pelo Drush serão copiados e ao final o Drush será instalado. Ele será instalado de forma local, e graças a instalação do drush-shim, o Drush estará disponível globalmente.

Caso você queira instalar o Drush e o Drupal Console, você precisa instalar ambos ao mesmo tempo, ou terá problemas com as dependências do Composer:
composer require drupal/console:~1.0 drush/drush

Instalando o Drupal Console

Enquanto o Drush é mais orientado ao gerenciamento do site, o Drupal Console é mais orientado ao desenvolvimento, a principal utilidade dele é a criação do código necessário para a criação de módulos. No Drupal 8 a criação de módulos segue um padrão OOP, apesar disso ser melhor é necessário toda uma estrutura de classes para algo funcionar, então o que o Drupal Console faz é criar todo o esqueleto dessas classes para você, dê uma olhada nos comandos generate:.

Ele possui duas partes, um lançador, que é o programa de linha de comando, e também outra parte que você precisa instalar em cada site Drupal que você fizer(não entendo porque dividir em duas partes, seria mais pratico ter todo ele no lançador ao invés de uma parte em cada instalação Drupal). Então para instalar o lançador fazemos:

cd
curl https://drupalconsole.com/installer -L -o drupal.phar
mv drupal.phar $HOME/bin/drupal
chmod +x $HOME/bin/drupal

Da mesma forma que instalamos o Composer de maneira local na pasta do usuário, nós instalamos o Drupal Console, sendo que não vamos precisar definir os caminhos, porque já fizemos isso na instalação do Composer. Para instalar o Drupal console dentro do seu projeto Drupal, vá até a pasta raiz do Drupal e utilize os seguinte comando:

composer require drupal/console:~1.0 --prefer-dist --optimize-autoloader --sort-packages
Caso você queira instalar o Drush e o Drupal Console, você precisa instalar ambos ao mesmo tempo, ou terá problemas com as dependências do Composer:
composer require drupal/console:~1.0 drush/drush

Instalando o Phing

O Phing é uma ferramenta de build, ele serve para você automatizar processos. Apesar de não ser diretamente relacionada ao Drupal eu utilizo ele durante o desenvolvimento para fazer coisas bem interessantes, por exemplo, automatizar o processo de criar um subdomínio ou então exportar a configuração do drupal e atualizar alguns arquivos que meu módulo precisa. Para instalar ele é bem simples com o Composer:

composer global require phing/phing

Instalando o code sniffer

É preciso instalar o phing antes do code sniffer ou você terá problema de dependências do composer se for instalar depois. Com este comando nós iremos instalar o code sniffer e registrar o conjunto do Drupal e do Drupal Pratice:

composer global require drupal/coder
phpcs --config-set installed_paths ~/.composer/vendor/drupal/coder/coder_sniffer

Instalando o phpmd

composer global require phpmd/phpmd