Установка Jekyll на Ubuntu 20.04
Что такое Jekyll
Jekyll — это бесплатный open-source генератор статических сайтов, написанный на Ruby. Он преобразует Markdown и шаблоны в готовый набор HTML/CSS/JS-файлов, которые можно разместить на любом веб-сервере. Ключевые понятия:
- Jekyll: генератор статических сайтов.
- Gem: пакет Ruby, менеджер пакетов — gem.
- Bundler: инструмент управления зависимостями Ruby-проекта.
Необходимые условия
- Сервер с Ubuntu 20.04 (root-доступ или sudo).
- Настроенный root-пароль или пользователь с sudo.
- Доступ в Интернет для установки пакетов.
Подготовка системы
Обновите пакеты и установите базовые зависимости:
apt-get update -y
apt-get upgrade -yУстановите инструменты сборки и утилиты:
apt-get install make build-essential curl git tree -yПримечание: если вы не работаете от root, добавьте sudo перед командами выше.
Установка Ruby
Jekyll написан на Ruby, поэтому потребуется Ruby и заголовочные файлы для сборки gem-пакетов:
apt-get install ruby ruby-dev -yНастройте локальную папку для gem-пакетов, чтобы не требовалось sudo при установке gem:
Откройте файл ~/.bashrc:
nano ~/.bashrcДобавьте в конец файла:
export GEM_HOME=$HOME/gems
export PATH=$HOME/gems/bin:$PATHСохраните, закройте и примените изменения:
source ~/.bashrcУстановите Jekyll и Bundler:
gem install jekyll bundlerПосле установки вы готовы создать сайт.
Создание нового сайта Jekyll
Создайте новый сайт с именем каталога jekyll.example.com:
jekyll new jekyll.example.comОжидаемый ответ:
New jekyll site installed in /root/jekyll.example.com.Просмотрите структуру проекта:
tree jekyll.example.comПример вывода:
jekyll.example.com
??? 404.html
??? about.markdown
??? _config.yml
??? Gemfile
??? Gemfile.lock
??? index.markdown
??? _posts
??? 2020-06-14-welcome-to-jekyll.markdown
1 directory, 7 filesЗапуск сервера Jekyll
Перейдите в каталог сайта и запустите встроенный сервер Jekyll, который по умолчанию слушает порт 4000:
cd jekyll.example.com
jekyll serve --host=0.0.0.0Пример вывода при успешном старте:
Configuration file: /root/jekyll.example.com/_config.yml
Source: /root/jekyll.example.com
Destination: /root/jekyll.example.com/_site
Incremental build: disabled. Enable with --incremental
Generating...
Jekyll Feed: Generating feed for posts
done in 0.502 seconds.
Auto-regeneration: enabled for '/root/jekyll.example.com'
Server address: http://0.0.0.0:4000/
Server running... press ctrl-c to stop.Доступ к сайту
Откройте в браузере http://your-server-ip:4000 (замените your-server-ip на IP вашего сервера). По умолчанию вы увидите стартовую страницу Jekyll:

