Introdução
Drupal é um dos Sistemas de Gerenciamento de Conteúdo (CMS) mais preferidos para a execução de blogs e gerenciamento de conteúdo empresarial. Desenvolvedores e empresas o preferem devido à sua robustez e usabilidade. É altamente personalizável e pode ser estendido para implementar uma ampla variedade de casos de uso.
Neste tutorial, demonstraremos como instalar o Drupal no Ubuntu 20.04 com o Apache.
Pré-requisitos
Como vamos instalar o Drupal no Ubuntu, precisaremos ter a versão mais recente do Ubuntu instalada. Você pode seguir o nosso guia para instalar o Ubuntu se ainda não o tiver. Também precisaremos do PHP, MySQL, e do Apache instalados e prontos. Se você não os tiver instalado, pode conferir o nosso guia LAMP Stack setup – Linux Apache MySQL PHP.
Antes de começarmos a baixar e configurar o Drupal em nossa máquina, precisamos realizar alguns ajustes em nosso sistema. Com o PHP, MySQL e Apache instalados, vamos começar a configurar nosso sistema para a instalação do Drupal.
Preparando o Usuário e o Banco de Dados MySQL
O Drupal depende de um banco de dados MySQL para armazenar dados e configurações. Configuraremos um usuário e um banco de dados dedicados para que nosso ambiente Drupal fique isolado. Isso também nos ajudará a proteger nossa aplicação. Criaremos um novo usuário e banco de dados. Primeiro, faça login no servidor MySQL executando o comando abaixo no terminal:
|
1 |
mysql -u root -p |
Insira o nome de usuário e a senha do MySQL. Assim que estiver autenticado, execute o comando abaixo para criar um novo banco de dados. Vamos chamá-lo de drupal:
|
1 |
CREATE DATABASE drupal; |
Em seguida, você precisará criar um novo usuário para se conectar a este banco de dados. Nós o chamaremos de drupaluser. Para a senha, certifique-se de inserir uma senha forte. Execute o comando abaixo para criar um novo usuário:
|
1 |
CREATE USER drupaluser@localhost IDENTIFIED BY 'password'; |
Nosso usuário precisa de privilégios para realizar operações neste banco de dados. No entanto, fornecer todos os privilégios exporá nossa aplicação a brechas de segurança. Portanto, aqui forneceremos os privilégios necessários executando o comando abaixo:
|
1 |
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,INDEX,ALTER,CREATE TEMPORARY TABLES,LOCK TABLES ON drupal.* TO drupaluser@localhost; |
Depois de conceder os privilégios, estamos prontos para seguir em frente. Execute o comando abaixo para atualizar os privilégios para que eles entrem em vigor imediatamente:
|
1 |
FLUSH PRIVILEGES; |
Depois disso, saia do MySQL executando o comando abaixo:
|
1 |
exit |
Instalar e Configurar Módulos PHP
O Drupal precisa de módulos PHP para funcionar. Nós os baixaremos do repositório oficial do Ubuntu. Atualize o cache de pacotes locais executando o comando abaixo:
|
1 2 |
sudo apt-get update sudo apt-get install php5-gd php5-curl libssh2-php |
Em seguida, faremos alguns ajustes nos módulos PHP conforme a recomendação do Drupal. Abra o arquivo de configuração do PHP usando o comando abaixo:
|
1 |
sudo nano /etc/php5/apache2/php.ini |
Desative ambas as variáveis expose_php e allow_url_fopen:
|
1 2 3 4 5 |
. . . expose_php = Off . . . allow_url_fopen = Off . . . |
Salve e feche o arquivo. Agora você está pronto para seguir em frente.
Modificando Arquivos Htaccess no Apache
O Drupal precisa modificar as URLs para que façam mais sentido para os usuários. Para isso, ele precisa de acesso para reescrever URLs. Felizmente, o módulo mod_rewrite para reescrever está presente no Apache por padrão. Só precisamos ativá-lo. Execute o comando abaixo para ativar este módulo:
|
1 |
sudo a2enmod rewrite |
Em seguida, precisamos atualizar as configurações do host virtual. Temos que fazer isso para que o Drupal possa acessar o arquivo .htaccess. Abra o arquivo virtualhost executando o comando abaixo:
|
1 |
sudo nano /etc/apache2/sites-enabled/000-default.conf |
Dentro do virtualhost configuração, adicione a pasta que aponta para a nossa raiz web. Aqui, AllowOverride para All. Se você tiver um nome de domínio, poderá adicionar ServerName diretiva, e alterar a ServerAdmin diretiva para refletir um endereço de e-mail válido:
|
1 2 3 4 5 6 7 8 9 10 11 |
<VirtualHost *:80> . . . ServerName example.com ServerAdmin webmaster@example.com DocumentRoot /var/www/html <Directory /var/www/html> AllowOverride All </Directory> . . . </VirtualHost> |
Salve e feche o arquivo. Estamos prontos agora. Só precisamos reiniciar o Apache e o PHP para que as alterações entrem em vigor:
|
1 |
sudo service apache2 restart |
Instalando o Drupal
Aqui instalaremos o Drupal na raiz web. Estaremos descompactando os arquivos do Drupal e fazendo uma cópia. Depois disso, copiaremos esses arquivos copiados para o diretório pretendido. Isso nos dará um backup dos arquivos, caso algo dê errado.
Para baixar o Drupal, abra https://www.drupal.org/project/drupal. Sob a seção Recommended releases você deve localizar a versão desejada. Em seguida, copie o endereço do arquivo tar.gz. No seu servidor, você pode baixar este arquivo usando o utilitário wget utilitário. Execute o comando abaixo no terminal para obter o endereço do link copiado:
|
1 2 |
cd ~ wget <seu link> |
Assim que o arquivo for baixado, extraia o diretório do aplicativo digitando:
|
1 |
tar xzvf drupal* |
Agora mude para o diretório recém-criado usando o comando abaixo:
|
1 |
cd drupal* |
Copie todos os arquivos deste diretório para a raiz web executando o comando abaixo:
|
1 |
sudo rsync -avz . /var/www/html |
Assim que os arquivos forem copiados, mude para a raiz web executando o comando abaixo:
|
1 |
cd /var/www/html |
Tornando os arquivos do Drupal fáceis de instalar e seguros
Se instalarmos o Drupal por meio de um script de instalação baseado na web, precisaremos de modificações no diretório do Drupal. Isso nos forçará a alternar entre o navegador e a linha de comando. Embora também possamos instalá-lo dessa forma, uma opção melhor é fazer ajustes em nossos arquivos e eliminar esse incômodo.
Crie um novo diretório sob a subárvore sites/default chamado files:
|
1 |
mkdir /var/www/html/sites/default/files |
Copie o arquivo de configurações padrão para o nome de arquivo que o Drupal usa para a configuração ativa:
|
1 |
cp /var/www/html/sites/default/default.settings.php /var/www/html/sites/default/settings.php |
Para concluir a instalação, precisamos dar mais privilégios ao arquivo de configurações ativo. Reverteremos isso mais tarde. Execute o comando abaixo para dar a permissão de gravação para o grupo proprietário:
|
1 |
chmod 664 /var/www/html/sites/default/settings.php |
Dê a propriedade de grupo dos nossos arquivos para o usuário web, que no Ubuntu é www-data. Toda a nossa instalação do Drupal requer essas propriedades de propriedade:
|
1 |
sudo chown -R :www-data /var/www/html/* |
Agora podemos seguir em frente.
Concluindo a instalação baseada na Web
A partir de agora usaremos o navegador. As etapas serão fáceis e rápidas. No seu navegador, insira o domínio/IP do servidor:
|
1 |
http://server_domain_or_ip/ |
Você verá a página de boas-vindas do Drupal:

Na maioria dos casos, Standard é a opção padrão. Escolha Manual se o seu caso de uso exigir isso especificamente. Após selecionar Standard, clique em Save and Continue. Você receberá mais algumas solicitações. Continue clicando em Next e aceitando as opções padrão, até chegar à página de configuração do banco de dados. Nesta página, serão solicitadas informações do banco de dados. Insira o usuário e senha e banco de dados nesta página que usamos acima:

Clique em Salvar e Continuar. Se você for redirecionado para a mesma página de configuração do banco de dados, basta atualizar a página. As configurações do banco de dados serão configuradas e o perfil será instalado.
Serão solicitadas mais algumas informações sobre o site. Um aviso também aparecerá no topo informando que não há problema em alterar as permissões do arquivo de configurações. Faremos isso apenas por um curto período de tempo e depois reverteremos as alterações. Não queremos comprometer nosso site. Insira as informações solicitadas para o site:

Temos que clicar em Salvar e Continuar mais uma vez para concluir a instalação. Abra o seu site digitando o seu IP/domínio. Você verá a página de boas-vindas:

Aqui termina a instalação do Drupal. Agora vamos reverter as permissões de nossas configurações para evitar o uso não autorizado. Restrinja isso executando o comando abaixo no terminal:
|
1 |
chmod 644 /var/www/html/sites/default/settings.php |
Solução de problemas
Precisamos garantir que a instalação do Drupal esteja concluída. Se a última etapa não estiver concluída, execute o comando abaixo:
|
1 |
sudo tail /var/log/apache2/error.log |
Isso abrirá o arquivo de log. Em seguida, verifique se você consegue localizar o log abaixo no arquivo:
|
1 2 |
PHP Fatal error: Call to undefined function field_attach_load() in /var/www/html/includes/entity.inc on line 316, referer: http://12.34.56.78/install.php?profile=standard&locale=en sh: 1: /usr/sbin/sendmail: not found |
Se as linhas acima estiverem presentes, isso mostra que nossa instalação não foi bem-sucedida. Para remover esse erro, o Drupal forneceu uma pista em seu documento aqui: https://www.drupal.org/node/481758
Um motivo comum para o erro mencionado acima é max_execution_time. Para aumentar isso, abra o arquivo php.ini usando o comando abaixo:
|
1 |
sudo nano /etc/php5/apache2/php.ini |
Em seguida, localize o max_execution_time e altere-o como abaixo:
|
1 |
max_execution_time = 300 |
Como estamos usando nosso próprio banco de dados, teremos que excluir o banco de dados padrão do Drupal e o arquivo de configuração PHP existente /var/www/html/default/settings.php. Depois disso, substitua-os pelas cópias padrão e inicie a instalação novamente. Não se esqueça de criar backups como precaução.
Para excluir o banco de dados Drupal existente, faça login no banco de dados MySQL e execute o comando abaixo:
|
1 |
DROP DATABASE drupal; |
Em seguida, crie o banco de dados e conceda privilégios conforme descrito acima. Outra opção é executar cp /var/www/html/sites/default/default.settings.php /var/www/html/sites/default/settings.php novamente para substituir o arquivo de configurações. Certifique-se de executar o comando chmod 664 /var/www/html/sites/default/settings.php para definir as permissões corretas novamente também. Agora acesse seu IP e tente instalar novamente.
Conclusão
Neste tutorial, aprendemos como configurar o Drupal em sua máquina executando o Ubuntu. Isso lhe dará uma base sólida para começar com o Drupal CMS. Ter uma configuração do Drupal pode ajudá-lo a executar seu site, que é altamente personalizável, sem ter que codificar tudo do zero.
Para saber mais sobre outro CMS útil, o WordPress, você pode conferir os seguintes tutoriais:
- Como implantar o WordPress com contêineres Docker no Ubuntu 20.04
- Como instalar o WordPress com LAMP no Ubuntu 20.04
- Por que você deve recorrer ao WordPress Cloud Hosting para o seu site?
- Como migrar um site do WordPress para o CloudSigma PaaS
Boa computação!
Comentários
Nenhum comentário ainda. Seja o primeiro.