Введение
Если вы намерены установить 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 завершена.