Как развернуть и настроить DEV версию сайта

Глаза боятся, руки делают!

Зачем Вам это нужно?

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

Во вторую очередь разработчики смогут автоматизировать множество процессов разработки, следовательно делать свою работу быстрее и намного качественнее (они будут вынуждены делать качественно, так как Вы всегда сможете парой команд проверить код на наличие ошибок и предупреждений).

Контроль + скорость = экономия Ваших средств и гарантии качественного кода! Думаю стоит один раз помучаться чтобы получить такие преимущества?

Кто это может сделать?

Практически любой человек который знаком в управлением хостинг панелями и имеет базовое представление о работе с терминалом или командной строкой. Например Ваш системный администратор или фрилансер-администратор.

Затраты?

Для знающего человека работы на 2-3 часа максимум, так что можете рассчитывать из этого если у Вас есть информация о стоимости услуг специалиста в час.

Создаем поддомен и закрываем доступ посторонним

Создаем поддомен

Открыв панель управления Вашим хостингом ищем в справке инструкцию по добавлению поддомена и следуем ей (у разных хостеров свои правила и ограничения) или обращаемся в техническую поддержку хостинга и ждем ответа от них.

Рекомендую назвать поддомен так чтобы Вы сразу понимали что это версия Вашего проекта для разработки. Например dev.yore-site.ru или test.youre-site.ru.

Затем с помощью административной панели Вашего хостинга клонируйте БД и файлы в каталог нового поддомена, также не забудьте в новом каталоге изменить доступы к БД указав логин/пароль и название клона БД в файле /sites/default/settings.php.

$databases['default']['default'] = array (
  'database' => 'database_name',
  'username' => 'database_user',
  'password' => 'database_password',
  'prefix' => '',
  'host' => 'localhost',
  'port' => '3306',
  'namespace' => 'Drupal\\Core\\Database\\Driver\\mysql',
  'driver' => 'mysql',
);

Так же не забудьте поменять параметр trusted_host_patterns.

$settings['trusted_host_patterns'] = [
  '^www\.your-new-domain\.ru$',
  '^your-new-domain\.ru$',
];

Если возникли сложности то Вы всегда можете обратиться в техподдержку Вашего хостинг провайдера.

Закрываем сайт от индексации поисковыми роботами

Достаточно заменить содержимое файла robots.txt в корне Вашего созданного поддомена. Не забудьте сохранить оригинальный файл! Теперь содержимое файла должно быть именно таким:

Закрываем сайт от любопытных глаз

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

В корневом каталоге нового поддомена, открываем файл .htaccess и добавляем следующие инструкции:

AuthType Basic
AuthName "Protected Area"
AuthUserFile /<your-path>/.htpasswd
Require valid-user

Путь /<your-path>/.htpasswd обозначает полный путь к файлу паролей на диске Вашего сервера. Узнать <your-path> можно SSH командой:

pwd

Далее придумываем имя и пароль для первого пользователя, имя выбираем произвольно, а вот для пароля рекомендую воспользоваться генератором паролей, например этим.

Теперь создадим сам файл .htpasswd для этого используем SSH команду:

htpasswd -mbc .htpasswd user1 sNQ7j9oR2w

Если Вам нужно создать несколько пользователей то достаточно выполнить SSH команду:

htpasswd .htpasswd user2

Далее Вас попросят придумать пароль и после этого повторить его, все после этого новый пользователь будет автоматически добавлен в файл .htpasswd

Собственно все, никто уже не попадет на Ваш поддомен без разрешения.

Выключаем кэширование и включаем отладку

Кэширование

Переходим на страницу Конфигурация/Разработка/Производительность (пример url: dev.your-site.ru/admin/config/development/performance)

В блоке “Кэширование” выбираем “Не кэшировать”, в блоке “Оптимизация пропускной способности” снимаем галочки со всех пунктов, а затем жмем кнопку “Сохранить конфигурацию”. После сохранения конфигурации нажимаем на кнопку “Очистка кэша”.

Снимок экрана

TWIG отладка

