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

12 set 2022 5 min di lettura
Как установить Ghost с Apache на Ubuntu 18.04 LTS
Indice dei contenuti

Введение

Если вы намерены установить Ghost Blog на удаленный сервер, продолжайте читать, в противном случае, если вы хотите установить Ghost Blog на свой локальный компьютер, пропустите первый абзац «Подключение к серверу» и прочитайте следующий.

Подключение к серверу

Чтобы получить доступ к серверу, вам нужно знать IP-адрес. Вам также потребуется пароль для аутентификации.

Чтобы подключиться к серверу как root, введите эту команду:

ssh root@IP_DEL_SERVER

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

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

ssh VOSTRO_UTENTE@IP_DEL_SERVER

Затем вам будет предложено ввести пароль пользователя.

Теперь вы подключены к своему серверу, вы готовы начать установку Ghost Blog.

Предпосылки

Для официальной установки Ghost требуется следующий стек:

  • Убунту 18.04
  • Apache — рекомендуется Nginx.
  • Node.js — рекомендуется версия 6.x /8.x /10.x
  • MySQL 5.5, 5.6 или 5.7 (не >= 8.0)
  • системад
  • Сервер с не менее 1 ГБ памяти
  • Зарегистрированное доменное имя

Конфигурация сервера

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

adduser nome_utente

Примечание. Использование имени пользователя-призрака вызывает конфликты с интерфейсом командной строки Ghost, поэтому важно использовать альтернативное имя.

По умолчанию новый пользователь находится только в своей группе, которая создается при создании учетной записи. Чтобы добавить пользователя в новую группу, мы можем использовать команду usermod.

Назначьте привилегии sudo только что созданному пользователю:

usermod -aG sudo nome_utente

Войдите под новым пользователем:

su - nome_utente

Убедитесь, что списки пакетов и установленные пакеты обновлены:

sudo apt-get update
sudo apt-get upgrade

Установить Apache2

Чтобы установить Апач:

sudo apt-get install apache2

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

sudo apt-get install libxml2-dev

Если ufw включен, включите порты, используемые Apache:

sudo ufw allow 'Apache Full'

Активируйте рекомендуемые модули apache2:

sudo a2enmod

Вы должны получить выходное сообщение, подобное следующему:


Your choices are: access_compat actions alias allowmethods asis auth_basic auth_digest auth_form authn_anon authn_core authn_dbd authn_dbm authn_file authn_socache authnz_fcgi authnz_ldap authz_core authz_dbd authz_dbm authz_groupfile authz_host authz_owner authz_user autoindex buffer cache cache_disk cache_socache cgi cgid charset_lite data dav dav_fs dav_lock dbd deflate dialup dir dump_io echo env expires ext_filter file_cache filter headers heartbeat heartmonitor ident include info lbmethod_bybusyness lbmethod_byrequests lbmethod_bytraffic lbmethod_heartbeat ldap log_debug log_forensic lua macro mime mime_magic mpm_event mpm_prefork mpm_worker negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_express proxy_fcgi proxy_fdpass proxy_ftp proxy_html proxy_http proxy_scgi proxy_wstunnel ratelimit reflector remoteip reqtimeout request rewrite sed session session_cookie session_crypto session_dbd setenvif slotmem_plain slotmem_shm socache_dbm socache_memcache socache_shmcb speling ssl status substitute suexec unique_id userdir usertrack vhost_alias xml2enc

 **Which module(s) do you want to enable (wildcards ok)?**

Включите следующие модули:

sudo a2enmod proxy
sudo a2enmod proxy_http
sudo a2enmod proxy_ajp
sudo a2enmod rewrite
sudo a2enmod deflate
sudo a2enmod headers
sudo a2enmod proxy_balancer
sudo a2enmod proxy_connect
sudo a2enmod proxy_html
sudo a2enmod ssl

Перезапустите Апач:

sudo service apache2 restart

Отключите файл конфигурации Apache по умолчанию:

sudo a2dissite 000-default

Создайте новый файл конфигурации виртуального хоста для нашей установки Ghost:

sudo nano /etc/apache2/sites-available/ghost.conf

Добавьте следующие строки кода:


<VirtualHost *:80>
 ServerAdmin admin@localhost
 DocumentRoot /var/www/ErrorLog ${APACHE_LOG_DIR}/error.log
 CustomLog ${APACHE_LOG_DIR}/access.log combined
 ProxyPreserveHost On
 # Servers to proxy the connection, or
 # List of application servers Usage
 ProxyPass /http://localhost:2368/ProxyPassReverse /http://localhost:2368/ServerName tuodominio.it
 ServerAlias www.tuodominio.it
 </VirtualHost>

Активируйте виртуальный хост:

sudo a2ensite ghost

Перезапустите Апач:

sudo service apache2 restart

Если установлен, остановите Nginx:

service nginx stop

Установить MySQL

Затем необходимо установить MySQL для использования в качестве рабочей базы данных.

sudo apt-get install mysql-server

В Ubuntu 18.04 LTS для обеспечения совместимости MySQL с Ghost-CLI требуется пароль.

Войдите в MySQL:

sudo mysql

Установите пароль для пользователя root:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'TUA_PASSWORD';

Выйти из MySQL:

quit

При необходимости снова войдите в систему с ранее созданным пользователем:

su - nome_utente

Установите Node.js

Вам нужно будет установить одну из поддерживаемых Ghost версий Node, добавить репозиторий NodeSource для Node 10:

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

Теперь установите Node.js:

sudo apt-get install -y nodejs

Установите Ghost-CLI

Ghost-CLI — это инструмент командной строки, который позволяет быстро и легко установить и настроить Ghost. Модуль npm можно установить с помощью npm или yarn:

sudo npm install ghost-cli@latest -g

Установить призрак

После настройки сервера и установки ghost-cli вы можете установить Ghost. Следующие шаги являются рекомендуемой конфигурацией:

Создайте каталог:

sudo mkdir -p /var/www/ghost

Установите владельца папки:

sudo chown nome_utente:nome_utente /var/www/ghost

Установите правильные разрешения:

sudo chmod 775 /var/www/ghost

Переместить папку:

cd /var/www/ghost

Запустите команду установки Ghost:

ghost install

Вы должны получить предупреждение о том, что Nginx не установлен, подобное следующему:


✔ Checking system Node.js version
 ✔ Checking logged in user
 ✔ Checking current folder permissions
 System checks failed with message: 'Missing package(s): nginx'
 Some features of Ghost-CLI may not work without additional configuration.
 For local installs we recommend using

призрачная установка локально

 instead.
 ? Continue anyway? Yes

Проигнорируйте сообщение и продолжите установку, набрав y или yes.

Если вы хотите установить Ghost на свой компьютер в локальном хосте, введите следующую команду:

ghost install local

Чтобы установить SSL -сертификаты для https с помощью Let's Encrypt, продолжите чтение

Во время установки CLI задаст ряд вопросов для настройки сайта.

URL-адрес блога Введите точный URL-адрес, по которому публикация будет доступна, и укажите протокол HTTP или HTTPS. Например https://example.com. Ghost-CLI поможет вам настроить SSL.

Имя хоста MySQL Если MySQL установлен на том же сервере, используйте localhost (нажмите Enter, чтобы использовать значение по умолчанию). Если MySQL установлен на другом сервере, введите имя вручную.

Имя пользователя/пароль MySQL Если у вас уже есть база данных MySQL, введите имя пользователя. В противном случае введите root. Затем укажите пароль для вашего пользователя.

Имя базы данных-призрака Введите имя вашей базы данных. Он будет автоматически настроен для вас, если только вы не используете пользователя/пароль MySQL без полномочий root. В этом случае база данных должна уже существовать и иметь правильные разрешения.

Настроить пользователя «Призрак» для MySQL? (Рекомендуемые) Если вы предоставили root-пользователя MySQL, Ghost-CLI может создать пользовательского пользователя MySQL, который может получить доступ/изменить только вашу новую базу данных Ghost и ничего больше.

