Izrada Jekyll bloga na Ubuntu 16.04
Korištenje drugog sustava? Jekyll je izvrsna alternativa WordPressu za bloganje ili dijeljenje sadržaja. Ne zahtijeva nikakve baze podataka i vrlo je jednostavan i
Ghost je platforma za blogove otvorenog koda koja postaje sve popularnija među programerima i običnim korisnicima od svog izdanja 2013. godine. Usredotočuje se na sadržaj i bloganje. Najprivlačnija stvar kod Ghost-a je njegov jednostavan, čist i prilagodljiv dizajn. Svoje postove na blogu možete pisati s mobilnog telefona. Sadržaj za Ghost je napisan korištenjem Markdown jezika. Ghost je savršeno prikladan za pojedince ili male grupe pisaca.
U ovom vodiču ćemo postaviti i implementirati sigurni Ghost v0.11.x LTS blog na Debian 8 VPS koristeći Let's Encrypt , Certbot , Node.js , NPM , NGINX i MySQL .
Provjerite verziju Debiana:
lsb_release -ds
# Debian GNU/Linux 8.9 (jessie)
Napravite novi nekorijenski korisnički račun:
adduser johndoe --gecos "John Doe"
Učinite ga superkorisnikom dodavanjem u sudo
grupu:
usermod -aG sudo johndoe
Prebacite se na novog korisnika:
su - johndoe
Ažurirajte softver svog operativnog sustava:
sudo apt-get update && sudo apt-get upgrade -y
Postavite vremensku zonu:
sudo dpkg-reconfigure tzdata
Instalirajte potrebne alate:
sudo apt-get install -y build-essential zip unzip git apt-transport-https
Ponovno pokrenite sustav ako je potrebno:
sudo shutdown -r now
NOTE: Before starting this step, ensure that you have set DNS records for your domain.
Koristit ćemo Let's Encrypt CA i EFF- ov Certbot klijent za dobivanje SSL/TLS certifikata za naš blog Ghost. Ne zaboravite zamijeniti sve instance blog.domain.tld
s imenom svoje domene.
Instalirajte Certbot (bivši Let's Encrypt client ) softver za upravljanje certifikatima napravljen s Pythonom:
sudo -s
printf "deb http://ftp.debian.org/debian jessie-backports main" >> /etc/apt/sources.list.d/jessie-backports.list
exit
sudo apt-get update
sudo apt-get install -y certbot -t jessie-backports
Provjerite verziju Certbota:
certbot --version
# certbot 0.10.2
Dobivanje RSA certifikata korištenjem samostalne metode provjere autentičnosti (dodatak):
sudo certbot certonly --standalone --domains blog.domain.tld --rsa-key-size 2048 --must-staple --email [email protected] --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. . . .
# . . .
Nakon prolaska kroz prethodne korake, vaš certifikat i privatni ključ bit će u /etc/letsencrypt/live/blog.domain.tld
imeniku.
NOTE: Ghost currently supports Node.js versions 4.5+ and 6.9+ only.
Ghost je izgrađen na Node.js. Instalirat ćemo preporučenu verziju za Ghost koja je v6 Boron LTS
u trenutku pisanja ovog teksta.
Preuzmite i instalirajte Node.js v6 LTS:
curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
sudo apt-get install -y nodejs
Provjerite verziju Node.js i NPM:
node -v && npm -v
# v6.11.2
# 3.10.10
Prema zadanim postavkama, Ghost dolazi konfiguriran za korištenje SQLite baze podataka, koja ne zahtijeva nikakvu konfiguraciju.
Alternativno, Ghost se također može koristiti s MySQL bazom podataka promjenom konfiguracije baze podataka. Prvo morate stvoriti bazu podataka i korisnika, a zatim možete promijeniti postojeću sqlite3 konfiguraciju.
Preuzmite i instalirajte MySQL:
sudo apt-get 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.
Provjerite verziju MySQL:
mysql --version
# mysql Ver 14.14 Distrib 5.5.57, for debian-linux-gnu (x86_64) using readline 6.3
Provjerite je li MySQL demon pokrenut i radi li:
sudo systemctl status mysql.service
sudo systemctl is-enabled mysql.service
Pokrenite mysql_secure_installation
skriptu da malo zaštitite svoju bazu podataka:
sudo mysql_secure_installation
Prijavite se na MySQL kao root korisnik:
mysql -u root -p
# Enter password:
Napravite novu MySQL bazu podataka i korisnika:
create database dbname;
grant all on dbname.* to 'user' identified by 'password';
Izađi iz MySQL-a:
exit
Preuzmite i instalirajte najnoviju glavnu verziju NGINX-a iz službenog NGINX spremišta:
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/debian/ `lsb_release -sc` nginx \ndeb-src https://nginx.org/packages/mainline/debian/ `lsb_release -sc` nginx \n" >> /etc/apt/sources.list.d/nginx_mainline.list
exit
sudo apt-get update
sudo apt-get install -y nginx nginx-module-geoip nginx-module-image-filter nginx-module-njs nginx-module-perl nginx-module-xslt nginx-nr-agent
Provjerite je li instaliran provjerom verzije NGINX-a:
sudo nginx -v
# nginx version: nginx/1.13.4
Provjerite status, omogućite i pokrenite NGINX uslugu (daemon):
sudo systemctl status nginx.service # inactive (dead)
sudo systemctl enable nginx.service
sudo systemctl start nginx.service
Kreirajte /etc/nginx/ssl
direktorij i generirajte novu Diffie-Hellman ( DH ) grupu:
sudo mkdir -p /etc/nginx/ssl
sudo openssl dhparam -out /etc/nginx/ssl/dhparams-2048.pem 2048
Napravite direktorij dnevnika za blog.domain.tld
virtualni host:
sudo mkdir -p /var/log/nginx/blog.domain.tld
Konfigurirajte NGINX kao HTTP ( S ) obrnuti proxy poslužitelj:
sudo vim /etc/nginx/conf.d/ghost.conf
Zalijepite sljedeće u /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; # Change to your domain/hostname
root /var/www/ghost; # Change to the path where Ghost is
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 "";
}
}
Spremite i testirajte NGINX konfiguraciju za sintaktičke pogreške:
sudo nginx -t
Ponovno učitaj NGINX konfiguraciju:
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.
Napravite korijenski direktorij dokumenta:
sudo mkdir -p /var/www/
Napravite novog ghost
korisnika:
sudo adduser --shell /bin/bash --gecos 'Ghost application' --disabled-password ghost
Preuzmite Ghost:
curl -L https://github.com/TryGhost/Ghost/releases/download/0.11.11/Ghost-0.11.11.zip -o ghost.zip
Raspakirajte Ghost u /var/www/ghost
direktorij (preporučeno mjesto za instalaciju):
sudo unzip -uo ghost.zip -d /var/www/ghost
rm ghost.zip
Idite na novi ghost
direktorij:
cd /var/www/ghost
Promjena vlasništva /var/www/ghost
imenika:
sudo chown -R ghost:ghost .
Prijeđi na novog ghost
korisnika:
sudo su - ghost
Idite na korijen dokumenta /var/www/ghost
:
cd /var/www/ghost
Instalirajte Ghost samo s proizvodnim ovisnostima. Kada se ovo završi, instalira se Ghost:
npm install --production
Konfigurirajte Ghost promjenom url
, mail
i database
svojstva proizvodnog objekta unutar config.js
datoteke:
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.
Pokrenite Ghost u proizvodnom okruženju:
npm start --production
Duh će sada trčati. I front-end bloga i admin sučelje su osigurani HTTPS-om, a HTTP/2 također radi. Možete otvoriti svoj preglednik i posjetiti stranicu na adresi https://blog.domain.tld
. Ne zaboravite zamijeniti blog.domain.tld
svojim imenom domene.
Isključite Ghost proces pritiskom na CTRL
+ C
i izađite iz ghost
korisnika natrag na root korisnika:
exit
Ako zatvorite svoju terminalsku sesiju sa svojim VPS-om, vaš blog će se također pokvariti. To nije dobro. Kako bismo to izbjegli, koristit ćemo Systemd. Održat će naš blog aktivan 24 sata dnevno.
Napravite ghost.service
Systemd jediničnu datoteku. Pokrenite sudo vim /etc/systemd/system/ghost.service
i kopirajte/zalijepite sljedeći sadržaj:
[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
Omogućite i pokrenite ghost.service
:
sudo systemctl enable ghost.service && sudo systemctl start ghost.service
Provjerite ghost.service
status:
sudo systemctl status ghost.service && sudo systemctl is-enabled ghost.service
Idite do https://blog.domain.tld/ghost/
i stvorite Ghost administratorskog korisnika. Učinite to što je prije moguće!
To je to. Sada imamo potpuno funkcionalan Ghost blog. Vaš poslužitelj isporučuje sadržaj putem HTTP/2 kada ga klijent podržava. Ako želite promijeniti zadanu Ghost temu pod nazivom Casper u prilagođenu, možete jednostavno preuzeti i raspakirati temu u /var/www/ghost/content/themes
mapu i odabrati je putem Ghost administratorskog sučelja, koji se nalazi na https://blog.domain.tld/ghost
.
Korištenje drugog sustava? Jekyll je izvrsna alternativa WordPressu za bloganje ili dijeljenje sadržaja. Ne zahtijeva nikakve baze podataka i vrlo je jednostavan i
Korištenje drugog sustava? MODX Revolution je brz, fleksibilan, skalabilan, besplatan i otvorenog koda, Enterprise-grade Content Management System (CMS) napisan i
Korištenje drugog sustava? MODX Revolution je brz, fleksibilan, skalabilan, open source, Enterprise-grade Content Management System (CMS) napisan u PHP-u. To i
Uvod WordPress je dominantni sustav za upravljanje sadržajem na internetu. Pokreće sve, od blogova do složenih web stranica s dinamičkim sadržajem
Korištenje drugog sustava? Jekyll je dobra alternativa WordPressu. Ne zahtijeva nikakve baze podataka i radi s jezikom koji je mnogima poznat
Korištenje drugog sustava? MODX Revolution je brz, fleksibilan, skalabilan, besplatan i otvorenog koda, Enterprise-grade Content Management System (CMS) napisan i
Korištenje drugog sustava? Fork je CMS otvorenog koda napisan u PHP-u. Izvorni kod Forks nalazi se na GitHubu. Ovaj vodič će vam pokazati kako instalirati Fork CM
Neos je inovativni sustav upravljanja sadržajem otvorenog koda koji je izvrstan za stvaranje i uređivanje online sadržaja. Imajući na umu autore i urednike, Neo
Korištenje drugog sustava? Ghost je platforma za blogove otvorenog koda koja postaje sve popularnija među programerima i običnim korisnicima od 201.
Korištenje drugog sustava? SilverStripe je fleksibilan i proširiv, otvorenog koda, Enterprise-grade Content Management System (CMS) napisan u PHP-u. To je lako
Korištenje drugog sustava? Ghost je platforma za blogove otvorenog koda koja postaje sve popularnija među programerima i običnim korisnicima od 201.
Uobičajena upotreba Vultr virtualnog poslužitelja je hostiranje Wordpress web stranica. Ovaj vodič pokazuje kako automatizirati konfiguraciju virtualnog poslužitelja ispočetka
Ghost je najnoviji i najveći početnik u konkurenciji WordPressu. Razvoj teme je brz i jednostavan za učenje jer su programeri Ghost odlučili koristiti oba
Ghost je moderna platforma za objavljivanje otvorenog koda izgrađena na Node.js s administratorskim klijentom Ember.js, JSON API-jem i API-jem za temu koji pokreće Handlebars.js. Ghos
Korištenje drugog sustava? MODX Revolution je brz, fleksibilan, skalabilan, besplatan i otvorenog koda, Enterprise-grade Content Management System (CMS) napisan i
Korištenje drugog sustava? Dotclear je vrlo jednostavan motor za bloganje. Otvoren je kod i jednostavan za korištenje. Ovaj vodič će proći kroz instalaciju
Korištenje drugog sustava? Fork je CMS otvorenog koda napisan u PHP-u. Izvorni kod Forks nalazi se na GitHubu. Ovaj vodič će vam pokazati kako instalirati Fork CM
Korištenje drugog sustava? Ghost je platforma za blogove otvorenog koda koja postaje sve popularnija među programerima i običnim korisnicima od svog izdanja 2013. godine. ja
Korištenje drugog sustava? Fork je CMS otvorenog koda napisan u PHP-u. Izvorni kod Forks nalazi se na GitHubu. Ovaj vodič će vam pokazati kako instalirati Fork CM
Typesetter je CMS otvorenog koda napisan u PHP-u usmjeren na jednostavnost korištenja s True WYSIWYG uređivanjem i pohranom ravnih datoteka. U ovom članku ćemo instalirati
Umjetna inteligencija nije u budućnosti, ovdje je upravo u sadašnjosti. U ovom blogu Pročitajte kako su aplikacije umjetne inteligencije utjecale na različite sektore.
Jeste li i vi žrtva DDOS napada i zbunjeni ste metodama prevencije? Pročitajte ovaj članak kako biste riješili svoje upite.
Možda ste čuli da hakeri zarađuju mnogo novca, ali jeste li se ikada zapitali kako zarađuju toliki novac? raspravimo.
Želite li vidjeti revolucionarne izume Googlea i kako su ti izumi promijenili život svakog čovjeka danas? Zatim čitajte na blogu kako biste vidjeli Googleove izume.
Koncept samovozećih automobila koji će krenuti na ceste uz pomoć umjetne inteligencije san je koji već neko vrijeme imamo. No, unatoč nekoliko obećanja, nigdje ih nema. Pročitajte ovaj blog kako biste saznali više…
Kako se znanost razvija velikom brzinom, preuzimajući mnoge naše napore, raste i rizik da se podvrgnemo neobjašnjivoj Singularnosti. Pročitajte što bi za nas mogla značiti singularnost.
Metode pohrane podataka su se razvijale možda od rođenja podataka. Ovaj blog pokriva evoluciju pohrane podataka na temelju infografike.
Pročitajte blog kako biste na najjednostavniji način upoznali različite slojeve u arhitekturi velikih podataka i njihove funkcionalnosti.
U ovom digitalnom svijetu, pametni kućni uređaji postali su ključni dio života. Evo nekoliko nevjerojatnih prednosti pametnih kućnih uređaja o tome kako naš život čine vrijednim življenja i jednostavnijim.
Nedavno je Apple izdao macOS Catalina 10.15.4 dodatak ažuriranju kako bi riješio probleme, ali čini se da ažuriranje uzrokuje više problema koji dovode do zalijevanja mac strojeva. Pročitajte ovaj članak da biste saznali više