Как настроить рабочий процесс Drupal в cPanel с помощью Git

Опубликовано: 2022-06-29

В отличие от других CMS, обновление ядра Drupal не сложное, но несколько сложное из-за всех вовлеченных деталей. В этом руководстве мы реализуем локальную установку Drupal 9, а затем загрузим (протолкнем) эту кодовую базу в центральный репозиторий на Bitbucket. Затем мы загрузим (вытащим) кодовую базу из этого репозитория на рабочий сервер, где будет храниться веб-сайт.

Используя этот (ориентированный на терминал) процесс, вы сможете ускорить обновления ядра и модулей Drupal, а также будете следовать рекомендациям.

Предполагается, что в вашей системе уже установлен стек LAMP. Кроме того, вам требуется терминальный доступ к вашему веб-серверу.

Продолжайте читать, чтобы узнать, как!

Шаг 1: Установите Drupal 9 локально

Откройте приложение «Терминал» вашей системы и поместите курсор в каталог вашего локального сервера, обычно /var/www/html в системе Linux.

  • Тип : composer create-project drupal/recommended-project my_drupal

На ваш компьютер будет загружена последняя стабильная версия Drupal.

  • Тип :
 cd my_drupal/ mkdir config cd web/sites/default/ cp default.settings.php settings.php cd .. sudo chmod -R 777 default/

Эти команды терминала выполняют следующие действия по порядку:

  • Доступ к каталогу my_drupal
  • Создайте каталог с именем config
  • Доступ к каталогу по умолчанию
  • Скопируйте файл default.settings.php и измените его имя на settings.php.
  • Вернитесь в каталог сайтов
  • Назначьте глобальные разрешения для каталога по умолчанию, чтобы система могла завершить процесс установки.

Как только это будет завершено, нам нужно создать базу данных.

  • Тип : mysql -u root -p

Введите корневой пароль MySQL.

 create database my_drupal; exit;

Это создает базу данных, которую вы свяжете со своей кодовой базой.

  • Откройте веб-браузер
  • Тип : локальный/my_drupal/веб

Завершите процесс локальной установки.


Шаг 2: Создание и добавление ключа в удаленный репозиторий

Для целей этого урока я буду использовать Bitbucket. Шаги очень похожи на профиль Github.

После того, как вы вошли в свою учетную запись Bitbucket, щелкните значок своего профиля, расположенный (на момент написания этой статьи) в левом нижнем углу.

  • Выберите Личные настройки
  • Щелкните SSH-ключи.
  • Нажмите Добавить ключ

Вы увидите всплывающее окно с запросом на ввод метки и ключа.

  • Введите MyLaptop, BobsPC или что угодно, чтобы идентифицировать свою машину в Bitbucket.
  • Откройте ваше терминальное приложение
  • Тип : ls -al ~/.ssh

Точка перед именем говорит нам, что это скрытый каталог. Есть две возможности:

  1. Вы получаете список файлов, один из этих файлов имеет расширение .pub.
  1. Вы получаете сообщение «Файл или каталог не найден».

Файл с расширением .pub является открытым ключом вашей системы. Если вы не видите этот файл, вам нужно его создать. Если вы видите файл, продолжайте читать в любом случае.

  • Тип : ssh-keygen -t rsa -C "my_email@my_domain.com"
  • Нажмите Enter , чтобы выбрать каталог по умолчанию, в котором будет храниться ключ (.ssh).
  • Дважды введите одну и ту же фразу-пароль (вы можете оставить это поле пустым, дважды нажав Enter ).

Система уведомит вас о местонахождении вашего открытого ключа и его отпечатке. Если у вас уже был ключ .pub в вашей системе, вернитесь сюда.

  • Откройте файл .ssh/id_rsa.pub в предпочитаемом вами редакторе кода.
  • Скопируйте весь текст, включая адрес электронной почты.
  • Откройте браузер и вставьте его в текстовую область.
  • Нажмите Добавить ключ

Теперь ваш локальный компьютер может подключаться к Bitbucket.


Шаг 3: Создание удаленного репозитория

В вашем профиле Bitbucket:

  • Нажмите Создать репозиторий
  • Выберите рабочую область и имя проекта ( создайте их, если это первый раз )
  • Дайте вашему репозиторию правильное имя
  • Не включайте файл README
  • Не включайте файл .gitignore
  • Нажмите Создать репозиторий

Шаг 4. Добавьте локальный репозиторий в Bitbucket

  • Тип :
 cd /var/www/html/my_drupal/web mv example.gitignore .gitignore git init git add . git commit -m 'Fresh Drupal installation'

