Како применити Гхост в0.11 ЛТС на Федора 25

Гхост је платформа за блогове отвореног кода која постаје све популарнија међу програмерима и обичним корисницима од свог издања 2013. године. Фокусира се на садржај и блоговање. Најпривлачнија ствар код Гхост-а је његов једноставан, чист и прилагодљив дизајн. Своје постове на блогу можете писати са мобилног телефона. Садржај за Гхост је написан користећи Маркдовн језик. Гхост је савршен за појединце или мале групе писаца.

У овом упутству ћемо поставити и распоредити сигурну Гхост в0.11.к Оцелот блог на Федора 25 ВПС користећи Лет је Шифруј , Цертбот , Ноде.јс , НПМ , Апацхе и МиСКЛ .

Захтеви

  • Региструјте (купите) име домена.
  • Федора 25 инстанца сервера са најмање 1 ГБ РАМ-а .
  • Судо корисник.
  • Вероватно ћете морати да отворите порт 2368 са semanage port -a -t http_port_t -p tcp 2368.

Пре него што почнете

  1. Проверите Федора верзију:

    cat /etc/fedora-release
    # Fedora release 25 (Twenty Five)
    
  2. Креирајте новог корисника који није роот :

    useradd -c "John Doe" johndoe && passwd johndoe
    
  3. Учините га суперкорисником додавањем у wheelгрупу:

    usermod -aG wheel johndoe
    
  4. Пређи на новог корисника:

    su - johndoe
    
  5. Ажурирајте софтвер свог оперативног система:

    sudo dnf check-update || sudo dnf upgrade -y
    
  6. Подесите временску зону:

    timedatectl list-timezones
    sudo timedatectl set-timezone 'Region/City'
    
  7. Инсталирајте развојне алате:

    sudo dnf install @development-tools -y
    
  8. Инсталирајте Вим уређивач текста и Вгет:

    sudo dnf install -y vim wget
    
  9. Поново покрените систем ако је потребно:

    sudo shutdown -r now
    

Инсталирајте Цертбот

NOTE: Before starting this step, ensure that you have set DNS records for your domain.

