mtpereira.ghost
Ghost 
Устанавливает Ghost, платформу для ведения блогов. По умолчанию устанавливает последнюю доступную версию Ghost с официального сайта.
По умолчанию устанавливает последнюю версию Node из репозитория Nodesource с помощью роли nodesource.node.
По умолчанию устанавливает и настраивает прокси-сервер Nginx с помощью роли jdauphant.nginx.
Эта роль также решает проблему Ghost, связанную с вопросом #2639 на хостах с libc 2.13 или более старыми версиями, обеспечивая предварительную компиляцию sqlite3 npm. Это было протестировано и подтверждено на Debian Wheezy.
Требования
Отсутствуют.
Переменные роли
Обязательные переменные:
ghost_install_dir
: Директория, где будет установлен Ghost. Также это домашняя директория пользователя, который запускает Ghost. По умолчанию/var/www/ghost
.ghost_user_name
: Имя пользователя для пользователя, который запускает Ghost. По умолчаниюghost
.ghost_user_group
: Группа для пользователя, который запускает Ghost. По умолчаниюghost
.ghost_config_mail
: Конфигурация почты Ghost. Ожидает YAML-словарь. По умолчанию{}
.ghosts_config_database
: Конфигурация базы данных Ghost. Ожидает YAML-словарь. По умолчанию настраивает базу данных sqlite3, что является значением по умолчанию для Ghost.ghosts_config_server
: Конфигурация сервера Ghost. Ожидает YAML-словарь. По умолчанию localhost на порту 2368.ghost_nodejs_enabled
: Включает или отключает установку nodejs. По умолчаниюyes
.ghost_nginx_enabled
: Включает или отключает настройку прокси Nginx. По умолчаниюyes
.ghost_nginx_port
: Определяет порт, на котором будет слушать Nginx. По умолчанию80
.ghost_nginx_sites
: Настройка сайтов Nginx, переданная роли jdauphant.nginx. Ознакомьтесь с README для получения дополнительной информации. По умолчанию настраивает обратный прокси, который слушает на порту 80 и запрещает доступ к админ-панели Ghost, кроме запросов, поступающих с локального хоста.
Внутренние переменные, не рекомендуется изменять:
ghost_fetch_url
: URL, используемый для загрузки Ghost. По умолчаниюhttps://ghost.org/zip/ghost-latest.zip
.ghost_fetch_dir
: Директория для хранения zip-архива Ghost. По умолчанию/tmp
.ghost_nodejs_pin_priority
: Приоритет дляapt-preferences
. По умолчанию500
.ghost_nodejs_path
: Путь к бинарному файлу Nodejs. По умолчанию/usr/bin/node
.
Зависимости
Эти роли можно установить, выполнив команду ansible-galaxy install -r requirements.yml
.
Локальное тестирование
Тесты можно запустить на системах Debian Wheezy и Ubuntu Trusty, выполнив "vagrant up". Доступны следующие переменные окружения:
ANSIBLE_TAGS
: Список тегов, разделенных запятыми, которые будут запущены Ansible. По умолчаниюall
.ANSIBLE_VERBOSE
: Уровень подробности Ansible. По умолчаниюv
.
Пример плейбука
- hosts: servers
roles:
- mtpereira.ghost
Для нескольких экземпляров Ghost на одном хосте:
- hosts: servers
roles:
- role: mtpereira.ghost
ghost_install_dir: /var/www/ghost_two
ghost_config_server:
host: "127.0.0.1"
port: "2369"
ghost_nginx_sites:
ghost_two:
- listen 8080
- server_name {{ ghost_config_server.host }}
- proxy_set_header X-Real-IP $remote_addr
- proxy_set_header Host $http_host
- location / { proxy_pass {{ ghost_internal_url }}; }
- location ~ ^/ghost/setup { allow {{ ghost_nginx_admin_allowed_cidr }}; deny all; }
- role: mtpereira.ghost
ghost_install_dir: /var/www/ghost_two
ghost_config_server:
host: "127.0.0.1"
port: "2368"
ghost_nginx_sites:
ghost_one:
- listen 80
- server_name {{ ghost_config_server.host }}
- proxy_set_header X-Real-IP $remote_addr
- proxy_set_header Host $http_host
- location / { proxy_pass {{ ghost_internal_url }}; }
- location ~ ^/ghost/setup { allow {{ ghost_nginx_admin_allowed_cidr }}; deny all; }
Если у вас уже настроен собственный веб-сервер для нескольких экземпляров, вы можете пропустить
определение ghosts_nginx_sites
.
Лицензия
BSD
Информация об авторе
Спасибо nodesource за репозиторий пакетов Nodejs
Спасибо SimpliField за роль Ansible.
Спасибо jdauphant за роль Nginx.
ansible-galaxy install mtpereira.ghost