Ghost - это бесплатная блог-платформа с открытым исходным кодом, написанная на node.js , полностью настраиваемая и предназначенная для публикации.
Подготовьте сервер: обновите пакеты, установите Node.js и NPM
Мы продемонстрируем установку, войдя на сервер как root
, так что нам не нужно будет добавлять sudo
перед каждой командой. Если вы вошли как другой пользователь, помните, что вам понадобится sudo
.
На вашем сервере выполните следующую команду, чтобы обновить индекс пакетов, обновить пакеты и установить nodejs
и npm
.
apt-get update
apt-get upgrade
apt-get install python software-properties-common gcc g++ make -y # auto install
add-apt-repository ppa:chris-lea/node.js -y
Вывод этих команд должен быть похож на:
gpg: keyring `/tmp/tmpvpe2ugzj/secring.gpg' created
gpg: keyring `/tmp/tmpvpe2ugzj/pubring.gpg' created
gpg: requesting key C7917B12 from hkp server keyserver.ubuntu.com
gpg: /tmp/tmpvpe2ugzj/trustdb.gpg: trustdb created
gpg: key C7917B12: public key "Launchpad chrislea" imported
gpg: Total number processed: 1
gpg: imported: 1 (RSA: 1)
OK
Автоматически ключ подписи пакета будет добавлен в связку ключей (чтобы можно было проверить загруженные пакеты), а PPA будет добавлен к APT sources.list.d
.
Теперь давайте запустим:
apt-get update # again
apt-get install nodejs -y
Запустите, npm
чтобы проверить установку. Вы увидите, npm
как использование выводится на экран:
Usage: npm <command>
...
...
[email protected] /usr/lib/node_modules/npm
Теперь мы можем установить Ghost.
Установка: Ghost и Nginx
Поскольку Ghost теперь считается «стабильным», его можно установить через npm
. Установите с помощью следующей команды:
npm install -g ghost --production
Игнорируйте любые предупреждения на данный момент.
Далее мы запустим Ghost и проверим, работает ли он правильно.
cd /usr/lib/node_modules/ghost
npm start --production
Вывод должен выглядеть так:
> [email protected] start /usr/lib/node_modules/ghost
> node index
Migrations: Database initialisation required for version 003
...
Migrations: Complete
Ghost is running...
Your blog is now available on http://my-ghost-blog.com
Ctrl+C to shut down
Оно работает! Используйте Ctrl-C, чтобы выключить Ghost, и перейдите к следующему шагу: установка (и настройка) Nginx.
Nginx очень прост в установке. Запустите следующую команду:
apt-get install nginx
Nginx будет настроен так, чтобы разрешить подключение из любого места в сети к порту 80 (или 443, если используется SSL ) на вашем сервере, который затем перенаправляется (« проксируется ») на Ghost. Вот как люди подключаются к вашему блогу.
Настроить Nginx тоже не сложно. Выполните следующие шаги для настройки прокси Ghost.
Сначала удалите файл конфигурации по умолчанию:
cd /etc/nginx/
rm sites-enabled/default
Затем создайте новый файл конфигурации:
cd sites-available
touch ghost
Адаптируйте следующие строки в соответствии с вашими потребностями и вставьте что- нибудь вроде nano
или vi
вставьте это (вам нужно будет указать server_name
свое доменное имя):
server {
listen 80;
server_name yourdomain.tld;
access_log /var/log/nginx/yourdomain.tld.log; # if you want logging
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header HOST $http_host;
proxy_pass http://127.0.0.1:2368;
proxy_redirect off;
}
}
Ссылка на ваш файл конфигурации:
cd /etc/nginx
ln -s sites-available/ghost sites-enabled/ghost
Перезапустите Nginx:
service nginx restart
На этом этапе Nginx установлен, настроен и работает на вашем сервере.
И наконец: запуск Ghost автоматически
Supervisor - это система управления процессами, которая позволяет запускать Ghost при запуске без использования сценариев инициализации. Мы будем устанавливать Supervisor для управления Ghost.
Чтобы установить Supervisor, запустите:
apt-get install supervisor
service supervisor start
Затем создайте новый файл сценария в /etc/supervisor/conf.d/ghost.conf
. Вставьте в это содержимое:
[program:ghost]
command = node /usr/lib/node_modules/ghost/index.js
directory = /usr/lib/node_modules/ghost
user = ghost
autostart = true
autorestart = true
stdout_logfile = /var/log/supervisor/ghost.log
stderr_logfile = /var/log/supervisor/ghost_err.log
environment = NODE_ENV="production"
Сохраните и закройте файл.
Далее нам нужно создать пользователя для Ghost и дать ему разрешения на доступ к файлам и базе данных Ghost. Запустите следующие команды:
useradd ghost
chown -R ghost /usr/lib/node_modules/ghost/
supervisorctl reread
supervisorctl update
Наша установка завершена!
Теперь вы можете контролировать Ghost, выполнив supervisorctl start ghost
и supervisorctl stop ghost
.