Как я перенес dedic.ru на github pages и остался доволен

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.
Когда-то давно я достаточно плотно занимался организацией разного рода хостингов. В техническом плане, конечно — настройка серверов, конфигурация панелей управления и прочими сопутствующими штуками.
Затем у меня возникла идея записывать разные решения и умные мысли на сайте, чтоб популяризировать эту тему, так как в рунете на тот момент ничего про администрирование хостинга не существовало. И назвал его dedic.ru.
Для движка сайта я почему-то выбрал Drupal а не Wordpress, в последствии сам себе не смог объяснить этот выбор. Тогда мне казалось, что Drupal более гибкий, удобный и логичный.
Мое первое разочарование было в момент выхода шестой версии Drupal. Я просто не мог перенести туда свой текущий проект — постоянно что-то отваливалось, то таксономия, то форум, то еще что-то.
В результате мне пришлось оставить dedic.ru в режиме read-only и попытаться продолжить начатое на других сайтах. Но к тому времени уже появилось достаточно много сайтов на эту тематику и мои попытки не взлетели. Да и у меня самого начали меняться интересы — облака, безопасность и автоматизация.
И вот одним вечером я задумался — а как собственно можно законсервировать сайт таким образом, чтоб не платить за его содержание?

Решение нашлось достаточно быстро — поместить сайт в github pages. Это как раз сервис публикации статичных сайтов, причем совершенно бесплатный.
Для того, чтоб им воспользоваться — достаточно создать публичный репозиторий и сменить ветку с master на gh-pages. После чего содержимое репозитория можно будет обрабатывать как контент для веб-сервера и смотреть его в браузере.
Однако возник вопрос — а как собственно перекладывать контент в репозиторий? Руками? — Глупо!
Решение нашлось достаточно быстро: Для Wordpress есть два замечательных плагина — FG Drupal to WordPress и WP2Static. Первый позволяет легко импортировать контент из Drupal в Wordpress через запрос к БД Drupal. А второй — публиковать из Wordpress статичный сайт в разные хранилища, в том числе и github pages.

Конечно, импорт не перенес таксономию и форум, но так как я и не думал развивать сайт дальше, то решил просто забить на потерю части контента, а структуру переделал вручную — благо там не так уж много записей.
Экспортировав сайт на github pages, я прикрепил туда оригинальный домен dedic.ru и остался практически довольным. Две вещи, которых мне не хватило — это https и какая-то интеракция для посетителей.
Для https я легко приспособил CloudFlare, указав в качестве CNAME внутренний адрес сайта на github pages, включив проксирование и указал метод TLS/SSL как flexible.
Для интеракции я не придумал ничего умнее, кроме как поставить стандартный донат от paypal и добавить возможность донатерам заменять содержимое блока на свое собственное через pull-request. Возможно, надо было бы добавить опцию комментирования через сервис Disqus, но честно говоря — мне уже было лень этим заниматься дальше.

Надеюсь, эта информация будет для кого-то полезной, а мой контент когда-то принес пользу в настройке серверов.
Источник: https://habr.com/ru/post/506684/


Интересные статьи

Интересные статьи

В своей статье "Использование GitHub в обучении студентов" я кратко коснулся темы использования GitHub'а именно как инструмента для обучения, а не как темы в обучении. Се...
Предыстория Когда-то у меня возникла необходимость проверять наличие неотправленных сообщений в «1С-Битрикс: Управление сайтом» (далее Битрикс) и получать уведомления об этом. Пробле...
Компании растут и меняются. Если для небольшого бизнеса легко прогнозировать последствия любых изменений, то у крупного для такого предвидения — необходимо изучение деталей.
Бизнес-смыслы появились в Битриксе в начале 2016 года, но мало кто понимает, как их правильно использовать для удобной настройки интернет-магазинов.
Расскажу свою маленькую историю в копилку бесчинств мобильных операторов: Дано: 1) Самый обычный лендинг. Только странички с версткой и все. 2) Размещен на серверах крайне известного хост...