Вы получаете доступ к корневому каталогу вашей установки Drupal, меняете имя файла example.gitignore на .gitignore, инициализируете свой локальный репозиторий, добавляете файлы в промежуточную область git и, наконец, вносите эти «изменения» (изначально репозиторий был пустой) в репозиторий.

  • Тип :
 git remote add origin [email protected]:[MY_PROJECT]/my-drupal.git git push -u origin master

Вы можете скопировать и вставить эти две команды со страницы репозитория в Bitbucket.

  • Введите да, если будет предложено
  • Введите пароль

Проверьте репозиторий на Bitbucket. Почти все файлы внутри веб-каталога ( вашего локального репозитория) были скопированы в ваш удаленный репозиторий. Взгляните на каталог sites/default.

Обратите внимание, что файл settings.php отсутствует. Это потому, что он включен в файл .gitignore.

  • Откройте свой терминал и
  • Тип : нано.gitignore
  • Нажмите Ctrl+x, чтобы закрыть редактор nano.

Если вы посмотрите на карточки на первом изображении этого урока, вы заметите, что мы уже закончили задачи на карточке 1, а на карточке 2 осталось только одно задание. Давайте продолжим с последней частью этого процесса. .


Шаг 5: Создайте действующую базу данных

Откройте панель управления у своего хостинг-провайдера и создайте новую учетную запись Drupal с вашим доменным именем.

  • Нажмите «Установщик одной кнопки» Drupal.
  • Нажмите Создать учетную запись

Это может варьироваться от провайдера к провайдеру, поэтому вам нужно найти выход здесь.

Вы получите электронное письмо с пользователем Drupal (admin) и паролем Drupal. Кроме того, вы также получите имя пользователя и пароль для своей учетной записи cPanel. Это те, которые нам нужны. Они также доступны на панели инструментов вашего хостинг-провайдера.

  • Нажмите « Включить SSH », чтобы мы могли получить доступ к терминалу на реальном сервере.
  • Щелкните ссылку cPanel .
  • Введите databases в поле поиска
  • Выберите базы данных MySQL

Установщик в один клик создал базу данных. Удалите эту базу данных.

  • Введите правильное имя для вашей базы данных.

Обратите внимание на префикс базы данных, автоматически добавляемый cPanel ( в большинстве случаев это ваше имя пользователя ).


Шаг 6: Импортируйте локальную базу данных

  • Откройте ваше терминальное приложение
  • Тип :
 mysqldump -u root p my_drupal > ~/[path/to/your/desktop]/[cpanel_sql_db_name].sql
  • Введите корневой пароль SQL

Это сделает копию вашей базы данных и поместит ее на рабочий стол. Эта база данных на рабочем столе должна иметь то же имя, что и база данных, которую вы создали в cPanel.

Если на вашем компьютере установлена ​​MySQL версии 8, вам, скорее всего, придется адаптировать базу данных для работы с MySQL 5 ( доступно у вашего хостинг-провайдера ).

  • Тип :
 sed -i -e 's/utf8mb4_0900_ai_ci/utf8mb4_unicode_ci/g' [cpanel_sql_db_name].sql

Это команда Linux для выполнения этой операции.

  • Откройте панель инструментов cPanel .
  • Введите phpMyAdmin в поле поиска и выберите его.
  • Нажмите на имя вашей базы данных, чтобы выбрать ее. Он должен быть пустым ( таблицы в базе данных не найдены )
  • Нажмите Импорт
  • Нажмите Выбрать файл
  • Выберите базу данных на рабочем столе
  • Прокрутите вниз и нажмите Перейти

Это займет пару минут, так что наберитесь терпения.


Шаг 7: перенаправьте свой домен

Drupal хранится внутри веб-каталога, поэтому для доступа к вашему сайту вам необходимо ввести URL-адрес: https://yoursite.xxx/web .

Если вы используете облачный сервис, это не проблема, вы можете редактировать свой файл hosts. С cPanel это невозможно (насколько мне известно). Вы должны создать постоянную переадресацию URL.

  • Откройте панель инструментов cPanel.
  • Введите Redirects в поле поиска
  • Нажмите Enter
  • Выберите постоянное перенаправление (301)
  • Выберите имя вашего домена из выпадающего списка.
  • Добавьте ссылку перенаправления
  • Нажмите Добавить
  • Введите Domains в поле поиска
  • Нажмите Enter
  • Щелкните переключатель Force HTTPS Redirect .

Шаг 8: Загрузите кодовую базу

  • Откройте панель инструментов cPanel.
  • Введите Диспетчер файлов в поле поиска.
  • Нажмите Enter
  • Дважды щелкните каталог public_html.
  • Нажмите кнопку « Настройки » в верхней правой части экрана.
  • Установите флажок Показать скрытые файлы (dotfiles)
  • Нажмите Сохранить
  • Нажмите Выбрать все
  • Нажмите Удалить
  • Откройте файловый менеджер вашей системы
  • Сжать всю папку my_drupal
Как настроить рабочий процесс Drupal в cPanel с помощью Git
  • Откройте файловый менеджер cPanel.
  • Нажмите « Загрузить » внутри каталога public_html.
  • Щелкните Выбрать файл
  • Загрузите zip-файл
  • Нажмите «Вернуться», когда файл будет загружен на сервер.
  • Щелкните правой кнопкой мыши zip-файл и выберите « Извлечь» > «Извлечь файлы» > «Закрыть» .
  • Дважды щелкните папку my_drupal
  • Убедитесь, что у вас активирована опция Показать скрытые файлы .
  • Нажмите Выбрать все
  • Нажмите Переместить
  • Выберите каталог public_html
  • Нажмите Переместить файлы
  • Щелкните вверх на один уровень
  • Щелкните правой кнопкой мыши zip-файл и нажмите « Удалить ».
  • Также удалите zip-файл с локального сервера.
  • Откройте терминал или файловый менеджер
  • Скопируйте файл settings.php локальной установки на рабочий стол.
  • Откройте файл в предпочитаемом вами редакторе кода.
  • Замените имя пользователя на имя пользователя, предоставленное вашим хостинг-провайдером ( сделайте то же самое с именем базы данных и паролем — см. Шаг № 5 )
  • Сохраните и закройте файл
  • Откройте файловый менеджер на панели управления cPanel .
  • Щелкните public_html/web/sites/default.
  • Нажмите Загрузить
  • Выберите файл settings.php на рабочем столе.
  • Нажмите Да , чтобы перезаписать файл
  • Нажмите Вернуться
  • Измените права доступа к файлам и каталогам в соответствии с изображением ниже.
  • Щелкните вверх на один уровень
  • Измените права доступа к папке по умолчанию на 0755.

Шаг 9: Установите версию PHP на вашем сервере

Drupal требует как минимум PHP 7.3.

  • Откройте панель инструментов cPanel .
  • Введите « Select PHP » в поле поиска.
  • Нажмите Enter
  • Выберите 7.4
  • Нажмите Сделать текущим
  • Проверьте расширение opcache
  • Введите [yoursite.xxx/web] в адресной строке браузера.
  • Нажмите « Войти » с именем пользователя и паролем вашей локальной установки Drupal.
  • Перейдите на вкладку « Изменить » и при необходимости измените свой пароль.

Шаг 10. Добавьте ключ производственного сервера в Bitbucket

  • Откройте панель инструментов cPanel .
  • Введите Terminal в поле поиска
  • Нажмите «Ввод».
  • Нажмите Я понимаю и хочу продолжить
  • Повторите процесс, описанный в шаге № 2.
  • Тип: less ~/.ssh/id_rsa.pub

less - редактор терминала

  • Скопируйте и вставьте ключ, как показано в шаге № 2, на этот раз для сервера.
  • Тип : q

Это позволит вам выходить меньше.

У вас будет один ключ для каждой машины ( или виртуальной машины ), подключенной к Bitbucket.


Шаг 11. Клонируйте удаленный репозиторий на рабочий сервер

  • Откройте терминальное приложение вашего сервера
  • Тип :
 cd public_html rm -rf web git clone [email protected]:[YOUR_PROJECT]/my-drupal.git web

Вы удаляете веб-папку и заменяете ее удаленным репозиторием. Вы получите последнюю команду терминала, если откроете репозиторий Bitbucket и нажмете кнопку Clone ( не забудьте добавить web в конце команды! ) .


Шаг 12: Установите модуль или тему

  • Откройте терминальное приложение вашей локальной системы
  • Тип :
 cd /var/www/html/my_drupal composer require drupal/bootstrap
  • Введите cd web , чтобы попасть в веб-каталог.
  • Тип :
 git add . git commit -m 'Bootstrap theme installation' git status
  • Введите git push
  • Введите парольную фразу, если требуется
  • Откройте терминал на удаленном сервере.
  • Тип ( введите кодовую фразу, если требуется ):
 git fetch git status

Если вы видите: Ваша ветка отстает от «origin/master» на 1 коммит и может быть перемотана вперед,

  • Тип : git merge

Это объединит код на вашем сервере с кодом, полученным из удаленного репозитория.

  • Перейдите в раздел тем вашего бэкенда Drupal, тема Bootstrap должна быть там.

ПРИМЕЧАНИЕ. Вам нужно повторять только этот последний шаг каждый раз, когда вы загружаете модуль, обновляете ядро ​​Drupal или редактируете код CSS своей темы.


Исправление проблем

Если вы получаете страницу ошибки 404 после установки Drupal на рабочем сервере,

  • Удалите файл .htaccess.
  • Загрузите его снова на сервер

Надеюсь, вам понравился этот урок. Спасибо за чтение!