Как настроить рабочий процесс 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
Точка перед именем говорит нам, что это скрытый каталог. Есть две возможности:
- Вы получаете список файлов, один из этих файлов имеет расширение .pub.
- Вы получаете сообщение «Файл или каталог не найден».
Файл с расширением .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
- Откройте файловый менеджер 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.
- Загрузите его снова на сервер
Надеюсь, вам понравился этот урок. Спасибо за чтение!