GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come distribuire Ghost Blog con Nginx su Ubuntu 18.04 LTS

Fantasma è una piattaforma di blogging completamente open source (licenza MIT), che sta guadagnando popolarità tra gli sviluppatori e gli utenti ordinari sin dal suo rilascio nel 2013. Il codice sorgente di Ghost è disponibile pubblicamente su GitHub. Ghost richiede generalmente circa ~300 MB di RAM per funzionare bene, quindi può funzionare su hardware modesto. Si concentra sui contenutiblog . La cosa più interessante di Ghost è il suo design semplice, pulito, elegante e reattivo. Puoi scrivere i post del tuo blog da un telefono cellulare. Il contenuto per Ghost è scritto e formattato utilizzando il linguaggio Markdown. Ghost è perfetto per singoli o piccoli gruppi di scrittori. Ghost ha anche il supporto integrato per Accelerated Mobile Pages (AMP ), che renderà il caricamento del tuo blog fulmineo sui telefoni cellulari.


Recentemente, gli sviluppatori di Ghost hanno rilasciato la prima versione stabile e principale di Ghost - 1.0.0. Ghost 1.0.0 ha introdotto molte nuove funzionalità e le più note tra queste sono: editor Markdown nuovo di zecca, interfaccia utente aggiornata (UI ), nuovo design del tema predefinito, nuovo e migliorato processo di installazione e aggiornamento con Ghost-CLI strumento.


In questo tutorial, creeremo e implementeremo un blog Ghost sicuro con l'aiuto di Ghost-CLI di Ghost strumento su Ubuntu 18.04 LTS server utilizzando Let's Encrypt , Acme.sh , Node.js , npm , Filato , NGINX e MySQL /MariaDB .

Requisiti

  • Nome di dominio. Questo tutorial utilizzerà il dominio esempio.com.
  • Un server che esegue Ubuntu 18.04 LTS con 1 GB o RAM.
  • Un utente non root con privilegi sudo.

Passaggi iniziali

Controlla la tua versione di Ubuntu:

lsb_release -ds 
# Ubuntu 18.04 LTS

Imposta il fuso orario:

timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'

Aggiorna i pacchetti del tuo sistema operativo:

sudo apt update && sudo apt upgrade -y

Installa build-essential pacchetto:

sudo apt install -y build-essential

Passaggio 1:installa Node.js e npm

NOTA :l'ultima versione di Ghost 1.0.0 attualmente supporta le versioni di Node.js 8.9+ e 6,9+ solo.

Ghost è basato su Node.js. Stiamo per installare consigliato versione per Ghost che è v8 Carbon LTS al momento di questo tutorial di scrittura. Su Linux hai alcune opzioni di installazione:Linux Binaries (x86/x64), Source Code o tramite Package Manager. Useremo il metodo Package Manager utilizzando il repository Nodesource.

Scarica e installa l'ultimo supporto a lungo termine (LTS ) versione (release) di Node.js:

curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt install -y nodejs

NOTA :npm è distribuito con Node.js, il che significa che quando scarichi Node.js, ottieni automaticamente npm installato sul tuo computer.

Controlla la versione di Node.js e npm :

node -v && npm -v
# v8.11.2
# 5.6.0

Npm è un progetto separato da Node.js e tende ad aggiornarsi più frequentemente. Di conseguenza, anche se hai appena scaricato Node.js (e quindi npm), probabilmente dovrai aggiornare il tuo npm. Fortunatamente, npm sa come aggiornarsi! Per aggiornare il tuo npm, digita questo nel tuo terminale:

sudo npm install -g [email protected]

Ricontrolla la versione npm, dovrebbe essere l'ultima versione:

npm -v
# 6.1.0

Passaggio 2:installa il server MariaDB

Ghost supporta i database MySQL/MariaDB e SQLite. In questo tutorial, tuttavia, utilizzeremo il database MariaDB . Se preferisci, puoi utilizzare MySQL invece di MariaDB.

Scarica e installa l'ultima versione stabile del server MariaDB dal repository MariaDB sulla tua macchina:

