Instalați WordPress pe OpenBSD 6.2
Introducere WordPress este sistemul dominant de gestionare a conținutului pe internet. Acesta alimentează totul, de la bloguri la site-uri web complexe, cu conținut dinamic
Ghost este o platformă de bloguri open source, care a câștigat popularitate în rândul dezvoltatorilor și utilizatorilor obișnuiți de la lansarea din 2013. Pune accent pe conținut și pe bloguri. Cel mai atractiv lucru despre Ghost este designul său simplu, curat și sensibil. Vă puteți scrie postările de pe blog de pe un telefon mobil. Conținutul pentru Ghost este scris folosind limbajul Markdown. Fantoma este potrivită pentru persoane sau grupuri mici de scriitori.
În acest ghid vom configura și disloca un blog LTS sigur Ghost v0.11.x pe un VPS Ubuntu 16.04 LTS folosind Let's Encrypt , Certbot , Node.js , NPM , NGINX și MySQL .
Creați un nou cont de utilizator non-root :
adduser johndoe --gecos "John Doe"
Faceți-l superuser adăugându-l în sudo
grup:
usermod -aG sudo johndoe
Treceți la un utilizator nou:
su - johndoe
Actualizați software-ul sistemului dvs. de operare:
sudo apt update && sudo apt upgrade -y
Configurați fusul orar:
sudo dpkg-reconfigure tzdata
Instalați instrumentele necesare:
sudo apt install -y build-essential zip unzip vim nano openssl wget curl git apt-transport-https
Reporniți sistemul dacă este necesar:
sudo shutdown -r now
NOTĂ : Înainte de a începe acest pas, asigurați-vă că ați setat înregistrări DNS pentru domeniul dvs.
Vom folosi Criptați Să CA și FEP e client Certbot pentru a obține SSL / TLS certificat pentru blog - ul nostru fantomă. Nu uitați să înlocuiți toate instanțele blog.domain.tld
cu numele de domeniu.
Instalați software-ul de gestionare a certificatelor Certbot (fostul client Let's Encrypt ) realizat cu Python:
sudo apt update
sudo apt install -y software-properties-common
sudo add-apt-repository -y ppa:certbot/certbot
sudo apt update
sudo apt install -y certbot
Verificați versiunea Certbot:
certbot --version
# certbot 0.14.2
Obțineți certificatul RSA folosind metoda de autentificare autonomă (plugin):
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. . . .
# . . .
După parcurgerea etapelor anterioare, certificatul și cheia privată se vor afla în /etc/letsencrypt/live/blog.domain.tld
director.
NOTĂ : În prezent, Ghost acceptă numai versiunile Node.js 4.5+ și 6.9+ .
Ghost este construit pe Node.js. Vom instala versiunea recomandată pentru Ghost, care este v6 Boron LTS
la momentul acestei scrieri.
Descărcați și instalați Node.js v6 LTS:
curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
sudo apt install -y nodejs
Verificați versiunea Node.js și NPM:
node -v && npm -v
# v6.11.1
# 3.10.10
În mod implicit, Ghost vine configurat pentru a utiliza o bază de date SQLite, care nu necesită nicio configurație.
Alternativ, Ghost poate fi utilizat și cu o bază de date MySQL, schimbând configurația bazei de date. Mai întâi trebuie să creați o bază de date și un utilizator, puteți apoi să modificați configurația sqlite3 existentă.
Descărcați și instalați MySQL:
sudo apt install -y mysql-server
NOTĂ : În timpul instalării, vi se va solicita parola de utilizator „root” MySQL. Ar trebui să setați o parolă sigură pentru utilizatorul „root” MySQL.
Verificați versiunea MySQL:
mysql --version
# mysql Ver 14.14 Distrib 5.7.18, for Linux (x86_64) using EditLine wrapper
Verificați dacă demonul MySQL a început și funcționează:
sudo systemctl status mysql.service
sudo systemctl is-enabled mysql.service
Rulați mysql_secure_installation
scriptul pentru a vă securiza un pic baza de date:
sudo mysql_secure_installation
Conectați-vă la MySQL ca utilizator root:
mysql -u root -p
# Enter password:
Creați o nouă bază de date MySQL și utilizator:
create database dbname;
grant all on dbname.* to 'user' identified by 'password';
Ieșiți de MySQL:
exit
Descărcați și instalați cea mai recentă versiune principală a NGINX din depozitul oficial 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/ubuntu/ `lsb_release -sc` nginx \ndeb-src https://nginx.org/packages/mainline/ubuntu/ `lsb_release -sc` nginx \n" >> /etc/apt/sources.list.d/nginx_mainline.list
exit
sudo apt update
sudo apt install -y nginx nginx-module-geoip nginx-module-image-filter nginx-module-njs nginx-module-perl nginx-module-xslt nginx-nr-agent
Verificați dacă este instalat verificând versiunea NGINX:
sudo nginx -v
# nginx version: nginx/1.13.3
Verificați starea, activați și porniți serviciul NGINX (daemon):
sudo systemctl status nginx.service # inactive (dead)
sudo systemctl enable nginx.service
sudo systemctl start nginx.service
Creați /etc/nginx/ssl
director și generați un nou grup Diffie-Hellman ( DH ):
sudo mkdir -p /etc/nginx/ssl
sudo openssl dhparam -out /etc/nginx/ssl/dhparams-2048.pem 2048
Creare director de jurnal pentru blog.domain.tld
gazdă virtuală:
sudo mkdir -p /var/log/nginx/blog.domain.tld
Configurați NGINX ca server proxy invers HTTP ( S ):
sudo vim /etc/nginx/conf.d/ghost.conf
Inserați următoarele î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;
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 "";
}
}
Salvați și testați configurația NGINX pentru erori de sintaxă:
sudo nginx -t
Reîncărcați configurația NGINX:
sudo systemctl reload nginx.service
NOTĂ : Dacă doriți să găzduiți mai multe bloguri Ghost pe același VPS, fiecare instanță Ghost trebuie să fie executată pe un port separat.
Creați directorul rădăcină document:
sudo mkdir -p /var/www/
Creați un ghost
utilizator nou :
sudo adduser --shell /bin/bash --gecos 'Ghost application' --disabled-password ghost
Descarcă Ghost:
curl -L https://github.com/TryGhost/Ghost/releases/download/0.11.10/Ghost-0.11.10.zip -o ghost.zip
Decuplați Ghost în /var/www/ghost
director (locația de instalare recomandată):
sudo unzip -uo ghost.zip -d /var/www/ghost
rm ghost.zip
Accesați noul ghost
director:
cd /var/www/ghost
Modificați proprietatea /var/www/ghost
directorului:
sudo chown -R ghost:ghost .
Treceți la un ghost
utilizator nou :
sudo su - ghost
Navigați la documentul rădăcină /var/www/ghost
:
cd /var/www/ghost
Instalați Ghost doar cu dependențe de producție. Când se finalizează acest lucru, Ghost este instalat:
npm install --production
Configurare fantomă prin schimbarea url
, mail
și database
proprietatea în production
interiorul obiectului de config.js
fișier:
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
},
// . . .
// . . .
NOTĂ : Ar trebui să configurați
Start Ghost în mediul de producție:
npm start --production
Ghostul va alerga acum. Atât blogul front-end cât și interfața de administrare sunt securizate cu HTTPS și HTTP / 2 funcționează de asemenea. Puteți deschide browserul și vizita site-ul la https://blog.domain.tld
. Nu uitați să înlocuiți blog.domain.tld
cu numele dvs. de domeniu.
Opriți procesul Ghost apăsând CTRL
+ C
și ieșiți de la un utilizator fantom înapoi la un utilizator root:
exit
Dacă închideți sesiunea de terminal cu VPS, blogul dvs. va coborî și el. Asta nu e bine. Pentru a evita acest lucru, vom folosi systemd. Ne va menține blogul la zi 24/7.
Creați ghost.service
fișierul de unitate systemd. Rulați sudo vim /etc/systemd/system/ghost.service
și copiați / lipiți conținutul de mai jos:
[Unit]
Description=Ghost - the professional publishing platform
Documentation=https://docs.ghost.org/v0.11.9
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
Activați și începeți ghost.service
:
sudo systemctl enable ghost.service && sudo systemctl start ghost.service
Verifică ghost.service
starea:
sudo systemctl status ghost.service && sudo systemctl is-enabled ghost.service
Navigați la https://blog.domain.tld/ghost/
și creați un utilizator admin Ghost. Faceți acest lucru cât mai curând!
Asta e. Avem acum un blog Ghost complet funcțional. Serverul dvs. livrează conținut prin HTTP / 2 atunci când este acceptat de client. Dacă doriți să schimbați tema Ghost implicită numită Casper într-una personalizată, puteți doar să descărcați și să dezarhivați tema în /var/www/ghost/content/themes
folder și să o selectați prin interfața de administrare Ghost, localizată la https://blog.domain.tld/ghost
.
Introducere WordPress este sistemul dominant de gestionare a conținutului pe internet. Acesta alimentează totul, de la bloguri la site-uri web complexe, cu conținut dinamic
Ghost este o platformă de publicare modernă, open source, construită pe Node.js, cu un client de administrare Ember.js, o API JSON și o API temă alimentată de Handlebars.js. GHOS
Folosind un sistem diferit? Ghost este o platformă de bloguri open source care câștigă popularitate în rândul dezvoltatorilor și utilizatorilor obișnuiți din lansarea din 2013. eu
Folosind un sistem diferit? Dotclear este un motor de bloguri foarte simplu. Este open-source și ușor de utilizat. Acest tutorial va parcurge instalarea la
Ghost este cel mai recent și cel mai mare upstart pentru a rivaliza cu WordPress. Dezvoltarea tematică este rapidă și ușor de învățat, deoarece dezvoltatorii Ghost au decis să utilizeze ambele aplicații
Introducere Cu cât vă mențineți mai aproape instalarea OpenBSD la valoarea implicită și fără tot atâtea pachete adăugate, cu atât va fi mai sigur. În timp ce mai comun
Folosind un sistem diferit? MODX Revolution este un sistem de administrare a conținutului (CMS) rapid, flexibil, scalabil, open source, de calitate a întreprinderii, scris în PHP. Este
Neos este un sistem inovativ de gestionare a conținutului open source, care este excelent pentru crearea și editarea de conținut online. Cu autori și editori în minte, Neo
Folosind un sistem diferit? MODX Revolution este un sistem de gestionare a conținutului (CMS) de calitate întreprindere, rapid, flexibil, scalabil, liber și open source
Folosind un sistem diferit? Fork este un CMS open source scris în PHP. Codul sursă al furcilor este găzduit pe GitHub. Acest ghid vă va arăta cum să instalați Fork CM
Typesetter este un CMS open source scris în PHP axat pe ușurința de utilizare cu editarea True WYSIWYG și stocarea fișierului plat. În acest articol, vom fi installin
Folosind un sistem diferit? MODX Revolution este un sistem de gestionare a conținutului (CMS) de calitate întreprindere, rapid, flexibil, scalabil, liber și open source
Folosind un sistem diferit? Jekyll este o alternativă bună la WordPress. Nu are nevoie de baze de date și funcționează cu un limbaj pe care mulți îl cunosc
Folosind un sistem diferit? Ghost este o platformă de bloguri de tip open source, care a câștigat popularitate în rândul dezvoltatorilor și utilizatorilor obișnuiți încă din 201
Folosind un sistem diferit? Fork este un CMS open source scris în PHP. Codul sursă al furcilor este găzduit pe GitHub. Acest ghid vă va arăta cum să instalați Fork CM
Folosind un sistem diferit? Ghost este o platformă de bloguri open source care câștigă popularitate în rândul dezvoltatorilor și utilizatorilor obișnuiți din lansarea din 2013. eu
Folosind un sistem diferit? Fork este un CMS open source scris în PHP. Codul sursă al furcilor este găzduit pe GitHub. Acest ghid vă va arăta cum să instalați Fork CM
Folosind un sistem diferit? Ghost este o platformă de bloguri de tip open source, care a câștigat popularitate în rândul dezvoltatorilor și utilizatorilor obișnuiți încă din 201
Folosind un sistem diferit? MODX Revolution este un sistem de gestionare a conținutului (CMS) de calitate întreprindere, rapid, flexibil, scalabil, liber și open source
O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1
Mulți dintre voi cunoașteți Switch care va fi lansat în martie 2017 și noile sale funcții. Pentru cei care nu știu, am pregătit o listă de funcții care fac din „Switch” un „gadget obligatoriu”.
Aștepți ca giganții tehnologiei să-și îndeplinească promisiunile? vezi ce a ramas nelivrat.
Citiți blogul pentru a cunoaște diferitele straturi din Arhitectura Big Data și funcționalitățile acestora în cel mai simplu mod.
Citiți asta pentru a afla cum devine populară inteligența artificială în rândul companiilor la scară mică și cum crește probabilitățile de a le face să crească și de a le oferi concurenților avantaje.
CAPTCHA a devenit destul de dificil de rezolvat pentru utilizatori în ultimii ani. Va fi capabil să rămână eficient în detectarea spam-ului și a botului în viitor?
Pe măsură ce Știința Evoluează într-un ritm rapid, preluând multe dintre eforturile noastre, crește și riscurile de a ne supune unei Singularități inexplicabile. Citiți, ce ar putea însemna singularitatea pentru noi.
Ce este telemedicina, îngrijirea medicală la distanță și impactul acesteia asupra generației viitoare? Este un loc bun sau nu în situația de pandemie? Citiți blogul pentru a găsi o vedere!
Poate ați auzit că hackerii câștigă mulți bani, dar v-ați întrebat vreodată cum câștigă acești bani? sa discutam.
Recent, Apple a lansat macOS Catalina 10.15.4 o actualizare suplimentară pentru a remedia problemele, dar se pare că actualizarea provoacă mai multe probleme care duc la blocarea mașinilor Mac. Citiți acest articol pentru a afla mai multe