Користићемо Лет'с Енцрипт ЦА и ЕФФ Цертбот клијент да добијемо ССЛ/ТЛС сертификат за наш Гхост блог. Не заборавите да замените све инстанце blog.domain.tldса именом вашег домена.

  1. Инсталирајте Цертбот (раније Лет'с Енцрипт цлиент ) софтвер за управљање сертификатима направљен са Питхон-ом:

    sudo dnf install -y certbot
    
  2. Проверите верзију Цертбота:

    certbot --version
    # certbot 0.14.1
    
  3. Набавите РСА сертификат користећи самосталну методу аутентификације (додатак):

    sudo certbot certonly --standalone --domains blog.domain.tld --rsa-key-size 2048 --must-staple --email [email protected] --no-eff-email --agree-tos
    
    # IMPORTANT NOTES:
    #  - Congratulations! Your certificate and chain have been saved at 
       /etc/letsencrypt/live/blog.domain.tld/fullchain.pem.
    #  Your cert will expire on YYYY-MM-DD. . . .
    #  . . .
    

    Након проласка кроз претходне кораке, ваш сертификат и приватни кључ ће бити у /etc/letsencrypt/live/blog.domain.tldдиректоријуму.

Инсталирајте Ноде.јс и НПМ

NOTE: Ghost currently supports Node.js versions 4.5+ and 6.9+ only.

Гхост је изграђен на Ноде.јс. Инсталираћемо препоручену верзију за Гхост која је v6 Boron LTSу време писања овог текста .

  1. Преузмите и инсталирајте Ноде.јс в6 ЛТС:

    curl --silent --location https://rpm.nodesource.com/setup_6.x | sudo bash -
    sudo dnf install -y nodejs
    
  2. Проверите Ноде.јс и НПМ верзију:

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

Инсталирајте МиСКЛ

Гхост подразумевано долази конфигурисан да користи СКЛите базу података, која не захтева никакву конфигурацију.

Алтернативно, Гхост се такође може користити са МиСКЛ базом података променом конфигурације базе података. Прво морате да креирате базу података и корисника, а затим можете да промените постојећу склите3 конфигурацију.

  1. Преузмите и инсталирајте најновију верзију МиСКЛ-а (тренутно 5.7 ) из званичног МиСКЛ Днф спремишта:

    cd /tmp
    
    # Adding the MySQL dnf Repository
    wget https://dev.mysql.com/get/mysql57-community-release-fc25-10.noarch.rpm
    sudo dnf install -y mysql57-community-release-fc25-10.noarch.rpm
    
    # Installing MySQL
    sudo dnf install -y mysql-community-server
    
  2. Проверите верзију МиСКЛ-а:

    mysql --version
    # mysql  Ver 14.14 Distrib 5.7.19, for Linux (x86_64) using  EditLine wrapper
    
  3. Покрените МиСКЛ Сервер и проверите његов статус:

    sudo systemctl start mysqld.service
    sudo systemctl status mysqld.service
    
  4. МиСКЛ верзија 5.7 или новија генерише привремену насумичну лозинку за МиСКЛ rootкорисника након инсталације и лозинка се чува у МиСКЛ лог фајлу грешака, који се налази на /var/log/mysqld.log. Да бисте га открили, користите следећу команду:

    sudo grep 'temporary password' /var/log/mysqld.log
    
  5. Покрените mysql_secure_installationскрипту да бисте мало заштитили своју базу података:

    NOTE: Password Validation Plugin is installed and enabled, so your new password for root user needs to be strong (one upper case letter, one lower case letter, one digit, and one special character, and that the total password length is at least 8 characters). If you want to relax that or disable plugin completely (not recommended) consult the official MySQL documentation for how to do that.

    sudo mysql_secure_installation
    
  6. Пријавите се на МиСКЛ као роот корисник:

    mysql -u root -p
    # Enter password:
    
  7. Креирајте нову МиСКЛ базу података и корисника:

    create database dbname;
    grant all on dbname.* to 'user' identified by 'password';
    
  8. Изађи из МиСКЛ-а:

    exit
    

Инсталирајте НГИНКС

  1. Преузмите и инсталирајте НГИНКС:

    sudo dnf install -y nginx
    
  2. Verify that it is installed by checking the NGINX version:

    sudo nginx -v
    # nginx version: nginx/1.10.2
    
  3. Check status, enable and start NGINX service (daemon):

    sudo systemctl status nginx.service # inactive (dead)
    sudo systemctl enable nginx.service
    sudo systemctl start nginx.service
    
  4. Create /etc/nginx/ssl directory and generate a new Diffie-Hellman (DH) parameters:

    sudo mkdir -p /etc/nginx/ssl
    sudo openssl dhparam -out /etc/nginx/ssl/dhparams-2048.pem 2048
    
  5. Create log directory for blog.domain.tld virtual host:

    sudo mkdir -p /var/log/nginx/blog.domain.tld
    
  6. Configure NGINX as a HTTP(S) reverse proxy server:

    sudo vim /etc/nginx/conf.d/ghost.conf
    
  7. Paste the following in /etc/nginx/conf.d/ghost.conf:

    # domain: blog.domain.tld
    # public: /var/www/ghost
    
    upstream ghost_app {
        server 127.0.0.1:2368;
        keepalive 32;
    }
    
    server {
        listen [::]:80;
        listen 80;
        listen [::]:443 ssl http2;
        listen 443 ssl http2;
    
        server_name blog.domain.tld;
        root /var/www/ghost;
    
        error_log /var/log/nginx/blog.domain.tld/error.log;
        access_log /var/log/nginx/blog.domain.tld/access.log;
    
        client_max_body_size 100M;
    
        ssl_certificate /etc/letsencrypt/live/blog.domain.tld/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/blog.domain.tld/privkey.pem;
        ssl_dhparam ssl/dhparams-2048.pem;
    
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS';
        ssl_prefer_server_ciphers on;
    
        ssl_buffer_size 4K;
    
        ssl_session_timeout 1d;
        ssl_session_cache shared:SSL:50M;
        ssl_session_tickets off;
    
        ssl_stapling on;
        ssl_stapling_verify on;
        ssl_trusted_certificate /etc/letsencrypt/live/blog.domain.tld/chain.pem;
    
        resolver 8.8.8.8 8.8.4.4 valid=300s;
    
        location / {
            proxy_pass http://ghost_app;
            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_hide_header X-Powered-By;
    
            proxy_http_version 1.1;
            proxy_set_header Connection "";
        }
    }
    
  8. Save and test NGINX configuration for syntax errors:

    sudo nginx -t
    
  9. Reload NGINX configuration:

    sudo systemctl reload nginx.service
    

Install Ghost

NOTE: If you want to host multiple Ghost blogs on same VPS, each Ghost instance must be running on a separate port.

  1. Create document root directory:

    sudo mkdir -p /var/www/
    
  2. Create a new ghost user:

    sudo useradd -c 'Ghost application' ghost
    
  3. Download Ghost:

    curl -L https://github.com/TryGhost/Ghost/releases/download/0.11.11/Ghost-0.11.11.zip -o ghost.zip
    
  4. Unzip Ghost into the /var/www/ghost directory (recommended install location):

    sudo unzip -uo ghost.zip -d /var/www/ghost
    rm ghost.zip
    
  5. Move to the new ghost directory:

    cd /var/www/ghost
    
  6. Change the ownership of the /var/www/ghost directory:

    sudo chown -R ghost:ghost .
    
  7. Switch to new ghost user:

    sudo su - ghost
    
  8. Идите до корена документа /var/www/ghost:

    cd /var/www/ghost
    
  9. Инсталирајте Гхост само са производним зависностима. Када се ово заврши, Гхост је инсталиран:

    npm install --production
    
  10. Цонфигуре Дух променом url, mailа databaseимовина производног објекта унутрашњости config.jsфајла:

    cp config.example.js config.js
    vim /var/www/ghost/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://blog.domain.tld',
        mail: {
            transport: 'SMTP',
            options: {
                service: 'Mailgun',
                auth: {
                    user: '',
                    pass: ''
                }
            }
        },
        database: {
            client: 'mysql',
            connection: {
                host: '127.0.0.1',
                user: 'your_database_user',
                password: 'your_database_password',
                database: 'your_database_name',
                charset: 'utf8'
            },
            debug: false
        },
        // . . .
        // . . .
    

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

  11. Покрените Гхост у производном окружењу:

    npm start --production
    

    Дух ће сада трчати. И фронт-енд блога и интерфејс администратора су заштићени ХТТПС-ом, а ХТТП/2 такође ради. Можете отворити свој претраживач и посетити сајт на https://blog.domain.tld. Не заборавите да замените blog.domain.tldсвојим именом домена.

  12. Искључите Гхост процес притиском на CTRL+ Cи изађите из гхост корисника назад на корисника који није роот који сте креирали на почетку:

    exit
    

Покретање Гхост-а као системске услуге

Ако затворите своју терминалску сесију са својим ВПС-ом, ваш блог ће такође бити угашен. То није добро. Да бисмо ово избегли, користићемо системд. То ће одржавати наш блог 24/7.

  1. Креирајте ghost.serviceсистемд јединичну датотеку. Покрените судо sudo vim /etc/systemd/system/ghost.serviceи копирајте/налепите садржај испод:

    [Unit]
    Description=Ghost - the professional publishing platform
    Documentation=https://docs.ghost.org/v0.11.11/docs
    After=network.target
    
    [Service]
    Type=simple
    # Edit WorkingDirectory, User and Group as needed
    WorkingDirectory=/var/www/ghost
    User=ghost
    Group=ghost
    ExecStart=/usr/bin/npm start --production
    ExecStop=/usr/bin/npm stop --production
    Restart=always
    SyslogIdentifier=Ghost
    
    [Install]
    WantedBy=multi-user.target
    
  2. Омогућите и покрените ghost.service:

    sudo systemctl enable ghost.service && sudo systemctl start ghost.service
    
  3. Проверите ghost.serviceстатус:

    sudo systemctl status ghost.service && sudo systemctl is-enabled ghost.service
    
  4. Идите до https://blog.domain.tld/ghost/и креирајте Гхост администраторског корисника. Урадите ово што је пре могуће!

Закључак

То је то. Сада имамо потпуно функционалан Гхост блог. Ваш сервер испоручује садржај преко ХТТП/2 када га клијент подржава. Ако желите да промените подразумевану Гхост тему под називом Цаспер у прилагођену, можете само да преузмете и распакујете тему у /var/www/ghost/content/themesфасциклу и изаберете је преко Гхост администраторског интерфејса, који се налази на https://blog.domain.tld/ghost.


Креирање Јекилл блога на Убунту 16.04

Креирање Јекилл блога на Убунту 16.04

Користите другачији систем? Јекилл је одлична алтернатива ВордПресс-у за блоговање или дељење садржаја. Не захтева никакве базе података и веома је лако и

Како инсталирати МОДКС Револутион на Убунту 16.04 ЛАМП ВПС

Како инсталирати МОДКС Револутион на Убунту 16.04 ЛАМП ВПС

Користите другачији систем? МОДКС Револутион је брз, флексибилан, скалабилан, бесплатан и отвореног кода, систем за управљање садржајем (ЦМС) за предузећа написан и

Како инсталирати МОДКС Револутион на ФрееБСД 11 ФАМП ВПС

Како инсталирати МОДКС Револутион на ФрееБСД 11 ФАМП ВПС

Користите другачији систем? МОДКС Револутион је брз, флексибилан, скалабилан, опен соурце систем за управљање садржајем (ЦМС) за предузећа написан у ПХП-у. Ит и

Инсталирајте ВордПресс на ОпенБСД 6.2

Инсталирајте ВордПресс на ОпенБСД 6.2

Увод ВордПресс је доминантан систем за управљање садржајем на интернету. Покреће све, од блогова до сложених веб локација са динамичким садржајем

Креирање Јекилл блога на ЦентОС 7

Креирање Јекилл блога на ЦентОС 7

Користите другачији систем? Јекилл је добра алтернатива ВордПресс-у. Не захтева никакве базе података и ради са језиком који је многима познат

Како инсталирати МОДКС Револутион на ЦентОС 7 ЛАМП ВПС

Како инсталирати МОДКС Револутион на ЦентОС 7 ЛАМП ВПС

Користите другачији систем? МОДКС Револутион је брз, флексибилан, скалабилан, бесплатан и отвореног кода, систем за управљање садржајем (ЦМС) за предузећа написан и

Инсталирање Форк ЦМС-а на ЦентОС 7

Инсталирање Форк ЦМС-а на ЦентОС 7

Користите другачији систем? Форк је ЦМС отвореног кода написан у ПХП-у. Изворни код Форкс се налази на ГитХуб-у. Овај водич ће вам показати како да инсталирате Форк ЦМ

Како инсталирати Неос ЦМС на ЦентОС 7

Како инсталирати Неос ЦМС на ЦентОС 7

Неос је иновативни систем за управљање садржајем отвореног кода који је одличан за креирање и уређивање онлајн садржаја. Имајући на уму ауторе и уреднике, Нео

Како да примените Гхост в0.11 ЛТС на ЦентОС 7.3

Како да примените Гхост в0.11 ЛТС на ЦентОС 7.3

Користите другачији систем? Гхост је платформа за блогове отвореног кода која постаје све популарнија међу програмерима и обичним корисницима од 201.

Како инсталирати СилверСтрипе ЦМС на ФрееБСД 11 ФАМП ВПС

Како инсталирати СилверСтрипе ЦМС на ФрееБСД 11 ФАМП ВПС

Користите другачији систем? СилверСтрипе је флексибилан и проширив систем за управљање садржајем (ЦМС) отвореног кода написан у ПХП-у. То је лако

Како применити Гхост в0.11 ЛТС на Федора 25

Како применити Гхост в0.11 ЛТС на Федора 25

Користите другачији систем? Гхост је платформа за блогове отвореног кода која постаје све популарнија међу програмерима и обичним корисницима од 201.

Како да примените више Вордпресс сајтова користећи Виртуалмин и Ансибле на Убунту 16.04

Како да примените више Вордпресс сајтова користећи Виртуалмин и Ансибле на Убунту 16.04

Уобичајена употреба Вултр виртуелног сервера је хостовање Вордпресс веб локација. Овај водич вам показује како да аутоматизујете конфигурацију виртуелног сервера од нуле

Постављање Гхост Профессионал Публисхинг Платформе на ОпенБСД 6

Постављање Гхост Профессионал Публисхинг Платформе на ОпенБСД 6

Гхост је најновији и највећи почетник у конкуренцији ВордПресс-а. Развој теме је брз и лак за учење јер су програмери Гхост-а одлучили да користе оба

Инсталирајте и конфигуришите Гхост в1.0.0 блог на Убунту 16.04

Инсталирајте и конфигуришите Гхост в1.0.0 блог на Убунту 16.04

Гхост је модерна платформа за објављивање отвореног кода изграђена на Ноде.јс са Ембер.јс администраторским клијентом, ЈСОН АПИ-јем и АПИ-јем за тему који покреће Хандлебарс.јс. Гхос

Како инсталирати МОДКС Револутион на Федора 26 ЛАМП ВПС

Како инсталирати МОДКС Револутион на Федора 26 ЛАМП ВПС

Користите другачији систем? МОДКС Револутион је брз, флексибилан, скалабилан, бесплатан и отвореног кода, систем за управљање садржајем (ЦМС) за предузећа написан и

Како инсталирати Дотцлеар на Дебиан 9 (развлачење)

Како инсталирати Дотцлеар на Дебиан 9 (развлачење)

Користите другачији систем? Дотцлеар је веома једноставан механизам за блоговање. Он је отвореног кода и једноставан за коришћење. Овај водич ће проћи кроз инсталацију

Како инсталирати СилверСтрипе ЦМС на Федора 26 ЛАМП ВПС

Како инсталирати СилверСтрипе ЦМС на Федора 26 ЛАМП ВПС

Користите другачији систем? СилверСтрипе је флексибилан и проширив бесплатан систем за управљање садржајем (ЦМС) отвореног кода написан у ПХП-у. И

Инсталирање Форк ЦМС-а на Убунту 16.04 ЛТС

Инсталирање Форк ЦМС-а на Убунту 16.04 ЛТС

Користите другачији систем? Форк је ЦМС отвореног кода написан у ПХП-у. Изворни код Форкс се налази на ГитХуб-у. Овај водич ће вам показати како да инсталирате Форк ЦМ

Како применити Гхост на Дебиан 8.7

Како применити Гхост на Дебиан 8.7

Користите другачији систем? Гхост је платформа за блогове отвореног кода која постаје све популарнија међу програмерима и обичним корисницима од свог издања 2013. године. И

Инсталирање Форк ЦМС-а на Дебиан 9

Инсталирање Форк ЦМС-а на Дебиан 9

Користите другачији систем? Форк је ЦМС отвореног кода написан у ПХП-у. Изворни код Форкс се налази на ГитХуб-у. Овај водич ће вам показати како да инсталирате Форк ЦМ

Успон машина: Примене вештачке интелигенције у стварном свету

Успон машина: Примене вештачке интелигенције у стварном свету

Вештачка интелигенција није у будућности, она је овде управо у садашњости. У овом блогу Прочитајте како су апликације вештачке интелигенције утицале на различите секторе.

ДДОС напади: кратак преглед

ДДОС напади: кратак преглед

Да ли сте и ви жртва ДДОС напада и збуњени сте методама превенције? Прочитајте овај чланак да бисте решили своја питања.

Да ли сте се икада запитали како хакери зарађују новац?

Да ли сте се икада запитали како хакери зарађују новац?

Можда сте чули да хакери зарађују много новца, али да ли сте се икада запитали како зарађују толики новац? Хајде да причамо.

Гоогле-ови револуционарни изуми који ће вам олакшати живот.

Гоогле-ови револуционарни изуми који ће вам олакшати живот.

Да ли желите да видите револуционарне изуме Гугла и како су ти изуми променили живот сваког људског бића данас? Затим читајте на блогу да бисте видели Гооглеове изуме.

Фридаи Ессентиал: Шта се десило са аутомобилима које покреће вештачка интелигенција?

Фридаи Ессентиал: Шта се десило са аутомобилима које покреће вештачка интелигенција?

Концепт самовозећих аутомобила који путују на путеве уз помоћ вештачке интелигенције је сан који већ неко време имамо. Али упркос неколико обећања, њих нема нигде. Прочитајте овај блог да сазнате више…

Технолошка сингуларност: далека будућност људске цивилизације?

Технолошка сингуларност: далека будућност људске цивилизације?

Како се наука развија великом брзином, преузимајући многе наше напоре, расте и ризик да се подвргнемо необјашњивој сингуларности. Прочитајте шта би сингуларност могла да значи за нас.

Еволуција складиштења података – Инфографика

Еволуција складиштења података – Инфографика

Методе складиштења података су се развијале можда од рођења података. Овај блог покрива еволуцију складиштења података на основу инфографике.

Функционалности слојева референтне архитектуре великих података

Функционалности слојева референтне архитектуре великих података

Прочитајте блог да бисте на најједноставнији начин упознали различите слојеве у архитектури великих података и њихове функционалности.

6 невероватних предности поседовања паметних кућних уређаја у нашим животима

6 невероватних предности поседовања паметних кућних уређаја у нашим животима

У овом дигиталном свету, паметни кућни уређаји постали су кључни део живота. Ево неколико невероватних предности паметних кућних уређаја о томе како они чине наш живот вредним живљења и једноставнијим.

Ажурирање додатка за мацОС Цаталина 10.15.4 изазива више проблема него што их решава

Ажурирање додатка за мацОС Цаталина 10.15.4 изазива више проблема него што их решава

Недавно је Аппле издао мацОС Цаталина 10.15.4 додатак за исправку проблема, али изгледа да ажурирање изазива више проблема који доводе до квара Мац машина. Прочитајте овај чланак да бисте сазнали више