Как установить и настроить Ghost на Ubuntu 16.04

Предыдущая версия этого руководства была написанаKevin Isaac

Вступление

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

В этом руководстве вы настроите готовый к работе экземпляр Ghost в Ubuntu 16.04 с помощью официального мастера установкиghost-cli. Это установит Ghost, настроит Nginx для прокси-запросов к Ghost, защитит его с помощью сертификатаLet’s Encrypt и настроит Ghost для работы в фоновом режиме в качестве системной службы.

Предпосылки

Для завершения этого урока вам понадобится:

  • Один сервер Ubuntu 16.04 объемом 1 ГБ, настроенный в соответствии сUbuntu 16.04 initial server setup guide, включая пользователя sudo без полномочий root и брандмауэр.

  • Node.js installed using the official PPA, as explained in How To Install Node.js on Ubuntu 16.04.

  • Nginx установлен на вашем сервере, как показано вHow To Install Nginx on Ubuntu 16.04.

  • MySQL установлен следующим образомHow to Install MySQL on Ubuntu 16.04.

  • При желании доменное имя настроено так, чтобы указывать на ваш сервер. Вы можете узнать, как указать доменам в DigitalOcean Droplets, следуя руководствуHow To Set Up a Host Name with DigitalOcean. Это необходимо для включения поддержки SSL с помощью мастера установки Let Encrypt через Ghost.

[[step-1 -—- install-the-ghost-cli-application]] == Шаг 1. Установка приложения Ghost CLI

Мы установим Ghost с помощью официальной программыghost-cli. Эта программа установит Ghost, создаст пользователя и базу данных MySQL, настроит Nginx в качестве обратного прокси-сервера и защитит сайт с использованием шифрования SSL / TLS.

Сначала загрузитеghost-cli, используяnpm:

sudo npm i -g ghost-cli

Мы поместим Ghost в каталогvar/www/ghost, который является рекомендуемым местом для установки. Создайте этот каталог:

mkdir /var/www/ghost

Затем убедитесь, что ваш пользователь владеет этим каталогом.

sudo chown $USER:$USER /var/www/ghost

Каталог/var/www/ghost должен иметь полные разрешения для вашего пользователя, а также разрешения на чтение и выполнение для всех остальных, поэтому установите разрешения с помощью следующей команды:

sudo chmod 775 /var/www/ghost

Установив CLI и установив каталог, мы можем настроить наш блог.

[[step-2 -—- install-and-configuring-ghost]] == Шаг 2. Установка и настройка Ghost

Приложение Ghost CLI содержит мастер установки, который проведет вас через все шаги по настройке рабочего блога Ghost.

Перейдите в каталог/var/www/ghost/.

cd /var/www/ghost/

Затем используйте командуghost для установки Ghost. Он настроит Ghost на использование MySQL в качестве базы данных по умолчанию. В то время как вы можете использовать другие базы данных, MySQL является рекомендуемым выбором для производственных установок.

ghost install

Сначала программа установки проверит, что у вас установлены необходимые компоненты, а затем загрузит и установит Ghost:

Output✔ Checking system Node.js version
✔ Checking logged in user
✔ Checking current folder permissions
✔ Checking operating system compatibility
✔ Checking for a MySQL installation
✔ Checking memory availability
✔ Checking for latest Ghost version
✔ Setting up install directory
✔ Downloading and installing Ghost v1.22.2
✔ Finishing install process

После завершения процесса установки вам будет предложено указать URL вашего блога, а также информацию о базе данных MySQL. На этом шаге укажите имя пользователя и парольroot. В качестве имени базы данных вы можете использовать значение по умолчаниюghost_prod.

Output? Enter your blog URL: http://example.com
? Enter your MySQL hostname: localhost
? Enter your MySQL username: root
? Enter your MySQL password: [hidden]
? Enter your Ghost database name: ghost_prod

Мастер настройки затем создаст системного пользователяghost и спросит вас, следует ли ему создать пользователя MySQLghost, что вы должны разрешить:

Output✔ Configuring Ghost
✔ Setting up instance
Running sudo command: useradd --system --user-group ghost
Running sudo command: chown -R ghost:ghost /var/www/ghost/content
✔ Setting up "ghost" system user
? Do you wish to set up "ghost" mysql user? Yes
✔ Setting up "ghost" mysql user

Затем он спросит вас, хотите ли вы настроить Nginx. Подтвердите это, и установщик создаст соответствующий блок обратного прокси-сервера для вашего блога:

