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 mes nustatysime ir įdiegsime saugų Ghost v0.11.x LTS tinklaraštį CentOS 7.3 VPS naudodami Let's Encrypt , Certbot , Node.js , NPM , NGINX ir MySQL .
Patikrinkite CentOS versiją:
cat /etc/centos-release
# CentOS Linux release 7.3.1611 (Core)
Sukurkite naują ne root naudotoją:
useradd -c "John Doe" johndoe && passwd johndoe
Padarykite jį supervartotoju, įtraukdami jį į wheel
grupę:
usermod -aG wheel johndoe
Perjungti į naują vartotoją:
su - johndoe
Atnaujinkite operacinės sistemos programinę įrangą:
sudo yum check-update || sudo yum update -y
Nustatykite laiko juostą:
timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'
Įdiekite kūrimo įrankius:
sudo yum groupinstall -y 'Development Tools'
Įdiekite Vim teksto rengyklę:
sudo yum install -y vim
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.
Įgalinkite „Extra Packages for Enterprise Linux“ (EPEL) saugyklą:
# 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
Įdiekite Certbot (anksčiau Let's Encrypt client ) sertifikatų valdymo programinę įrangą, sukurtą naudojant Python:
sudo yum install -y certbot
Patikrinkite Certbot versiją:
certbot --version
# certbot 0.14.1
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] --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. . . .
# . . .
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:
sudo curl --silent --location https://rpm.nodesource.com/setup_6.x | sudo bash -
sudo yum 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 naujausią MySQL versiją (šiuo metu 5.7 ) iš oficialios MySQL Yum saugyklos:
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
Patikrinkite MySQL versiją:
mysql --version
# mysql Ver 14.14 Distrib 5.7.19, for Linux (x86_64) using EditLine wrapper
Paleiskite „MySQL Server“ ir patikrinkite jo būseną:
sudo systemctl start mysqld.service
sudo systemctl status mysqld.service
MySQL versija 5.7 arba naujesnė versija sugeneruoja laikiną atsitiktinį slaptažodį MySQL root
vartotojui po įdiegimo ir slaptažodis išsaugomas MySQL klaidų žurnalo faile, esančiame adresu /var/log/mysqld.log
. Norėdami jį atskleisti, naudokite šią komandą:
sudo grep 'temporary password' /var/log/mysqld.log
Paleiskite mysql_secure_installation
scenarijų, kad šiek tiek apsaugotumėte duomenų bazę:
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
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:
# 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
Patikrinkite, ar jis įdiegtas, patikrinę NGINX versiją:
sudo nginx -v
# nginx version: nginx/1.13.3
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 generuokite naujus Diffie-Hellman ( DH ) parametrus:
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;
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 "";
}
}
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.
Sukurti dokumento šakninį katalogą:
sudo mkdir -p /var/www/
Sukurkite naują vaiduoklio vartotoją:
sudo useradd -c 'Ghost application' 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
Pereiti į naują vaiduoklio 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
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 į ne root naudotoją, kurį sukūrėte pradžioje:
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
sistemos vieneto failą. Paleiskite sudo sudo vim /etc/systemd/system/ghost.service
ir nukopijuokite / įklijuokite toliau pateiktą 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=/bin/npm start --production
ExecStop=/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į