Ako nainštalovať MODX Revolution na Ubuntu 16.04 LAMP VPS
Používate iný systém? MODX Revolution je rýchly, flexibilný, škálovateľný, bezplatný a open source podnikový systém správy obsahu (CMS) napísaný i
Ghost je platforma na blogovanie s otvoreným zdrojom, ktorá si od svojho vydania v roku 2013 získava na popularite medzi vývojármi aj bežnými používateľmi. Zameriava sa na obsah a blogovanie. Najatraktívnejšia vec na Ghost je jeho jednoduchý, čistý a citlivý dizajn. Svoje blogové príspevky môžete písať z mobilného telefónu. Obsah pre Ghost je napísaný pomocou jazyka Markdown. Ghost sa perfektne hodí pre jednotlivcov alebo malé skupiny spisovateľov.
V tejto príručke budeme nastaviť a nasadiť bezpečné duch v0.11.x LTS blogu na CentOS 7.3 VPS pomocou Poďme šifrovania , Certbot , Node.js , NPM , Nginx a MySQL .
Skontrolujte verziu CentOS:
cat /etc/centos-release
# CentOS Linux release 7.3.1611 (Core)
Vytvorte nového používateľa bez oprávnenia root :
useradd -c "John Doe" johndoe && passwd johndoe
Urobte z neho superužívateľa tak, že ho pridáte do wheel
skupiny:
usermod -aG wheel johndoe
Prepnúť na nového používateľa:
su - johndoe
Aktualizujte softvér operačného systému:
sudo yum check-update || sudo yum update -y
Nastavte časové pásmo:
timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'
Nainštalujte vývojové nástroje:
sudo yum groupinstall -y 'Development Tools'
Nainštalujte textový editor Vim:
sudo yum install -y vim
V prípade potreby reštartujte systém:
sudo shutdown -r now
NOTE: Before starting this step, ensure that you have set DNS records for your domain.
Na získanie certifikátu SSL/TLS pre náš blog Ghost použijeme Let's Encrypt CA a EFF 's Certbot . Nezabudnite nahradiť všetky inštancie domény názvom vašej domény.blog.domain.tld
Povoľte úložisko 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
Nainštalujte softvér na správu certifikátov Certbot (predtým Let's Encrypt client ) vytvorený v jazyku Python:
sudo yum install -y certbot
Skontrolujte verziu Certbotu:
certbot --version
# certbot 0.14.1
Získajte certifikát RSA pomocou samostatnej metódy overenia (doplnku):
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. . . .
# . . .
Po vykonaní predchádzajúcich krokov bude váš certifikát a súkromný kľúč v /etc/letsencrypt/live/blog.domain.tld
adresári.
NOTE: Ghost currently supports Node.js versions 4.5+ and 6.9+ only.
Ghost je postavený na Node.js. Chystáme sa nainštalovať odporúčanú verziu pre Ghost, ktorá je v6 Boron LTS
v čase písania tohto článku.
Stiahnite si a nainštalujte Node.js v6 LTS:
sudo curl --silent --location https://rpm.nodesource.com/setup_6.x | sudo bash -
sudo yum install -y nodejs
Skontrolujte verziu Node.js a NPM:
node -v && npm -v
# v6.11.2
# 3.10.10
V predvolenom nastavení je Ghost nakonfigurovaný na používanie databázy SQLite, ktorá nevyžaduje žiadnu konfiguráciu.
Alternatívne je možné Ghost použiť aj s databázou MySQL zmenou konfigurácie databázy. Najprv musíte vytvoriť databázu a používateľa, potom môžete zmeniť existujúcu konfiguráciu sqlite3.
Stiahnite si a nainštalujte najnovšiu verziu MySQL (aktuálne 5.7 ) z oficiálneho úložiska MySQL Yum:
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
Skontrolujte verziu MySQL:
mysql --version
# mysql Ver 14.14 Distrib 5.7.19, for Linux (x86_64) using EditLine wrapper
Spustite MySQL Server a skontrolujte jeho stav:
sudo systemctl start mysqld.service
sudo systemctl status mysqld.service
MySQL verzie 5.7 alebo vyššej vygeneruje dočasné náhodné heslo pre root
používateľa MySQL po inštalácii a heslo sa uloží do súboru denníka chýb MySQL, ktorý sa nachádza na adrese /var/log/mysqld.log
. Ak ho chcete odhaliť, použite nasledujúci príkaz:
sudo grep 'temporary password' /var/log/mysqld.log
Spustite mysql_secure_installation
skript, aby ste trochu zabezpečili databázu:
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
Prihláste sa do MySQL ako užívateľ root:
mysql -u root -p
# Enter password:
Vytvorte novú databázu MySQL a používateľa:
create database dbname;
grant all on dbname.* to 'user' identified by 'password';
Ukončite MySQL:
exit
Download and install the latest mainline version of NGINX from the official NGINX repository:
# 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
Verify that it is installed by checking the NGINX version:
sudo nginx -v
# nginx version: nginx/1.13.3
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 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 "";
}
}
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
Zmeňte vlastníctvo /var/www/ghost
adresára:
sudo chown -R ghost:ghost .
Prepnúť na nového ghost
používateľa:
sudo su - ghost
Prejdite do koreňového adresára dokumentu /var/www/ghost
:
cd /var/www/ghost
Nainštalujte Ghost iba s produkčnými závislosťami. Po dokončení sa Ghost nainštaluje:
npm install --production
Konfigurácia Duch zmenou url
, mail
a database
vlastníctvo výrobných objektov dovnútra config.js
súboru:
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
Spustite Ghost v produkčnom prostredí:
npm start --production
Ghost bude teraz bežať. Front-end blogu aj rozhranie správcu sú zabezpečené pomocou HTTPS a funguje aj HTTP/2. Môžete otvoriť prehliadač a navštíviť stránku na adrese https://blog.domain.tld
. Nezabudnite ho nahradiť blog.domain.tld
názvom vašej domény.
Ukončite proces Ghost stlačením CTRL
+ C
a opustite používateľa Ghost späť na používateľa bez oprávnenia root , ktorého ste vytvorili na začiatku:
exit
Ak zatvoríte reláciu terminálu so svojím VPS, váš blog tiež prestane fungovať. To nie je dobré. Aby sme tomu zabránili, použijeme systemd. Náš blog bude fungovať 24 hodín denne, 7 dní v týždni.
Vytvorte ghost.service
súbor systémovej jednotky. Spustite sudo sudo vim /etc/systemd/system/ghost.service
a skopírujte/prilepte obsah nižšie:
[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
Povoliť a spustiť ghost.service
:
sudo systemctl enable ghost.service && sudo systemctl start ghost.service
Skontrolujte ghost.service
stav:
sudo systemctl status ghost.service && sudo systemctl is-enabled ghost.service
Prejdite na https://blog.domain.tld/ghost/
a vytvorte používateľa správcu Ghost. Urobte to čo najskôr!
To je všetko. Teraz máme plne funkčný blog Ghost. Váš server doručuje obsah cez HTTP/2, ak to klient podporuje. Ak chcete zmeniť predvolenú tému Ghost s názvom Casper na vlastnú, môžete si tému stiahnuť a rozbaliť do /var/www/ghost/content/themes
priečinka a vybrať ju cez rozhranie správcu Ghost, ktoré sa nachádza na adrese https://blog.domain.tld/ghost
.
Používate iný systém? MODX Revolution je rýchly, flexibilný, škálovateľný, bezplatný a open source podnikový systém správy obsahu (CMS) napísaný i
Používate iný systém? MODX Revolution je rýchly, flexibilný, škálovateľný, open source podnikový systém správy obsahu (CMS) napísaný v PHP. To i
Úvod WordPress je dominantný redakčný systém na internete. Poháňa všetko od blogov až po zložité webové stránky s dynamickým obsahom
Používate iný systém? Jekyll je dobrou alternatívou k WordPress. Nevyžaduje žiadne databázy a pracuje s jazykom, ktorý mnohí poznajú
Používate iný systém? MODX Revolution je rýchly, flexibilný, škálovateľný, bezplatný a open source podnikový systém správy obsahu (CMS) napísaný i
Používate iný systém? Fork je open source CMS napísaný v PHP. Zdrojový kód Forks je hostený na GitHub. Táto príručka vám ukáže, ako nainštalovať Fork CM
Neos je inovatívny open source systém na správu obsahu, ktorý je skvelý na vytváranie a úpravu online obsahu. S ohľadom na autorov a redaktorov, Neo
Používate iný systém? Ghost je open source platforma na blogovanie, ktorá si od roku 201 získava na popularite medzi vývojármi aj bežnými používateľmi.
Používate iný systém? Fork je open source CMS napísaný v PHP. Zdrojový kód Forks je hostený na GitHub. Táto príručka vám ukáže, ako nainštalovať Fork CM
Používate iný systém? SilverStripe je flexibilný a rozšíriteľný, open source podnikový systém správy obsahu (CMS) napísaný v PHP. Je to ľahké
Používate iný systém? Ghost je open source platforma na blogovanie, ktorá si od roku 201 získava na popularite medzi vývojármi aj bežnými používateľmi.
Bežným používaním virtuálneho servera Vultr je hosťovanie webových stránok Wordpress. Táto príručka vám ukáže, ako automatizovať konfiguráciu virtuálneho servera od začiatku
Ghost je najnovší a najväčší počiatok konkurenčného WordPressu. Vývoj tém sa dá rýchlo a ľahko naučiť, pretože vývojári Ghost sa rozhodli použiť obe th
Ghost je moderná, open source publikačná platforma postavená na Node.js s administračným klientom Ember.js, JSON API a tematickým API založeným na Handlebars.js. Ghos
Používate iný systém? MODX Revolution je rýchly, flexibilný, škálovateľný, bezplatný a open source podnikový systém správy obsahu (CMS) napísaný i
Používate iný systém? Dotclear je veľmi jednoduchý blogovací nástroj. Je to open source a ľahko sa používa. Tento návod prejde inštaláciou na
Používate iný systém? SilverStripe je flexibilný a rozšíriteľný bezplatný a open source podnikový systém správy obsahu (CMS) napísaný v PHP. ja
Používate iný systém? Fork je open source CMS napísaný v PHP. Zdrojový kód Forks je hostený na GitHub. Táto príručka vám ukáže, ako nainštalovať Fork CM
Používate iný systém? Ghost je platforma na blogovanie s otvoreným zdrojom, ktorá si od svojho vydania v roku 2013 získava na popularite medzi vývojármi a bežnými používateľmi. ja
Typesetter je open source CMS napísaný v PHP zameraný na jednoduché použitie s True WYSIWYG editáciou a plochým ukladaním súborov. V tomto článku budeme inštalovať
Umelá inteligencia nie je v budúcnosti, je tu priamo v súčasnosti V tomto blogu si prečítajte, ako aplikácie umelej inteligencie ovplyvnili rôzne sektory.
Ste aj vy obeťou DDOS útokov a máte zmätok ohľadom metód prevencie? Ak chcete vyriešiť svoje otázky, prečítajte si tento článok.
Možno ste už počuli, že hackeri zarábajú veľa peňazí, ale premýšľali ste niekedy nad tým, ako môžu zarábať také peniaze? poďme diskutovať.
Chcete vidieť revolučné vynálezy od Google a ako tieto vynálezy zmenili život každého dnešného človeka? Potom si prečítajte na blogu a pozrite si vynálezy spoločnosti Google.
Koncept samoriadených áut vyraziť na cesty s pomocou umelej inteligencie je snom, ktorý máme už nejaký čas. Ale napriek niekoľkým prísľubom ich nikde nevidno. Prečítajte si tento blog a dozviete sa viac…
Ako sa veda vyvíja rýchlym tempom a preberá veľa nášho úsilia, zvyšuje sa aj riziko, že sa vystavíme nevysvetliteľnej singularite. Prečítajte si, čo pre nás môže znamenať singularita.
Spôsoby ukladania údajov sa môžu vyvíjať už od zrodu údajov. Tento blog sa zaoberá vývojom ukladania údajov na základe infografiky.
Prečítajte si blog, aby ste čo najjednoduchším spôsobom spoznali rôzne vrstvy architektúry veľkých dát a ich funkcie.
V tomto digitálnom svete sa inteligentné domáce zariadenia stali kľúčovou súčasťou života. Tu je niekoľko úžasných výhod inteligentných domácich zariadení o tom, ako robia náš život, ktorý stojí za to žiť, a ktorý zjednodušujú.
Spoločnosť Apple nedávno vydala doplnkovú aktualizáciu macOS Catalina 10.15.4 na opravu problémov, ale zdá sa, že táto aktualizácia spôsobuje ďalšie problémy, ktoré vedú k blokovaniu počítačov Mac. Prečítajte si tento článok a dozviete sa viac