Инсталирајте Хеко на ЦентОС 7

Хеко је статична блог платформа, направљена са Ноде.јс. Брз је у поређењу са другим статичним блог платформама, као што је Јекилл.

У овом туторијалу објаснићу како да направите и примените Хеко блог. Кораци су прилично једноставни, написани за ЦентОС 7, Ноде.јс 4.4. Моја локална машина је Федора 23.

Предуслови

Почињемо са свеже инсталираним ЦентОС 7 системом. Потребни су следећи софтверски пакети:

  • гцц-ц и гцц-ц++
  • маке и гит
  • нгинк
  • опенссл
  • нодејс и нпм

Мораћете да се пријавите као роот или као корисник са судо привилегијама.

Инсталирајте услужне програме

$ yum install -y gcc gcc-c++ make git openssl

Инсталирајте Нгинк

Можете инсталирати nginxиз подразумеваног репо-а:

$yum install -y nginx

... или инсталирајте стабилну верзију из званичног Нгинк репо-а, овде бирамо ово друго.

Направите репо датотеку под називом nginx.repo, чији је садржај:

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/mainline/centos/7/$basearch/
gpgcheck=0
enabled=1

... и копирајте га у /etc/yum.repo.d/,

$ cp nginx.repo /etc/yum.repo.d/
$ yum update and yum install -y nginx
$ systemctl enable nginx and systemctl start nginx

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

Инсталирамо дуго подржани Ноде.јс из званичног репоа Ноде.јс.

$ curl --silent --location https://rpm.nodesource.com/setup_4.x | bash -
$ yum update and yum install -y nodejs

Креирајте новог корисника

Обично је боље креирати обичног корисника да води свој блог, јер роот има дозволе супер-корисника.

Овде креирамо корисника са именом vultrи додајемо га у групу wheelи nginx:

$ useradd -d /home/vultr -m -r -U -s /bin/bash
$ passwd vultr
$ usermod -aG nginx vultr
$ usermod -aG wheel vultr

Генеришите пар ССХ кључева

Корисно је и неопходно да се пријавите преко ссх кључа.

$ ssh-keygen -b 4096 -C "vultr@example.com"

Након што креирате наш пар ссх кључева, копирајте јавни кључ (обично id_rsa.pub) ~/.ssh/authorized_keysна сервер:

ssh-copy-id -i ~/.ssh/id_rsa.pub vultr@example.com

А сада, имамо инсталиране све пакете пре изградње.

Направите свој Хеко блог

Инсталирајте Хеко

Пријавите се као vultrкорисник. Затим креирајте ~/web/web/vultrи ~/web/git/vultr:

### This is our hexo blog root directory
$ mkdir -p ~/web/web/vultr
### This is our git repository directory on the server
$ mkdir -p ~/web/git/vultr
### This is our deploy directory
$ mkdir -p ~/web/git/hexo

Унесите ~/web/web/vultrи инсталирајте Хеко:

$ cd ~/web/web/vultr
$ sudo npm install -g hexo-cli hexo-server
$ hexo init && npm install --save

Сада само треба да направимо наш нови блог.

Уредите _config.yml, да бисте променили УРЛ сајта свог блога. Затим покрените:

$ hexo g

Ваш блог је сада генерисан. ХТМЛ датотеке се налазе под ~/web/web/vultr/public.

Подесите свој Нгинк сервер

У овом тренутку још увек не можемо да приступимо нашој веб страници. Због тога морамо да конфигуришемо Нгинк.

Нгинк ради као корисник именован nginxу nginxгрупи, и зато морамо да додамо vultrгрупи nginx.

$ chown -R vultr:nginx ~/web

Направите Нгинк конфигурациону датотеку vultr.confпод ~/web/чијим је садржајем мање-више овако:

server {
    listen 80;
    listen [::]:80;
    ## if https is desired, please uncomment the following lines
    #listen 443 ssl http2;
    #listen [::]:443 ssl http2;

    server_name example.com, www.example.com;

    ## if forcing https, please uncomment the following lines
    #if ($scheme = http) {
    #    return 301 https://$server_name$request_uri;
    #}

    location / {
    root /home/vultr/web/web/vultr/public;
    index index.html;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    ## if https is desired, please uncomment the following lines
    #proxy_set_header X-Forwarded-Proto https;
    }
}

Копирајте vultr.confда /etc/nginx/config.d/и поново нгинк:

$ sudo ln -sf ~/web/vultr.conf /etc/nginx/config.d/
$ sudo systemctl restart nginx

Сада је наш блог доступан преко веб претраживача.

Коришћење Гит-а за постављање вашег блога

Пошто је блог већ постављен, овај део упутства је опциони.

У овом тренутку, мало је незгодно писати пост на блогу, јер бисмо морали да се пријавимо и пишемо на серверу. Боље решење би било да пишете на нашој локалној машини, гурнете објаву на сервер и дозволите Хеко-у да аутоматски генерише статичне датотеке. С обзиром на то да гит има куке које могу да ураде многе ствари, можемо користити гит куку да постигнемо ово подешавање.

Направите голо спремиште на серверу

Поново се пријавите на сервер као корисник vultr. Направите голо складиште:

$ cd ~/web/git/vultr
$ git init --bare
$ cd hooks

Напишите басх датотеку под називом post-receiveкоја ће поставити наш блог након сваког притиска:

#!/bin/bash
deploy_to_dir="/home/vultr/web/git/hexo"

GIT_WORK_TREE=$deploy_to_dir git checkout -f master
echo "DEPLOY:   master  copied to  $deploy_to_dir"

hexo_dir="/home/vultr/web/web/vultr/"

cd $hexo_dir

hexo clean && hexo --silent g

if [[ $? == 0 ]]; then
    echo "Congratulations! Your blog has been correctly deployed"
else:
    echo "Unfortunately your blog has not been deployed correctly"
fi

Пре него што имплементација буде функционисала, такође морамо да покренемо ове команде на серверу:

cd ~/web/web/vultr/
rm -rf source scaffolds _config.yml themes
ln -sf /home/vultr/web/git/hexo/themes/tranquilpeak  themes/
ln -sf /home/vultr/web/git/hexo/source .
ln -sf /home/vultr/web/git/hexo/scaffolds .
ln -sf /home/vultr/web/git/hexo/_config.yml .

Подесите своје локално гит спремиште

На локалној машини такође треба да креирамо спремиште. Ови кораци могу да се разликују ако користите оперативни систем за десктоп рачунаре који није Федора.

Мораћете да имате инсталиран гит.

Подесите локално гит спремиште:

$ mkdir -p ~/vultr/git/vultr`
$ cd ~/vultr/git/vultr and git init
$ git remote add production ssh://vultr@example.com:/home/vultr/web/git/vultr

Корисно је инсталирати Хеко на вашу локалну машину да бисте написали пост. Овде постављамо Хеко директоријум за писање.

$ mkdir ~/vultr/vultr && cd ~/vultr/vultr
$ hexo init && npm install --save
$ mv  source  _config.yml themes scaffolds ~/vultr/git/vultr
$ ln -sf ~/vultr/git/vultr/source .
$ ln -sf ~/vultr/git/vultr/_config.yml .
$ ln -sf ~/vultr/git/vultr/scaffolds .
$ hexo new "Test Post"

Подешавање је завршено. Можете да гурнете објаву на свој сервер помоћу следећих команди:

$ cd ~/vultr/git/vultr
$ git add . && git commit -m "new post"
$ git push production master

Након успеха, блог ће се аутоматски ажурирати. Живели.

Остави коментар

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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