How to Install Drupal 8 on CentOs 7 / Redhat (RHEL) 7
Índice:
- Pré-requisitos
- Crie um banco de dados MySQL
- Instale o PHP
- Instalar o Composer
- Instale o Drupal
- Configurar Nginx
- Teste a instalação
- Instalar módulos e temas do Drupal
- Atualizar Drupal Core
- Conclusão
Drupal é uma das principais plataformas CMS de código aberto do mundo. É flexível, escalável e pode ser usado para criar diferentes tipos de sites, desde pequenos blogs pessoais a grandes sites corporativos, políticos e governamentais.
Neste tutorial, explicaremos como instalar o Drupal 8.6 no CentOS 7.
Existem várias maneiras de instalar o Drupal. Este guia cobre as etapas necessárias para instalar o Drupal usando um modelo de compositor para projetos do Drupal chamado drupal-project.
Usaremos o Nginx como servidor da Web, o mais recente PHP 7.2 e o MySQL / MariaDB como servidor de banco de dados.
Pré-requisitos
Antes de iniciar a instalação, verifique se você atendeu aos seguintes pré-requisitos:
- Tenha um nome de domínio apontando para o IP do servidor público. Usaremos
example.com
Tenha o Nginx instaladoexample.com
Tenha um certificado SSL instalado para o seu domínio. Você pode instalar um certificado SSL Let's Encrypt criptografado gratuitamente, seguindo estas instruções. Faça login como um usuário com privilégios sudo.
Crie um banco de dados MySQL
A primeira etapa é criar um novo banco de dados e conta de usuário e conceder permissões apropriadas ao usuário.
Se o MySQL ou o MariaDB já estiver instalado no seu servidor, você poderá pular esta etapa; caso contrário, poderá instalar o pacote do servidor MariaDB 5.5 a partir dos repositórios padrão do CentOS, digitando:
sudo yum install mariadb-server
Para instalações recentes do MariaDB / MySQL, é recomendável executar o comando
mysql_secure_installation
para melhorar a segurança do seu servidor de banco de dados.
Entre no shell do MySQL digitando o seguinte comando e digite a senha quando solicitado:
mysql -u root -p
Para criar um banco de dados chamado
drupal
, o usuário chamado
drupaluser
e para conceder as permissões necessárias ao usuário, execute os seguintes comandos:
CREATE DATABASE drupal CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES ON drupal.* TO 'drupaluser'@'localhost' IDENTIFIED BY 'change-with-strong-password';
Instale o PHP
O CentOS 7 é fornecido com a versão 5.4 do PHP, que está desatualizada e não é mais suportada. A versão PHP recomendada para o Drupal é o PHP 7.2.
Para instalar o PHP 7.2 no CentOS 7 primeiro, precisamos ativar os repositórios EPEL e Remi:
sudo yum install epel-release yum-utils
sudo yum install
sudo yum-config-manager --enable remi-php72
sudo yum install
sudo yum-config-manager --enable remi-php72
Depois que os repositórios estiverem habilitados para instalar o PHP 7.2 e todas as extensões PHP necessárias, execute os seguintes comandos:
sudo yum install php-cli php-fpm php-mysql php-json php-opcache php-mbstring php-xml php-gd php-curl git
Instalamos o PHP FPM porque usaremos o Nginx como servidor da web.
Por padrão, o PHP FPM será executado como usuário
apache
na porta 9000. Vamos mudar o usuário para
nginx
e alternar do soquete TCP para o soquete Unix. Para fazer isso, abra o arquivo
/etc/php-fpm.d/www.conf
e edite as linhas destacadas em amarelo:
… user = nginx… group = nginx… listen = /run/php-fpm/www.sock… listen.owner = nginx listen.group = nginx
Verifique se o diretório
/var/lib/php
possui a propriedade correta usando o seguinte comando chown:
sudo chown -R root:nginx /var/lib/php
Por fim, ative e inicie o serviço PHP FPM:
sudo systemctl enable php-fpm
sudo systemctl start php-fpm
Instalar o Composer
O Composer é um gerenciador de dependências para PHP. Vamos baixar o modelo do Drupal e instalar todos os componentes necessários do Drupal com o compositor.
O comando a seguir instalará o compositor globalmente baixando o instalador do Composer com curl e movendo o arquivo para o
/usr/local/bin
:
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
Verifique a instalação executando o seguinte comando que imprimirá a versão do compositor:
composer --version
A saída deve ser algo como isto:
Composer version 1.8.4 2019-02-11 10:52:10
Instale o Drupal
Agora que o compositor foi instalado, crie um novo projeto Drupal usando o modelo Drupal dentro do diretório
/var/www/my_drupal
:
sudo /usr/local/bin/composer create-project drupal-composer/drupal-project:8.x-dev /var/www/my_drupal --stability dev --no-interaction
O comando acima fará o download do modelo, buscará todos os pacotes php necessários e executará os scripts necessários para preparar o projeto para instalação. O processo pode levar alguns minutos e, se for bem-sucedido, o final da saída ficará assim:
Create a sites/default/settings.php file with chmod 0666 Create a sites/default/files directory with chmod 0777
O próximo passo é instalar o Drupal usando o Drush. No comando abaixo, estamos passando o banco de dados MySQL e as informações do usuário que criamos na primeira seção:
cd /var/www/my_drupal
sudo vendor/bin/drush site-install --db-url=mysql://drupaluser:change-with-strong-password@localhost/drupal
O instalador solicitará a seguinte mensagem, basta pressionar Enter para continuar.
You are about to DROP all tables in your 'drupal' database. Do you want to continue? (yes/no):
Depois que a instalação estiver concluída, o script imprimirá o nome de usuário e a senha administrativos. A saída deve ser algo como o seguinte:
Starting Drupal installation. This takes a while. Installation complete. User name: admin User password: frxka2Db5v
Por fim, defina as permissões corretas para que o servidor da Web possa ter acesso total aos arquivos e diretórios do site:
sudo chown -R nginx: /var/www/my_drupal
Configurar Nginx
Até agora, você já deve ter o Nginx com certificado SSL instalado em seu sistema, caso contrário, verifique os pré-requisitos para este tutorial.
Para criar um novo bloco de servidor para o nosso novo projeto Drupal, usaremos a receita do Nginx no site oficial do Nginx.
Abra seu editor de texto e crie o seguinte arquivo:
sudo nano /etc/nginx/conf.d/example.com
/etc/nginx/conf.d/example.com
# Redirect HTTP -> HTTPS server { listen 80; server_name www.example.com example.com; include snippets/letsencrypt.conf; return 301 https://example.com$request_uri; } # Redirect WWW -> NON WWW server { listen 443 ssl http2; server_name www.example.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; return 301 https://example.com$request_uri; } server { listen 443 ssl http2; server_name example.com; root /var/www/my_drupal/web; # SSL parameters ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; # log files access_log /var/log/nginx/example.com.access.log; error_log /var/log/nginx/example.com.error.log; location = /favicon.ico { log_not_found off; access_log off; } location = /robots.txt { allow all; log_not_found off; access_log off; } location ~ \..*/.*\.php$ { return 403; } location ~ ^/sites/.*/private/ { return 403; } # Block access to scripts in site files directory location ~ ^/sites/+/files/.*\.php$ { deny all; } # Block access to "hidden" files and directories whose names begin with a # period. This includes directories used by version control systems such # as Subversion or Git to store control files. location ~ (^|/)\. { return 403; } location / { try_files $uri /index.php?$query_string; } location @rewrite { rewrite ^/(.*)$ /index.php?q=$1; } # Don't allow direct access to PHP files in the vendor directory. location ~ /vendor/.*\.php$ { deny all; return 404; } location ~ '\.php$|^/update.php' fastcgi_split_path_info ^(.+?\.php)(# Fighting with Styles? This little gem is amazing. # location ~ ^/sites/.*/files/imagecache/ { # For Drupal <= 6 location ~ ^/sites/.*/files/styles/ { # For Drupal >= 7 try_files $uri @rewrite; } # Handle private files through Drupal. Private file's path can come # with a language prefix. location ~ ^(/+)?/system/files/ { # For Drupal >= 7 try_files $uri /index.php?$query_string; } location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ { try_files $uri @rewrite; expires max; log_not_found off; } }
Não se esqueça de substituir example.com pelo seu domínio Drupal e defina o caminho correto para os arquivos de certificado SSL. Todas as solicitações HTTP serão redirecionadas para HTTPS. Os trechos usados nesta configuração são criados neste guia.
Antes de reiniciar o serviço Nginx, faça um teste para garantir que não haja erros de sintaxe:
sudo nginx -t
Reinicie o serviço Nginx para que as alterações entrem em vigor, digitando:
Teste a instalação
Abra seu navegador, digite seu domínio e, assumindo que a instalação foi bem-sucedida, uma tela semelhante à seguinte será exibida:
Você pode fazer login como administrador e começar a personalizar sua nova instalação do Drupal.
Instalar módulos e temas do Drupal
Agora que você tem seu projeto Drupal instalado, convém instalar alguns módulos e temas. Os módulos e temas do Drupal são hospedados em um repositório personalizado do compositor, que o drupal-project configura para nós imediatamente.
Para instalar um módulo ou um tema, tudo o que você precisa fazer é
composer require drupal/module_or_theme_name
em
cd
no diretório do projeto e digitar
composer require drupal/module_or_theme_name
. Por exemplo, se queremos instalar o módulo Pathauto, precisamos executar o seguinte comando:
cd /var/www/my_drupal
sudo -u nginx /usr/local/bin/composer require drupal/pathauto
Anexando
sudo -u nginx
, estamos executando o comando como usuário
nginx
Using version ^1.3 for drupal/pathauto./composer.json has been updated > DrupalProject\composer\ScriptHandler::checkComposerVersion Loading composer repositories with package information Updating dependencies (including require-dev) Package operations: 3 installs, 0 updates, 0 removals - Installing drupal/token (1.5.0): Downloading (100%) - Installing drupal/ctools (3.2.0): Downloading (100%) - Installing drupal/pathauto (1.3.0): Downloading (100%) Package phpunit/phpunit-mock-objects is abandoned, you should avoid using it. No replacement was suggested. Writing lock file Generating autoload files > DrupalProject\composer\ScriptHandler::createRequiredFiles
Como você pode ver na saída acima, o compositer também instala todas as dependências de pacotes para nós.
Atualizar Drupal Core
Antes de atualizar, é sempre uma boa idéia fazer um backup dos seus arquivos e banco de dados. Você pode usar o módulo Backup e Migrar ou fazer backup manualmente de seu banco de dados e arquivos.
Para fazer backup dos arquivos de instalação, é possível usar o seguinte comando rsync, é claro, você precisará usar o caminho correto para o diretório de instalação:
sudo rsync -a /var/www/my_drupal/ /var/www/my_drupal_$(date +%F)
Para fazer backup do banco de dados, podemos usar o comando
mysqldump
padrão:
mysqldump -u root -p > /var/www/my_drupal_database_$(date +%F).sql
ou
drush sql-dump
:
cd /var/www/my_drupal
vendor/bin/drush sql-dump > /var/www/my_drupal_database_$(date +%F).sql
Agora que criamos um backup, podemos continuar e atualizar todos os arquivos principais do Drupal executando o seguinte comando:
sudo -u nginx /usr/local/bin/composer update drupal/core webflo/drupal-core-require-dev symfony/* --with-dependencies
Conclusão
Parabéns, você instalou o Drupal 8 com sucesso usando o compositor e aprendeu a instalar módulos e temas. Agora você pode começar a personalizar seu site. O Guia do Usuário do Drupal 8 é um bom ponto de partida para aprender mais sobre como gerenciar sua instalação do Drupal. Além disso, não esqueça de visitar o projeto do modelo do Drupal Composer no Github.
centos drupal mysql mariadb cms compositor nginxAs ofertas de software como serviço têm se tornado cada vez mais populares entre as empresas, pois libera os administradores de instalar atualizações de software e executar outras tarefas de manutenção que eles teriam que fazer internamente. Os assinantes da MessageLabs entregam o gerenciamento da segurança de tráfego de e-mail e da Web para a empresa e não precisam instalar equipamentos no local.
[Outras leituras: Como remover malwares do PC com Windows]
Como instalar o Drupal usando o WAMP no Windows
Você pode instalar o Drupal usando o WAMP no Windows. Este tutorial mostrará como instalar o Drupal no host local no Windows 10 / 8.1 / 7.
Como instalar drupal no ubuntu 18.04
Neste tutorial, mostraremos como instalar o Drupal 8.6 em uma máquina Ubuntu 18.04. Existem várias maneiras de instalar o Drupal, este tutorial aborda as etapas necessárias para instalar o Drupal 8.6 usando o Composer.