Output? Do you wish to set up Nginx? Yes
✔ Creating nginx config file at /var/www/ghost/system/files/example.con.conf
Running sudo command: ln -sf /var/www/ghost/system/files/example.com.conf /etc/nginx/sites-available/example.com.conf
Running sudo command: ln -sf /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/example.com.conf
Running sudo command: nginx -s reload
✔ Setting up Nginx

Далее вам будет предложено настроить поддержку SSL. Если вы используете зарегистрированное полное доменное имя и настроили параметры DNS для указания на IP-адрес вашего сервера, нажмитеY, чтобы продолжить.

Output? Do you wish to set up SSL? Yes

Вам будет предложено указать адрес электронной почты, после чего сертификат будет установлен.

Output? Enter your email (used for Let's Encrypt notifications) [email protected]
Running sudo command: mkdir -p /etc/letsencrypt
Running sudo command: ./acme.sh --install --home /etc/letsencrypt
Running sudo command: /etc/letsencrypt/acme.sh --issue --home /etc/letsencrypt --domain example.com --webroot /var/www/ghost/system/nginx-root --reloadcmd "nginx -s reload" --accountemail [email protected]
Running sudo command: openssl dhparam -out /etc/nginx/snippets/dhparam.pem 2048
Running sudo command: openssl dhparam -out /etc/nginx/snippets/dhparam.pem 2048
Running sudo command: mv /tmp/ssl-params.conf /etc/nginx/snippets/ssl-params.conf
✔ Creating ssl config file at /var/www/ghost/system/files/example.com-ssl.conf
Running sudo command: ln -sf /var/www/ghost/system/files/example.com-ssl.conf /etc/nginx/sites-available/example.com-ssl.conf
Running sudo command: ln -sf /etc/nginx/sites-available/example.com-ssl.conf /etc/nginx/sites-enabled/example.com-ssl.conf
Running sudo command: nginx -s reload
✔ Setting up SSL

Далее мастер настройки предложит вам настроить службу systemd. НажмитеY, чтобы продолжить, и мастер создаст новую службу systemd с именемghost_example-com и позволит ей запускаться при загрузке:

Output? Do you wish to set up Systemd? Yes
✔ Creating systemd service file at /var/www/ghost/system/files/ghost_example-com.service
Running sudo command: ln -sf /var/www/ghost/system/files/ghost_example-com.service /lib/systemd/system/ghost_example-com.service
Running sudo command: systemctl daemon-reload
✔ Setting up Systemd

Наконец, мастер настроит вашу базу данных и спросит, следует ли запускать Ghost, что вы должны разрешить, нажавY:

OutputRunning sudo command: /var/www/ghost/current/node_modules/.bin/knex-migrator-migrate --init --mgpath /var/www/ghost/current
✔ Running database migrations
? Do you want to start Ghost? Yes
Running sudo command: systemctl is-active ghost_example-com
✔ Ensuring user is not logged in as ghost user
✔ Checking if logged in user is directory owner
✔ Checking current folder permissions
Running sudo command: systemctl is-active ghost_example-com
✔ Validating config
✔ Checking folder permissions
✔ Checking file permissions
✔ Checking content folder ownership
✔ Checking memory availability
Running sudo command: systemctl start ghost_example-com
✔ Starting Ghost
Running sudo command: systemctl is-enabled ghost_example-com
Running sudo command: systemctl enable ghost_example-com --quiet
✔ Starting Ghost

Ваш блог Ghost теперь установлен и готов к использованию. Вы можете получить доступ к своему блогу наhttp://example.com. Теперь давайте создадим аккаунт, чтобы вы могли создать свой первый пост.

[[step-3 -—- Creating-an-account-and-configuring-your-blog]] == Шаг 3 - Создание учетной записи и настройка блога

Чтобы войти в систему и настроить свой блог, посетитеhttp://example.com/login. Вас встретит следующий экран:

Welcome screen

Нажмите кнопкуCreate your account, чтобы начать.

Вы увидите экранCreate your account, на котором вас попросят ввести название вашего блога, а также ваше имя, адрес электронной почты и пароль:

Create account screen

Заполните данные и нажмите кнопкуLast step: Invite your team.

Мастер попросит вас ввести адреса электронной почты других соавторов, но вы можете выбрать ссылкуI’ll do this later внизу экрана.

Затем вы увидите список сообщений, которые Ghost называет историями:

List of stories

Меню слева позволяет вам создать новую историю или управлять другими настройками вашего блога. Проконсультируйтесь сofficial documentation, чтобы узнать больше.

Заключение

В этом руководстве вы установили Ghost, настроили Nginx для запросов прокси к Ghost и убедились, что Ghost работает как системная служба. Впрочем, с Ghost можно сделать гораздо больше. Посмотрите эти руководства, чтобы узнать больше о том, как использовать ваш новый блог:

Related