Налаштування платформи професійної публікації Ghost на OpenBSD 6

Ghost — найновіша і найкраща вискочка, яка конкурує з WordPress. Розробка теми швидка та проста в освоєнні, тому що розробники Ghost вирішили використовувати як фреймворки ember.js, так і handlebars.js, щоб видалити частину кривої навчання. Час встановлення та налаштування триватиме приблизно 45-60 хвилин і передбачає використання таких технологій: Node.js, Relayd, та Httpd.

Примітка. Будь ласка, замініть example.org на ім’я вашого домену, а 192.0.2.x – на призначену вам IP-адресу Vultr. Ми також будемо використовувати самопідписані сертифікати, які дійсно хороші лише для тестування. Якщо ви вирішили використовувати Ghost у виробництві, надзвичайно важливо використовувати справжній сертифікат. Справжні сертифікати можна отримати безкоштовно за допомогою Let's Encrypt .

Налаштування OpenBSD

Увімкніть Httpdі relayd.

# rcctl enable httpd relayd

Створіть /etc/httpd.confфайл конфігурації для Httpd. У цьому прикладі єдиною метою Httpd є перенаправлення запитів на https. Фактично Relayd буде прослуховувати httpsпорт і передавати запити до Ghost.

prefork 3
types { include "/usr/share/misc/mime.types" }

server "www.example.org" {
    listen on 192.0.2.1 port 80 
    # Redirect to https
    block return 301 "https://$SERVER_NAME:$REQUEST_URI"
}

Створіть тестові сертифікати SSL для свого розгортання Ghost. Оскільки це дійсно буде лише для тестування, ви можете залишити більшість полів порожніми. Єдине, яке вам потрібно буде заповнити, це Common Nameполе, яке має відповідати повному доменному імені сервера. Коли ви будете готові замінити самопідписаний сертифікат справжніми та дійсними, просто не забудьте зберегти імена файлів. Relayd очікує знайти свій ключ і сертифікат із умовою іменування <ip address>.crtта <ip address>.key.

# cd /etc/ssl
# openssl req -x509 -new -nodes -newkey rsa:4096 -keyout private/192.0.2.1.key -out 192.0.2.1.crt -days 364 -sha256
# chmod 0400 private/192.0.2.1.key

Створіть /etc/relayd.confфайл конфігурації для Relayd. Relayd робить магію, яка передає запити до Ghost і перенаправляє їх.

prefork 3

http protocol https {
    match request header append "X-Forwarded-For" value "$REMOTE_ADDR"
    match request header append "X-Forwarded-By" \
        value "$SERVER_ADDR:$SERVER_PORT"

    tcp { nodelay, sack, socket buffer 65536, backlog 128 }

    tls { no tlsv1, ciphers HIGH }
    tls no session tickets
}
relay ghost {
    listen on 192.0.2.1 port 443 tls
    protocol https
    forward to 127.0.0.1 port 2368
}

Додайте наступні пакети.

pkg_add -r node unzip wget  

Встановіть та налаштуйте Ghost

Створіть користувацький і домашній каталог для інсталяції Ghost. Наприклад, створити користувача з іменем ghostдомашнього каталогу під назвою /var/www/ghost. Використовуйте дуже надійний пароль для цього облікового запису.

# user add -m -c "Ghost User" -d /var/www/ghost -G wheel -g =uid -u 5000 -s /bin/ksh ghost
# passwd ghost 

Змініть ghostкористувача та завантажте останню версію Ghost.

# doas su ghost
# cd /var/www/ghost
# mkdir blog
# cd blog/
# wget https://ghost.org/zip/ghost-latest.zip
# unzip ghost-latest.zip

Встановіть Ghost.

# npm install sqlite3 --sqlite=/usr/local
# npm install --production
# npm install forever
# doas npm install -g knex-migrator

Налаштувати Ghost. Замініть databaseрозділ config.production.jsonна databaseпункт нижче, якщо ви хочете використовувати sqliteзамість mysql. Sqlite легко обробляє близько 100 000 підключень на день. Якщо у вас уже встановлено MySQL, ви завжди можете використовувати його замість цього. Для defaults.jsonфайлу змініть domainчастину urlна свій домен.

# cd core/server/config/env/config/
# vi config.production.json

"database": {
    "client": "sqlite3",
    "connection": {
            "filename": "content/data/ghost.db"
    }, 

# cd core/server/config/
# vi defaults.json

"url": "http://www,example.org",
"server": {
        "host": "127.0.0.1",
        "port": 2368
},

Тепер нам потрібно заповнити базу даних і запустити Ghost.

# cd ~/blog
# NODE_ENV=production knex-migrator init
# NODE_ENV=production ~/blog/node_modules/forever/bin/forever start ~/blog/index.js

Виконайте a netstat -na -f inetта знайдіть 127.0.0.1:2368запис. Ви також можете зробити, ps ax | grep nodeщоб переконатися, що Ghost працює.

Відкрийте свій улюблений веб-браузер і перейдіть до http://www.example.org. Ви будете автоматично перенаправлені на https://www.example.org. Вас зустріне сторінка Ghost за замовчуванням.

Перейдіть до, http://www.example.org/ghostщоб завершити встановлення.

Залишити коментар

Повстання машин: застосування ШІ в реальному світі

Повстання машин: застосування ШІ в реальному світі

Штучний інтелект не в майбутньому, він тут прямо в сьогоденні У цьому блозі Прочитайте, як програми штучного інтелекту вплинули на різні сектори.

DDOS-атаки: короткий огляд

DDOS-атаки: короткий огляд

Ви також стали жертвою DDOS-атак і спантеличені методами запобігання? Прочитайте цю статтю, щоб вирішити свої запитання.

Ви коли-небудь замислювалися, як хакери заробляють гроші?

Ви коли-небудь замислювалися, як хакери заробляють гроші?

Можливо, ви чули, що хакери заробляють багато грошей, але чи замислювалися ви коли-небудь, як вони заробляють такі гроші? давайте обговоримо.

Революційні винаходи від Google, які полегшать ваше життя.

Революційні винаходи від Google, які полегшать ваше життя.

Ви хочете побачити революційні винаходи Google і як ці винаходи змінили життя кожної людини сьогодні? Тоді читайте в блозі, щоб побачити винаходи Google.

Friday Essential: Що сталося з автомобілями, керованими штучним інтелектом?

Friday Essential: Що сталося з автомобілями, керованими штучним інтелектом?

Концепція самокерованих автомобілів, щоб вирушати в дороги за допомогою штучного інтелекту, є мрією, яку ми давно мріємо. Але, незважаючи на кілька обіцянок, їх ніде не видно. Прочитайте цей блог, щоб дізнатися більше…

Технологічна сингулярність: віддалене майбутнє людської цивілізації?

Технологічна сингулярність: віддалене майбутнє людської цивілізації?

Оскільки наука розвивається швидкими темпами, бере на себе багато наших зусиль, ризики піддати себе незрозумілій Сингулярності також зростає. Читайте, що може означати для нас сингулярність.

Функціональні можливості шарів еталонної архітектури великих даних

Функціональні можливості шарів еталонної архітектури великих даних

Прочитайте блог, щоб дізнатися про різні шари архітектури великих даних та їх функціональні можливості найпростішим способом.

Еволюція зберігання даних – інфографіка

Еволюція зберігання даних – інфографіка

Методи зберігання даних можуть розвиватися з моменту народження Даних. Цей блог висвітлює еволюцію зберігання даних на основі інфографіки.

6 дивовижних переваг використання пристроїв розумного дому в нашому житті

6 дивовижних переваг використання пристроїв розумного дому в нашому житті

У цьому цифровому світі пристрої розумного дому стали важливою частиною життя. Ось кілька дивовижних переваг пристроїв розумного дому щодо того, як вони роблять наше життя гідним життя та спрощують його.

Оновлення доповнення macOS Catalina 10.15.4 спричиняє більше проблем, ніж вирішує

Оновлення доповнення macOS Catalina 10.15.4 спричиняє більше проблем, ніж вирішує

Нещодавно Apple випустила додаткове оновлення macOS Catalina 10.15.4, щоб виправити проблеми, але схоже, що оновлення викликає більше проблем, що призводять до блокування комп’ютерів Mac. Прочитайте цю статтю, щоб дізнатися більше