Como instalar o Drupal 9 no Ubuntu 20.04

Como instalar o Drupal 9 no Ubuntu 20.04

Neste artigo, explicaremos como instalar o Drupal 9 no Ubuntu 20.04. O tutorial irá guiá-lo para instalar e configurar Nginx como servidor web, PHP, MariaDB como banco de dados.

Drupal é um sistema de gerenciamento de conteúdo gratuito e de código aberto. Com ferramentas robustas de gerenciamento de conteúdo, APIs sofisticadas para publicação multicanal e um histórico de inovação contínua - o Drupal está pronto para ser o centro de sua presença digital.

Instale Drupal 9 no Ubuntu 20.04

Pré-requisito:

  • Um servidor dedicado Ubuntu 20.04 ou KVM VPS.
  • Acesso ao servidor com usuário root.

1. Mantenha o servidor atualizado:

# apt update -y

# apt upgrade -y

2. Instale o Nginx

# apt install nginx -y

Inicie e habilite nginx.service usando o seguinte comando:

# systemctl start nginx && systemctl enable nginx

Caso você tenha habilitado o firewall UFW e as solicitações de bloqueio do firewall do servidor web apache, abra uma porta no firewall.

# ufw allow 80/tcp

# ufw allow 443/tcp

# ufw reload

Agora, vamos verificar a instalação do Apache. Abra o navegador e teste a página padrão.

http://[SERVER IP]

3. Instale MariaDB

Precisamos importar a chave pública usada pelo sistema de gerenciamento de pacotes. Podemos importá-lo usando o seguinte comando:

# apt-key adv --fetch-keys 'https://mariadb.org/mariadb_release_signing_key.asc'

Adicionar repositório

# add-apt-repository 'deb [arch=amd64,arm64,ppc64el] https://mirror.nodesdirect.com/mariadb/repo/10.5/ubuntu focal main'

Assim que a chave for importada e o repositório adicionado, você pode instalar o MariaDB 10.5 do repositório MariaDB com:

# apt update -y

# apt install mariadb-server -y

Inicie e habilite o mariadb.service usando o seguinte comando:

# systemctl start mariadb && systemctl enable mariadb

Faça login no mysql e crie um banco de dados e um usuário.

# mysql

Se você definiu a senha de root:

# mysql -u root -p

Primeiro, podemos criar um banco de dados separado que o Drupal pode controlar.

Podemos criar o banco de dados para Drupal digitando:

mysql> CREATE DATABASE drupal DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

Você pode substituir e chamar o drupal do que quiser.

Agora, crie um usuário e conceda a permissão do banco de dados que criamos antes.

mysql> GRANT ALL ON drupal.* TO 'drupaluser’@’localhost' IDENTIFIED BY 'password';

Substitua drupaluser pelo seu nome de usuário e defina a senha com uma senha forte.

Para refletir a mudança, execute o seguinte comando:

mysql> FLUSH PRIVILEGES;

Uma vez que tudo feito, SAIA do mysql.

4. Instale o PHP e configure

# apt install php-fpm php-curl php-gd php-intl php-mbstring php-soap php-xml php-xmlrpc php-zip

Verifique a instalação do PHP:

# php -v

Abra o arquivo php.ini e procure o parâmetro que define cgi.fix_pathinfo . O comentário será removido removendo o ponto-e-vírgula (;) e definido como 0.

# vi /etc/php/7.4/fpm/php.ini

cgi.fix_pathinfo=0

Depois de fazer isso, salve e saia.

Em seguida, reinicie o serviço php-fpm:

# systemctl restart php7.4-fpm

Configure o bloco do servidor Nginx para usar o processador PHP. Aqui, estamos usando o bloco de servidor padrão. Se quiser, você pode criar um novo bloco de servidor.

# vi /etc/nginx/sites-available/default

  • Aqui, precisamos adicionar uma diretiva de índice index.php para permitir que arquivos PHP sejam servidos quando um diretório for solicitado.
  • Modifique a diretiva server_name. Substitua localhost pelo seu nome de domínio FQDN ou endereço IP público.
  • Adicione uma diretiva try_files para garantir que o Nginx não passe solicitações incorretas para o nosso processador PHP.

O bloco do servidor deve ser semelhante a:

server {
listen 80 default_server;
listen [::]:80 default_server;

root /var/www/html;

index index.html index.htm index.nginx-debian.html index.php;

server_name server_domain_name_or_IP;

location / {
try_files $uri $uri/ /index.php$is_args$args;
}

location = /favicon.ico { log_not_found off; access_log off; }
location = /robots.txt { log_not_found off; access_log off; allow all; }
location ~* \.(css|gif|ico|jpeg|jpg|js|png)$ {
expires max;
log_not_found off;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}

}

Substitua server_domain_name_or_IP pelo IP do servidor ou nome do site.

Teste o arquivo de configuração.

# nginx -t

Se não houver erros, reinicie o Nginx para fazer as alterações necessárias.

# systemctl restart nginx

5. Baixe o Drupal

Agora, podemos baixar a versão mais recente do Drupal aqui. Use o diretório / tmp para baixar e extrair o Drupal.

# cd /tmp

# wget https://ftp.drupal.org/files/projects/drupal-9.1.4.zip

Extraia o arquivo compactado para criar a estrutura de diretório Drupal:

# unzip drupal-*.zip

# cd drupal-9.1.4

Mova todos os arquivos para nosso diretório raiz usando o seguinte comando:

# mv * /var/www/html

Em seguida, altere o  nome do arquivo de configuração default.settings.php para settings.php .

# cd /var/www/html/sites/default

# cp default.settings.php settings.php

6. Acesse o Drupal

Por fim, navegue até o navegador e digite seu nome de domínio ou endereço IP do servidor. Vá com o assistente de inicialização. Assim que a configuração for concluída, você pode acessar o painel de controle do Drupal.

Como instalar o Drupal 9 no Ubuntu 20.04

A instalação foi concluída com sucesso.

Neste tutorial, vimos como instalar o Drupal 9 no Ubuntu 20.04.