androide

Come installare ghost su ubuntu 18.04

How to Install Nextcloud 18 on Ubuntu 18/19/20 LTS

How to Install Nextcloud 18 on Ubuntu 18/19/20 LTS

Sommario:

Anonim

Ghost è una moderna piattaforma di pubblicazione di sorgenti costruita sulla piattaforma Node.js. È completamente personalizzabile e facile da usare, permettendoti di pubblicare i tuoi contenuti con una curva di apprendimento quasi zero.

In questo tutorial ti mostreremo come distribuire un blog Ghost sicuro su un server Ubuntu 18.04 utilizzando Nginx come proxy, certificato Let's Encrypt SSL gratuito, l'ultima versione LTS di Node.js e MySQL / MariaDB come back-end del database.

Prerequisiti

Come prerequisiti per seguire questo tutorial, avrai bisogno di:

  • In base ai requisiti di sistema ufficiali di Ghost è necessario almeno 1G di RAM. Se si dispone di un server con meno di 1 GB di RAM, è possibile creare un file di scambio. Un nome di dominio che punta all'IP del server pubblico. In questo tutorial useremo example.com .Nginx installato seguendo Come installare Nginx su Ubuntu 18.04. Firewall configurato seguendo Come impostare un Firewall con UFW su Ubuntu 18.04. Assicurarsi che le porte 80 e 443 siano aperte.

Prima di continuare con questo tutorial, assicurati di aver effettuato l'accesso come utente con privilegi sudo.

Installazione di Node.js e Yarn

Al momento della stesura di questo articolo, la versione Node.js consigliata per Ghost è v8 carbon LTS. Installeremo Node.js dal repository NodeSource.

Abilitare il repository NodeSource per Node.js v8 utilizzando il seguente comando curl:

curl -sL https://deb.nodesource.com/setup_8.x | sudo bash -

Installa Node.js digitando:

sudo apt install nodejs Per altri metodi di installazione, consulta la nostra guida Come installare Node.js su Ubuntu 18.04.

Per installare prima il filo abilitare il repository Yarn sul proprio sistema con i seguenti comandi:

curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add - 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 echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list

Una volta abilitato il repository, installare filato con:

sudo apt update sudo apt-get -o Dpkg::Options::="--force-overwrite" install yarn

Installazione di MySQL

Ghost supporta database MySQL, MariaDB e SQLite. In questo tutorial, utilizzeremo MySQL, che è il database consigliato quando esegui Ghost in modalità di produzione.

Installa il pacchetto MySQL con il seguente comando:

sudo apt install mysql-server

Esegui il comando mysql_secure_installation per migliorare la sicurezza dell'installazione di MySQL:

sudo mysql_secure_installation

Ti verrà chiesto di configurare il VALIDATE PASSWORD PLUGIN che viene utilizzato per testare la forza delle password degli utenti MySQL. Esistono tre livelli di criteri di convalida della password, basso, medio e forte. Premere ENTER se non si desidera impostare il plug-in di convalida password.

Al prompt successivo ti verrà chiesto di impostare una password per l'utente root di MySQL.

Dopo aver impostato la password di root, lo script ti chiederà anche di rimuovere l'utente anonimo, limitare l'accesso dell'utente root al computer locale e rimuovere il database di test. Dovresti rispondere a Y (sì) a tutte le domande.

Quindi dobbiamo cambiare il metodo di autenticazione da auth_socket a mysql_native_password , in modo che il programma di installazione di Ghost possa accedere al nostro server MySQL. Per fare ciò, accedi al server MySQL come utente root:

sudo mysql

ed esegui la seguente query che imposterà una password per l'utente root MySQL quando usa il metodo mysql_native_password :

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'very_strong_pasword'; FLUSH PRIVILEGES;

Assicurati di cambiare very_strong_pasword con una password complessa.

Installazione di Ghost-CLI

Installeremo Ghost usando l'utilità ufficiale della CLI di Ghost. Questa utility consente di installare o aggiornare Ghost in un unico comando.

Ghost CLI è disponibile come pacchetto npm. Il seguente comando installerà Ghost CLI sul tuo sistema Ubuntu a livello globale:

sudo yarn global add ghost-cli

Creazione del percorso di installazione di Ghost

Scaricheremo e installeremo Ghost nella directory /var/www/ghost , che è la posizione di installazione consigliata.

Per creare il tipo di directory:

sudo mkdir -p /var/www/ghost

Cambia la proprietà della directory per il tuo utente:

sudo chown $USER:$USER /var/www/ghost

$USER è una variabile di ambiente che contiene il tuo nome utente.

Impostare le autorizzazioni di directory corrette:

sudo chmod 775 /var/www/ghost

Installazione di Ghost

Ora che hai installato Ghost CLI e tutti i prerequisiti sono completi, possiamo iniziare l'installazione.

Passare alla directory /var/www/ghost .

cd /var/www/ghost

Per avviare l'installazione eseguire ghost install , che installerà e configurerà Ghost, configurerà Nginx come proxy inverso e proteggerà il sito con un certificato SSL crittografato gratuito.

ghost install

✔ Checking system Node.js version ✔ Checking logged in user ✔ Checking current folder permissions System checks failed with message: 'Linux version is not Ubuntu 16' Some features of Ghost-CLI may not work without additional configuration. For local installs we recommend using `ghost install local` instead. ? Continue anyway? (y/N) y

