СуперСайд

Календарь

«    Сентябрь 2023    »
ПнВтСрЧтПтСбВс
 123
45678910
11121314151617
18192021222324
252627282930 

Топ

Архив

Январь 2022 (1)
Ноябрь 2021 (1)
Октябрь 2021 (2)
Апрель 2021 (1)
Ноябрь 2020 (1)
Сентябрь 2020 (2)
Январь 2020 (1)
Апрель 2019 (1)
Февраль 2019 (1)
Декабрь 2018 (1)
Июль 2017 (26)
Июнь 2017 (1)
Май 2017 (1)

Показать / скрыть весь архив

Статы

  • Default
  • Amethyst
  • City
  • Flat
  • Modern
  • Smooth
orchun.name
  • Блог
  • Партнеры
  • Супер хостер
  • Супер сервер
  • Супер домены
  • Категории
  • TUTORIALS
    • Drawing
  • WEB
    • Drupal
    • DLE
  • Portfolio
    • Sketch
    • Final Art
    • Template
    • Sites
    • Регистрация Забыли?
Главная » WEB » Drupal » Установка Drupal+Composer на Виртуальном хостинге

WEB


  • 2 535
  • 0

Установка Drupal+Composer на Виртуальном хостинге

Что рассмотрим:

Лирическое отступление – почему и зачем.

Как установить composer+ Drupal на локальный OpenServer.

Предпочтительный Ssh клиент, настройка алиасов и быстрых команд.

Установка composer+ Drupal на хостинг и нюансики.


Лирическое отступление

В длинные выходные по возможности верстал и настраивал проектик на локалке и периодически закидывал на тестовый домен (на хостинг) готовые страницы. Краем глаза стараюсь почитывать друпальные телеги, дискорды, форумы и проникаюсь холиварами по поводу композера, его нужности и обязательности. В свое время, с появлением Drush, наблюдал подобную истерию, но поскольку на виртуальных хостингах долгое время о ssh можно было и не мечтать, не обращал на него особого внимания. Ленился и противился новому в общем. Но нынешняя обрушившая все и вся, обновка Drupal 9.3 и глюк Chrome, zip и невнимательность поменяли мое отношение к теме на до и после. Да и на любимом хостинге появилась возможность подключать ssh. Совпало.

С новой для себя темой разбираться было напряжно в связи уже наболевшими проблемами русскоязычного сообщества. Многие простые и очевидные для гуру и официальной документации моменты описаны вскользь, а при наивно заданном вопросе могут и послать. Не все, но могут.


Как установить composer+ Drupal на локальный OpenServer

Начать стоит не столько с Composer сколько с подготовки окружения.

Напомним очевидный и состоявшийся факт. Продвинутое сообщество и composer при установке и работе с drupal 8-9+ рекомендует новую структуру каталогов.

В связи с этим старт движка, после копирования через консоль, предполагается через каталог web. В OpenServer web-root папки домена делается безболезненно на уже скопированном проекте, но к хорошему лучше не привыкать.

В настройках выбрать вкладку Домены, выбрать ручное управление и к домену выбрать папку старта.

 

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

Composer установлен в OpenServer из коробки и здесь танцы и бубны не пригодятся. Команды для установки в официальной документации (тыщ) 

 composer create-project drupal/recommended-project my_site_name_dir

Предпочтительный Ssh клиент, настройка алиасов и быстрых команд.

Для подключения к консоли по ssh традиционно предлагается использовать PuTTY – софтина простая как валенок и актуальная.

Но есть ньюансики:

  1. Я неуверенный тормоз в новой и непонятной для меня ситуации – и пока до меня дойдет, что и куда нужно копировать, со звуками психующего пингвина сессия благополучно заканчивается.
  2. Я забываю команды. Конечно, лучший способ что-то запомнить — это многократное повторение. Но лень, и, если можно автоматизировать, лучше автоматизировать.

Не буду здесь приводить все возможные варианты клиентов. Буду хвалить тот, на котором остановился.

Tabby  (тыщ)

– запоминает сессии и не дисконектится;

- красивый (=

- Можно запоминать пароли. Хотя это, наверное, минус. Пароли лучше нигде не хранить. Привет паранойя.

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

 

Алиасы – в нашем контексте, псевдонимы пути и сокращения длинных команд. И в случае с виртуальным хостингом - это алиасы «временные»  – то есть запускаются только внутри сессии. Да мы пропишем их файл, но поскольку в основные файлы настроек сервера нам путь заказан, будем вызывать их настроенным вызовом через консоль (Tabby).

В корне доступного нам на хостинге файлового менеджера создадим файл .bashrc



alias tbn="cd www/test.borchun.name"
alias php="/opt/php74/bin/php"
alias drush="/opt/php74/bin/php vendor/bin/drush"
alias composer="/opt/php74/bin/php composer.phar"

Это те команды, которые были необходимы лично мне. Просто так к Composer без прямого обращения к версии php было не пробиться. И Drush запускать стало проще.

Теперь как запускать все это через Tabby. В каждой новой сессии запускаем команду

source ~/.bashrc 

или назначаем ее на быструю команду (кнопку).

В настройках -> Plugins - > elastic-quick-commands

Здесь назначаем шаблон подключения и подцепляем нашу команду. С алиасам по идее можно было бы и не заморачиваться, но я их сделал на хостинге раньше, чем поставил Tabby пока разбирался как оно все внутре работает.

Установка composer+Drupal на хостинг и нюансики

Помним про новую структуру каталогов и как легко назначить web-root в OpenServer? Сказка – как легко.

В случае с RigWeb это немного боль, не критичная, но неудобная. Хостинг использует панель ISPManager в которой корневую папку можно указать только на момент создания домена. В уже существующую структуру прописать ее на стороне клиента невозможно. Гугление показало, что другие панели позволяют в переназначение. Экспериментально выявил, что оставить существующий каталог в структуре файлов и пересоздать домен без удаления папок можно, но сайт будет глючить. С чем это связано и выяснять как побеждать желания и сил уже не было.


Слава богам, вся процедура осуществлялась теста ради. Но перестройка уже существующих проектов займет больше времени с переустановками, пересозданием доменов и прочими сопутствующими моментами.

Установим composer. (тыщ) В командной строке пропишем:

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === '906a84df04cea2aa72f40b5f787e49f22d4c2f19492ac310e8cba5b96ac8b64115ac402c8cd292b8a03482574915d1a8') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"

В папку откуда была вызвана команда установится скрипт composer.phar Его выполнение прописано в алиасах выше. Без оного вызывается собственно, например так

composer.phar -V

теперь можно переходить к установке актуальных версий и тестам. Не знаю на сколько это правильно, но мне показалось логичным сохранить composer.phar и вызывать установку на уровень выше доменной папки.


  • WEB / Drupal
  • Drupal 9, Composer, ssh, alias, Tabby

Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.

Crafted theme by pixelcave
Borchun.name ©