How to install Drupal on Ubuntu 18.04 19.04 Linux LoaclHost
Оглавление:
- Предпосылки
- Прежде чем вы начнете
- 1. Создайте базу данных MySQL
- 2. Установите PHP
- 3. Установите Composer
- 4. Установите Drupal
- 5. Настройте Nginx
- 6. Проверьте установку
- 7. Установите модули и темы Drupal
- 8. Обновление ядра Drupal
- Вывод
Drupal является одной из самых популярных платформ CMS с открытым исходным кодом в мире. Он написан на PHP и может быть использован для создания различных типов сайтов, от небольших личных блогов до крупных корпоративных, политических и правительственных сайтов.
В этом уроке мы покажем вам, как установить Drupal 8.6 на машину с Ubuntu 18.04. Есть несколько способов установить Drupal. В этом руководстве рассматриваются шаги, необходимые для установки Drupal 8.6 с использованием шаблона composer для проектов Drupal, называемого drupal-project.
Мы будем использовать Nginx в качестве веб-сервера, последнюю версию PHP 7.2 и MySQL / MariaDB в качестве сервера базы данных.
Предпосылки
Убедитесь, что вы выполнили следующие предварительные условия, прежде чем продолжить этот урок:
- У вас есть доменное имя, указывающее на IP вашего публичного сервера. Мы будем использовать
example.com
. У вас установлен Nginx, следуя этим инструкциям. У вас установлен сертификат SSL для вашего домена. Вы можете установить бесплатный SSL-сертификат Let's Encrypt, следуя этим инструкциям.
Прежде чем вы начнете
Обновите индекс пакета и системные пакеты до последних версий:
sudo apt update && sudo apt upgrade
1. Создайте базу данных MySQL
sudo apt install mysql-server
Для новых установок MySQL рекомендуется выполнить команду
mysql_secure_installation
чтобы повысить безопасность вашего сервера MySQL.
Теперь нам нужно войти в оболочку MySQL и создать новую базу данных и учетную запись пользователя, а также предоставить пользователю соответствующие права доступа.
Чтобы войти в оболочку MySQL, введите следующую команду и введите пароль при появлении запроса:
mysql -u root -p
Чтобы создать базу данных с именем
drupal
, пользователь с именем
drupaluser
и предоставить пользователю необходимые разрешения, выполните следующие команды:
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. Установите PHP
PHP 7.2, которая является версией PHP по умолчанию в Ubuntu 18.04, полностью поддерживается и рекомендуется для Drupal 8.6. Поскольку мы будем использовать Nginx в качестве веб-сервера, мы также установим PHP-FPM.
Чтобы установить все необходимые модули PHP, выполните следующую команду:
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
Служба PHP-FPM автоматически запустится после завершения процесса установки, вы можете проверить это, напечатав статус службы:
systemctl status php7.2-fpm
Выходные данные должны указывать, что служба fpm активна и работает.
● 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. Установите Composer
Composer - менеджер зависимостей для PHP, и мы будем использовать его для загрузки шаблона Drupal и установки всех необходимых компонентов Drupal.
Чтобы установить composer глобально, скачайте установщик Composer с помощью curl и переместите файл в каталог
/usr/local/bin
:
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
Проверьте установку, распечатав версию для композитора:
composer --version
Вывод должен выглядеть примерно так:
Composer version 1.6.5 2018-05-04 11:44:59
4. Установите Drupal
Теперь, когда у нас установлен composer, мы можем продолжить и создать новый проект Drupal, используя шаблон
/var/www/my_drupal
каталоге
/var/www/my_drupal
:
sudo composer create-project drupal-composer/drupal-project:8.x-dev /var/www/my_drupal --stability dev --no-interaction
Команда выше загрузит шаблон, загрузит все необходимые пакеты php и запустит несколько скриптов, чтобы подготовить наш проект к установке. Процесс может занять несколько минут, и в случае успеха конец вывода должен выглядеть следующим образом:
Create a sites/default/settings.php file with chmod 0666 Create a sites/default/files directory with chmod 0777
Следующим шагом является установка Drupal с использованием Drush. В приведенной ниже команде мы передаем базу данных MySQL и информацию о пользователе, созданную на шаге 1:
cd /var/www/my_drupal
sudo vendor/bin/drush site-install --db-url=mysql://drupaluser:change-with-strong-password@localhost/drupal
Программа установки предложит вам следующее сообщение, просто нажмите Enter, чтобы продолжить.
You are about to DROP all tables in your 'drupal' database. Do you want to continue? (yes/no):
После завершения установки скрипт напечатает административное имя пользователя и пароль. Вывод должен выглядеть примерно так:
Starting Drupal installation. This takes a while. Consider using the --notify global option. Installation complete. User name: admin User password: XRkC9Q5WN9
Наконец, нам нужно установить правильные разрешения, чтобы веб-сервер мог иметь полный доступ к файлам и каталогам сайта. И Nginx, и PHP работают как пользователь
www-data
группа
www-data
, поэтому нам нужно выполнить следующую команду:
sudo chown -R www-data: /var/www/my_drupal
5. Настройте Nginx
К настоящему времени у вас уже должен быть установлен Nginx с SSL-сертификатом в вашей системе, если не проверены предварительные условия для этого урока.
Чтобы создать новый блок сервера для нашего нового проекта Drupal, мы будем использовать рецепт Nginx с официального сайта Nginx.
Откройте ваш текстовый редактор и создайте следующий файл:
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; } }
Не забудьте заменить example.com доменом Drupal и указать правильный путь к файлам сертификатов SSL. Все HTTP-запросы будут перенаправлены на HTTPS. Фрагменты, используемые в этой конфигурации, созданы в этом руководстве.
Включите блок сервера, создав символическую ссылку на каталог
sites-enabled
:
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
Перед перезапуском службы Nginx выполните тест, чтобы убедиться в отсутствии синтаксических ошибок:
sudo nginx -t
Если ошибок нет, результат должен выглядеть следующим образом:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Наконец, перезапустите сервис Nginx, набрав:
6. Проверьте установку
Откройте браузер, введите домен и, если установка прошла успешно, появится экран, подобный следующему:
Вы можете войти в систему как администратор и начать настройку новой установки Drupal.
7. Установите модули и темы Drupal
Теперь, когда у вас установлен проект Drupal, вам нужно установить некоторые модули и темы. Модули и темы Drupal размещаются в собственном хранилище композиторов, которое drupal-project настраивает для нас из коробки.
Чтобы установить модуль или тему, все, что вам нужно сделать, это
composer require drupal/module_or_theme_name
в каталог проекта и набрать
composer require drupal/module_or_theme_name
. Например, если мы хотим установить модуль Pathauto, нам нужно выполнить следующую команду:
cd /var/www/my_drupal
sudo -u www-data composer require drupal/pathauto
Предваривая
sudo -u www-data
мы запускаем команду как пользователь
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
Как видно из приведенного выше вывода, composer также устанавливает для нас все зависимости пакета.
8. Обновление ядра Drupal
Перед обновлением всегда полезно сделать резервную копию ваших файлов и базы данных. Вы можете использовать модуль «Резервное копирование и миграция» или создать резервную копию базы данных и файлов вручную.
Для резервного копирования файлов установки вы можете использовать следующую команду rsync, конечно, вам нужно будет указать правильный путь к каталогу установки:
sudo rsync -a /var/www/my_drupal/ /var/www/my_drupal_$(date +%F)
Для резервного копирования базы данных мы можем использовать стандартную команду
mysqldump
:
mysqldump -u root -p > /var/www/my_drupal_database_$(date +%F).sql
или
drush sql-dump
:
cd /var/www/my_drupal
vendor/bin/drush sql-dump > /var/www/my_drupal_database_$(date +%F).sql
Теперь, когда мы создали резервную копию, мы можем продолжить и обновить все основные файлы Drupal, выполнив следующую команду:
sudo -u www-data composer update drupal/core webflo/drupal-core-require-dev symfony/* --with-dependencies
Вывод
Поздравляем, вы успешно установили Drupal 8 с помощью composer и узнали, как устанавливать модули и темы. Теперь вы можете начать настраивать свой сайт. Руководство пользователя Drupal 8 - хорошая отправная точка, чтобы узнать больше о том, как управлять вашей установкой Drupal. Вам также следует посетить шаблонный проект Drupal Composer на Github.
Ubuntu Drupal MySQL Мариадб CMS Nginx композиторКак установить Drupal с помощью WAMP в Windows
Вы можете установить Drupal с помощью WAMP в Windows. В этом уроке вы узнаете, как установить Drupal на localhost в Windows 10 / 8.1 / 7.
Руководство по привратнику: как с его помощью установить и установить приложения Mac
Узнайте больше о Gatekeeper и о том, как использовать его для установки самых безопасных приложений на ваш Mac.
Как установить, установить принтер hp officejet 6500a plus "все в одном"
Узнайте, как настроить и установить принтер HP Officejet 6500A Plus «все в одном».