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 siguran Ghost v0.11.x LTS blog na Fedora 25 VPS koristeći Let's Encrypt , Certbot , Node.js , NPM , NGINX i MySQL .
semanage port -a -t http_port_t -p tcp 2368
.Provjerite verziju Fedore:
cat /etc/fedora-release
# Fedora release 25 (Twenty Five)
Napravite novog korisnika koji nije root :
useradd -c "John Doe" johndoe && passwd johndoe
Učinite ga superkorisnikom dodavanjem u wheel
grupu:
usermod -aG wheel johndoe
Prijeđi na novog korisnika:
su - johndoe
Ažurirajte softver svog operativnog sustava:
sudo dnf check-update || sudo dnf upgrade -y
Postavite vremensku zonu:
timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'
Instalirajte razvojne alate:
sudo dnf install @development-tools -y
Instalirajte Vim uređivač teksta i Wget:
sudo dnf install -y vim wget
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 dnf install -y certbot
Provjerite verziju Certbota:
certbot --version
# certbot 0.14.1
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] --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. . . .
# . . .
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 --silent --location https://rpm.nodesource.com/setup_6.x | sudo bash -
sudo dnf 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 najnoviju verziju MySQL-a (trenutačno 5.7 ) iz službenog MySQL Dnf repozitorija:
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
Provjerite verziju MySQL:
mysql --version
# mysql Ver 14.14 Distrib 5.7.19, for Linux (x86_64) using EditLine wrapper
Pokrenite MySQL Server i provjerite njegov status:
sudo systemctl start mysqld.service
sudo systemctl status mysqld.service
MySQL verzija 5.7 ili novija generira privremenu nasumičnu lozinku za root
korisnika MySQL nakon instalacije, a lozinka je pohranjena u MySQL datoteci dnevnika pogrešaka, koja se nalazi na /var/log/mysqld.log
. Da biste ga otkrili, koristite sljedeću naredbu:
sudo grep 'temporary password' /var/log/mysqld.log
Pokrenite mysql_secure_installation
skriptu da malo zaštitite svoju bazu podataka:
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
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 NGINX:
sudo dnf install -y nginx
Provjerite je li instaliran provjerom verzije NGINX-a:
sudo nginx -v
# nginx version: nginx/1.10.2
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 nove Diffie-Hellman ( DH ) parametre:
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;
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 "";
}
}
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/
Stvorite novog korisnika duha:
sudo useradd -c 'Ghost application' 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
Premjestite se u novi direktorij duhova:
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
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 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 ne-root korisnika kojeg ste kreirali na početku:
exit
Ako zatvorite svoju terminalsku sesiju sa svojim VPS-om, vaš blog će se također pokvariti. To nije dobro. Da bismo to izbjegli, koristit ćemo systemd. Održat će naš blog aktivan 24 sata dnevno.
Napravite ghost.service
systemd jediničnu datoteku. Pokrenite sudo sudo vim /etc/systemd/system/ghost.service
i kopirajte/zalijepite sadržaj u nastavku:
[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