Jekyll tinklaraščio kūrimas Ubuntu 16.04
Naudojate kitą sistemą? „Jekyll“ yra puiki „WordPress“ alternatyva dienoraščių rašymui ar turinio dalijimuisi. Tam nereikia jokių duomenų bazių ir tai labai paprasta
Ghost yra atvirojo kodo tinklaraščių platforma, kuri nuo 2013 m. išleidimo populiarėja tarp kūrėjų ir paprastų vartotojų. Jame dėmesys skiriamas turiniui ir tinklaraščių rašymui. Patraukliausias „Ghost“ dalykas yra paprastas, švarus ir jautrus dizainas. Savo tinklaraščio įrašus galite rašyti iš mobiliojo telefono. „Ghost“ turinys parašytas naudojant „Markdown“ kalbą. Ghost puikiai tinka pavieniams asmenims ar nedidelėms rašytojų grupėms.
Šiame vadove ketiname nustatyti ir įdiegti saugų Ghost v0.11.x LTS tinklaraštį Debian 8 VPS naudodami Let's Encrypt , Certbot , Node.js , NPM , NGINX ir MySQL .
Patikrinkite Debian versiją:
lsb_release -ds
# Debian GNU/Linux 8.9 (jessie)
Sukurkite naują ne root vartotojo abonementą:
adduser johndoe --gecos "John Doe"
Padarykite jį supervartotoju, įtraukdami jį į sudo
grupę:
usermod -aG sudo johndoe
Perjungti į naują vartotoją:
su - johndoe
Atnaujinkite operacinės sistemos programinę įrangą:
sudo apt-get update && sudo apt-get upgrade -y
Nustatykite laiko juostą:
sudo dpkg-reconfigure tzdata
Įdiekite reikiamus įrankius:
sudo apt-get install -y build-essential zip unzip git apt-transport-https
Jei reikia, iš naujo paleiskite sistemą:
sudo shutdown -r now
NOTE: Before starting this step, ensure that you have set DNS records for your domain.
Naudosime Let's Encrypt CA ir EFF Certbot klientą, kad gautume SSL/TLS sertifikatą savo Ghost tinklaraščiui. Nepamirškite pakeisti visų egzempliorių blog.domain.tld
savo domeno pavadinimu.
Įdiekite Certbot (anksčiau Let's Encrypt client ) sertifikatų valdymo programinę įrangą, sukurtą naudojant 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
Patikrinkite Certbot versiją:
certbot --version
# certbot 0.10.2
Gaukite RSA sertifikatą naudodami atskirą autentifikavimo metodą (įskiepį):
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. . . .
# . . .
Atlikę ankstesnius veiksmus, jūsų sertifikatas ir privatus raktas bus /etc/letsencrypt/live/blog.domain.tld
kataloge.
NOTE: Ghost currently supports Node.js versions 4.5+ and 6.9+ only.
Ghost sukurtas Node.js. Mes ketiname įdiegti rekomenduojamą „Ghost“ versiją, kuri yra v6 Boron LTS
šio rašymo metu.
Atsisiųskite ir įdiekite Node.js v6 LTS:
curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
sudo apt-get install -y nodejs
Patikrinkite Node.js ir NPM versiją:
node -v && npm -v
# v6.11.2
# 3.10.10
Pagal numatytuosius nustatymus Ghost yra sukonfigūruotas naudoti SQLite duomenų bazę, kuriai nereikia konfigūracijos.
Arba Ghost taip pat galima naudoti su MySQL duomenų baze, pakeitus duomenų bazės konfigūraciją. Pirmiausia turite sukurti duomenų bazę ir vartotoją, tada galite pakeisti esamą sqlite3 konfigūraciją.
Atsisiųskite ir įdiekite 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.
Patikrinkite MySQL versiją:
mysql --version
# mysql Ver 14.14 Distrib 5.5.57, for debian-linux-gnu (x86_64) using readline 6.3
Patikrinkite, ar MySQL demonas įsijungė ir veikia:
sudo systemctl status mysql.service
sudo systemctl is-enabled mysql.service
Paleiskite mysql_secure_installation
scenarijų, kad šiek tiek apsaugotumėte duomenų bazę:
sudo mysql_secure_installation
Prisijunkite prie MySQL kaip root naudotojas:
mysql -u root -p
# Enter password:
Sukurkite naują MySQL duomenų bazę ir vartotoją:
create database dbname;
grant all on dbname.* to 'user' identified by 'password';
Išeikite iš „MySQL“:
exit
Atsisiųskite ir įdiekite naujausią pagrindinės NGINX versiją iš oficialios NGINX saugyklos:
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
Patikrinkite, ar jis įdiegtas, patikrinę NGINX versiją:
sudo nginx -v
# nginx version: nginx/1.13.4
Patikrinkite būseną, įgalinkite ir paleiskite NGINX paslaugą (demoną):
sudo systemctl status nginx.service # inactive (dead)
sudo systemctl enable nginx.service
sudo systemctl start nginx.service
Sukurkite /etc/nginx/ssl
katalogą ir sukurkite naują Diffie-Hellman ( DH ) grupę:
sudo mkdir -p /etc/nginx/ssl
sudo openssl dhparam -out /etc/nginx/ssl/dhparams-2048.pem 2048
Sukurkite blog.domain.tld
virtualaus pagrindinio kompiuterio žurnalo katalogą :
sudo mkdir -p /var/log/nginx/blog.domain.tld
Konfigūruokite NGINX kaip HTTP ( S ) atvirkštinį tarpinį serverį:
sudo vim /etc/nginx/conf.d/ghost.conf
Įklijuokite šiuos elementus /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 "";
}
}
Išsaugokite ir patikrinkite NGINX konfigūraciją, ar nėra sintaksės klaidų:
sudo nginx -t
Iš naujo įkelti NGINX konfigūraciją:
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.
Sukurkite dokumento šakninį katalogą:
sudo mkdir -p /var/www/
Sukurti naują ghost
vartotoją:
sudo adduser --shell /bin/bash --gecos 'Ghost application' --disabled-password ghost
Atsisiųskite „Ghost“:
curl -L https://github.com/TryGhost/Ghost/releases/download/0.11.11/Ghost-0.11.11.zip -o ghost.zip
Išpakuokite Ghost į /var/www/ghost
katalogą (rekomenduojama diegimo vieta):
sudo unzip -uo ghost.zip -d /var/www/ghost
rm ghost.zip
Eikite į naują ghost
katalogą:
cd /var/www/ghost
Pakeiskite /var/www/ghost
katalogo nuosavybės teisę :
sudo chown -R ghost:ghost .
Perjungti į naują ghost
vartotoją:
sudo su - ghost
Eikite į dokumento šaknį /var/www/ghost
:
cd /var/www/ghost
Įdiekite Ghost tik su gamybos priklausomybėmis. Kai tai bus baigta, „Ghost“ įdiegiamas:
npm install --production
Konfigūruoti Dvasia keičia url
, mail
ir database
nuosavybė gamybos objekto vidų config.js
failą:
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.
Paleiskite Ghost gamybos aplinkoje:
npm start --production
Vaiduoklis dabar bėgs. Tiek tinklaraščio sąsaja, tiek administratoriaus sąsaja yra apsaugotos naudojant HTTPS, o HTTP/2 taip pat veikia. Galite atidaryti naršyklę ir apsilankyti svetainėje adresu https://blog.domain.tld
. Nepamirškite pakeisti blog.domain.tld
savo domeno pavadinimu.
Išjunkite „Ghost“ procesą paspausdami CTRL
+ C
ir išeikite iš ghost
vartotojo atgal į pagrindinį vartotoją:
exit
Jei uždarysite terminalo seansą naudodami VPS, jūsų tinklaraštis taip pat išnyks. Tai nėra gerai. Norėdami to išvengti, naudosime Systemd. Tai veiks mūsų tinklaraštyje 24 valandas per parą, 7 dienas per savaitę.
Sukurkite ghost.service
Systemd vieneto failą. Paleiskite sudo vim /etc/systemd/system/ghost.service
ir nukopijuokite / įklijuokite šį turinį:
[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
Įjungti ir pradėti ghost.service
:
sudo systemctl enable ghost.service && sudo systemctl start ghost.service
Patikrinkite ghost.service
būseną:
sudo systemctl status ghost.service && sudo systemctl is-enabled ghost.service
Eikite į https://blog.domain.tld/ghost/
ir sukurkite „Ghost“ administratoriaus vartotoją. Padarykite tai kuo greičiau!
Viskas. Dabar turime visiškai funkcionalų „Ghost“ tinklaraštį. Jūsų serveris pateikia turinį per HTTP/2, kai jį palaiko klientas. Jei norite pakeisti numatytąją Ghost temą, pavadintą Casper, į pasirinktinę, galite tiesiog atsisiųsti ir išpakuoti temą į /var/www/ghost/content/themes
aplanką ir pasirinkti ją naudodami Ghost administratoriaus sąsają, esančią adresu https://blog.domain.tld/ghost
.
Naudojate kitą sistemą? „Jekyll“ yra puiki „WordPress“ alternatyva dienoraščių rašymui ar turinio dalijimuisi. Tam nereikia jokių duomenų bazių ir tai labai paprasta
Naudojate kitą sistemą? MODX Revolution yra greita, lanksti, keičiamo dydžio, nemokama ir atviro kodo, įmonės lygio turinio valdymo sistema (TVS), parašyta i.
Naudojate kitą sistemą? Jekyll yra gera „WordPress“ alternatyva. Tam nereikia jokių duomenų bazių ir jis veikia daugeliui pažįstama kalba
Naudojate kitą sistemą? MODX Revolution yra greita, lanksti, keičiamo dydžio, nemokama ir atviro kodo, įmonės lygio turinio valdymo sistema (TVS), parašyta i.
Naudojate kitą sistemą? Fork yra atvirojo kodo TVS, parašyta PHP. „Forks“ šaltinio kodas yra „GitHub“. Šis vadovas parodys, kaip įdiegti Fork CM
Neos yra naujoviška atvirojo kodo turinio valdymo sistema, puikiai tinkanti kuriant ir redaguojant internetinį turinį. Turint omenyje autorius ir redaktorius, Neo
Naudojate kitą sistemą? Ghost yra atvirojo kodo tinklaraščių platforma, kuri populiarėja tarp kūrėjų ir paprastų vartotojų nuo 201 m.
Naudojate kitą sistemą? Fork yra atvirojo kodo TVS, parašyta PHP. „Forks“ šaltinio kodas yra „GitHub“. Šis vadovas parodys, kaip įdiegti Fork CM
Naudojate kitą sistemą? Ghost yra atvirojo kodo tinklaraščių platforma, kuri populiarėja tarp kūrėjų ir paprastų vartotojų nuo 201 m.
Įprastas „Vultr“ virtualaus serverio naudojimas yra „Wordpress“ svetainių talpinimas. Šiame vadove parodyta, kaip automatizuoti virtualaus serverio konfigūravimą nuo nulio
„Ghost“ yra moderni atvirojo kodo publikavimo platforma, sukurta naudojant Node.js su Ember.js administratoriaus klientu, JSON API ir temine API, kurią palaiko Handlebars.js. Ghos
Naudojate kitą sistemą? MODX Revolution yra greita, lanksti, keičiamo dydžio, nemokama ir atviro kodo, įmonės lygio turinio valdymo sistema (TVS), parašyta i.
Naudojate kitą sistemą? SilverStripe yra lanksti ir išplečiama nemokama ir atviro kodo įmonės lygio turinio valdymo sistema (TVS), parašyta PHP. aš
Naudojate kitą sistemą? Fork yra atvirojo kodo TVS, parašyta PHP. „Forks“ šaltinio kodas yra „GitHub“. Šis vadovas parodys, kaip įdiegti Fork CM
Naudojate kitą sistemą? Ghost yra atvirojo kodo tinklaraščių platforma, kuri populiarėja tarp kūrėjų ir paprastų vartotojų nuo pat 2013 m. aš
Naudojate kitą sistemą? Fork yra atvirojo kodo TVS, parašyta PHP. „Forks“ šaltinio kodas yra „GitHub“. Šis vadovas parodys, kaip įdiegti Fork CM
Typesetter yra atvirojo kodo TVS, parašyta PHP, orientuota į naudojimo paprastumą su True WYSIWYG redagavimu ir fiksuotų failų saugykla. Šiame straipsnyje mes įdiegsime
„Vultr“ egzemplioriai yra puikus būdas paleisti „WordPress“ tinklaraštį, tačiau ryškesnis „WordPress“ plėtinys yra „WooCommerce“, el. prekybos papildinys, praplečiantis
Naudojate kitą sistemą? MODX Revolution yra greita, lanksti, keičiamo dydžio, nemokama ir atviro kodo, įmonės lygio turinio valdymo sistema (TVS), parašyta i.
Naudojate kitą sistemą? SilverStripe yra lanksti ir išplečiama nemokama ir atviro kodo įmonės lygio turinio valdymo sistema (TVS), parašyta PHP. aš
Dirbtinis intelektas nėra ateityje, jis čia, dabartyje Šiame tinklaraštyje Skaitykite, kaip dirbtinio intelekto programos paveikė įvairius sektorius.
Ar taip pat esate DDOS atakų auka ir esate sumišęs dėl prevencijos metodų? Perskaitykite šį straipsnį, kad išspręstumėte savo užklausas.
Galbūt girdėjote, kad įsilaužėliai uždirba daug pinigų, bet ar kada susimąstėte, kaip jie uždirba tokius pinigus? padiskutuokime.
Ar norite pamatyti revoliucinius „Google“ išradimus ir kaip šie išradimai pakeitė kiekvieno žmogaus gyvenimą šiandien? Tada skaitykite tinklaraštį, kad pamatytumėte „Google“ išradimus.
Savavaledžių automobilių koncepcija, kuri išvažiuotų į kelius su dirbtinio intelekto pagalba, yra svajonė, kurią jau kurį laiką svajojame. Tačiau nepaisant kelių pažadų, jų niekur nematyti. Skaitykite šį tinklaraštį, kad sužinotumėte daugiau…
Kadangi mokslas sparčiai vystosi, perimdamas daug mūsų pastangų, taip pat didėja rizika, kad pateksime į nepaaiškinamą singuliarumą. Skaitykite, ką mums gali reikšti išskirtinumas.
Duomenų saugojimo metodai gali būti tobulinami nuo pat Duomenų gimimo. Šiame tinklaraštyje, remiantis infografika, aprašoma duomenų saugojimo raida.
Skaitykite tinklaraštį, kad paprasčiausiai sužinotumėte apie skirtingus didžiųjų duomenų architektūros sluoksnius ir jų funkcijas.
Šiame skaitmeniniu būdu pagrįstame pasaulyje išmanieji namų įrenginiai tapo svarbia gyvenimo dalimi. Štai keletas nuostabių išmaniųjų namų įrenginių privalumų, kaip jie daro mūsų gyvenimą vertą gyventi ir paprastesnį.
Neseniai „Apple“ išleido „macOS Catalina 10.15.4“ priedą, skirtą problemoms išspręsti, tačiau atrodo, kad dėl atnaujinimo kyla daugiau problemų, dėl kurių „Mac“ įrenginiai blokuojami. Norėdami sužinoti daugiau, perskaitykite šį straipsnį