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

Установить Ghost на Ubuntu 18.04

Ghost — это современная платформа для публикации исходного кода, созданная на основе Node.js. Она полностью настраиваемая и простая в использовании, позволяя вам публиковать контент практически без необходимости обучения.

В этом руководстве мы покажем вам, как развернуть защищенный блог Ghost на сервере Ubuntu 18.04, используя Nginx в качестве прокси-сервера, бесплатный SSL-сертификат Let's Encrypt, последнюю версию LTS Node.js и MySQL/MariaDB в качестве бэкэнда базы данных.

Предпосылки

Для прохождения этого урока вам понадобятся следующие предварительные условия:

  • Согласно официальным системным требованиям Ghost, вам потребуется не менее 1 ГБ оперативной памяти. Если у вас сервер с объёмом оперативной памяти менее 1 ГБ, вы можете создать файл подкачки .
  • Доменное имя, указывающее на IP-адрес вашего публичного сервера. В этом руководстве мы будем использовать example.com .
  • Nginx установлен следующим образом: Как установить Nginx в Ubuntu 18.04 .
  • Настройте брандмауэр, следуя инструкциям в статье «Как настроить брандмауэр с UFW в Ubuntu 18.04» . Убедитесь, что порты 80 и 443 открыты.

Прежде чем продолжить работу с этим руководством, убедитесь, что вы вошли в систему как пользователь с привилегиями sudo .

Установка Node.js и Yarn

На момент написания этой статьи рекомендуемая версия Node.js для Ghost — v8 carbon LTS. Мы установим Node.js из репозитория NodeSource.

Включите репозиторий NodeSource для Node.js v8 с помощью следующей команды curl :

 curl -sL https://deb.nodesource.com/setup_8.x | sudo bash -

Установите Node.js, введя:

 sudo apt install nodejs

Для других методов установки ознакомьтесь с нашим руководством «Как установить Node.js в Ubuntu 18.04» .

Чтобы установить Yarn, сначала включите репозиторий Yarn в своей системе с помощью следующих команд:

 curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add - echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list

После включения репозитория установите yarn с помощью:

 sudo apt update sudo apt-get -o Dpkg::Options::="--force-overwrite" install yarn

Установка MySQL

Ghost поддерживает базы данных MySQL , MariaDB и SQLite. В этом руководстве мы будем использовать MySQL, которая является рекомендуемой базой данных при запуске Ghost в производственном режиме.

Установите пакет MySQL с помощью следующей команды:

 sudo apt install mysql-server

Выполните команду mysql_secure_installation , чтобы повысить безопасность установки MySQL:

 sudo mysql_secure_installation

Вам будет предложено настроить VALIDATE PASSWORD PLUGIN , который используется для проверки надёжности паролей пользователей MySQL. Существует три уровня проверки паролей: низкий, средний и высокий. Нажмите ENTER если вы не хотите настраивать плагин проверки паролей.

В следующем запросе вам будет предложено установить пароль для пользователя root MySQL.

После установки пароля root скрипт также попросит вас удалить анонимного пользователя, ограничить доступ root к локальной машине и удалить тестовую базу данных. На все вопросы следует ответить Y (да).

Далее нам нужно изменить метод аутентификации с auth_socket на mysql_native_password , чтобы установщик Ghost мог получить доступ к нашему серверу MySQL. Для этого войдите в систему MySQL как пользователь root:

 sudo mysql

и выполните следующий запрос, который установит пароль пользователя root MySQL при использовании метода mysql_native_password :

 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'very_strong_pasword'; FLUSH PRIVILEGES;

Обязательно замените very_strong_pasword надежным паролем.

Установка Ghost-CLI

Мы установим Ghost с помощью официальной утилиты Ghost CLI. Эта утилита позволяет установить или обновить Ghost одной командой.

Ghost CLI доступен в виде npm-пакета. Следующая команда установит Ghost CLI глобально в вашу систему Ubuntu:

 sudo yarn global add ghost-cli

Создание места установки Ghost

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

Чтобы создать каталог, введите:

 sudo mkdir -p /var/www/ghost

Измените владельца каталога на своего пользователя:

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

$USERпеременная среды , которая хранит ваше имя пользователя.

Установите правильные права доступа к каталогу:

 sudo chmod 775 /var/www/ghost

Установка Ghost

Теперь, когда у вас установлен Ghost CLI и выполнены все предварительные условия, мы можем приступить к установке.

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

 cd /var/www/ghost

Чтобы начать установку, запустите ghost install , который установит и настроит Ghost, настроит Nginx как обратный прокси-сервер и защитит сайт с помощью бесплатного SSL-сертификата Let's Encrypt.

 ghost install
 ✔ Checking system Node.js version ✔ Checking logged in user ✔ Checking current folder permissions System checks failed with message: 'Linux version is not Ubuntu 16' Some features of Ghost-CLI may not work without additional configuration. For local installs we recommend using `ghost install local` instead. ? Continue anyway? (y/N) y

Установщик проверит вашу систему и выведет несколько предупреждений, как показано выше. Нажмите y для продолжения, и установщик загрузит и установит Ghost:

 ℹ Checking operating system compatibility [skipped] ✔ Checking for a MySQL installation ✔ Checking memory availability ✔ Checking for latest Ghost version ✔ Setting up install directory ✔ Downloading and installing Ghost v1.24.9 ✔ Finishing install process

Далее вам будет предложено указать URL-адрес вашего блога и данные MySQL. Укажите имя пользователя root и пароль, которые мы настроили в разделе Installing MySQL и используйте имя базы данных по умолчанию ghost_prod .

 ? Enter your blog URL: https://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 и спросит, хотите ли вы создать призрачного пользователя MySQL, введите Yes .

 ✔ Configuring Ghost ✔ Setting up instance 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. Подтвердите, нажав Yes .

 ? Do you wish to set up Nginx? Yes ✔ Creating nginx config file at /var/www/ghost/system/files/example.com.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

После настройки Nginx установщик спросит, хотите ли вы настроить SSL. Подтвердите, нажав Yes , и мастер настройки попросит вас ввести адрес электронной почты, после чего сгенерирует бесплатный SSL-сертификат Let's Encrypt для вашего домена и настроит Nginx.

 ? Do you wish to set up SSL? Yes ? Enter your email (used for Let's Encrypt notifications) admin@example.com 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 admin@example.com 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 и включит её запуск при загрузке системы:

 ? 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, введите Yes .

 Running 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 You can access your publication at https://example.com Next, go to your admin interface at https://example.com/ghost/ to complete the setup of your publication Ghost uses direct mail by default To set up an alternative email method read our docs at https://docs.ghost.org/docs/mail-config

Завершите настройку Ghost

Откройте браузер, перейдите в интерфейс администратора Ghost по адресу https://example.com/ghost/ , и вы увидите следующий экран:

Настройка призрака

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

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

Ghost Create Администратор

После того, как вы заполните данные, нажмите кнопку Invite your team .

Команда Ghost Invit

На этом экране вам будет предложено ввести адреса электронной почты ваших соавторов. Вы можете просто нажать на ссылку I'll do this later, take me to my blog! », и вы будете перенаправлены на панель управления Ghost:

Панель управления Ghost

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

Заключение

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

Теперь вам следует посетить страницу помощи Ghost и узнать больше об управлении установкой Ghost. Вы также можете посетить магазин Ghost Marketplace и ознакомиться с темами Ghost.

ghost nodejs npm ubuntu блог

Связанные руководства

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *