Како применити Гхост в0.11 ЛТС на Убунту 16.04

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

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

Захтеви

  • Региструјте (купите) име домена.
  • Инстанца сервера Убунту сервера 16.04 са најмање 1 ГБ РАМ-а .
  • Судо корисник.

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

  1. Креирајте нови не-роот кориснички налог:

    adduser johndoe --gecos "John Doe"
    
  2. Учините га суперкорисником додавањем у sudoгрупу:

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

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

    sudo apt update && sudo apt upgrade -y
    
  5. Подесите временску зону:

    sudo dpkg-reconfigure tzdata
    
  6. Инсталирајте потребне алате:

    sudo apt install -y build-essential zip unzip vim nano openssl wget curl git apt-transport-https
    
  7. Поново покрените систем ако је потребно:

    sudo shutdown -r now
    

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

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

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

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

    sudo apt update
    sudo apt install -y software-properties-common
    sudo add-apt-repository -y ppa:certbot/certbot
    sudo apt update
    sudo apt install -y certbot
    
  2. Проверите верзију Цертбота:

    certbot --version
    # certbot 0.14.2
    
  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 -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
    sudo apt install -y nodejs
    
  2. Проверите Ноде.јс и НПМ верзију:

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

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

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

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

  1. Преузмите и инсталирајте МиСКЛ:

    sudo apt install -y mysql-server
    

    NOTE: During the installation, you will be prompted for MySQL "root" user password. You should set a secure password for the MySQL "root" user.

  2. Проверите верзију МиСКЛ-а:

    mysql --version
    # mysql  Ver 14.14 Distrib 5.7.18, for Linux (x86_64) using  EditLine wrapper
    
  3. Проверите да ли је МиСКЛ демон покренут и ради:

    sudo systemctl status mysql.service
    sudo systemctl is-enabled mysql.service
    
  4. Покрените mysql_secure_installationскрипту да бисте мал�� заштитили своју базу података:

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

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

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

    exit
    

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

  1. Преузмите и инсталирајте најновију главну верзију НГИНКС-а из званичног НГИНКС спремишта:

    wget https://nginx.org/keys/nginx_signing.key
    sudo apt-key add nginx_signing.key
    rm nginx_signing.key
    sudo -s
    printf "deb https://nginx.org/packages/mainline/ubuntu/ `lsb_release -sc` nginx \ndeb-src https://nginx.org/packages/mainline/ubuntu/ `lsb_release -sc` nginx \n" >> /etc/apt/sources.list.d/nginx_mainline.list
    exit
    sudo apt update
    sudo apt install -y nginx nginx-module-geoip nginx-module-image-filter nginx-module-njs nginx-module-perl nginx-module-xslt nginx-nr-agent
    
  2. Проверите да ли је инсталиран тако што ћете проверити верзију НГИНКС-а:

    sudo nginx -v
    # nginx version: nginx/1.13.3
    
  3. Проверите статус, омогућите и покрените НГИНКС услугу (демон):

    sudo systemctl status nginx.service # inactive (dead)
    sudo systemctl enable nginx.service
    sudo systemctl start nginx.service
    
  4. Креирајте /etc/nginx/sslдиректоријум и генеришите нову Диффие-Хеллман ( ДХ ) групу:

    sudo mkdir -p /etc/nginx/ssl
    sudo openssl dhparam -out /etc/nginx/ssl/dhparams-2048.pem 2048
    
  5. Креирајте директоријум дневника за blog.domain.tldвиртуелни хост:

    sudo mkdir -p /var/log/nginx/blog.domain.tld
    
  6. Конфигуришите НГИНКС као ХТТП ( С ) реверзни прокси сервер:

    sudo vim /etc/nginx/conf.d/ghost.conf
    
  7. Налепите следеће у /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 default_server;
        listen 80 default_server;
        listen [::]:443 ssl http2 default_server;
        listen 443 ssl http2 default_server;
    
        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 TLSv1.3;
        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. Сачувајте и тестирајте НГИНКС конфигурацију за синтаксичке грешке:

    sudo nginx -t
    
  9. Поново учитај НГИНКС конфигурацију:

    sudo systemctl reload nginx.service
    

Инсталирајте Гхост

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

  1. Креирајте основни директоријум документа:

    sudo mkdir -p /var/www/
    
  2. Креирајте новог ghostкорисника:

    sudo adduser --shell /bin/bash --gecos 'Ghost application' --disabled-password ghost
    
  3. Преузмите Гхост:

    curl -L https://github.com/TryGhost/Ghost/releases/download/0.11.10/Ghost-0.11.10.zip -o ghost.zip
    
  4. Распакујте Гхост у /var/www/ghostдиректоријум (препоручена локација за инсталацију):

    sudo unzip -uo ghost.zip -d /var/www/ghost
    rm ghost.zip
    
  5. Пређите у нови ghostдиректоријум:

    cd /var/www/ghost
    
  6. Промените власништво над /var/www/ghostдиректоријумом:

    sudo chown -R ghost:ghost .
    
  7. Пређи на новог ghostкорисника:

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

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

    npm install --production
    
  10. Цонфигуре Дух променом url, mailа databaseимовина productionобјекта унутрашњости 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.9
    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 додатак за исправку проблема, али изгледа да ажурирање изазива више проблема који доводе до квара Мац машина. Прочитајте овај чланак да бисте сазнали више