Post image

Ghost + DigitalOcean = быстро и просто

Не смотря на то что в мире существует огромное количество блог платформ, я предпочитаю использовать Ghost из-за его минимализма и простоты. К тому же, в его коде можно относительно быстро разобраться и не запутаться как в перегруженном Wordpress. Немаловажным фактом является то, что мой любимый облачный хостинг DigitalOcean прекрасно работает с данной платформой.

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

Подразумевается что у вас уже есть зарегистрированное доменное имя и вы готовы платить 5$ в месяц за содержания сервера на DigitalOcean

Настройки DigitalOcean

После регистрации на этом замечательном хостинг сервисе вы увидите простую и понятную панель управления.

Регистрация

Подтвердив свой e-mail и обновив платежные данные, можно приступать к непосредственному созданию вашего блога. Для этого необходимо нажать на большую зеленую кнопку "Create". Вы попадете на страницу создания дроплетов, так DigitalOcean называет свои приватные виртуальные серверы. На этой странице введите имя вашего сервера в поле Droplet Hostname, что-бы не путаться в дальнейшем пускай это имя совпадает с доменным именем будущего блога. Выберете минимальный тарифный план, он вполне подходит для блога, а в будущем его можно изменить.

Создание дроплета, выбор тарифа

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

Создание дроплета, выбор дата-центра

Последний и очень важный шаг - выбор того что будет предустановлено на вашем дроплете. Раздел Select Image. Выбираем вкладку Applications в ней Ghost 0.5.2 on Ubuntu (Версия Ghost может отличаться) и нажимаем Create Droplet.

Создание дроплета, выбор ghost

Ждем, приблизительно 60 секунд и ваш дроплет создан и готов к работе.

Создание дроплета, ожидание

Создание дроплета, создан

При этом на e-mail вам придет подтверждение о создании дроплета с данными для входа. Обязательно сохраните это письмо!

Создание дроплета, письмо с подтверждением

Настройки DNS

После того как мы создали дроплет, необходимо настроить DNS. Для этого перейдите во вкладку DNS в админ панели DigitalOcean. Там вы увидите свой дроплет в списке PTR Records. Напротив него указан его IP адрес, скопируйте его, он сейчас понадобится.

Настройка DNS

Нажмите на кнопку Add Domain. Появится окошко с тремя полями. В первое поле запишите ваше зарегистрированное доменное имя, в примере example.com. Во втором укажите IP адрес дроплета который вы скопировали ранее, в последнем поле выберете из выпадающего списка имя вашего дроблета. И смело жмите Create Domain.

Настройка DNS

Настройки в админ панели DigitalOcean закончены.

Настройка DNS

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

Настройка DNS

Настройки DNS не проходят мгновенно, поэтому придется подождать некоторое время, обычно изменения вступают в силу не позже одних суток!

Конфигурация Ghost

Фактически блог уже работ и его можно увидеть указав IP адрес дроплета в брайзер. Но для более правильной работы платформы необходимо её сконфигурировать. Зайдите на страницу вашего дроплета и нажмите на кнопку Console Access. Появится консоль, введите данные из письма: логин, пароль. Вас попросят изменить пароль, придумайте надежный пароль!

Консоль

Для безопасного измениния конфигураций Ghost надо остановить. В консоль вводим такую команду:

service ghost stop

Зайдем в папку где находится блог и изменим некоторые его конфигурации:

cd ..

cd var/www/ghost/

nano config.js

После выполнения последней команды откроется документ config.js с настройками блога в текстовом редакторе Nano. Найдите место конфигурации production. В документе оно выглядит так:

// Configure your URL and mail settings here
production: {
    url: 'http://my-ghost-blog.com',
    mail: {},
    database: {
        client: 'sqlite3',
        connection: {
            filename: path.join(__dirname, '/content/data/ghost.db')
        },
        debug: false
    },

    server: {
        // Host to be passed to node's `net.Server#listen()`
        host: '127.0.0.1',
        // Port to be passed to node's `net.Server#listen()`, for iisnode s$
        port: '2368'
    }
}

Во первых надо изменить поле url, вписав имя вашего сайта вместо http://my-ghost-blog.com. Во вторых измените поле mail, примерно так:

 mail: {
    transport: 'SMTP',
    options: {
        service: 'Gmail', //Ваша почта
            auth: {
                user: 'johndou', // Логин для почты
                pass: 'password'  // Пароль для почты
            }
        }
}

Должно получиться подобное:

// Configure your URL and mail settings here
production: {
    url: 'http://example.com',//Адрес вашего блога
    mail: {
        transport: 'SMTP',
        options: {
            service: 'Gmail', //Ваша почта
                auth: {
                    user: 'johndou', // Логин для почты
                    pass: 'password'  // Пароль для почты
                }
            }
    },
    database: {
        client: 'sqlite3',
        connection: {
            filename: path.join(__dirname, '/content/data/ghost.db')
        },
        debug: false
    },

    server: {
        // Host to be passed to node's `net.Server#listen()`
        host: '127.0.0.1',
        // Port to be passed to node's `net.Server#listen()`, for iisnode s$
        port: '2368'
    }
}

Для сохранения документа и выходи из Nano последовательно введите: Сtrl-X > Y > Enter

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

service ghost start

logout

Настройки блога

Можно приступить к непосредственным настройкам блога. Наберите в брайзере IP адрес вашего дроплета и ghost через слешь ( например 127.0.0.999/ghost ) или, если изменения в настройках DNS сервера вступили в силу [вашь url]/ghost ( например example.com/ghost ). Это адрес административной панели и в дальнейшем все действия с блогом будут происходить через нее.

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

После заполнение всех полей вас перенаправят в административную панель с помощью которой происходит управление блогом.

Во вкладке setting/general заполните описание блога, добавьте логотип, обложку блога и вы готовы к полету, а по вашему адресу будет красоваться приятное привидение с моторчиком.

В конце хотелось бы уточнить что у Ghost есть несколько минусов для неподготовленного пользователя. Во-первых, поддерживают его малое количесво хостингов. Во-вторых, для более гибких настроек надо лезть в код и знать, как минимум, HTML разметку и JavaScript. В-тертьих, практически нету документации на русском языке. И полседний минус - редастировать статьи вожможно лишь с помощью Markdown разметки текста.

В будущем постараюсь написать статьи о более глубокой настройке блог платформы Ghost, такие как настройки темы оформления, добавления плагинов Disqus и Google analytics и т.д.

Возникли вопросы или дополнения? Пишите в коментариях, я обязательно отвечу.