Krijimi i një Blog Jekyll në Ubuntu 16.04
Përdorimi i një sistemi të ndryshëm? Jekyll është një alternativë e shkëlqyeshme për WordPress për blogimin ose ndarjen e përmbajtjes. Nuk kërkon ndonjë bazë të dhënash dhe është shumë e lehtë i
Ghost është një platformë blogimi me burim të hapur që ka fituar popullaritet midis zhvilluesve dhe përdoruesve të zakonshëm që nga publikimi i saj në 2013. Ai e vë fokusin në përmbajtje dhe në blog. Gjëja më tërheqëse për Ghost është dizajni i tij i thjeshtë, i pastër dhe i përgjegjshëm. Ju mund të shkruani postimet tuaja në blog nga një telefon celular. Përmbajtja për Ghost është shkruar duke përdorur gjuhën Markdown. Ghost është një përshtatje e përkryer për individë ose grupe të vogla shkrimtarësh.
Në këtë udhëzues, ne do të konfigurojmë dhe vendosim një blog të sigurt Ghost v0.11.x LTS në një Debian 8 VPS duke përdorur Let's Encrypt , Certbot , Node.js , NPM , NGINX dhe MySQL .
Kontrolloni versionin e Debian:
lsb_release -ds
# Debian GNU/Linux 8.9 (jessie)
Krijo një llogari të re përdoruesi jo-root :
adduser johndoe --gecos "John Doe"
Bëjeni atë superpërdorues duke e shtuar në sudo
grup:
usermod -aG sudo johndoe
Kalo te përdoruesi i ri:
su - johndoe
Përditësoni softuerin e sistemit tuaj operativ:
sudo apt-get update && sudo apt-get upgrade -y
Vendosni zonën kohore:
sudo dpkg-reconfigure tzdata
Instaloni mjetet e nevojshme:
sudo apt-get install -y build-essential zip unzip git apt-transport-https
Rinisni sistemin nëse kërkohet:
sudo shutdown -r now
NOTE: Before starting this step, ensure that you have set DNS records for your domain.
Ne do të përdorim Let's Encrypt CA dhe klientin Certbot të EFF për të marrë certifikatën SSL/TLS për blogun tonë Ghost. Mos harroni të zëvendësoni të gjitha rastet e blog.domain.tld
me emrin e domenit tuaj.
Instaloni softuerin e menaxhimit të certifikatave Certbot (më parë Let's Encrypt Client ) të krijuar me 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
Kontrolloni versionin Certbot:
certbot --version
# certbot 0.10.2
Merrni certifikatën RSA duke përdorur metodën e pavarur të vërtetimit (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. . . .
# . . .
Pasi të keni kaluar hapat e mëparshëm, certifikata juaj dhe çelësi privat do të jenë në /etc/letsencrypt/live/blog.domain.tld
drejtori.
NOTE: Ghost currently supports Node.js versions 4.5+ and 6.9+ only.
Ghost është ndërtuar në Node.js. Ne do të instalojmë versionin e rekomanduar për Ghost i cili është v6 Boron LTS
në kohën e këtij shkrimi.
Shkarkoni dhe instaloni Node.js v6 LTS:
curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
sudo apt-get install -y nodejs
Kontrolloni versionin Node.js dhe NPM:
node -v && npm -v
# v6.11.2
# 3.10.10
Si parazgjedhje, Ghost vjen i konfiguruar për të përdorur një bazë të dhënash SQLite, e cila nuk kërkon konfigurim.
Përndryshe, Ghost mund të përdoret gjithashtu me një bazë të dhënash MySQL duke ndryshuar konfigurimin e bazës së të dhënave. Së pari duhet të krijoni një bazë të dhënash dhe përdorues, pastaj mund të ndryshoni konfigurimin ekzistues sqlite3.
Shkarkoni dhe instaloni 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.
Kontrolloni versionin e MySQL:
mysql --version
# mysql Ver 14.14 Distrib 5.5.57, for debian-linux-gnu (x86_64) using readline 6.3
Kontrolloni nëse daemon MySQL ka filluar dhe po funksionon:
sudo systemctl status mysql.service
sudo systemctl is-enabled mysql.service
Drejtoni mysql_secure_installation
skriptin për të siguruar pak bazën e të dhënave tuaja:
sudo mysql_secure_installation
Hyni në MySQL si përdoruesi kryesor:
mysql -u root -p
# Enter password:
Krijoni një bazë të dhënash dhe përdorues të ri MySQL:
create database dbname;
grant all on dbname.* to 'user' identified by 'password';
Dilni nga MySQL:
exit
Shkarkoni dhe instaloni versionin më të fundit kryesor të NGINX nga depoja zyrtare NGINX:
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
Verifikoni që është instaluar duke kontrolluar versionin NGINX:
sudo nginx -v
# nginx version: nginx/1.13.4
Kontrolloni statusin, aktivizoni dhe filloni shërbimin NGINX (daemon):
sudo systemctl status nginx.service # inactive (dead)
sudo systemctl enable nginx.service
sudo systemctl start nginx.service
Krijoni /etc/nginx/ssl
drejtorinë dhe krijoni një grup të ri Diffie-Hellman ( DH ):
sudo mkdir -p /etc/nginx/ssl
sudo openssl dhparam -out /etc/nginx/ssl/dhparams-2048.pem 2048
Krijoni drejtorinë e regjistrave për blog.domain.tld
hostin virtual:
sudo mkdir -p /var/log/nginx/blog.domain.tld
Konfiguro NGINX si një server proxy të kundërt HTTP ( S ):
sudo vim /etc/nginx/conf.d/ghost.conf
Ngjit sa vijon në /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 "";
}
}
Ruani dhe testoni konfigurimin NGINX për gabime sintaksore:
sudo nginx -t
Rifresko konfigurimin NGINX:
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.
Krijoni direktorinë rrënjësore të dokumentit:
sudo mkdir -p /var/www/
Krijo një ghost
përdorues të ri :
sudo adduser --shell /bin/bash --gecos 'Ghost application' --disabled-password ghost
Shkarkoni Ghost:
curl -L https://github.com/TryGhost/Ghost/releases/download/0.11.11/Ghost-0.11.11.zip -o ghost.zip
Zhzip Ghost në /var/www/ghost
drejtori (vendndodhja e rekomanduar e instalimit):
sudo unzip -uo ghost.zip -d /var/www/ghost
rm ghost.zip
Navigoni në drejtorinë e re ghost
:
cd /var/www/ghost
Ndryshoni pronësinë e /var/www/ghost
drejtorisë:
sudo chown -R ghost:ghost .
Kalo te ghost
përdoruesi i ri :
sudo su - ghost
Navigoni në rrënjë të dokumentit /var/www/ghost
:
cd /var/www/ghost
Instaloni Ghost vetëm me varësitë e prodhimit. Kur kjo të përfundojë, Ghost është instaluar:
npm install --production
Konfiguro Ghost duke ndryshuar url
, mail
dhe database
vetinë e objektit të prodhimit brenda config.js
skedarit:
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.
Start Ghost në mjedisin e prodhimit:
npm start --production
Ghost tani do të funksionojë. Si ndërfaqja e përparme e blogut ashtu edhe ndërfaqja e administratorit janë të siguruara me HTTPS dhe HTTP/2 po funksionon gjithashtu. Mund të hapni shfletuesin tuaj dhe të vizitoni faqen në https://blog.domain.tld
. Mos harroni të zëvendësoni blog.domain.tld
me emrin e domain.
Mbyllni procesin Ghost duke shtypur CTRL
+ C
dhe dilni nga ghost
përdoruesi përsëri te përdoruesi rrënjë:
exit
Nëse mbyllni seancën tuaj të terminalit me VPS-në tuaj, blogu juaj gjithashtu do të shkojë poshtë. Kjo nuk është mirë. Për të shmangur këtë, ne do të përdorim Systemd. Ai do ta mbajë blogun tonë aktiv 24/7.
Krijoni ghost.service
skedarin e njësisë së sistemit. Ekzekutoni sudo vim /etc/systemd/system/ghost.service
dhe kopjoni/ngjitni përmbajtjen e mëposhtme:
[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
Aktivizo dhe fillo ghost.service
:
sudo systemctl enable ghost.service && sudo systemctl start ghost.service
Kontrolloni ghost.service
statusin:
sudo systemctl status ghost.service && sudo systemctl is-enabled ghost.service
Navigoni https://blog.domain.tld/ghost/
dhe krijoni një përdorues administratori Ghost. Bëjeni këtë sa më shpejt të jetë e mundur!
Kjo eshte. Tani kemi një blog Ghost plotësisht funksional. Serveri juaj po shpërndan përmbajtje nëpërmjet HTTP/2 kur mbështetet nga klienti. Nëse dëshironi të ndryshoni temën e paracaktuar të Ghost të quajtur Casper në një të personalizuar, thjesht mund ta shkarkoni dhe ta çzipni temën në /var/www/ghost/content/themes
dosje dhe ta zgjidhni atë nëpërmjet ndërfaqes së administratorit Ghost, që ndodhet në https://blog.domain.tld/ghost
.
Përdorimi i një sistemi të ndryshëm? Jekyll është një alternativë e shkëlqyeshme për WordPress për blogimin ose ndarjen e përmbajtjes. Nuk kërkon ndonjë bazë të dhënash dhe është shumë e lehtë i
Përdorimi i një sistemi të ndryshëm? MODX Revolution është një Sistem i Menaxhimit të Përmbajtjes (CMS) i shpejtë, fleksibël, i shkallëzuar, i lirë dhe me burim të hapur, i shkallës së ndërmarrjes.
Përdorimi i një sistemi të ndryshëm? Jekyll është një alternativë e mirë për WordPress. Nuk kërkon ndonjë bazë të dhënash dhe funksionon me një gjuhë që shumë e njohin mendjen
Përdorimi i një sistemi të ndryshëm? MODX Revolution është një Sistem i Menaxhimit të Përmbajtjes (CMS) i shpejtë, fleksibël, i shkallëzuar, i lirë dhe me burim të hapur, i shkallës së ndërmarrjes.
Përdorimi i një sistemi të ndryshëm? Fork është një CMS me burim të hapur i shkruar në PHP. Kodi burimor i Forks është pritur në GitHub. Ky udhëzues do t'ju tregojë se si të instaloni Fork CM
Neos është një sistem inovativ i menaxhimit të përmbajtjes me burim të hapur i cili është i shkëlqyeshëm për krijimin dhe redaktimin e përmbajtjes në internet. Me autorë dhe redaktorë në mendje, Neo
Përdorimi i një sistemi të ndryshëm? Ghost është një platformë blogimi me burim të hapur që ka fituar popullaritet midis zhvilluesve dhe përdoruesve të zakonshëm që nga viti 201.
Përdorimi i një sistemi të ndryshëm? Ghost është një platformë blogimi me burim të hapur që ka fituar popullaritet midis zhvilluesve dhe përdoruesve të zakonshëm që nga viti 201.
Ghost është një platformë botuese moderne me burim të hapur e ndërtuar në Node.js me një klient administratori Ember.js, një API JSON dhe një API me temë të mundësuar nga Handlebars.js. Ghos
Përdorimi i një sistemi të ndryshëm? MODX Revolution është një Sistem i Menaxhimit të Përmbajtjes (CMS) i shpejtë, fleksibël, i shkallëzuar, i lirë dhe me burim të hapur, i shkallës së ndërmarrjes.
Përdorimi i një sistemi të ndryshëm? Fork është një CMS me burim të hapur i shkruar në PHP. Kodi burimor i Forks është pritur në GitHub. Ky udhëzues do t'ju tregojë se si të instaloni Fork CM
Përdorimi i një sistemi të ndryshëm? Ghost është një platformë blogimi me burim të hapur që po fiton popullaritet midis zhvilluesve dhe përdoruesve të zakonshëm që nga publikimi i tij në 2013. Unë
Përdorimi i një sistemi të ndryshëm? Fork është një CMS me burim të hapur i shkruar në PHP. Kodi burimor i Forks është pritur në GitHub. Ky udhëzues do t'ju tregojë se si të instaloni Fork CM
Typesetter është një CMS me burim të hapur i shkruar në PHP, i fokusuar në lehtësinë e përdorimit me redaktimin True WYSIWYG dhe ruajtjen e skedarëve të sheshtë. Në këtë artikull, ne do të instalojmë
Instancat Vultr janë një mënyrë e shkëlqyeshme për të drejtuar blogun tuaj të WordPress, por një shtesë më e dukshme për WordPress është WooCommerce, një shtojcë eCommerce që shtrihet
Përdorimi i një sistemi të ndryshëm? Fork është një CMS me burim të hapur i shkruar në PHP. Kodi burimor i Forks është pritur në GitHub. Ky udhëzues do t'ju tregojë se si të instaloni Fork CM
Përdorimi i një sistemi të ndryshëm? MODX Revolution është një Sistem i Menaxhimit të Përmbajtjes (CMS) i shpejtë, fleksibël, i shkallëzuar, i lirë dhe me burim të hapur, i shkallës së ndërmarrjes.
Përdorimi i një sistemi të ndryshëm? Dotclear është një motor blogu shumë i thjeshtë i cili është ndërtuar në krye të PHP. Në këtë tutorial, ne do të instalojmë Dotclear në Ubunt
Përdorimi i një sistemi të ndryshëm? Ghost është një platformë blogimi me burim të hapur që ka fituar popullaritet midis zhvilluesve dhe përdoruesve të zakonshëm që nga viti 201.
Përdorimi i një sistemi të ndryshëm? Ghost është një platformë blogimi me burim të hapur që po fiton popullaritet midis zhvilluesve dhe përdoruesve të zakonshëm që nga publikimi i tij në 2013. Unë
Inteligjenca Artificiale nuk është në të ardhmen, është këtu në të tashmen Në këtë blog Lexoni se si aplikacionet e inteligjencës artificiale kanë ndikuar në sektorë të ndryshëm.
A jeni edhe ju viktimë e Sulmeve DDOS dhe jeni konfuz në lidhje me metodat e parandalimit? Lexoni këtë artikull për të zgjidhur pyetjet tuaja.
Ju mund të keni dëgjuar se hakerët fitojnë shumë para, por a keni menduar ndonjëherë se si i fitojnë ato para? Le te diskutojme.
Dëshironi të shihni shpikjet revolucionare nga Google dhe se si këto shpikje ndryshuan jetën e çdo njeriu sot? Më pas lexoni në blog për të parë shpikjet nga Google.
Koncepti i makinave vetë-drejtuese për të dalë në rrugë me ndihmën e inteligjencës artificiale është një ëndërr që e kemi prej kohësh. Por, pavarësisht nga disa premtime, ato nuk shihen askund. Lexoni këtë blog për të mësuar më shumë…
Ndërsa Shkenca evoluon me një ritëm të shpejtë, duke marrë përsipër shumë nga përpjekjet tona, rriten edhe rreziqet për t'iu nënshtruar një Singulariteti të pashpjegueshëm. Lexoni, çfarë mund të thotë singulariteti për ne.
Metodat e ruajtjes së të dhënave kanë evoluar mund të jenë që nga lindja e të dhënave. Ky blog mbulon evolucionin e ruajtjes së të dhënave në bazë të një infografike.
Lexoni blogun për të njohur shtresat e ndryshme në arkitekturën e të dhënave të mëdha dhe funksionalitetet e tyre në mënyrën më të thjeshtë.
Në këtë botë të drejtuar nga dixhitali, pajisjet inteligjente të shtëpisë janë bërë një pjesë thelbësore e jetës. Këtu janë disa përfitime të mahnitshme të pajisjeve shtëpiake inteligjente se si ato e bëjnë jetën tonë të vlefshme dhe më të thjeshtë.
Së fundmi Apple lëshoi macOS Catalina 10.15.4 një përditësim shtesë për të rregulluar problemet, por duket se përditësimi po shkakton më shumë probleme që çojnë në bricking të makinerive mac. Lexoni këtë artikull për të mësuar më shumë