Предуслови
Направите свој Хеко блог
Коришћење Гит-а за постављање вашег блога
Хеко је статична блог платформа, направљена са Ноде.јс. Брз је у поређењу са другим статичним блог платформама, као што је Јекилл.
У овом туторијалу објаснићу како да направите и примените Хеко блог. Кораци су прилично једноставни, написани за ЦентОС 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
Након успеха, блог ће се аутоматски ажурирати. Живели.