So installieren Sie MODX Revolution auf einem CentOS 7 LAMP VPS
Verwenden Sie ein anderes System? MODX Revolution ist ein schnelles, flexibles, skalierbares, kostenloses und Open-Source-Content-Management-System (CMS) für Unternehmen, das i
Ghost ist eine Open-Source-Blogging-Plattform, die seit ihrer Veröffentlichung im Jahr 2013 bei Entwicklern und normalen Benutzern immer beliebter wird. Der Fokus liegt auf Inhalten und Bloggen. Das Attraktivste an Ghost ist das einfache, saubere und reaktionsschnelle Design. Sie können Ihre Blog-Beiträge von einem Mobiltelefon aus schreiben. Inhalte für Ghost werden in der Markdown-Sprache geschrieben. Ghost eignet sich perfekt für Einzelpersonen oder kleine Gruppen von Schriftstellern.
In diesem Handbuch werden wir ein sicheres Ghost v0.11.x LTS- Blog auf einem Ubuntu 16.04 LTS VPS mit Let's Encrypt , Certbot , Node.js , NPM , NGINX und MySQL einrichten und bereitstellen .
Erstellen Sie ein neues Nicht-Root- Benutzerkonto:
adduser johndoe --gecos "John Doe"
Machen Sie es zum Superuser, indem Sie es der sudo
Gruppe hinzufügen :
usermod -aG sudo johndoe
Zum neuen Benutzer wechseln:
su - johndoe
Aktualisieren Sie die Software Ihres Betriebssystems:
sudo apt update && sudo apt upgrade -y
Richten Sie die Zeitzone ein:
sudo dpkg-reconfigure tzdata
Installieren Sie die erforderlichen Tools:
sudo apt install -y build-essential zip unzip vim nano openssl wget curl git apt-transport-https
Starten Sie das System bei Bedarf neu:
sudo shutdown -r now
ANMERKUNG : Bevor Sie mit diesem Schritt beginnen, stellen Sie sicher, dass Sie DNS- Einträge für Ihre Domain festgelegt haben.
Wir werden Let's Encrypt CA und den Certbot-Client von EFF verwenden, um das SSL / TLS- Zertifikat für unser Ghost-Blog zu erhalten. Vergessen Sie nicht, alle Instanzen von blog.domain.tld
durch Ihren Domainnamen zu ersetzen .
Installieren Sie die mit Python erstellte Zertifikatsverwaltungssoftware Certbot (ehemals Let's Encrypt Client ):
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
Überprüfen Sie die Certbot-Version:
certbot --version
# certbot 0.14.2
Erhalten Sie das RSA- Zertifikat mithilfe der eigenständigen Authentifizierungsmethode (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. . . .
# . . .
Nachdem Sie die vorherigen Schritte ausgeführt haben, befinden sich Ihr Zertifikat und Ihr privater Schlüssel im /etc/letsencrypt/live/blog.domain.tld
Verzeichnis.
HINWEIS : Ghost unterstützt derzeit nur die Node.js-Versionen 4.5+ und 6.9+ .
Ghost basiert auf Node.js. Wir werden die empfohlene Version für Ghost installieren, die v6 Boron LTS
zum Zeitpunkt dieses Schreibens verfügbar ist .
Laden Sie Node.js v6 LTS herunter und installieren Sie es:
curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
sudo apt install -y nodejs
Überprüfen Sie die Node.js- und NPM-Version:
node -v && npm -v
# v6.11.1
# 3.10.10
Standardmäßig ist Ghost für die Verwendung einer SQLite-Datenbank konfiguriert, für die keine Konfiguration erforderlich ist.
Alternativ kann Ghost auch mit einer MySQL-Datenbank verwendet werden, indem die Datenbankkonfiguration geändert wird. Sie müssen zuerst eine Datenbank und einen Benutzer erstellen. Anschließend können Sie die vorhandene sqlite3-Konfiguration ändern.
Laden Sie MySQL herunter und installieren Sie es:
sudo apt install -y mysql-server
HINWEIS : Während der Installation werden Sie aufgefordert, das MySQL-Benutzerkennwort "root" einzugeben. Sie sollten ein sicheres Kennwort für den MySQL-Benutzer "root" festlegen.
Überprüfen Sie die MySQL-Version:
mysql --version
# mysql Ver 14.14 Distrib 5.7.18, for Linux (x86_64) using EditLine wrapper
Überprüfen Sie, ob der MySQL-Daemon gestartet wurde und ausgeführt wird:
sudo systemctl status mysql.service
sudo systemctl is-enabled mysql.service
Führen Sie das mysql_secure_installation
Skript aus, um Ihre Datenbank ein wenig zu sichern:
sudo mysql_secure_installation
Melden Sie sich als Root an MySQL an:
mysql -u root -p
# Enter password:
Erstellen Sie eine neue MySQL-Datenbank und einen neuen Benutzer:
create database dbname;
grant all on dbname.* to 'user' identified by 'password';
Beenden Sie MySQL:
exit
Laden Sie die neueste Hauptversion von NGINX aus dem offiziellen NGINX-Repository herunter und installieren Sie sie :
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
Stellen Sie sicher, dass es installiert ist, indem Sie die NGINX-Version überprüfen:
sudo nginx -v
# nginx version: nginx/1.13.3
Status prüfen, NGINX-Dienst (Daemon) aktivieren und starten:
sudo systemctl status nginx.service # inactive (dead)
sudo systemctl enable nginx.service
sudo systemctl start nginx.service
Erstellen Sie ein /etc/nginx/ssl
Verzeichnis und generieren Sie eine neue Diffie-Hellman ( DH ) -Gruppe:
sudo mkdir -p /etc/nginx/ssl
sudo openssl dhparam -out /etc/nginx/ssl/dhparams-2048.pem 2048
Protokollverzeichnis für blog.domain.tld
virtuellen Host erstellen :
sudo mkdir -p /var/log/nginx/blog.domain.tld
Konfigurieren Sie NGINX als Reverse-Proxy-Server für HTTP ( S ):
sudo vim /etc/nginx/conf.d/ghost.conf
Fügen Sie Folgendes ein /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 "";
}
}
Speichern und testen Sie die NGINX-Konfiguration auf Syntaxfehler:
sudo nginx -t
Laden Sie die NGINX-Konfiguration neu:
sudo systemctl reload nginx.service
ANMERKUNG : Wenn Sie mehrere Ghost-Blogs auf demselben VPS hosten möchten, muss jede Ghost-Instanz auf einem separaten Port ausgeführt werden.
Dokumentstammverzeichnis erstellen:
sudo mkdir -p /var/www/
Erstellen Sie einen neuen ghost
Benutzer:
sudo adduser --shell /bin/bash --gecos 'Ghost application' --disabled-password ghost
Laden Sie Ghost herunter:
curl -L https://github.com/TryGhost/Ghost/releases/download/0.11.10/Ghost-0.11.10.zip -o ghost.zip
Entpacken Sie Ghost in das /var/www/ghost
Verzeichnis (empfohlener Installationsort):
sudo unzip -uo ghost.zip -d /var/www/ghost
rm ghost.zip
Wechseln Sie in das neue ghost
Verzeichnis:
cd /var/www/ghost
Ändern Sie den Besitz des /var/www/ghost
Verzeichnisses:
sudo chown -R ghost:ghost .
Zum neuen ghost
Benutzer wechseln:
sudo su - ghost
Navigieren Sie zum Dokumentstamm /var/www/ghost
:
cd /var/www/ghost
Installieren Sie Ghost nur mit Produktionsabhängigkeiten. Wenn dies abgeschlossen ist, wird Ghost installiert:
npm install --production
Konfigurieren Geist durch Ändern url
, mail
und database
Eigenschaft production
Objekt in der config.js
Datei:
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
},
// . . .
// . . .
HINWEIS : Sie sollten auch
Starten Sie Ghost in der Produktionsumgebung:
npm start --production
Ghost wird jetzt ausgeführt. Sowohl das Blog-Front-End als auch die Admin-Oberfläche sind mit HTTPS gesichert und HTTP / 2 funktioniert ebenfalls. Sie können Ihren Browser öffnen und die Website unter besuchen https://blog.domain.tld
. Vergessen Sie nicht, durch blog.domain.tld
Ihren Domainnamen zu ersetzen .
Beenden Sie den Ghost-Prozess, indem Sie CTRL
+ drücken C
und vom Ghost-Benutzer zum Root-Benutzer zurückkehren:
exit
Wenn Sie Ihre Terminalsitzung mit Ihrem VPS schließen, wird auch Ihr Blog ausgefallen. Das ist nicht gut. Um dies zu vermeiden, werden wir systemd verwenden. Es wird unseren Blog rund um die Uhr auf dem Laufenden halten.
Erstellen Sie eine ghost.service
systemd-Einheitendatei. Führen Sie sudo vim /etc/systemd/system/ghost.service
den folgenden Inhalt aus und kopieren Sie ihn / fügen Sie ihn ein:
[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
Aktivieren und starten ghost.service
:
sudo systemctl enable ghost.service && sudo systemctl start ghost.service
ghost.service
Status prüfen :
sudo systemctl status ghost.service && sudo systemctl is-enabled ghost.service
Navigieren Sie zu https://blog.domain.tld/ghost/
einem Ghost-Administrator und erstellen Sie ihn. Mach das so schnell wie möglich!
Das ist es. Wir haben jetzt einen voll funktionsfähigen Ghost-Blog. Ihr Server liefert Inhalte über HTTP / 2, wenn dies vom Client unterstützt wird. Wenn Sie das Standard-Ghost- Design mit dem Namen Casper in ein benutzerdefiniertes ändern möchten , können Sie das Design einfach herunterladen, in den /var/www/ghost/content/themes
Ordner entpacken und über die Ghost-Administrationsoberfläche unter auswählen https://blog.domain.tld/ghost
.
Verwenden Sie ein anderes System? MODX Revolution ist ein schnelles, flexibles, skalierbares, kostenloses und Open-Source-Content-Management-System (CMS) für Unternehmen, das i
Verwenden Sie ein anderes System? MODX Revolution ist ein schnelles, flexibles, skalierbares, kostenloses und Open-Source-Content-Management-System (CMS) für Unternehmen, das i
Verwenden Sie ein anderes System? Ghost ist eine Open-Source-Blogging-Plattform, die seit ihrer Veröffentlichung im Jahr 2013 bei Entwicklern und normalen Benutzern immer beliebter wird. ich
Verwenden Sie ein anderes System? Ghost ist eine Open-Source-Blogging-Plattform, die seit 201 bei Entwicklern und normalen Benutzern immer beliebter wird
Vultr-Instanzen sind eine großartige Möglichkeit, Ihr WordPress-Blog auszuführen. Eine bemerkenswertere Erweiterung von WordPress ist jedoch WooCommerce, ein E-Commerce-Plugin, das th erweitert
Ghost ist der neueste und beste Emporkömmling, der es mit WordPress aufnehmen kann. Die Theme-Entwicklung ist schnell und einfach zu erlernen, da die Ghost-Entwickler beschlossen haben, beide zu verwenden
Einführung Je näher Sie Ihre OpenBSD-Installation an der Standardeinstellung und ohne so viele hinzugefügte Pakete halten, desto sicherer ist sie. Während die mehr Commo
Einführung WordPress ist das dominierende Content-Management-System im Internet. Es unterstützt alles von Blogs bis hin zu komplexen Websites mit dynamischen Inhalten
Ghost ist eine moderne Open-Source-Publishing-Plattform, die auf Node.js mit einem Ember.js-Admin-Client, einer JSON-API und einer von Handlebars.js unterstützten Design-API basiert. Ghos
Verwenden Sie ein anderes System? Ghost ist eine Open-Source-Blogging-Plattform, die seit 201 bei Entwicklern und normalen Benutzern immer beliebter wird
Verwenden Sie ein anderes System? MODX Revolution ist ein schnelles, flexibles, skalierbares, kostenloses und Open-Source-Content-Management-System (CMS) für Unternehmen, das i
Verwenden Sie ein anderes System? Dotclear ist eine sehr einfache Blogging-Engine. Es ist Open Source und einfach zu bedienen. Dieses Tutorial wird die Installation am durchlaufen
Eine übliche Verwendung eines virtuellen Vultr-Servers ist das Hosten von Wordpress-Websites. In diesem Handbuch erfahren Sie, wie Sie die Konfiguration eines virtuellen Servers über scratc automatisieren
Verwenden Sie ein anderes System? MODX Revolution ist ein schnelles, flexibles, skalierbares, kostenloses und Open-Source-Content-Management-System (CMS) für Unternehmen, das i
Verwenden Sie ein anderes System? Ghost ist eine Open-Source-Blogging-Plattform, die seit 201 bei Entwicklern und normalen Benutzern immer beliebter wird
Verwenden Sie ein anderes System? Fork ist ein Open-Source-CMS, das in PHP geschrieben wurde. Der Forks-Quellcode wird auf GitHub gehostet. Diese Anleitung zeigt Ihnen, wie Sie Fork CM installieren
Verwenden Sie ein anderes System? Dotclear ist eine sehr einfache Blog-Engine, die auf PHP basiert. In diesem Tutorial werden wir Dotclear unter Ubunt installieren
Verwenden Sie ein anderes System? Fork ist ein Open-Source-CMS, das in PHP geschrieben wurde. Der Forks-Quellcode wird auf GitHub gehostet. Diese Anleitung zeigt Ihnen, wie Sie Fork CM installieren
Verwenden Sie ein anderes System? Ghost ist eine Open-Source-Blogging-Plattform, die seit ihrer Veröffentlichung im Jahr 2013 bei Entwicklern und normalen Benutzern immer beliebter wird. ich
Ransomware-Angriffe nehmen zu, aber kann KI helfen, den neuesten Computervirus zu bekämpfen? Ist KI die Antwort? Lesen Sie hier, ob KI boone oder bane ist
ReactOS, ein quelloffenes und kostenloses Betriebssystem, ist hier mit der neuesten Version. Kann es den Anforderungen moderner Windows-Benutzer genügen und Microsoft zu Fall bringen? Lassen Sie uns mehr über dieses alte, aber neuere Betriebssystem erfahren.
Whatsapp hat endlich die Desktop-App für Mac- und Windows-Benutzer auf den Markt gebracht. Jetzt können Sie ganz einfach von Windows oder Mac auf WhatsApp zugreifen. Verfügbar für Windows 8+ und Mac OS 10.9+
Lesen Sie dies, um zu erfahren, wie Künstliche Intelligenz bei kleinen Unternehmen beliebt wird und wie sie die Wahrscheinlichkeit erhöht, sie wachsen zu lassen und ihren Konkurrenten einen Vorsprung zu verschaffen.
Vor kurzem hat Apple macOS Catalina 10.15.4 als Ergänzungsupdate veröffentlicht, um Probleme zu beheben, aber es scheint, dass das Update mehr Probleme verursacht, die zum Bricking von Mac-Computern führen. Lesen Sie diesen Artikel, um mehr zu erfahren
13 Tools zur kommerziellen Datenextraktion von Big Data
Unser Computer speichert alle Daten in einer organisierten Weise, die als Journaling-Dateisystem bekannt ist. Es ist eine effiziente Methode, die es dem Computer ermöglicht, Dateien zu suchen und anzuzeigen, sobald Sie auf die Suche klicken.https://wethegeek.com/?p=94116&preview=true
Da sich die Wissenschaft schnell weiterentwickelt und einen Großteil unserer Bemühungen übernimmt, steigt auch das Risiko, uns einer unerklärlichen Singularität auszusetzen. Lesen Sie, was Singularität für uns bedeuten könnte.
Ein Einblick in 26 Big-Data-Analysetechniken: Teil 1
KI im Gesundheitswesen hat in den letzten Jahrzehnten große Fortschritte gemacht. Somit wächst die Zukunft der KI im Gesundheitswesen immer noch von Tag zu Tag.