Что дальше — изменения и развертывание
- Редактируйте файлы в каталоге jekyll.example.com.
- Сборка выходит в каталог _site; этот набор файлов готов к развертыванию на Nginx, Apache или CDN.
- Для деплоя на GitHub Pages и другие хостинги читайте разделы ниже.
Альтернативные подходы
- rbenv / rvm: используйте версии Ruby в пользовательском пространстве, если нужно управлять несколькими версиями Ruby.
- Docker: запустите Jekyll в контейнере, чтобы не менять системную установку Ruby. Пример команды:
docker run --rm --volume="$PWD:/srv/jekyll" -p 4000:4000 jekyll/jekyll jekyll serve --watch --host=0.0.0.0- GitHub Pages: публикуйте сайт напрямую из репозитория; GitHub автоматически собирает Jekyll-сайт (ограничения по плагинам возможны).
Когда эти подходы применимы: Docker хорош для CI/CD и локальной изоляции; rbenv — для разработки с разными версиями Ruby; GitHub Pages — для простого хостинга без своего сервера.
Ментальные модели и лучшие практики
- Разделяйте контент и оформление: контент хранится в Markdown, шаблоны — в _layouts и _includes.
- Превращайте сайт в статичную сборку: все динамические функции (формы, комментарии) делегируйте внешним сервисам.
- Используйте Bundler (Gemfile) для фиксирования зависимостей и повторяемости сборок.
Факт-бокс — ключевые параметры
- Порт разработки: 4000
- Каталог сборки: _site
- Управление зависимостями: Bundler (Gemfile)
- Типичный рабочий поток: edit → jekyll build/serve → deploy
Контрольные списки по ролям
Разработчик:
- Собрать сайт локально через jekyll build
- Прогнать сборку без ошибок
- Написать тестовую страницу и проверить рендеринг
DevOps:
- Настроить систему сборки (CI) для выполнения jekyll build
- Настроить Nginx/Apache как reverse proxy на порт 4000 или развернуть контент из _site
- Обновить SSL через Let’s Encrypt
Контент-редактор:
- Проверить заголовки и метаданные front-matter
- Убедиться, что изображения и пути корректны
Критерии приёмки
- Сайт успешно собирается без ошибок (jekyll build).
- Главная страница доступна по HTTP на ожидаемом хосте/порте.
- Страницы и посты отображаются корректно (верстка и ссылки).
Отладка — типовые проблемы и решения
- Ошибки gem при установке: проверьте наличие ruby-dev и build-essential.
- Проблемы с путями gem: убедитесь, что GEM_HOME и PATH добавлены и применены (source ~/.bashrc).
- Порт занят: используйте –port=<порта> или проверьте процессы, слушающие порт 4000.
- Плагины не работают на GitHub Pages: используйте GitHub Actions для кастомной сборки.
Безопасность и приватность
- Jekyll генерирует статические файлы, это снижает риск серверных уязвимостей.
- Для публичного сайта обязательно настройте HTTPS (Let’s Encrypt).
- Если сайт собирает персональные данные (формы), используйте сторонние провайдеры, храните минимум данных и соблюдайте требования GDPR.
Тесты и приёмочные критерии
- Сайт собирается командой
jekyll buildбез ошибок. - В каталоге
_siteприсутствуют ожидаемые HTML-файлы. - HTTP-запрос к корню возвращает 200 и корректный HTML.
Шаблон плейбука для развертывания (SOP)
- Локально:
bundle install→jekyll build. - CI: запуск
jekyll build, артефакт — содержимое_site. - Деплой: копирование
_siteна production-сервер в корень веб-сервера или публикация в объектное хранилище/CDN. - Проверка: URL ответа 200, сканирование основных страниц.
Короткое объявление (пример для рассылки, 100–200 слов)
Установите Jekyll на Ubuntu 20.04 и создайте легкий и быстрый статический сайт за считанные минуты. В этом руководстве описаны необходимые шаги: обновление системы, установка Ruby, настройка локальной установки gem-пакетов, установка Jekyll и Bundler, создание проекта и запуск встроенного сервера. Также вы найдёте альтернативы (Docker, rbenv, GitHub Pages), чек-листы для разработчиков и DevOps, рекомендации по безопасности и отладке. Руководство подходит для новичков и команд, которые хотят быстрый старт без базы данных и сложной серверной логики. Следуя инструкции, вы получите повторяемый процесс сборки и готовый к развертыванию статический сайт.
Итог
Вы научились устанавливать Jekyll на Ubuntu 20.04, запускать локальный сервер и подготовить сайт для деплоя. Для production-использования рекомендуем автоматизировать сборку через CI, проксировать трафик через Nginx и обязательно настроить HTTPS.
Важно: если вы используете нестандартные плагины или специфические зависимости — выбирайте изоляцию через Docker или управляемые версии Ruby (rbenv/rvm).
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента