Как да разположите Ghost на Fedora 25

Ghost е платформа за блогове с отворен код, която набира популярност сред разработчиците и обикновените потребители след пускането си през 2013 г. Фокусира се върху съдържанието и блоговете . Най-привлекателното нещо при Ghost е неговият прост, изчистен и отзивчив дизайн. Можете да пишете публикациите си в блога от мобилен телефон. Съдържанието за Ghost е написано с помощта на езика Markdown. Ghost е идеално подходящ за отделни лица или малки групи писатели.

В това ръководство ще настроим и внедрим защитен блог Ghost на Fedora 25 VPS, използвайки Let's Encrypt , Certbot , Node.js , Nginx и PM2 .

Изисквания

  • Fedora 25 сървърен екземпляр с минимум 1GB RAM .
  • Вероятно ще трябва да отворите порт 2368 с semanage port -a -t http_port_t -p tcp 2368.

Да криптираме

Преди да започнете тази стъпка, уверете се, че сте задали DNS записи за вашия домейн.

Ще използваме Let's Encrypt CA и Certbot клиента на EFF, за да получим TLS сертификат за нашия блог Ghost. Не забравяйте да замените всички екземпляри на example.comс името на вашия домейн.

  1. Актуализиране на системата:

    dnf check-update || dnf upgrade -y
    
  2. Инсталирайте необходимите инструменти:

    dnf install @development-tools -y
    
  3. Инсталирайте Certbot (известен още като Let's Encrypt client):

    dnf install certbot -y
    
  4. Проверете версията на Certbot:

    certbot --version
    # certbot 0.12.0
    
  5. Получете сертификат с помощта на самостоятелен режим:

    certbot certonly --standalone --domains example.com,www.example.com --email [email protected] --agree-tos --rsa-key-size 2048
    

След като преминете през предишни стъпки, вашият сертификат и частният ключ ще бъдат в /etc/letsencrypt/live/example.comдиректорията.

Инсталирайте NodeJS

Ghost currently supports Node versions 0.12.x, 4.2+, and 6.9+ only.

Ще инсталираме поддържана версия за Ghost, която е v6 Boron LTSкъм момента на писане.

  1. Изтеглете и инсталирайте най-новата LTS версия на Node.js:

    dnf install nodejs -y
    
  2. Проверете версията на възел и NPM:

    node -v && npm -v
    # v6.10.2
    # 3.10.10
    

Инсталирайте Nginx

  1. Изтеглете и инсталирайте Nginx:

    dnf install nginx -y
    
  2. Проверете версията на Nginx:

    nginx -v
    # nginx version: nginx/1.10.2
    
  3. Стартирайте и активирайте услугата Nginx:

    systemctl start nginx.service && systemctl enable nginx.service
    
  4. Конфигурирайте Nginx като обратен прокси:

    vi /etc/nginx/conf.d/ghost.conf
    
  5. Поставете следното в /etc/nginx/conf.d/ghost.conf:

    server {
    
      listen 80;
      listen [::]:80;
      listen 443 ssl http2;
      listen [::]:443 ssl http2;
    
      server_name example.com www.example.com;
    
      ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
      ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
      ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    
      location / {
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_pass http://127.0.0.1:2368;
      }
    
    }
    
  6. Проверете синтаксиса на Nginx:

    nginx -t
    
  7. Презаредете конфигурацията на Nginx:

    systemctl reload nginx.service
    

Инсталирайте Ghost

Ако искате да хоствате множество Ghost блогове на един и същ VPS , всеки Ghost екземпляр трябва да работи на отделен порт.

  1. Направете webrootдиректория:

    mkdir -p /var/www/
    
  2. Създайте нов потребител призрак:

    useradd -c "Ghost Application" ghost 
    
  3. Изтеглете Ghost:

    curl -L https://github.com/TryGhost/Ghost/releases/download/0.11.8/Ghost-0.11.8.zip -o ghost.zip
    
  4. Разархивирайте Ghost:

    unzip -uo ghost.zip -d /var/www/ghost
    rm -f ghost.zip
    
  5. Отидете до webroot:

    cd /var/www/ghost
    
  6. Променете собствеността на webroot директорията:

    chown -R ghost:ghost .
    
  7. Превключете към нов потребител на призрак:

    su - ghost
    
  8. Отидете до webroot:

    cd /var/www/ghost
    
  9. Инсталирайте Ghost:

    npm install --production
    
  10. Конфигурирайте Ghost, като промените urlи mailсвойството на productionобект вътре във config.jsфайла:

    cp config.example.js config.js
    vi config.js
    
    
    var path = require('path'),
           config;
    
    config = {
      // ### Production
      // When running Ghost in the wild, use the production environment.
      // Configure your URL and mail settings here
      production: {
        url: 'https://example.com',
        mail: {
          options: {
             service: '',
                auth: {
                  user: '',
                  pass: ''
                }
              }
        },
            . . .
            . . .
        },
    }
    . . .
    . . .        
    

    NOTE: You should configure mail also. Consult the official Ghost documentation on how to do that.

  11. Стартирайте Ghost:

    npm start --production
    

    Ghost сега ще бяга. И предния край на блога, и интерфейсът на администратора са защитени с HTTPS и HTTP/2 също работи. Можете да отворите браузъра си и да посетите сайта на адрес https://example.com. Не забравяйте да замените example.comс името на вашия домейн.

  12. Изключете Ghost процеса, като натиснете CTRL+ Cи излезте от ghost потребител обратно към root потребител:

    exit
    

Инсталирайте PM2

Ако затворите терминалната си сесия с вашия VPS , вашият блог също ще падне. Това не е добре. За да избегнем това, ще използваме мениджъра на процеси PM2 . Това ще поддържа блога ни 24/7.

  1. Инсталирайте най-новата стабилна версия на PM2 процесния мениджър:

    npm install -g pm2@latest
    
  2. Проверете версията на PM2:

    pm2 -v
    # 2.4.6
    
  3. Превключете отново към призрак потребител:

    su - ghost
    
  4. Задайте NODE_ENVпроменлива на средата на продукция:

    echo "export NODE_ENV=production" >> ~/.bashrc && source ~/.bashrc
    
  5. Стартирайте (демонизирайте) приложение Ghost с PM2:

    pm2 start /var/www/ghost/index.js --name "Ghost Blog"
    
  6. Придвижете се до https://example.com/ghost/и създайте администраторски потребител на Ghost. Направете това възможно най-скоро.

Заключение

Това е. Вече имаме напълно функционален Ghost блог. Ако искате да промените темата на Ghost по подразбиране, наречена Casper, на персонализирана, можете просто да изтеглите и разархивирате темата в /var/www/ghost/content/themesпапката и да я изберете чрез администраторски интерфейс на Ghost, намиращ се на https://example.com/ghost.


Как да инсталирате BigTree CMS на Fedora 26 LAMP VPS

Как да инсталирате BigTree CMS на Fedora 26 LAMP VPS

Използване на различна система? BigTree CMS 4.2 е бърза и лека, безплатна и с отворен код, корпоративна система за управление на съдържанието (CMS) с обширна

Как да инсталирате Koel на Fedora 28

Как да инсталирате Koel на Fedora 28

Използване на различна система? Koel е просто уеб-базирано лично приложение за стрийминг на аудио, написано на Vue от страна на клиента и Laravel от страна на сървъра. Кое

Как да инсталирате Grav CMS на Fedora 28

Как да инсталирате Grav CMS на Fedora 28

Използване на различна система? Grav е CMS с плосък файл с отворен код, написан на PHP. Изходният код на Grav се хоства публично на GitHub. Това ръководство ще ви покаже как т

Инсталиране на Akaunting на Fedora 28

Инсталиране на Akaunting на Fedora 28

Използване на различна система? Akaunting е безплатен, отворен код и онлайн счетоводен софтуер, предназначен за малки фирми и служители на свободна практика. Изградено е остроумно

Как да инсталирате Tiny Tiny RSS Reader на Fedora 26 LAMP VPS

Как да инсталирате Tiny Tiny RSS Reader на Fedora 26 LAMP VPS

Използване на различна система? Tiny Tiny RSS Reader е безплатен четец и агрегатор с отворен код, самостоятелно хостван уеб базиран новинарски канал (RSS/Atom), предназначен да

Как да инсталирате InvoicePlane на Fedora 28

Как да инсталирате InvoicePlane на Fedora 28

Използване на различна система? InvoicePlane е безплатно приложение за фактуриране с отворен код. Неговият изходен код може да бъде намерен в това хранилище на Github. Това ръководство

Инсталирайте сървър на Minecraft на Fedora 26

Инсталирайте сървър на Minecraft на Fedora 26

Използване на различна система? В този урок ще ви насоча как да настроите сървър на Minecraft на високопроизводителен SSD VPS във Vultr. Ще научиш хо

Как да компилирам Nginx от източник на Fedora 25

Как да компилирам Nginx от източник на Fedora 25

Използване на различна система? NGINX може да се използва като HTTP/HTTPS сървър, обратен прокси сървър, имейл прокси сървър, балансьор на натоварване, TLS терминатор или cachin

Как да инсталирате Pagekit 1.0 CMS на Fedora 26 LAMP VPS

Как да инсталирате Pagekit 1.0 CMS на Fedora 26 LAMP VPS

Използване на различна система? Pagekit 1.0 CMS е красива, модулна, разширяема и лека, безплатна система за управление на съдържанието (CMS) с отворен код с

Как да инсталирате Subrion 4.1 CMS на Fedora 26 LAMP VPS

Как да инсталирате Subrion 4.1 CMS на Fedora 26 LAMP VPS

Използване на различна система? Subrion 4.1 CMS е мощна и гъвкава система за управление на съдържанието (CMS) с отворен код, която носи интуитивно и ясно съдържание

Инсталирайте TaskServer (taskd) на Fedora 26

Инсталирайте TaskServer (taskd) на Fedora 26

Използване на различна система? TaskWarrior е инструмент за управление на времето с отворен код, който е подобрение на приложението Todo.txt и неговите клонинги. Поради th

Как да инсталирате CMS Made Simple 2.2 на Fedora 26 LAMP VPS

Как да инсталирате CMS Made Simple 2.2 на Fedora 26 LAMP VPS

Използване на различна система? CMS Made Simple 2.2 е гъвкава и разширяема, безплатна система за управление на съдържанието (CMS) с отворен код, интелигентно проектирана да

Инсталиране на Bro IDS на Fedora 25

Инсталиране на Bro IDS на Fedora 25

Използване на различна система? Въведение Bro е анализатор на мрежов трафик с отворен код. Това е преди всичко монитор за сигурност, който инспектира целия трафик по линия

Как да инсталирате X-Cart 5 на Fedora 31

Как да инсталирате X-Cart 5 на Fedora 31

Използване на различна система? X-Cart е изключително гъвкава платформа за електронна търговия с отворен код с множество функции и интеграции. Изходният код на X-Cart е хост

Как да инсталирате Matomo Analytics на Fedora 28

Как да инсталирате Matomo Analytics на Fedora 28

Използване на различна система? Matomo (бивш Piwik) е платформа за анализи с отворен код, отворена алтернатива на Google Analytics. Източникът на Matomo се хоства o

Как да инсталирате MyBB на Fedora 28

Как да инсталирате MyBB на Fedora 28

Използване на различна система? MyBB е безплатна програма с отворен код, интуитивна и разширяема форумна програма. Изходният код на MyBB се хоства на GitHub. Това ръководство ще шо

Как да инсталирате и конфигурирате TaskBoard на Fedora 30

Как да инсталирате и конфигурирате TaskBoard на Fedora 30

Използване на различна система? Въведение TaskBoard е безплатен инструмент с отворен код, който може да се използва за проследяване на нещата, които трябва да се направят. Осигурява

Как да инсталирате LimeSurvey CE на Fedora 28

Как да инсталирате LimeSurvey CE на Fedora 28

Използване на различна система? LimeSurvey е програма за проучване с отворен код, написана на PHP. Изходният код на LimeSurvey се хоства на GitHub. Това ръководство ще ви покаже

Как да инсталирате Backdrop CMS 1.8.0 на Fedora 26 LAMP VPS

Как да инсталирате Backdrop CMS 1.8.0 на Fedora 26 LAMP VPS

Използване на различна система? Backdrop CMS 1.8.0 е проста и гъвкава, удобна за мобилни устройства, безплатна система за управление на съдържанието (CMS) с отворен код, която ни позволява

Как да инсталирате Craft CMS на Fedora 29

Как да инсталирате Craft CMS на Fedora 29

Използване на различна система? Craft CMS е CMS с отворен код, написан на PHP. Craft CMS изходния код се хоства на GitHub. Това ръководство ще ви покаже как да инсталирате

Възходът на машините: Реални приложения на AI

Възходът на машините: Реални приложения на AI

Изкуственият интелект не е в бъдещето, тук е точно в настоящето. В този блог Прочетете как приложенията за изкуствен интелект са повлияли на различни сектори.

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 машини. Прочетете тази статия, за да научите повече