Настроить NGINX? НЕТ (ранее мы установили Apache) Автоматически настройте NGINX, чтобы разрешить просмотр вашего сайта внешним миром.

Настроить SSL? (В этом случае Nginx не установлен, настройка будет пропущена) Если вы использовали URL-адрес https для блога и уже обратились к своему домену, Ghost-CLI может автоматически установить для вас SSL с помощью Let's Encrypt. Кроме того, вы можете сделать это позже с помощью команды ghost setup ssl.

Введите свой e-mail (В этом случае Nginx не установлен, настройка будет пропущена) Адрес электронной почты требуется для настройки сертификата SSL, чтобы вы могли быть проинформированы в случае проблем с сертификатом даже во время продления.

Настроить системд? (Рекомендуемые) systemd — это рекомендуемый инструмент управления процессами для бесперебойной работы Ghost. Мы рекомендуем вам выбрать да.

Запустить Призрака? Выберите « Да », чтобы запустить Ghost.

Установите SSL-сертификаты для https

Давайте добавим официальный репозиторий Cerbot, чтобы получать самые свежие пакеты:

sudo add-apt-repository ppa:certbot/certbot

Установите пакет Certbot для Apache:

sudo apt install python-certbot-apache

Certbot использует подключаемый модуль Apache для получения SSL-сертификатов:

sudo certbot --apache

Переместить папку:

cd /etc/apache2/sites-available

У вас должен быть новый файл, автоматически сгенерированный Let's Encrypt, с именем -ssl, написанным внутри. В данном случае ghost-le-ssl.conf.

Откройте файл:

sudo nano ghost-le-ssl.conf

Добавьте следующие строки перед включением файлов Let's Encrypt:


RequestHeader set "X-Forwarded-Proto" expr=%{REQUEST_SCHEME}
 RequestHeader set "X-Forwarded-SSL" expr=%{HTTPS}

Следовательно:


<IfModule mod_ssl.c>
 <VirtualHost *:443>
 ServerAdmin admin@localhost
 DocumentRoot /var/www/ErrorLog ${APACHE_LOG_DIR}/error.log
 CustomLog ${APACHE_LOG_DIR}/access.log combined
 ProxyPreserveHost On
 # Servers to proxy the connection, or
 # List of application servers Usage
 ProxyPass /http://localhost:2368/ProxyPassReverse /http://localhost:2368/ServerName TUODOMINIO.it
 ServerAlias www.TUODOMINIO.it

 RequestHeader set "X-Forwarded-Proto" expr=%{REQUEST_SCHEME}
 RequestHeader set "X-Forwarded-SSL" expr=%{HTTPS}

 Include /etc/letsencrypt/options-ssl-apache.conf
 SSLCertificateFile /etc/letsencrypt/live/TUODOMINIO.it/fullchain.pem
 SSLCertificateKeyFile /etc/letsencrypt/live/TUODOMINIO.it/privkey.pem
 </VirtualHost>
 </IfModule>

Сохраните и закройте файл

Перезапустите Апач:

sudo service apache2 restart

Настройте Ghost с помощью SSL

Вам нужно изменить основной URL -адрес Ghost в его основном файле конфигурации.

Переместить папку:

cd /var/www/ghost

Откройте следующий файл:

sudo nano config.production.json

Измените первый параметр URL, убедившись, что он установлен на https:


“url”: "https://TUODOMINIO.it"

Сохраните и закройте файл.

Перезапустите Призрака:

ghost restart

Будущее обслуживание

После настройки Ghost важно поддерживать его в актуальном состоянии. К счастью, это относительно легко сделать с помощью Ghost-CLI. Запустите справку Ghost, чтобы получить список доступных команд, или изучите полную документацию Ghost-CLI.

Установка и настройка Ghost Blog с Apache2 в Ubuntu 18.04 LTS завершена.

Buy me a coffeeBuy me a coffee

Supportaci se ti piacciono i nostri contenuti. Grazie.

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.