How to install Drupal on Ubuntu 18.04 19.04 Linux LoaclHost
Índice:
- Pré-requisitos
- Antes de você começar
- 1. Crie um banco de dados MySQL
- 2. Instale o PHP
- 3. Instale o Composer
- 4. Instale o Drupal
- 5. Configure o Nginx
- 6. Teste a instalação
- 7. Instale os módulos e temas do Drupal
- 8. Atualize o núcleo do Drupal
- Conclusão
Drupal é uma das plataformas CMS de código aberto mais populares do mundo. Está escrito em PHP e pode ser usado para criar diferentes tipos de sites, desde pequenos blogs pessoais a grandes sites corporativos, políticos e governamentais.
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 um modelo de compositor para projetos 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
Verifique se você atendeu aos seguintes pré-requisitos antes de continuar com este tutorial:
- Você tem um nome de domínio apontando para o IP do servidor público. Usaremos
example.com
. Você tem o Nginx instalado seguindo estas instruções. Você tem um certificado SSL instalado para o seu domínio. Você pode instalar um certificado SSL Let's Encrypt criptografado gratuitamente, seguindo estas instruções.
Antes de você começar
Atualize o índice do pacote e os pacotes do sistema para as versões mais recentes:
sudo apt update && sudo apt upgrade
1. Crie um banco de dados MySQL
sudo apt install mysql-server
Para instalações recentes do MySQL, é recomendável executar o comando
mysql_secure_installation
para melhorar a segurança do seu servidor MySQL.
Agora precisamos fazer login no shell do MySQL e criar um novo banco de dados e conta de usuário e conceder ao usuário as permissões de concessão apropriadas.
Para efetuar login no shell do MySQL, digite 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';
2. Instale o PHP
O PHP 7.2, que é a versão padrão do PHP no Ubuntu 18.04, é totalmente suportado e recomendado para o Drupal 8.6. Como usaremos o Nginx como servidor da Web, instalaremos o PHP-FPM também.
Para instalar todos os módulos PHP necessários, execute o seguinte comando:
sudo apt install php7.2-cli php7.2-fpm php7.2-mysql php7.2-json php7.2-opcache php7.2-mbstring php7.2-xml php7.2-gd php7.2-curl
O serviço PHP-FPM será iniciado automaticamente após a conclusão do processo de instalação. Você pode verificá-lo imprimindo o status do serviço:
systemctl status php7.2-fpm
A saída deve indicar que o serviço fpm está ativo e em execução.
● php7.2-fpm.service - The PHP 7.2 FastCGI Process Manager Loaded: loaded (/lib/systemd/system/php7.2-fpm.service; enabled; vendor preset: enabled) Active: active (running) since Sat 2018-05-19 19:54:13 UTC; 9h ago Docs: man:php-fpm7.2(8) Main PID: 17781 (php-fpm7.2) Status: "Processes active: 0, idle: 2, Requests: 0, slow: 0, Traffic: 0req/sec" Tasks: 3 (limit: 507) CGroup: /system.slice/php7.2-fpm.service ├─17781 php-fpm: master process (/etc/php/7.2/fpm/php-fpm.conf) ├─17796 php-fpm: pool www └─17797 php-fpm: pool www
3. Instale o Composer
O Composer é um gerenciador de dependências para PHP e o usaremos para baixar o modelo do Drupal e instalar todos os componentes necessários do Drupal.
Para instalar o compositor globalmente, faça o download do instalador do Composer com curl e mova 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 imprimindo a versão do compositor:
composer --version
A saída deve ser algo como isto:
Composer version 1.6.5 2018-05-04 11:44:59
4. Instale o Drupal
Agora que temos o compositor instalado, podemos prosseguir e criar um novo projeto Drupal usando o modelo do compositor dentro do diretório
/var/www/my_drupal
:
sudo 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á alguns scripts para preparar nosso projeto para instalação. O processo pode levar alguns minutos e, se for bem-sucedido, o final da saída será semelhante ao seguinte:
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 criadas na etapa 1:
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. Consider using the --notify global option. Installation complete. User name: admin User password: XRkC9Q5WN9
Por fim, precisamos definir as permissões corretas para que o servidor da Web possa ter acesso total aos arquivos e diretórios do site. O Nginx e o PHP estão em execução como
www-data
user e
www-data
group, portanto, precisamos emitir o seguinte comando:
sudo chown -R www-data: /var/www/my_drupal
5. Configure o 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/sites-available/example.com
/etc/nginx/sites-available/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' /.*)$; include fastcgi_params; # Block httpoxy attacks. See https://httpoxy.org/. fastcgi_param HTTP_PROXY ""; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param QUERY_STRING $query_string; fastcgi_intercept_errors on; fastcgi_pass unix:/run/php/php7.2-fpm.sock; # 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.
Ative o bloco do servidor criando um link simbólico para o diretório
sites-enabled
para
sites-enabled
:
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
Antes de reiniciar o serviço Nginx, faça um teste para garantir que não haja erros de sintaxe:
sudo nginx -t
Se não houver erros, a saída deve ser assim:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Por fim, reinicie o serviço Nginx digitando:
6. 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.
7. Instale os 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 www-data composer require drupal/pathauto
Anexando
sudo -u www-data
, estamos executando o comando como usuário
www-data
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.
8. Atualize o núcleo do Drupal
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 www-data 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. Você também deve visitar o projeto de modelo do Drupal Composer no Github.
ubuntu 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 centos 7
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.