Android

Hur man installerar ghost på ubuntu 18.04

How to Install Ghost on Ubuntu

How to Install Ghost on Ubuntu

Innehållsförteckning:

Anonim

Ghost är en modern källpubliceringsplattform byggd ovanpå Node.js-plattformen. Det är helt anpassningsbart och lätt att använda, så att du kan publicera ditt innehåll med nästan noll inlärningskurva.

I den här tutorialen ska vi visa dig hur du distribuerar en säker Ghost-blogg på en Ubuntu 18.04-server med Nginx som proxy, gratis Let's Encrypt SSL-certifikat, den senaste LTS-versionen av Node.js och MySQL / MariaDB som databasbackend.

förutsättningar

Som förutsättningar för att följa denna handledning behöver du:

  • Enligt de officiella Ghost-systemkraven behöver du minst 1G RAM. Om du har en server med mindre än 1 GB RAM kan du skapa en bytefil. Ett domännamn som pekar på din IP-server för den offentliga servern. I den här tutorialen kommer vi att använda exempel.com.Nginx installerat genom att följa Hur man installerar Nginx på Ubuntu 18.04.Firewall konfigureras genom att följa Hur man installerar en brandvägg med UFW på Ubuntu 18.04. Se till att portarna 80 och 443 är öppna.

Innan du fortsätter med den här tutorialen, se till att du är inloggad som användare med sudo-privilegier.

Installera Node.js och Garn

Vid skrivandet av denna artikel är den rekommenderade Node.js-versionen för Ghost v8 carbon LTS. Vi installerar Node.js från NodeSource-lagret.

Aktivera NodeSource-förvaret för Node.js v8 med följande curl-kommando:

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

Installera Node.js genom att skriva:

sudo apt install nodejs För andra installationsmetoder, se hur du installerar Node.js i Ubuntu 18.04 guide.

För att installera garn aktiverar du först garnförvaret på ditt system med följande kommandon:

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

När förvaret är aktiverat installerar du garn med:

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

Installera MySQL

Ghost stöder databaserna MySQL, MariaDB och SQLite. I denna handledning kommer vi att använda MySQL som är den rekommenderade databasen när du kör Ghost i produktionsläge.

Installera MySQL-paketet med följande kommando:

sudo apt install mysql-server

Kör kommandot mysql_secure_installation att förbättra säkerheten för MySQL-installationen:

sudo mysql_secure_installation

Du blir ombedd att konfigurera VALIDATE PASSWORD PLUGIN som används för att testa styrkan hos lösenorden för MySQL-användare. Det finns tre nivåer av lösenordsvalideringspolicy, låg, medium och stark. Tryck på ENTER om du inte vill konfigurera inställningen av validera lösenord.

Vid nästa prompt kommer du att uppmanas att ställa in ett lösenord för MySQL-rootanvändaren.

När du har ställt in root-lösenordet kommer skriptet också att be dig ta bort den anonyma användaren, begränsa root-användarens åtkomst till den lokala maskinen och ta bort testdatabasen. Du bör svara Y (ja) på alla frågor.

Därefter måste vi ändra autentiseringsmetod från auth_socket till mysql_native_password , så Ghost-installationsprogrammet kan komma åt vår MySQL-server. För att göra det loggar du in på MySQL-servern som rotanvändare:

sudo mysql

och kör följande fråga som ställer in ett lösenord för MySQL-rotanvändaren när mysql_native_password metoden mysql_native_password :

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

Se till att du ändrar very_strong_pasword med ett starkt lösenord.

Installera Ghost-CLI

Vi installerar Ghost med det officiella Ghost CLI-verktyget. Detta verktyg låter dig installera eller uppdatera Ghost i ett enda kommando.

Ghost CLI finns som ett paket med npm. Följande kommando installerar Ghost CLI på ditt Ubuntu-system globalt:

sudo yarn global add ghost-cli

Skapa Ghost-installationsplats

Vi laddar ner och installerar Ghost i /var/www/ghost katalogen, som är den rekommenderade installationsplatsen.

Så här skapar du katalogtypen:

sudo mkdir -p /var/www/ghost

Ändra äganderätten till katalogen till din användare:

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

$USER är en miljövariabel som innehåller ditt användarnamn.

Ange rätt katalogbehörigheter:

sudo chmod 775 /var/www/ghost

Installera Ghost

Nu när du har Ghost CLI installerat och alla förutsättningar är fullständiga kan vi börja med installationen.

Byt till katalogen /var/www/ghost .

cd /var/www/ghost

För att starta installationen kör ghost install , som kommer att installera och konfigurera Ghost, konfigurera Nginx som en omvänd proxy och säkra webbplatsen med ett gratis låtkryptera SSL-certifikat.

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

Installatören kommer att kontrollera ditt system och skriva ut några varningar som visas ovan. Skriv y att fortsätta och installationsprogrammet kommer sedan att ladda ner och installera 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

Därefter uppmanas du att ange din blogg-URL och din MySQL-information. Ange root-användarnamn och lösenord som vi har installerat i avsnittet Installing MySQL och använd standarddatabasnamnet 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

Installatören skapar en systemanvändare med namnet ghost och frågar dig om du vill skapa en spöke MySQL-användare, skriv 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

Därefter kommer installationsprogrammet att fråga dig om du vill ställa in Nginx. Bekräfta genom att skriva 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

När Nginx har konfigurerats kommer installationsprogrammet att fråga dig om du vill ställa in SSL. Bekräfta genom att skriva Yes och konfigurationsguiden ber dig att ange din e-postadress och sedan genererar det ett gratis Let's Encrypt SSL-certifikat för din domän och konfigurerar 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

Därefter frågar installationsprogrammet dig om du vill ställa in en systemd-tjänst. Skriv Y att acceptera och installationsprogrammet skapar en ny systemdjänst som heter ghost_example-com och gör det möjligt att starta vid start:

? 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

Slutligen installerar installationsprogrammet databasen och frågar om du vill starta Ghost, skriv 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

Slutför Ghost-inställningen

Öppna din webbläsare, gå till ditt Ghost-admingränssnitt på https://example.com/ghost/ så får du följande skärmbild:

Härifrån kan du skapa nya inlägg, lägga till användare och ändra Ghosts-konfiguration.

Slutsats

I denna handledning lärde du dig hur du installerar en produktionsklar Ghost-instans.

Du bör nu besöka Ghost Help-sidan och lära dig mer om hur du hanterar din Ghost-installation. Du kan också besöka Ghost Marketplace och upptäcka Ghost-teman.

ghost nodejs npm ubuntu blogg