Jekyll-blogin luominen Ubuntuun 16.04
Käytätkö erilaista järjestelmää? Jekyll on loistava vaihtoehto WordPressille bloggaamiseen tai sisällön jakamiseen. Se ei vaadi tietokantoja ja se on erittäin helppoa i
Ghost on avoimen lähdekoodin blogialusta, joka on kasvattanut suosiotaan kehittäjien ja tavallisten käyttäjien keskuudessa vuodesta 2013 lähtien. Se keskittyy sisältöön ja bloggaamiseen. Houkuttelevin asia Ghostissa on sen yksinkertainen, puhdas ja reagoiva muotoilu. Voit kirjoittaa blogitekstejäsi matkapuhelimella. Ghostin sisältö on kirjoitettu Markdown-kielellä. Ghost sopii täydellisesti yksilöille tai pienille kirjailijaryhmille.
Tässä oppaassa aiomme perustaa ja ottaa käyttöön turvallisen Ghost v0.11.x LTS blogi koskevasta Fedora 25 VPS käyttäen Totta Salaa , Certbot , Node.js , NPM , nginx ja MySQL .
semanage port -a -t http_port_t -p tcp 2368
.Tarkista Fedora-versio:
cat /etc/fedora-release
# Fedora release 25 (Twenty Five)
Luo uusi ei-root- käyttäjä:
useradd -c "John Doe" johndoe && passwd johndoe
Tee siitä superkäyttäjä lisäämällä se wheel
ryhmään:
usermod -aG wheel johndoe
Vaihda uuteen käyttäjään:
su - johndoe
Päivitä käyttöjärjestelmäsi ohjelmisto:
sudo dnf check-update || sudo dnf upgrade -y
Aseta aikavyöhyke:
timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'
Asenna kehitystyökalut:
sudo dnf install @development-tools -y
Asenna Vim-tekstieditori ja Wget:
sudo dnf install -y vim wget
Käynnistä järjestelmä tarvittaessa uudelleen:
sudo shutdown -r now
NOTE: Before starting this step, ensure that you have set DNS records for your domain.
Aiomme käyttää Let's Encrypt CA- ja EFF :n Certbot-asiakasohjelmaa saadaksemme SSL/TLS- sertifikaatin Ghost-blogiimme. Älä unohda korvata kaikkia esiintymiä blog.domain.tld
verkkotunnuksellasi.
Asenna Pythonilla tehty Certbot (aiemmin Let's Encrypt client ) varmenteenhallintaohjelmisto:
sudo dnf install -y certbot
Tarkista Certbot-versio:
certbot --version
# certbot 0.14.1
Hanki RSA- sertifikaatti käyttämällä itsenäistä todennusmenetelmää (laajennus):
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. . . .
# . . .
Kun olet käynyt läpi edelliset vaiheet, varmenteesi ja yksityinen avaimesi ovat /etc/letsencrypt/live/blog.domain.tld
hakemistossa.
NOTE: Ghost currently supports Node.js versions 4.5+ and 6.9+ only.
Ghost on rakennettu Node.js:lle. Asennamme Ghostille suositellun version, joka on v6 Boron LTS
tätä kirjoitettaessa.
Lataa ja asenna Node.js v6 LTS:
curl --silent --location https://rpm.nodesource.com/setup_6.x | sudo bash -
sudo dnf install -y nodejs
Tarkista Node.js- ja NPM-versio:
node -v && npm -v
# v6.11.2
# 3.10.10
Oletuksena Ghost on määritetty käyttämään SQLite-tietokantaa, joka ei vaadi konfigurointia.
Vaihtoehtoisesti Ghostia voidaan käyttää myös MySQL-tietokannan kanssa muuttamalla tietokannan asetuksia. Sinun on ensin luotava tietokanta ja käyttäjä, jonka jälkeen voit muuttaa olemassa olevaa sqlite3-asetusta.
Lataa ja asenna MySQL:n uusin versio (tällä hetkellä 5.7 ) virallisesta MySQL Dnf -tietovarastosta:
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
Tarkista MySQL-versio:
mysql --version
# mysql Ver 14.14 Distrib 5.7.19, for Linux (x86_64) using EditLine wrapper
Käynnistä MySQL Server ja tarkista sen tila:
sudo systemctl start mysqld.service
sudo systemctl status mysqld.service
MySQL-versio 5.7 tai uudempi luo väliaikaisen satunnaisen salasanan MySQL- root
käyttäjälle asennuksen jälkeen ja salasana tallennetaan MySQL-virhelokitiedostoon, joka sijaitsee osoitteessa /var/log/mysqld.log
. Voit paljastaa sen käyttämällä seuraavaa komentoa:
sudo grep 'temporary password' /var/log/mysqld.log
Suorita mysql_secure_installation
komentosarja suojataksesi tietokantaasi hieman:
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
Kirjaudu MySQL:ään pääkäyttäjänä:
mysql -u root -p
# Enter password:
Luo uusi MySQL-tietokanta ja käyttäjä:
create database dbname;
grant all on dbname.* to 'user' identified by 'password';
Poistu MySQL:stä:
exit
Lataa ja asenna NGINX:
sudo dnf install -y nginx
Verify that it is installed by checking the NGINX version:
sudo nginx -v
# nginx version: nginx/1.10.2
Check status, enable and start NGINX service (daemon):
sudo systemctl status nginx.service # inactive (dead)
sudo systemctl enable nginx.service
sudo systemctl start nginx.service
Create /etc/nginx/ssl
directory and generate a new Diffie-Hellman (DH) parameters:
sudo mkdir -p /etc/nginx/ssl
sudo openssl dhparam -out /etc/nginx/ssl/dhparams-2048.pem 2048
Create log directory for blog.domain.tld
virtual host:
sudo mkdir -p /var/log/nginx/blog.domain.tld
Configure NGINX as a HTTP(S) reverse proxy server:
sudo vim /etc/nginx/conf.d/ghost.conf
Paste the following in /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 "";
}
}
Save and test NGINX configuration for syntax errors:
sudo nginx -t
Reload NGINX configuration:
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.
Create document root directory:
sudo mkdir -p /var/www/
Create a new ghost user:
sudo useradd -c 'Ghost application' ghost
Download Ghost:
curl -L https://github.com/TryGhost/Ghost/releases/download/0.11.11/Ghost-0.11.11.zip -o ghost.zip
Unzip Ghost into the /var/www/ghost
directory (recommended install location):
sudo unzip -uo ghost.zip -d /var/www/ghost
rm ghost.zip
Move to the new ghost directory:
cd /var/www/ghost
Change the ownership of the /var/www/ghost
directory:
sudo chown -R ghost:ghost .
Switch to new ghost
user:
sudo su - ghost
Siirry asiakirjan juureen /var/www/ghost
:
cd /var/www/ghost
Asenna Ghost vain tuotantoriippuvuuksilla. Kun tämä on valmis, Ghost asennetaan:
npm install --production
Määritä Ghost muuttamalla url
, mail
ja database
omaisuus tuotannon esineen sisällä config.js
tiedostoa:
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
Käynnistä Ghost tuotantoympäristössä:
npm start --production
Ghost juoksee nyt. Sekä blogin käyttöliittymä että järjestelmänvalvojan käyttöliittymä on suojattu HTTPS:llä ja myös HTTP/2 toimii. Voit avata selaimen ja käydä sivustolla osoitteessa https://blog.domain.tld
. Muista korvata se blog.domain.tld
verkkotunnuksellasi.
Sammuta Ghost-prosessi painamalla CTRL
+ C
ja poistu ghost-käyttäjästä takaisin ei-root- käyttäjäksi, jonka olet luonut alussa:
exit
Jos suljet pääte-istunnon VPS:lläsi, myös blogisi sulkeutuu. Tuo ei ole hyvä. Tämän välttämiseksi aiomme käyttää systemd. Se pitää blogimme ajan tasalla 24/7.
Luo ghost.service
systemd-yksikkötiedosto. Suorita sudo sudo vim /etc/systemd/system/ghost.service
ja kopioi/liitä alla oleva sisältö:
[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
Ota käyttöön ja aloita ghost.service
:
sudo systemctl enable ghost.service && sudo systemctl start ghost.service
Tarkista ghost.service
tila:
sudo systemctl status ghost.service && sudo systemctl is-enabled ghost.service
Siirry kohtaan https://blog.domain.tld/ghost/
ja luo Ghost-järjestelmänvalvojan käyttäjä. Tee tämä mahdollisimman pian!
Se siitä. Meillä on nyt täysin toimiva Ghost-blogi. Palvelimesi toimittaa sisältöä HTTP/2:n kautta, kun asiakas tukee sitä. Jos haluat muuttaa oletusarvoisen Ghost-teeman nimeltä Casper muokatuksi, voit vain ladata ja purkaa teeman /var/www/ghost/content/themes
kansioon ja valita sen Ghost-järjestelmänvalvojan käyttöliittymän kautta, joka sijaitsee osoitteessa https://blog.domain.tld/ghost
.
Käytätkö erilaista järjestelmää? Jekyll on loistava vaihtoehto WordPressille bloggaamiseen tai sisällön jakamiseen. Se ei vaadi tietokantoja ja se on erittäin helppoa i
Käytätkö erilaista järjestelmää? MODX Revolution on nopea, joustava, skaalautuva, ilmainen ja avoimen lähdekoodin yritystason sisällönhallintajärjestelmä (CMS), joka on kirjoitettu i.
Käytätkö erilaista järjestelmää? MODX Revolution on nopea, joustava, skaalautuva, avoimen lähdekoodin, yritystason sisällönhallintajärjestelmä (CMS), joka on kirjoitettu PHP:llä. Se minä
Johdanto WordPress on hallitseva sisällönhallintajärjestelmä Internetissä. Se tarjoaa kaiken tehon blogeista monimutkaisiin verkkosivustoihin, joissa on dynaamista sisältöä
Käytätkö erilaista järjestelmää? Jekyll on hyvä vaihtoehto WordPressille. Se ei vaadi tietokantoja ja se toimii monille tutulla kielellä
Käytätkö erilaista järjestelmää? MODX Revolution on nopea, joustava, skaalautuva, ilmainen ja avoimen lähdekoodin yritystason sisällönhallintajärjestelmä (CMS), joka on kirjoitettu i.
Käytätkö erilaista järjestelmää? Fork on avoimen lähdekoodin CMS, joka on kirjoitettu PHP:llä. Forksin lähdekoodia isännöi GitHub. Tämä opas näyttää, kuinka Fork CM asennetaan
Neos on innovatiivinen avoimen lähdekoodin sisällönhallintajärjestelmä, joka sopii erinomaisesti verkkosisällön luomiseen ja muokkaamiseen. Tekijät ja toimittajat mielessään, Neo
Käytätkö erilaista järjestelmää? Ghost on avoimen lähdekoodin blogialusta, joka on kasvattanut suosiotaan kehittäjien ja tavallisten käyttäjien keskuudessa vuodesta 201 lähtien.
Käytätkö erilaista järjestelmää? Ghost on avoimen lähdekoodin blogialusta, joka on kasvattanut suosiotaan kehittäjien ja tavallisten käyttäjien keskuudessa vuodesta 201 lähtien.
Vultr-virtuaalipalvelimen yleinen käyttötarkoitus on isännöidä Wordpress-verkkosivustoja. Tämä opas näyttää, kuinka voit automatisoida virtuaalipalvelimen konfiguroinnin tyhjästä
Ghost on kilpailijan WordPressin uusin ja paras aloittelija. Teeman kehittäminen on nopeaa ja helppoa oppia, koska Ghostin kehittäjät päättivät käyttää molempia th
Ghost on moderni, avoimen lähdekoodin julkaisualusta, joka on rakennettu Node.js:lle, jossa on Ember.js-hallintaohjelma, JSON-sovellusliittymä ja Handlebars.js:n tarjoama teemasovellusliittymä. Ghos
Käytätkö erilaista järjestelmää? MODX Revolution on nopea, joustava, skaalautuva, ilmainen ja avoimen lähdekoodin yritystason sisällönhallintajärjestelmä (CMS), joka on kirjoitettu i.
Käytätkö erilaista järjestelmää? Dotclear on hyvin yksinkertainen blogikone. Se on avoimen lähdekoodin ja helppokäyttöinen. Tämä opetusohjelma käy asennuksen läpi
Käytätkö erilaista järjestelmää? SilverStripe on joustava ja laajennettava ilmainen ja avoimen lähdekoodin yritystason sisällönhallintajärjestelmä (CMS), joka on kirjoitettu PHP:llä. minä
Käytätkö erilaista järjestelmää? Fork on avoimen lähdekoodin CMS, joka on kirjoitettu PHP:llä. Forksin lähdekoodia isännöi GitHub. Tämä opas näyttää, kuinka Fork CM asennetaan
Käytätkö erilaista järjestelmää? Ghost on avoimen lähdekoodin blogialusta, joka on kasvattanut suosiotaan kehittäjien ja tavallisten käyttäjien keskuudessa vuoden 2013 julkaisustaan lähtien. minä
Käytätkö erilaista järjestelmää? Fork on avoimen lähdekoodin CMS, joka on kirjoitettu PHP:llä. Forksin lähdekoodia isännöi GitHub. Tämä opas näyttää, kuinka Fork CM asennetaan
Typesetter on PHP-kielellä kirjoitettu avoimen lähdekoodin sisällönhallintajärjestelmä, joka keskittyy helppokäyttöisyyteen True WYSIWYG -editoinnin ja litteän tiedostojen tallennuksen kanssa. Tässä artikkelissa asennamme
Tekoäly ei ole tulevaisuudessa, se tässä nykyisyydessä Tässä blogissa Lue kuinka tekoälysovellukset ovat vaikuttaneet eri sektoreihin.
Oletko myös DDOS-hyökkäysten uhri ja hämmentynyt ehkäisymenetelmistä? Lue tämä artikkeli ratkaistaksesi kysymyksesi.
Olet ehkä kuullut, että hakkerit ansaitsevat paljon rahaa, mutta oletko koskaan miettinyt, kuinka he ansaitsevat tuollaista rahaa? keskustellaan.
Haluatko nähdä Googlen vallankumouksellisia keksintöjä ja kuinka nämä keksinnöt muuttivat jokaisen ihmisen elämää nykyään? Lue sitten blogia nähdäksesi Googlen keksinnöt.
Konsepti itseohjautuvista autoista lähteä tielle tekoälyn avulla on ollut haaveena jo jonkin aikaa. Mutta useista lupauksista huolimatta niitä ei näy missään. Lue tämä blogi saadaksesi lisätietoja…
Kun tiede kehittyy nopeasti ja ottaa haltuunsa suuren osan ponnisteluistamme, myös riskit altistaa itsemme selittämättömälle singulariteetille kasvavat. Lue, mitä singulaarisuus voisi tarkoittaa meille.
Tietojen säilytystavat ovat kehittyneet mahdollisesti Datan syntymästä lähtien. Tämä blogi käsittelee tiedon tallennuksen kehitystä infografian pohjalta.
Blogista saat tietää Big Data -arkkitehtuurin eri kerroksista ja niiden toiminnoista yksinkertaisimmalla tavalla.
Tässä digitaalisessa maailmassa kodin älylaitteista on tullut tärkeä osa elämää. Tässä on muutamia älykkäiden kodin laitteiden hämmästyttäviä etuja, joiden avulla ne tekevät elämästämme elämisen arvoista ja yksinkertaisempaa.
Apple julkaisi äskettäin macOS Catalina 10.15.4 -lisäpäivityksen ongelmien korjaamiseksi, mutta näyttää siltä, että päivitys aiheuttaa lisää ongelmia, jotka johtavat mac-koneiden tiilikaamiseen. Lue tämä artikkeli saadaksesi lisätietoja