L'installer verificherà il sistema e stamperà alcuni avvisi come mostrato sopra. Digita y per continuare e il programma di installazione scaricherà e installerà Ghost:

ℹ Checking operating system compatibility ✔ Checking for a MySQL installation ✔ Checking memory availability ✔ Checking for latest Ghost version ✔ Setting up install directory ✔ Downloading and installing Ghost v1.24.9 ✔ Finishing install process

Successivamente ti verrà chiesto di impostare l'URL del tuo blog e le tue informazioni MySQL. Fornire il nome utente e la password di root che abbiamo impostato nella sezione Installing MySQL e utilizzare il nome database predefinito ghost_prod .

? Enter your blog URL: https://example.com ? Enter your MySQL hostname: localhost ? Enter your MySQL username: root ? Enter your MySQL password: ? Enter your Ghost database name: ghost_prod

Il programma di installazione creerà un utente di sistema chiamato ghost e ti chiederà se desideri creare un utente MySQL fantasma, digita Yes .

✔ Configuring Ghost ✔ Setting up instance Running sudo command: chown -R ghost:ghost /var/www/ghost/content ✔ Setting up "ghost" system user ? Do you wish to set up "ghost" mysql user? Yes ✔ Setting up "ghost" mysql user

Successivamente, il programma di installazione ti chiederà se desideri configurare Nginx. Conferma digitando Yes .

? Do you wish to set up Nginx? Yes ✔ Creating nginx config file at /var/www/ghost/system/files/example.com.conf Running sudo command: ln -sf /var/www/ghost/system/files/example.com.conf /etc/nginx/sites-available/example.com.conf Running sudo command: ln -sf /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/example.com.conf Running sudo command: nginx -s reload ✔ Setting up Nginx

Una volta impostato Nginx, il programma di installazione ti chiederà se desideri configurare SSL. Conferma digitando Yes e la procedura guidata di configurazione ti chiederà di inserire il tuo indirizzo e-mail e quindi genererà un certificato SSL Let's Encrypt gratuito per il tuo dominio e configurerà Nginx.

? Do you wish to set up SSL? Yes ? Enter your email (used for Let's Encrypt notifications) [email protected] Running sudo command: mkdir -p /etc/letsencrypt Running sudo command:./acme.sh --install --home /etc/letsencrypt Running sudo command: /etc/letsencrypt/acme.sh --issue --home /etc/letsencrypt --domain example.com --webroot /var/www/ghost/system/nginx-root --reloadcmd "nginx -s reload" --accountemail [email protected] Running sudo command: openssl dhparam -out /etc/nginx/snippets/dhparam.pem 2048 Running sudo command: mv /tmp/ssl-params.conf /etc/nginx/snippets/ssl-params.conf ✔ Creating ssl config file at /var/www/ghost/system/files/example.com-ssl.conf Running sudo command: ln -sf /var/www/ghost/system/files/example.com-ssl.conf /etc/nginx/sites-available/example.com-ssl.conf Running sudo command: ln -sf /etc/nginx/sites-available/example.com-ssl.conf /etc/nginx/sites-enabled/example.com-ssl.conf Running sudo command: nginx -s reload ✔ Setting up SSL

Successivamente, il programma di installazione ti chiederà se desideri configurare un servizio systemd. Digitare Y per accettare e il programma di installazione creerà un nuovo servizio systemd chiamato ghost_example-com e lo abiliterà all'avvio:

? Do you wish to set up Systemd? Yes ✔ Creating systemd service file at /var/www/ghost/system/files/ghost_example-com.service Running sudo command: ln -sf /var/www/ghost/system/files/ghost_example-com.service /lib/systemd/system/ghost_example-com.service Running sudo command: systemctl daemon-reload ✔ Setting up Systemd

Infine, il programma di installazione configurerà il database e chiederà se si desidera avviare Ghost, digitare Yes .

Running sudo command: /var/www/ghost/current/node_modules/.bin/knex-migrator-migrate --init --mgpath /var/www/ghost/current ✔ Running database migrations ? Do you want to start Ghost? Yes Running sudo command: systemctl is-active ghost_example-com ✔ Ensuring user is not logged in as ghost user ✔ Checking if logged in user is directory owner ✔ Checking current folder permissions Running sudo command: systemctl is-active ghost_example-com ✔ Validating config ✔ Checking folder permissions ✔ Checking file permissions ✔ Checking content folder ownership ✔ Checking memory availability Running sudo command: systemctl start ghost_example-com ✔ Starting Ghost Running sudo command: systemctl is-enabled ghost_example-com Running sudo command: systemctl enable ghost_example-com --quiet ✔ Starting Ghost You can access your publication at https://example.com Next, go to your admin interface at https://example.com/ghost/ to complete the setup of your publication Ghost uses direct mail by default To set up an alternative email method read our docs at

Completa la configurazione di Ghost

Apri il tuo browser, vai alla tua interfaccia di amministrazione Ghost su https://example.com/ghost/ e ti verrà presentata la seguente schermata:

Da qui puoi creare nuovi post, aggiungere utenti e modificare la configurazione di Ghosts.

Conclusione

In questo tutorial, hai imparato come installare un'istanza Ghost pronta per la produzione.

Ora dovresti visitare la pagina Help di Ghost e saperne di più su come gestire l'installazione di Ghost. Puoi anche visitare il Ghost Market e scoprire i temi di Ghost.

blog ghost nodejs npm ubuntu