ГлавнаяОперационные системыLinuxКак самостоятельно разместить и установить Ghost на свой Linux-сервер

Как самостоятельно разместить и установить Ghost на свой Linux-сервер

Ghost — это программа управления контентом с открытым исходным кодом, которая позволяет легко создать блог и службу новостной рассылки. Вы можете подписаться на службу Ghost(Pro) для использования CMS или, если у вас больше технических возможностей, самостоятельно разместить ее на своем сервере. Здесь мы покажем вам последнее — самостоятельное размещение Ghost на вашем сервере Linux.

Почему вам следует самостоятельно разместить Ghost на своем сервере

Одним из преимуществ блога Призрак является то, что он представляет собой интегрированную, многофункциональную платформу, которая работает пр

Почему вам следует самостоятельно разместить Ghost на своем сервере

ь публикации и создавать автоматические информационные бюллетени для ваших подписчиков.

Скриншот панели управления 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 stable

4. Обновите списки репозиториев вашей системы и обновите существующие двоичные файлы на вашем компьютере:

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».

Скриншот, показывающий процесс двухэтапной аутентификации для учетных записей Gmail.

4. Подтвердите свой номер телефона и включить двухэтапную аутентификацию .

5. Вернитесь в категорию «Безопасность», затем снова нажмите «Двухэтапная проверка». Откроется новый экран меню, где вы сможете установить новые дополнительные ключи для своей учетной записи. Прокрутите страницу вниз и нажмите «Пароли приложений».

Снимок экрана, показывающий опцию «Пароли приложений» в меню двухэтапной аутентификации.

6. Выберите «Почта» в первом раскрывающемся списке, затем выберите «Другое» во втором.

7. Напишите «Gmail для Ghost» в текстовом поле, затем нажмите «Создать». Откроется окно с желтым текстовым полем, содержащим ваш собственный пароль приложения.

Снимок экрана, показывающий сгенерированный пароль приложения для 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>
Терминал, показывающий URL-адрес удаленного экземпляра Ghost.
  • Замените значение «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 на локальном компьютере

Если у вас нет сервера и вы хотите установить Ghost на свой локальный компьютер, вы тоже можете это сделать. Кроме того, вы можете использовать Tailscale для доступа к нему в любом месте вашего браузера.

1. Установите демон Tailscale VPN на свой компьютер. и свяжите его со своей учетной записью Tailscale. Перейдите в консоль администратора Tailscale и нажмите вкладку «DNS» на верхней панели консоли.

Снимок экрана, на котором выделена вкладка DNS в консоли администратора Tail<h3><span id=Настройка обратного прокси «Переименовать хвостовую сеть…» в подкатегории «Имя хвостовой сети».

Снимок экрана, на котором выделена кнопка «Переименовать Tailnet».

3. Установите имя хоста вашего компьютера как «призрак», а затем новый поддомен для вашей сети Tailscale:

sudo hostnamectl set-hostname ghost.your-tailnet.ts.net

Включение последовательной последовательности

1. Откройте консоль администратора Tailscale и перейдите на вкладку «DNS».

2. Прокрутите страницу вниз и нажмите «Включить HTTPS…»

Снимок экрана, показывающий опцию HTTPS для хостов Tailscale.

3. Прокрутите страницу обратно вверх и нажмите вкладку «Контроль доступа».

Снимок экрана, на котором выделена вкладка «Управление доступом» в консоли администратора Tailscale.

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 через Tailscale.

Первое использование Ghost

1. Откройте веб-браузер и перейдите по URL-адресу установки Ghost, а затем к подкаталогу «/ghost».

Включение SSL на обратном прокси-сервере Nginxstall-ghost-tailscale-linux-77-write-proper-webpage-address.png" alt="Снимок экрана адресной строки веб-браузера, показывающий правильный URL-адрес страницы настройки Ghost.">

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

Скриншот, показывающий кнопку «Создать учетную запись и начать публикацию» и заполненную форму.

Создание первого сообщения в Ghost

1. Нажмите кнопку «Написать первое сообщение» на странице регистрации Ghost.

Снимок экрана, показывающий первые шаги на странице регистрации Ghost.

2. Откроется текстовый редактор, в котором вы сможете написать простой текстовый пост. Когда закончите, нажмите «Опубликовать», чтобы создать новую тестовую публикацию.

3. Проверьте главную страницу Ghost, чтобы узнать, прошло ли новое сообщение.

Добавление нового пользователя в Ghost

1. Вернитесь в консоль администратора Ghost, затем нажмите «Участники» на левой боковой панели страницы.

2. Нажмите кнопку

Запуск Ghost на локальном компьютере

ицы.

Снимок экрана, показывающий список участников текущего экземпляра 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.

Первое использование Ghost

Создание первого сообщения в Ghost

Добавление нового пользователя в Ghost

Часто задаваемые вопросы

Есть ли у Tailscale Funnel какие-либо ограничения?

Могу ли я персонализировать доменное имя Tailscale?

Перестанет ли мой блог Ghost работать, когда мой компьютер отключен от сети?

ПОХОЖИЕ СТАТЬИ

Популярные записи