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 sätta upp och distribuera en säker Ghost v0.11.x LTS- blogg på en CentOS 7.3 VPS med hjälp av Let's Encrypt , Certbot , Node.js , NPM , NGINX och MySQL .
Kontrollera CentOS-versionen:
cat /etc/centos-release
# CentOS Linux release 7.3.1611 (Core)
Skapa en ny icke-rootanvändare :
useradd -c "John Doe" johndoe && passwd johndoe
Gör den till superanvändare genom att lägga till den i wheel
gruppen:
usermod -aG wheel johndoe
Byt till ny användare:
su - johndoe
Uppdatera ditt operativsystems programvara:
sudo yum check-update || sudo yum update -y
Ställ in tidszonen:
timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'
Installera utvecklingsverktyg:
sudo yum groupinstall -y 'Development Tools'
Installera Vim textredigerare:
sudo yum install -y vim
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.
Aktivera arkivet Extra Packages for Enterprise Linux (EPEL):
# Certbot is packaged in Extra Packages for Enterprise Linux (EPEL) repository. To use Certbot, you must first enable the EPEL repository.
sudo yum install -y epel-release
Installera Certbot (tidigare Let's Encrypt client ) certifikathanteringsprogramvara gjord med Python:
sudo yum install -y certbot
Kontrollera Certbot-versionen:
certbot --version
# certbot 0.14.1
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] --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. . . .
# . . .
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:
sudo curl --silent --location https://rpm.nodesource.com/setup_6.x | sudo bash -
sudo yum 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 den senaste versionen av MySQL (för närvarande 5.7 ) från det officiella MySQL Yum-förrådet:
cd /tmp
# Adding the MySQL Yum Repository
wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
sudo yum localinstall -y mysql57-community-release-el7-11.noarch.rpm
# Installing MySQL
sudo yum install -y mysql-community-server
Kontrollera MySQL-versionen:
mysql --version
# mysql Ver 14.14 Distrib 5.7.19, for Linux (x86_64) using EditLine wrapper
Starta MySQL Server och kontrollera dess status:
sudo systemctl start mysqld.service
sudo systemctl status mysqld.service
MySQL version 5.7 eller högre genererar ett tillfälligt slumpmässigt lösenord för MySQL- root
användare efter installationen och lösenordet lagras i MySQL-felloggfilen, som finns på /var/log/mysqld.log
. För att avslöja det, använd följande kommando:
sudo grep 'temporary password' /var/log/mysqld.log
Kör mysql_secure_installation
skriptet för att säkra din databas lite:
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
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:
# Add the NGINX Yum Repository
sudo vim /etc/yum.repos.d/nginx_mainline.repo
# Copy/paste the following into /etc/yum.repos.d/nginx_mainline.repo
[nginx]
name=nginx repo
baseurl=https://nginx.org/packages/mainline/centos/7/$basearch/
gpgcheck=1
enabled=1
wget https://nginx.org/keys/nginx_signing.key
sudo rpm --import nginx_signing.key
rm nginx_signing.key
sudo yum 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.3
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 generera en ny Diffie-Hellman ( DH ) parametrar:
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;
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 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 dokumentrotkatalog:
sudo mkdir -p /var/www/
Skapa en ny spökanvändare:
sudo useradd -c 'Ghost application' 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
Flytta till den nya spökkatalogen:
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
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 spökanvändare tillbaka till icke-rootanvändare som du skapade i början:
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 sudo vim /etc/systemd/system/ghost.service
och kopiera/klistra in nedanstående 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=/bin/npm start --production
ExecStop=/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