sudo apt-get install software-properties-common
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
sudo add-apt-repository 'deb [arch=amd64] https://mirrors.nxthost.com/mariadb/repo/10.3/ubuntu bionic main'
sudo apt update
sudo apt install -y mariadb-server

Durante il processo di installazione di MariaDB, ti verrà chiesto di inserire MariaDB root password utente. Dovresti inserire una password complessa.

Controlla la versione di MariaDB:

mysql --version && sudo mysqld --version
# mysql  Ver 15.1 Distrib 10.3.7-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2
# mysqld  Ver 10.3.7-MariaDB-1:10.3.7+maria~bionic-log for debian-linux-gnu on x86_64 (mariadb.org binary distribution)

Controlla se il demone MariaDB è stato avviato ed è in esecuzione:

sudo systemctl status mysql.service
sudo systemctl is-enabled mysql.service

Esegui mysql_secure_installation utility (script) per migliorare la sicurezza della tua installazione di MariaDB:

sudo mysql_secure_installation


# Enter current password for root (enter for none):

# Change the root password? [Y/n] N
# Remove anonymous users? [Y/n] Y
# Disallow root login remotely? [Y/n] Y
# Remove test database and access to it? [Y/n] Y
# Reload privilege tables now? [Y/n] Y
# Success.

# All done! If you've completed all of the above steps, your MariaDB
installation should now be secure.

# Thanks for using MariaDB!

Accedi (connetti) alla riga di comando MariaDB come MariaDB root utente:

mysql -u root -p

Crea un nuovo database e utente MariaDB per l'installazione di Ghost. Questo passaggio è facoltativo, poiché lo strumento Ghost-CLI in un passaggio successivo può creare database per te, devi solo inserire le credenziali dell'utente root di MariaDB (nome utente e password) quando richiesto da Ghost-CLI durante l'installazione di Ghost:

mysql> CREATE DATABASE dbname;
mysql> CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
mysql> GRANT ALL ON dbname.* TO 'username'@'localhost';
mysql> FLUSH PRIVILEGES;

Esci (disconnetti) da MariaDB:

mysql> EXIT;

Passaggio 3:installa NGINX

NGINX (engine-x) è un server Web ad alte prestazioni, bilanciatore del carico, cache e server proxy che funziona bene in tutti gli ambienti:bare metal, cloud pubblico/privato/ibrido e container. NGINX verrà utilizzato come proxy inverso per la nostra applicazione Ghost.

NGINX può essere installato in modo diverso, a seconda del sistema operativo. Per Linux, è possibile utilizzare i pacchetti NGINX da nginx.org .

Scarica e installa l'ultima linea principale (consigliato per la maggior parte delle implementazioni ) rilascio di NGINX e moduli caricabili dinamicamente direttamente dal repository NGINX ufficiale:

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

Verifica che NGINX sia installato controllando la sua versione:

sudo nginx -v && sudo nginx -V
# nginx version: nginx/1.15.0
# nginx version: nginx/1.15.0

Avvia e abilita NGINX:

sudo systemctl start nginx.service
sudo systemctl enable nginx.service

Crea /etc/nginx/snippets, /etc/nginx/ssl/etc/nginx/sites-available /etc/nginx/sites-enabled directory. Queste directory sono necessarie per il corretto funzionamento dello strumento Ghost-CLI:

sudo mkdir -p /etc/nginx/{snippets,ssl,sites-available,sites-enabled}

