Installazione di Fork CMS su Fedora 28
Usi un sistema diverso? Fork è un CMS open source scritto in PHP. Il codice sorgente di Forks è ospitato su GitHub. Questa guida ti mostrerà come installare Fork CM
Ghost è una piattaforma di blog open source che sta guadagnando popolarità tra gli sviluppatori e gli utenti ordinari dalla sua versione del 2013. Si concentra su contenuti e blog. La cosa più interessante di Ghost è il suo design semplice, pulito e reattivo. Puoi scrivere i post del tuo blog da un telefono cellulare. Il contenuto per Ghost è scritto usando il linguaggio Markdown. Ghost è perfetto per singoli o piccoli gruppi di scrittori.
In questa guida installeremo e implementeremo un blog LTS Ghost v0.11.x sicuro su un VPS CentOS 7.3 usando Let's Encrypt , Certbot , Node.js , NPM , NGINX e MySQL .
Controlla la versione di CentOS:
cat /etc/centos-release
# CentOS Linux release 7.3.1611 (Core)
Crea un nuovo utente non root :
useradd -c "John Doe" johndoe && passwd johndoe
Rendilo superutente aggiungendolo al wheel
gruppo:
usermod -aG wheel johndoe
Passa al nuovo utente:
su - johndoe
Aggiorna il software del tuo sistema operativo:
sudo yum check-update || sudo yum update -y
Imposta il fuso orario:
timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'
Installa strumenti di sviluppo:
sudo yum groupinstall -y 'Development Tools'
Installa l'editor di testo Vim:
sudo yum install -y vim
Riavviare il sistema se necessario:
sudo shutdown -r now
NOTA : prima di iniziare questo passaggio, assicurarsi di aver impostato i record DNS per il proprio dominio.
Utilizzeremo Let's Encrypt CA e il client Certbot di EFF per ottenere il certificato SSL / TLS per il nostro blog Ghost. Non dimenticare di sostituire tutte le istanze di blog.domain.tld
con il tuo nome di dominio.
Abilitare il repository Pacchetti extra per 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
Installa il software di gestione certificati Certbot (precedentemente Let's Encrypt client ) realizzato con Python:
sudo yum install -y certbot
Controlla la versione di Certbot:
certbot --version
# certbot 0.14.1
Ottieni il certificato RSA usando il metodo di autenticazione autonomo (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. . . .
# . . .
Dopo aver eseguito i passaggi precedenti, il certificato e la chiave privata saranno nella /etc/letsencrypt/live/blog.domain.tld
directory.
NOTA : Ghost supporta attualmente solo le versioni 4.5+ e 6.9+ di Node.js.
Ghost è basato su Node.js. Installeremo la versione consigliata per Ghost che è v6 Boron LTS
al momento in cui scrivo.
Scarica e installa Node.js v6 LTS:
sudo curl --silent --location https://rpm.nodesource.com/setup_6.x | sudo bash -
sudo yum install -y nodejs
Controlla la versione di Node.js e NPM:
node -v && npm -v
# v6.11.2
# 3.10.10
Per impostazione predefinita, Ghost viene configurato per utilizzare un database SQLite, che non richiede alcuna configurazione.
In alternativa, Ghost può essere utilizzato anche con un database MySQL modificando la configurazione del database. È necessario creare prima un database e un utente, quindi è possibile modificare la configurazione sqlite3 esistente.
Scarica e installa l'ultima versione di MySQL (attualmente 5.7 ) dal repository ufficiale 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
Controlla la versione di MySQL:
mysql --version
# mysql Ver 14.14 Distrib 5.7.19, for Linux (x86_64) using EditLine wrapper
Avviare MySQL Server e verificarne lo stato:
sudo systemctl start mysqld.service
sudo systemctl status mysqld.service
MySQL versione 5.7 o successiva genera una password casuale temporanea per l' root
utente MySQL dopo che l'installazione e la password sono memorizzate nel file di log degli errori MySQL, situato in /var/log/mysqld.log
. Per rivelarlo, usa il seguente comando:
sudo grep 'temporary password' /var/log/mysqld.log
Esegui lo mysql_secure_installation
script per proteggere un po 'il tuo database:
NOTA : il plug-in di convalida password è installato e abilitato, quindi la nuova password per l'
root
utente deve essere forte ( una lettera maiuscola, una lettera minuscola, una cifra e un carattere speciale e che la lunghezza totale della password è di almeno 8 caratteri ). Se vuoi rilassarlo o disabilitare completamente il plugin ( non raccomandato ) consulta la documentazione ufficiale di MySQL per sapere come farlo.
sudo mysql_secure_installation
Accedi a MySQL come utente root:
mysql -u root -p
# Enter password:
Crea un nuovo database e utente MySQL:
create database dbname;
grant all on dbname.* to 'user' identified by 'password';
Esci da MySQL:
exit
Scarica e installa l'ultima versione mainline di NGINX dal repository ufficiale NGINX:
# 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
Verifica che sia installato controllando la versione NGINX:
sudo nginx -v
# nginx version: nginx/1.13.3
Controlla lo stato, abilita e avvia il servizio NGINX (demone):
sudo systemctl status nginx.service # inactive (dead)
sudo systemctl enable nginx.service
sudo systemctl start nginx.service
Crea /etc/nginx/ssl
directory e genera un nuovo parametro Diffie-Hellman ( DH ):
sudo mkdir -p /etc/nginx/ssl
sudo openssl dhparam -out /etc/nginx/ssl/dhparams-2048.pem 2048
Creare una directory di registro per blog.domain.tld
l'host virtuale:
sudo mkdir -p /var/log/nginx/blog.domain.tld
Configurare NGINX come server proxy inverso HTTP ( S ):
sudo vim /etc/nginx/conf.d/ghost.conf
Incolla quanto segue 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 "";
}
}
Salvare e testare la configurazione NGINX per errori di sintassi:
sudo nginx -t
Ricarica la configurazione NGINX:
sudo systemctl reload nginx.service
NOTA : se si desidera ospitare più blog Ghost sullo stesso VPS, ciascuna istanza Ghost deve essere in esecuzione su una porta separata.
Crea directory root del documento:
sudo mkdir -p /var/www/
Crea un nuovo utente fantasma:
sudo useradd -c 'Ghost application' ghost
Scarica Ghost:
curl -L https://github.com/TryGhost/Ghost/releases/download/0.11.11/Ghost-0.11.11.zip -o ghost.zip
Decomprimi Ghost nella /var/www/ghost
directory (posizione di installazione consigliata):
sudo unzip -uo ghost.zip -d /var/www/ghost
rm ghost.zip
Passa alla nuova directory fantasma:
cd /var/www/ghost
Modifica la proprietà della /var/www/ghost
directory:
sudo chown -R ghost:ghost .
Passa al nuovo ghost
utente:
sudo su - ghost
Passa alla radice del documento /var/www/ghost
:
cd /var/www/ghost
Installa Ghost con dipendenze di produzione. Al termine, Ghost è installato:
npm install --production
Configurare fantasma cambiando url
, mail
e database
di proprietà della produzione oggetto all'interno di config.js
file di:
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
},
// . . .
// . . .
NOTA : è necessario configurare
Avvia Ghost nell'ambiente di produzione:
npm start --production
Ghost ora funzionerà. Sia il front-end del blog che l'interfaccia di amministrazione sono protetti con HTTPS e anche HTTP / 2 funziona. È possibile aprire il browser e visitare il sito all'indirizzo https://blog.domain.tld
. Non dimenticare di sostituire blog.domain.tld
con il tuo nome di dominio.
Chiudi il processo Ghost premendo CTRL
+ C
ed esci da utente fantasma di nuovo all'utente non root che hai creato all'inizio:
exit
Se chiudi la sessione terminale con il tuo VPS, anche il tuo blog diminuirà. Questo non è buono. Per evitare ciò, useremo systemd. Manterrà il nostro blog attivo 24/7.
Crea un ghost.service
file di unità di sistema. Esegui sudo sudo vim /etc/systemd/system/ghost.service
e copia / incolla il contenuto seguente:
[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
Abilita e avvia ghost.service
:
sudo systemctl enable ghost.service && sudo systemctl start ghost.service
Verifica lo ghost.service
stato:
sudo systemctl status ghost.service && sudo systemctl is-enabled ghost.service
Passare a https://blog.domain.tld/ghost/
e creare un utente amministratore Ghost. Fallo il prima possibile!
Questo è tutto. Ora abbiamo un blog Ghost completamente funzionale. Il tuo server fornisce contenuti tramite HTTP / 2 quando supportato dal client. Se vuoi cambiare il tema Ghost predefinito chiamato Casper in uno personalizzato, puoi semplicemente scaricare e decomprimere il tema nella /var/www/ghost/content/themes
cartella e selezionarlo tramite l'interfaccia di amministrazione Ghost, situata in https://blog.domain.tld/ghost
.
Usi un sistema diverso? Fork è un CMS open source scritto in PHP. Il codice sorgente di Forks è ospitato su GitHub. Questa guida ti mostrerà come installare Fork CM
Usi un sistema diverso? Ghost è una piattaforma di blog open source che sta guadagnando popolarità tra gli sviluppatori e gli utenti ordinari dal suo 201
Usi un sistema diverso? MODX Revolution è un sistema di gestione dei contenuti (CMS) rapido, flessibile, scalabile, gratuito e open source di livello aziendale scritto i
Usi un sistema diverso? MODX Revolution è un sistema di gestione dei contenuti (CMS) rapido, flessibile, scalabile, di livello aziendale scritto in PHP. Io
Usi un sistema diverso? MODX Revolution è un sistema di gestione dei contenuti (CMS) rapido, flessibile, scalabile, gratuito e open source di livello aziendale scritto i
Introduzione Più vicino manterrai linstallazione di OpenBSD al valore predefinito e senza altrettanti pacchetti aggiunti, più sicura sarà. Mentre più commo
Introduzione WordPress è il sistema di gestione dei contenuti dominante su Internet. Alimenta tutto, dai blog ai siti Web complessi con contenuti dinamici
Usi un sistema diverso? Ghost è una piattaforma di blog open source che sta guadagnando popolarità tra gli sviluppatori e gli utenti ordinari dalla sua versione del 2013. io
Usi un sistema diverso? Dotclear è un motore di blogging molto semplice. È open-source e facile da usare. Questo tutorial eseguirà linstallazione su
Un uso comune di un server virtuale Vultr è lhosting di siti Web Wordpress. Questa guida mostra come automatizzare la configurazione di un server virtuale da Scratc
Neos è un innovativo sistema di gestione dei contenuti open source che è ottimo per creare e modificare contenuti online. Con in mente autori ed editori, Neo
Le istanze Vultr sono un ottimo modo per eseguire il tuo blog WordPress, ma unestensione più notevole di WordPress è WooCommerce, un plug-in e-commerce che estende
Ghost è lultimo e il migliore in assoluto per competere con WordPress. Lo sviluppo del tema è rapido e facile da imparare perché gli sviluppatori Ghost hanno deciso di utilizzare entrambi
Ghost è una moderna piattaforma di pubblicazione open source costruita su Node.js con un client di amministrazione Ember.js, unAPI JSON e unAPI tematica basata su Handlebars.js. ghos
Usi un sistema diverso? Ghost è una piattaforma di blog open source che sta guadagnando popolarità tra gli sviluppatori e gli utenti ordinari dal suo 201
Usi un sistema diverso? Fork è un CMS open source scritto in PHP. Il codice sorgente di Forks è ospitato su GitHub. Questa guida ti mostrerà come installare Fork CM
Typesetter è un CMS open source scritto in PHP incentrato sulla facilità duso con lediting True WYSIWYG e larchiviazione di file flat. In questo articolo, verremo installati
Usi un sistema diverso? MODX Revolution è un sistema di gestione dei contenuti (CMS) rapido, flessibile, scalabile, gratuito e open source di livello aziendale scritto i
Usi un sistema diverso? Ghost è una piattaforma di blog open source che sta guadagnando popolarità tra gli sviluppatori e gli utenti ordinari dal suo 201
Gli attacchi ransomware sono in aumento, ma l'intelligenza artificiale può aiutare ad affrontare l'ultimo virus informatico? L'intelligenza artificiale è la risposta? Leggi qui sai è AI boone o bane
ReactOS, un sistema operativo open source e gratuito è qui con l'ultima versione. Può essere sufficiente alle esigenze degli utenti Windows moderni e abbattere Microsoft? Scopriamo di più su questo vecchio stile, ma un'esperienza del sistema operativo più recente.
Whatsapp ha finalmente lanciato l'app desktop per utenti Mac e Windows. Ora puoi accedere facilmente a Whatsapp da Windows o Mac. Disponibile per Windows 8+ e Mac OS 10.9+
Leggi questo per sapere come l'intelligenza artificiale sta diventando popolare tra le aziende di piccole dimensioni e come sta aumentando le probabilità di farle crescere e dare un vantaggio ai loro concorrenti.
Recentemente Apple ha rilasciato macOS Catalina 10.15.4 un aggiornamento supplementare per risolvere i problemi, ma sembra che l'aggiornamento stia causando più problemi che portano al bricking delle macchine mac. Leggi questo articolo per saperne di più
13 strumenti commerciali per l'estrazione dei dati dai Big Data
Il nostro computer memorizza tutti i dati in un modo organizzato noto come file system di journaling. È un metodo efficiente che consente al computer di cercare e visualizzare i file non appena si preme search.https://wethegeek.com/?p=94116&preview=true
Man mano che la scienza si evolve a un ritmo rapido, assumendo gran parte dei nostri sforzi, aumentano anche i rischi di sottoporci a una singolarità inspiegabile. Leggi, cosa potrebbe significare per noi la singolarità.
Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1
L'intelligenza artificiale nell'assistenza sanitaria ha compiuto grandi passi avanti negli ultimi decenni. Pertanto, il futuro dell'IA in sanità continua a crescere giorno dopo giorno.