Android

Como instalar drupal no ubuntu 18.04

How to install Drupal on Ubuntu 18.04 19.04 Linux LoaclHost

How to install Drupal on Ubuntu 18.04 19.04 Linux LoaclHost

Índice:

Anonim

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:

sudo systemctl restart nginx

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 nginx