Skapa en Jekyll-blogg på Ubuntu 16.04
Använder du ett annat system? Jekyll är ett bra alternativ till WordPress för att blogga eller dela innehåll. Det kräver inga databaser och det är väldigt enkelt i
Ghost är en bloggplattform med öppen källkod som har vunnit popularitet bland utvecklare och vanliga användare sedan släppet 2013. Det sätter fokus på innehåll och bloggande. Det mest attraktiva med Ghost är dess enkla, rena och lyhörda design. Du kan skriva dina blogginlägg från en mobiltelefon. Innehåll för Ghost är skrivet med Markdown-språket. Ghost passar perfekt för individer eller små grupper av författare.
I den här guiden kommer vi att ställa in och distribuera en säker Ghost v0.11.x LTS- blogg på en Debian 8 VPS med hjälp av Let's Encrypt , Certbot , Node.js , NPM , NGINX och MySQL .
Kontrollera Debian-versionen:
lsb_release -ds
# Debian GNU/Linux 8.9 (jessie)
Skapa ett nytt icke- rootanvändarkonto:
adduser johndoe --gecos "John Doe"
Gör den till superanvändare genom att lägga till den i sudo
gruppen:
usermod -aG sudo johndoe
Byt till den nya användaren:
su - johndoe
Uppdatera ditt operativsystems programvara:
sudo apt-get update && sudo apt-get upgrade -y
Ställ in tidszonen:
sudo dpkg-reconfigure tzdata
Installera nödvändiga verktyg:
sudo apt-get install -y build-essential zip unzip git apt-transport-https
Starta om systemet vid behov:
sudo shutdown -r now
NOTE: Before starting this step, ensure that you have set DNS records for your domain.
Vi kommer att använda Let's Encrypt CA och EFF :s Certbot-klient för att få SSL/TLS- certifikat för vår Ghost-blogg. Glöm inte att ersätta alla instanser av blog.domain.tld
med ditt domännamn.
Installera Certbot (tidigare Let's Encrypt client ) certifikathanteringsprogramvara gjord med Python:
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
Kontrollera Certbot-versionen:
certbot --version
# certbot 0.10.2
Skaffa RSA- certifikat genom att använda fristående autentiseringsmetod (plugin):
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. . . .
# . . .
Efter att ha gått igenom tidigare steg kommer ditt certifikat och din privata nyckel att finnas i /etc/letsencrypt/live/blog.domain.tld
katalogen.
NOTE: Ghost currently supports Node.js versions 4.5+ and 6.9+ only.
Ghost är byggt på Node.js. Vi kommer att installera den rekommenderade versionen för Ghost som är v6 Boron LTS
i skrivande stund.
Ladda ner och installera Node.js v6 LTS:
curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
sudo apt-get install -y nodejs
Kontrollera versionen av Node.js och NPM:
node -v && npm -v
# v6.11.2
# 3.10.10
Som standard kommer Ghost konfigurerat att använda en SQLite-databas, som inte kräver någon konfiguration.
Alternativt kan Ghost också användas med en MySQL-databas genom att ändra databaskonfigurationen. Du måste skapa en databas och användare först, du kan sedan ändra den befintliga sqlite3-konfigurationen.
Ladda ner och installera 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.
Kontrollera MySQL-versionen:
mysql --version
# mysql Ver 14.14 Distrib 5.5.57, for debian-linux-gnu (x86_64) using readline 6.3
Kontrollera om MySQL-demonen har startat och körs:
sudo systemctl status mysql.service
sudo systemctl is-enabled mysql.service
Kör mysql_secure_installation
skriptet för att säkra din databas lite:
sudo mysql_secure_installation
Logga in på MySQL som root-användare:
mysql -u root -p
# Enter password:
Skapa en ny MySQL-databas och användare:
create database dbname;
grant all on dbname.* to 'user' identified by 'password';
Avsluta MySQL:
exit
Ladda ner och installera den senaste huvudversionen av NGINX från det officiella NGINX-förvaret:
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
Verifiera att den är installerad genom att kontrollera NGINX-versionen:
sudo nginx -v
# nginx version: nginx/1.13.4
Kontrollera status, aktivera och starta NGINX-tjänst (demon):
sudo systemctl status nginx.service # inactive (dead)
sudo systemctl enable nginx.service
sudo systemctl start nginx.service
Skapa /etc/nginx/ssl
katalog och skapa en ny Diffie-Hellman ( DH ) grupp:
sudo mkdir -p /etc/nginx/ssl
sudo openssl dhparam -out /etc/nginx/ssl/dhparams-2048.pem 2048
Skapa loggkatalog för blog.domain.tld
virtuell värd:
sudo mkdir -p /var/log/nginx/blog.domain.tld
Konfigurera NGINX som en HTTP ( S ) omvänd proxyserver:
sudo vim /etc/nginx/conf.d/ghost.conf
Klistra in följande i /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 "";
}
}
Spara och testa NGINX-konfigurationen för syntaxfel:
sudo nginx -t
Ladda om NGINX-konfiguration:
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.
Skapa dokumentets rotkatalog:
sudo mkdir -p /var/www/
Skapa en ny ghost
användare:
sudo adduser --shell /bin/bash --gecos 'Ghost application' --disabled-password ghost
Ladda ner Ghost:
curl -L https://github.com/TryGhost/Ghost/releases/download/0.11.11/Ghost-0.11.11.zip -o ghost.zip
Packa upp Ghost i /var/www/ghost
katalogen (rekommenderad installationsplats):
sudo unzip -uo ghost.zip -d /var/www/ghost
rm ghost.zip
Navigera till den nya ghost
katalogen:
cd /var/www/ghost
Ändra äganderätten till /var/www/ghost
katalogen:
sudo chown -R ghost:ghost .
Byt till ny ghost
användare:
sudo su - ghost
Navigera till dokumentroten /var/www/ghost
:
cd /var/www/ghost
Installera Ghost endast med produktionsberoende. När detta är klart installeras Ghost:
npm install --production
Konfigurera Ghost genom att ändra url
, mail
och database
egendom produktions föremål inne i config.js
filen:
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.
Starta Ghost i produktionsmiljö:
npm start --production
Ghost kommer nu att springa. Både bloggens gränssnitt och administratörsgränssnitt är säkrade med HTTPS och HTTP/2 fungerar också. Du kan öppna din webbläsare och besöka webbplatsen på https://blog.domain.tld
. Glöm inte att ersätta blog.domain.tld
med ditt domännamn.
Stäng av Ghost-processen genom att trycka på CTRL
+ C
och avsluta från ghost
användaren tillbaka till root-användaren:
exit
Om du stänger din terminalsession med din VPS kommer din blogg också att gå ner. Det är inte bra. För att undvika detta kommer vi att använda Systemd. Det kommer att hålla vår blogg uppe 24/7.
Skapa ghost.service
Systemd enhetsfil. Kör sudo vim /etc/systemd/system/ghost.service
och kopiera/klistra in följande innehåll:
[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
Aktivera och starta ghost.service
:
sudo systemctl enable ghost.service && sudo systemctl start ghost.service
Kontrollera ghost.service
status:
sudo systemctl status ghost.service && sudo systemctl is-enabled ghost.service
Navigera till https://blog.domain.tld/ghost/
och skapa en Ghost-adminanvändare. Gör detta så snart som möjligt!
Det är allt. Vi har nu en fullt fungerande Spökblogg. Din server levererar innehåll via HTTP/2 när det stöds av klienten. Om du vill ändra standardtemat för Ghost som heter Casper till ett anpassat, kan du bara ladda ner och packa upp temat i /var/www/ghost/content/themes
mappen och välja det via Ghosts admingränssnitt, som finns på https://blog.domain.tld/ghost
.
Använder du ett annat system? Jekyll är ett bra alternativ till WordPress för att blogga eller dela innehåll. Det kräver inga databaser och det är väldigt enkelt i
Använder du ett annat system? MODX Revolution är ett snabbt, flexibelt, skalbart, gratis och öppen källkod, företagsklassat Content Management System (CMS) skrivet i
Använder du ett annat system? Jekyll är ett bra alternativ till WordPress. Det kräver inga databaser och det fungerar med ett språk många är bekanta med
Använder du ett annat system? MODX Revolution är ett snabbt, flexibelt, skalbart, gratis och öppen källkod, företagsklassat Content Management System (CMS) skrivet i
Använder du ett annat system? Fork är ett CMS med öppen källkod skrivet i PHP. Forks källkod finns på GitHub. Den här guiden visar hur du installerar Fork CM
Neos är ett innovativt innehållshanteringssystem med öppen källkod som är utmärkt för att skapa och redigera onlineinnehåll. Med författare och redaktörer i åtanke, Neo
Använder du ett annat system? Ghost är en bloggplattform med öppen källkod som har vunnit popularitet bland utvecklare och vanliga användare sedan 201
Använder du ett annat system? Ghost är en bloggplattform med öppen källkod som har vunnit popularitet bland utvecklare och vanliga användare sedan 201
En vanlig användning av en Vultr virtuell server är att vara värd för Wordpress-webbplatser. Den här guiden visar hur du automatiserar konfigurationen av en virtuell server från början
Ghost är den senaste och bästa uppkomlingen att konkurrera med WordPress. Temautveckling är snabb och enkel att lära sig eftersom Ghost-utvecklarna bestämde sig för att använda både th
Ghost är en modern publiceringsplattform med öppen källkod byggd på Node.js med en Ember.js-adminklient, ett JSON-API och ett tema-API som drivs av Handlebars.js. Ghos
Använder du ett annat system? MODX Revolution är ett snabbt, flexibelt, skalbart, gratis och öppen källkod, företagsklassat Content Management System (CMS) skrivet i
Använder du ett annat system? Dotclear är en väldigt enkel bloggmotor. Det är öppen källkod och lätt att använda. Denna handledning kommer att gå igenom installationen på
Använder du ett annat system? Fork är ett CMS med öppen källkod skrivet i PHP. Forks källkod finns på GitHub. Den här guiden visar hur du installerar Fork CM
Använder du ett annat system? Ghost är en bloggplattform med öppen källkod som vinner popularitet bland utvecklare och vanliga användare sedan lanseringen 2013. jag
Använder du ett annat system? Fork är ett CMS med öppen källkod skrivet i PHP. Forks källkod finns på GitHub. Den här guiden visar hur du installerar Fork CM
Typesetter är ett CMS med öppen källkod skrivet i PHP fokuserat på användarvänlighet med True WYSIWYG-redigering och platt-fillagring. I den här artikeln kommer vi att installera
Vultr-instanser är ett bra sätt att köra din WordPress-blogg, men en mer anmärkningsvärd tillägg till WordPress är WooCommerce, ett e-handelsplugin som utökar
Använder du ett annat system? Fork är ett CMS med öppen källkod skrivet i PHP. Forks källkod finns på GitHub. Den här guiden visar hur du installerar Fork CM
Använder du ett annat system? MODX Revolution är ett snabbt, flexibelt, skalbart, gratis och öppen källkod, företagsklassat Content Management System (CMS) skrivet i
Artificiell intelligens är inte i framtiden, det är här i nuet I den här bloggen Läs hur Artificiell intelligens-applikationer har påverkat olika sektorer.
Är du också ett offer för DDOS-attacker och förvirrad över de förebyggande metoderna? Läs den här artikeln för att lösa dina frågor.
Du kanske har hört att hackare tjänar mycket pengar, men har du någonsin undrat hur de tjänar den typen av pengar? låt oss diskutera.
Vill du se revolutionerande uppfinningar av Google och hur dessa uppfinningar förändrade livet för varje människa idag? Läs sedan till bloggen för att se uppfinningar av Google.
Konceptet med att självkörande bilar ska ut på vägarna med hjälp av artificiell intelligens är en dröm vi har ett tag nu. Men trots flera löften finns de ingenstans att se. Läs den här bloggen för att lära dig mer...
När vetenskapen utvecklas i snabb takt och tar över en hel del av våra ansträngningar, ökar också riskerna för att utsätta oss för en oförklarlig singularitet. Läs, vad singularitet kan betyda för oss.
Lagringsmetoderna för data har utvecklats kan vara sedan födelsen av data. Den här bloggen tar upp utvecklingen av datalagring på basis av en infografik.
Läs bloggen för att känna till olika lager i Big Data Architecture och deras funktionaliteter på enklaste sätt.
I denna digitala värld har smarta hemenheter blivit en avgörande del av livet. Här är några fantastiska fördelar med smarta hemenheter om hur de gör vårt liv värt att leva och enklare.
Nyligen släppte Apple macOS Catalina 10.15.4, en tilläggsuppdatering för att åtgärda problem, men det verkar som om uppdateringen orsakar fler problem som leder till att mac-datorer blir murade. Läs den här artikeln för att lära dig mer