Ghost — это программа управления контентом с открытым исходным кодом, которая позволяет легко создать блог и службу новостной рассылки. Вы можете подписаться на службу Ghost(Pro) для использования CMS или, если у вас больше технических возможностей, самостоятельно разместить ее на своем сервере. Здесь мы покажем вам последнее — самостоятельное размещение Ghost на вашем сервере Linux.
Почему вам следует самостоятельно разместить Ghost на своем сервере
Одним из преимуществ блога Призрак является то, что он представляет собой интегрированную, многофункциональную платформу, которая работает пр
Contents
Почему вам следует самостоятельно разместить Ghost на своем сервере
ь публикации и создавать автоматические информационные бюллетени для ваших подписчиков.Установка Ghost на ваш сервер позволяет вам быть издателем, не полагаясь на третью сторону для управления вашими данными. Это может быть полезно, если вы журналист, публикующий критические статьи на спорные темы.
Наконец, Ghost легко развертывать и обслуживать даже для нетехнических пользователей. В отличие от традиционных платформ CMS, Ghost представляет собой комплексное решение, которое вы можете «установить и забыть» на своем хостинге.
Полезно знать: Узнайте, как разместить веб-архив в Linux с помощью Archivebox .
Установка Ghost на ваш сервер
Предположение. Прежде чем мы начнем, мы предполагаем, что у вас уже есть доступный сервер Linux и доменное имя для размещения вашей установки Ghost. Если вам нужно арендовать Linux-сервер, мы рекомендуем ЦифровойОкеан или Линод .
Поскольку мы будем использовать Docker, сначала нам нужно будет установить Docker на сервер.
1. Установите открытый ключ репозитория проекта Docker:
sudo install -m 0755 -d /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg sudo chmod a+r /etc/apt/keyrings/docker.gpg
2. Создайте новый файл репозитория в каталоге конфигурации apt вашего компьютера:
sudo nano /etc/apt/sources.list.d/docker.list
3. Вставьте следующую строку кода в новый
Установка Ghost на ваш сервер
[arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu jammy stable4. Обновите списки репозиториев вашей системы и обновите существующие двоичные файлы на вашем компьютере:
sudo apt update sudo apt upgrade
5. Установите Docker и Docker Compose вместе с их зависимостями:
sudo apt install wget docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-buildx-plugin
6. Добавьте своего пользователя в группу Docker
sudo usermod -aG docker $USER
7. Настройте запуск службы Docker при запуске:
sudo systemctl enable docker.service
8. Перезагрузите сервер.
sudo reboot
Настройка Gmail для доставки SMTP
Ghost не имеет собственного клиента доставки электронной почты, поэтому нам необходимо подключить его к Gmail для доставки электронной почты.
1. Откройте веб-браузер и войдите в учетную запись Gmail, которую вы хотите связать с экземпляром Ghost.
2. Нажмите на значок профиля своей учетной записи, затем нажмите «Управление учетной записью Google».
3. Выберите категорию «Безопасность», затем нажмите «Двухэтапная проверка» в подкатегории «Как вы входите в Google».
4. Подтвердите свой номер телефона и включить двухэтапную аутентификацию .
5. Вернитесь в категорию «Безопасность», затем снова нажмите «Двухэтапная проверка». Откроется новый экран меню, где вы сможете установить новые дополнительные ключи для своей учетной записи. Прокрутите страницу вниз и нажмите «Пароли приложений».
6. Выберите «Почта» в первом раскрывающемся списке, затем выберите «Другое» во втором.
7. Напишите «Gmail для Ghost» в текстовом поле, затем нажмите «Создать». Откроется окно с желтым текстовым полем, содержащим ваш собственный пароль приложения.
К вашему сведению: вы также можете использовать другие внешние агенты доставки для отправки почты через Ghost. Узнайте, как достичь Настройка Gmail для доставки SMTPs-pochtoy-v-yashchike/" title="создайте свой собственный почтовый сервер с помощью Mail-in-a-Box">создайте свой собственный почтовый сервер с помощью Mail-in-a-Box .
Создание Docker-контейнера
1. Создайте новый каталог для файлов докеров вашей установки Ghost:
mkdir ~/ghost cd ~/ghost
2. Создайте новый файл docker-compose.yml с помощью вашего любимого текстового редактора:
nano ./docker-compose.yml
3. Вставьте следующий блок кода в новый файл docker-compose.yml и сохраните его.
--- version: "3" services: ghost: image: ghost:latest restart: always ports: - 8080:2368 environment: database__client: mysql database__connection__host: db database__connection__database: ghost database__connection__user: ghost database__connection__password: ghost url: ${GHOST_URL} mail__transport: ${MAIL_TRANSPORT} mail__options__host: ${MAIL_HOST} mail__options__port: ${MAIL_PORT} mail__options__secureConnection: ${MAIL_SECURE_CONNECTION} mail__options__auth__user: ${MAIL_USER} mail__options__auth__pass: ${MAIL_PASSWORD} volumes: - ghost-data:/var/lib/ghost/content links: - db db: image: mysql:8.0 restart: always environment: MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD} MYSQL_DATABASE: ghost MYSQL_USER: ghost MYSQL_PASSWORD: ghost cap_add: - SYS_NICE volumes: - ghost-db:/var/lib/mysql volumes: ghost-data: null ghost-db: null
4. Создайте файл «.env» в каталоге докеров Ghost:
nano ./.env
5. Вставьте следующий блок кода в новый файл.env:
# URL GHOST_URL="#REPLACE_ME_WITH_DOMAIN_NAME#" # Database MYSQL_ROOT_PASSWORD="#REPLACE_ME_WITH_SECURE_PASSWORD#" # SMTP variables MAIL_SERVICE="Gmail" MAIL_TRANSPORT="SMTP" MAIL_USER="#REPLACE_ME_WITH_YOUR_GMAIL_ADDRESS#" MAIL_PASSWORD="#REPLACE_ME_WITH_YOUR_APP_PASSWORD#" MAIL_HOST="smtp.gmail.com" MAIL_PORT="465" MAIL_SECURE_CONNECTION="true"
- Измените значение переменной «GHOST_URL» с «#REPLACE_ME_WITH_DOMAIN_NA
Создание Docker-контейнера
li>
- Замените значение «MYSQL_ROOT_PASSWORD» на достаточно случайный пароль.
- Измените значения «MAIL_USER» и «MAIL_PASSWORD», указав адрес электронной почты вашей учетной записи Gmail и ее пароль приложения.
Примечание. Пароль приложения Gmail необходимо писать без пробелов между каждым сегментом.
6. Создайте контейнер Ghost Docker, выполнив следующую команду:
sudo docker compose up -d
Настройка обратного прокси
Поскольку Ghost работает на серверной стороне, нам необходимо настроить обратный прокси-сервер, чтобы иметь возможность публичного доступа к Ghost. В данном случае мы будем использовать Обратный прокси-сервер Nginx .
1. Установите пакет веб-сервера Nginx. Он будет служить вашим демоном обратного прокси-сервера, который будет принимать соединения из Интернета и перенаправлять их в Ghost.
sudo apt install nginx
2. Создайте новый файл конфигурации сайта Nginx с помощью вашего любимого текстового редактора:
sudo nano /etc/nginx/sites-available/ghost
3. Вставьте следующий блок кода в файл конфигурации нового сайта:
server { listen 80; listen [::]:80; root /var/www/html; server_name ghost.myvpsserver.top; location / { proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header Host $http_host; proxy_set_header X-Forwarded-Proto $scheme; proxy_pass http://127.0.0.1:8080; } }
4. Создайте символическую ссылку для конфигурации вашего сайта Ghost:
sudo ln -s /etc/nginx/sites-available/ghost /etc/nginx/sites-enabled/
5. Включите службу веб-сервера Nginx с помощью systemctl:
sudo systemctl enable --now nginx.service
Включение SSL на обратном прокси-сервере Nginx
1. Убедитесь, что на вашем компьютере присутствует «основной» пакет Snap:
sudo snap install core
2. Установите пакет оснастки certbot:
sudo snap install certbot --classic
3. Зарегистрируйте установку certbot на свой адрес электронной почты, выполнив следующую команду:
sudo certbot register --agree-tos --email ramces@email.invalid
4. Запросите новый сертификат SSL для своего блога Ghost:
sudo certbot --nginx -d ghost.myvpsserver.top
5. Проверьте, доступен ли ваш новый экземпляр Ghost через SSL, открыв веб-браузер и загрузив свое доменное имя.
Запуск Ghost на локальном компьютере
Если у вас нет сервера и вы хотите установить Ghost на свой локальный компьютер, вы тоже можете это сделать. Кроме того, вы можете использовать Tailscale для доступа к нему в любом месте вашего браузера.
1. Установите демон Tailscale VPN на свой компьютер. и свяжите его со своей учетной записью Tailscale. Перейдите в консоль администратора Tailscale и нажмите вкладку «DNS» на верхней панели консоли.
3. Установите имя хоста вашего компьютера как «призрак», а затем новый поддомен для вашей сети Tailscale:
sudo hostnamectl set-hostname ghost.your-tailnet.ts.net
Включение последовательной последовательности
1. Откройте консоль администратора Tailscale и перейдите на вкладку «DNS».
2. Прокрутите страницу вниз и нажмите «Включить HTTPS…»
3. Прокрутите страницу обратно вверх и нажмите вкладку «Контроль доступа».
4. Нажмите кнопку «Добавить последовательность действий в политику».
5. Выполните следующую команду, чтобы создать обратный прокси-сервер между Tailscale и локальным контейнером Docker:
sudo tailscale serve https / http://127.0.0.1:8080
6. Включите воронку Tailscale для обратного прокси-сервера, выполнив следующую команду:
sudo tailscale funnel 443 on
7. Проверьте, доступен ли ваш новый экземпляр Ghost через воронку Tailscale, открыв веб-браузер и загрузив свой адрес Tailscale.
Первое использование Ghost
1. Откройте веб-браузер и перейдите по URL-адресу установки Ghost, а затем к подкаталогу «/ghost».
2. Щелкните первое поле и укажите имя для своего нового блога Ghost. Заполните остальные поля сведениями о вашем администраторе, затем нажмите «Создать учетную запись и начать публикацию».
Создание первого сообщения в Ghost
1. Нажмите кнопку «Написать первое сообщение» на странице регистрации Ghost.
2. Откроется текстовый редактор, в котором вы сможете написать простой текстовый пост. Когда закончите, нажмите «Опубликовать», чтобы создать новую тестовую публикацию.
3. Проверьте главную страницу Ghost, чтобы узнать, прошло ли новое сообщение.
Добавление нового пользователя в Ghost
1. Вернитесь в консоль администратора Ghost, затем нажмите «Участники» на левой боковой панели страницы.
2. Нажмите кнопку
Запуск Ghost на локальном компьютере
ицы.3. Заполните данные о своем новом участнике, затем нажмите «Сохранить», чтобы добавить его в ленту новостей блога.
Полезно знать: узнайте, как развернуть и разместите свой собственный клон Twitter с помощью Pleroma .
Часто задаваемые вопросы
Есть ли у Tailscale Funnel какие-либо ограничения?
Да. По умолчанию вы можете предоставлять трафик в Tailscale только через три порта: 443, 8443 и 10000 и только с использованием TCP. Это означает, что вы не сможете использовать какие-либо онлайн-сервисы реального времени, такие как VoIP и игровые серверы.
Могу ли я персонализировать доменное имя Tailscale?
Нет. Это связано с тем, что каждый DNS-адрес Tailscale настроен для вашей конкретной учетной записи. Это позволяет службе идентифицировать ваши машины среди других компьютеров в большей сети Tailscale.
Перестанет ли мой блог Ghost работать, когда мой компьютер отключен от сети?
Да. Одним из недостатков хостинга на вашем собственном оборудовании является то, что время безотказной работы вашего сайта зависит от времени безотказной работы вашего компьютера. Это означает, что всякий раз, когда ваш хост-компьютер выходит из строя, отключается и ваш блог Ghost.
Изображение предоставлено: Включение последовательной последовательностиnk" rel="noreferrer noopener nofollow" title="РАБОТАЮЩИЕ В ОФИСЕ ЛЮДИ, ИСПОЛЬЗУЮЩИЕ КОНЦЕПЦИЮ КОМПЬЮТЕРНОГО БЛОГА">РАБОТАЮЩИЕ В ОФИСЕ ЛЮДИ, ИСПОЛЬЗУЮЩИЕ КОНЦЕПЦИЮ КОМПЬЮТЕРНОГО БЛОГА и Традиционное печенье с призраком на Хэллоуин от 123RF.