Aggiungi a include /etc/nginx/sites-enabled/*.conf; direttiva a nginx.conf file, esegui:

sudo vim /etc/nginx/nginx.conf

Salva il file ed esci dall'editor di Vim.

Passaggio 4 - Installa il filato (opzionale)

Scarica e installa Gestione pacchetti Yarn sul tuo sistema:

curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt update && sudo apt install -y yarn

Controlla la versione del filato:

yarn --version
# 1.7.0

Passaggio 5:installazione di Ghost-CLI

Ghost-CLI è uno strumento di interfaccia a riga di comando (CLI) che semplifica l'installazione e l'aggiornamento di Ghost. Configura il database, configura NGINX come proxy inverso, abilita la sicurezza TLS/SSL utilizzando Let's Encrypt CA, rinnova automaticamente il tuo SSL e inizializza Ghost come servizio di sistema. Ghost-CLI è un modulo npm che può essere installato tramite npmyarn .

Scarica e installa lo strumento Ghost-CLI:

sudo npm install -g [email protected]
# or with Yarn
sudo yarn global add [email protected]

Controlla la versione di Ghost-CLI:

ghost version
# Ghost-CLI version: 1.8.1

Risolvere eventuali problemi di sistema durante l'installazione o l'aggiornamento di Ghost:

ghost doctor install

Passaggio 6:installa Ghost

Successivamente, installeremo Ghost utilizzando lo strumento Ghost-CLI.

Innanzitutto, crea una directory radice del documento vuota:

sudo mkdir -p /var/www/example.com

Modifica la proprietà di /var/www/example.com directory all'utente non root con sudo privilegi che hai creato. In questo esempio, johndoe:

sudo chown johndoe:johndoe /var/www/example.com

La tua cartella di installazione deve avere le autorizzazioni corrette:

sudo chmod 755 /var/www/example.com

Vai alla directory principale di Ghost:

cd /var/www/example.com

Assicurati che la directory sia vuota per evitare conflitti di file:

ls -a

Installa Ghost in modalità di produzione eseguendo:

ghost install

Rispondi a ogni domanda come richiesto:

? Enter your blog URL: https://example.com
? Enter your MySQL hostname: localhost
? Enter your MySQL username: root
? Enter your MySQL password: your_mysql_root_user_password_here
? Enter your Ghost database name: database_name_for_ghost
? Do you wish to set up "ghost" mysql user? yes ? Do you wish to set up Nginx? yes ? Do you wish to set up SSL? yes ? Enter your email (used for Let's Encrypt notifications) [email protected] ? Do you wish to set up Systemd? yes ? Do you want to start Ghost? yes

Al termine dell'installazione, esegui

ghost ls

per visualizzare i processi Ghost in esecuzione.

In futuro, per aggiornare il tuo blog Ghost quando verrà rilasciata una versione più recente, devi solo eseguire

ghost update

comando, dalla directory di installazione di Ghost e Ghost-CLI si occuperà di tutto per te.

Passaggio 7:configurazione completa di Ghost

Per completare il processo di configurazione, vai alla pagina di configurazione di Ghost aggiungendo /ghost alla fine dell'URL o dell'IP del tuo blog. Questo esempio utilizza https://example.com/ghost .

Nella schermata di benvenuto, fai clic su Crea il tuo account :

Inserisci la tua email, crea un utente, una password e il titolo del blog:

Invita altri membri nel tuo team. Se preferisci saltare questo passaggio, fai clic su Lo farò più tardi, portami sul mio blog! in fondo alla pagina.

Naviga nell'area di amministrazione di Ghost per creare il tuo primo post, cambiare il tema del tuo sito o configurare impostazioni aggiuntive:

Congratulazioni! Hai installato e distribuito correttamente la piattaforma di blogging Ghost sul server Ubuntu 18.04 LTS.


Ubuntu
  1. Come installare Nextcloud con Nginx su Ubuntu 18.04 LTS

  2. Come installare Seafile con Nginx su Ubuntu 20.04 LTS

  3. Come installare Phorum con Nginx su Ubuntu 18.04 LTS

  4. Come distribuire Modsecurity con Nginx su Ubuntu 20.04 LTS

  5. Distribuisci Modsecurity con Nginx su Ubuntu 20.04 LTS

Come installare phpMyAdmin con Nginx (LEMP) su Ubuntu 18.04 LTS

Come installare Nginx con il modulo Ngx_Pagespeed su Ubuntu 16.04 LTS

Come installare Joomla con Nginx su Ubuntu 18.04 LTS

Come installare phpMyAdmin con Nginx su Ubuntu 18.04 LTS

Come installare phpMyAdmin con Nginx su Ubuntu 20.04 LTS

Come distribuire l'applicazione Laravel con Nginx su Ubuntu?