Заходим в корневую директорию Вашего нового поддомена (по FTP или SSH не имеет значения, используйте привычную вам программу, например CyberDuck или TotalCommander) и переходим в папку sites/ в ней вы увидите папку default/ теперь Вам нужно дать этой папке права 777 (правой кнопкой мыши по папке, далее в свойствах файла ставим нужное нам 777), после этого заходим в нее и находим файл services.yml и меняем так же права на 777. 
Теперь Вы можете открыть файл services.yml на редактирование и заменить его содержимое следующим кодом:

parameters:
  twig.config:
    debug: true

Чистим кэш снова и на любой странице сайта в HTML появиться отладочная информация TWIG выглядит это вот так:

Снимок экрана

Теперь сам сайт готов к процессу разработки и тестирования. Остается настроить сам сервер.

 

Внимание, перед выполнением следующих действий сделайте бэкап всего сервера!

 

Ниже приведенные инструкции тестировались на Ubuntu 16 + PHP 7.1 + Apache2

 

Устанавливаем composer на сервер

Что такое Composer и зачем он нужен?

PHP Composer (пакетный менеджер) — консольная утилита, которая позволяет быстро скачать все пакеты, зависимости, фрэймворки, используемые выбранным языком программирования.

Давайте для начала проверим, вдруг Composer уже установлен, для этого выполняем SSH команду:

composer

Если Composer уже установлен то вы увидите примерно такое сообщение в консоли

   ______
  / ____/___  ____ ___  ____  ____  ________  _____
 / /   / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__  )  __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
                    /_/
Composer version 1.10.1 2020-03-13 20:34:27

Если же вы получите ответ command not found, то Composer не установлен и в этом случае нам нужно его установить самостоятельно, либо написать сообщение технической поддержке Вашего хостинга и они установят его за Вас.

Если все же решились на самостоятельную установку то заходим на Ваш сервер по SSH в корневую папку сервера и выполняем команду:

sudo curl -s https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer

Проверяем установился ли Composer выполнив SSH команду:

composer

В результате Вы должны увидеть сообщение от самого Composer.

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

Устанавливаем Drush

Drush – это интерфейс командной строки(CLI) для управления Drupal из командной строки сервера. Этот производительный инструмент позволяет выполнять различные задачи при помощи всего нескольких команд терминала, устраняя необходимость постоянно обновлять страницу.

Проверяем установлен ли Drush с помощью SSH команды:

drush --version

Если нет то продолжаем (установка занимает достаточно много времени):

composer global require drush/drush:10

Задаем alias для команды drush

export PATH="$HOME/.composer/vendor/bin:$PATH"

Добавляем созданный alias в оболочку

source ~/.bashrc

Проверяем результат установки

drush --version

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

Устанавливаем Drupal console

Это интерфейс командной строки(CLI), предназначенный для генерации стандартного кода, взаимодействия и отладки Drupal.

Так как для каждого сайта нужна отдельная Drupal Console то сначала перейдите в корневую папку созданного Вами ранее поддомена SSH командой:

cd ~/путь/до/каталога/поддомена

Проверяем не установлена ли уже Drupal console выполнив SSH команду:

drupal --version

Если нет то продолжаем, установим саму Drupal Console SSH командой:

composer require drupal/console:~1.0 --prefer-dist --optimize-autoloader

На этом всё.

Устанавливаем PHP Code Sniffer

Проверяем установлен ли GIT выполнив SSH команду:

git --version

Если команда не найдена то устанавливаем GIT

apt-get install git

Для автоматической установки PHP Code Sniffer используем SSH команду:

composer global require drupal/coder

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

Добавляем в PHP Code Sniffer стандарты Drupal

Теперь добавим Drupal стандарты для PHP Code Sniffer выполнив SSH команду:

composer global require dealerdirect/phpcodesniffer-composer-installer

Проверяем добавились ли стандарты Drupal SSH командой:

phpcs -i

В полученном ответе должны присутствовать DrupalPractice и Drupal

На этом всё. Теперь у разработчиков и Вас есть весь необходимый минимум для автоматизации и обслуживания Вашего проекта.

Если у Вас появились вопросы, не стесняйтесь пишите мне!
Димитрий 17/05/2020 21:49

Ну вроде как работает, спасибо =)

Оставьте Ваш комментарий