Kako instalirati platformu za objavljivanje blogova Ghost (CMS) u CentOS 7


Ghost je besplatan, otvorenog koda i jednostavan, ali moćan softver za bloganje ili online objavljivanje napisan u Nodejsu. To je zbirka modernih izdavačkih alata dizajniranih za jednostavnu izradu i pokretanje online publikacija.

Značajke duhova:

  • Brzo, skalabilno i učinkovito.
  • Nudi okruženje za uređivanje temeljeno na markdownu.
  • Dolazi s aplikacijom za radnu površinu.
  • Dolazi s prekrasnim šablonama za upravljač.
  • Podržava jednostavno upravljanje sadržajem.
  • Podržava više uloga za autore, urednike i administratore.
  • Omogućuje zakazivanje sadržaja unaprijed.
  • Podržava ubrzane mobilne stranice.
  • U potpunosti podržava optimizaciju za tražilice.
  • Pruža detaljne strukturirane podatke.
  • Podržava pretplate putem RSS-a, e-pošte i Slacka.
  • Omogućuje jednostavno uređivanje stranice i još mnogo toga.

Zahtjevi:

  1. Minimalna instalacija poslužitelja CentOS 7 s 1 GB memorije
  2. Sustav CentOS 7 sa statičkom IP adresom
  3. Node v6 LTS – Instalirajte najnoviji Node.js i NPM u CentOS 7
  4. Poslužitelj CentOS 7 s instaliranim Nginxom

Važno: Prije nego što sami počnete instalirati Ghost, morat ćete imati dobar VPS hosting, toplo preporučujemo BlueHost.

U ovom ćemo članku objasniti kako instalirati open source Ghost (Content Management System) platformu za bloganje na sustav CentOS 7.

Korak 1: Instalirajte Nodejs na CentOS 7

1. Nodejs nije dostupan u softverskim repozitorijima CentOS-a, stoga prvo dodajte njegova spremišta, a zatim instalirajte na sljedeći način

curl --silent --location https://rpm.nodesource.com/setup_6.x | bash -
yum -y install nodejs npm
dnf -y install nodejs npm   [On Fedora 22+ versions]

2. Nakon što instalirate nodejs, pomoću naredbi možete provjeriti imate li instaliranu preporučenu verziju Nodejsa i npm-a.

node -v 
npm -v

Korak 2: Instalirajte Ghost na CentOs 7

3. Sada stvorite korijenski direktorij Ghosta koji će pohraniti datoteke aplikacije u /var/www/ghost, što je preporučeno mjesto za instalaciju.

mkdir -p /var/www/ghost

4. Zatim preuzmite najnoviju verziju Ghosta iz GitHub repozitorija Ghosta i raspakirajte arhivsku datoteku u direktorij koji ste upravo stvorili iznad.

curl -L https://ghost.org/zip/ghost-latest.zip -o ghost.zip
unzip -uo ghost.zip -d  /var/www/ghost

5. Sada prijeđite na novi ghost direktorij i instalirajte Ghost (samo proizvodne ovisnosti) sa sljedećim naredbama. Nakon završetka druge naredbe, Ghost bi trebao biti instaliran na vašem sustavu.

cd /var/www/ghost 
npm install --production

Korak 3: Pokrenite i pristupite zadanom blogu Ghost

6. Za pokretanje Ghosta, pokrenite sljedeću naredbu iz direktorija /var/www/ghost.

npm start --production

7. Prema zadanim postavkama, Ghost bi trebao biti pokrenut na portu 2368, stoga otvorite port na vatrozidu kako biste omogućili pristup.

firewall-cmd --zone=public --permanent --add-port=2368/tcp
firewall-cmd --reload

8. Sada otvorite web preglednik i idite na bilo koji od sljedećih URL-ova u nastavku.

http://SERVER_IP:2368
OR
http://localhost:2368

Napomena: Nakon pokretanja Ghosta po prvi put, datoteka config.js bit će stvorena u korijenskom direktoriju Ghosta. Možete ga koristiti za postavljanje konfiguracije razine okruženja za duha; gdje možete konfigurirati opcije kao što su URL vaše stranice, baza podataka, postavke pošte itd.

Korak 4: Instalirajte i konfigurirajte Nginx za Ghost

Instalirajte i pokrenite Nginx web poslužitelj, ako nije instaliran pomoću EPEL repozitorija kao što je prikazano.

yum install epel-release
yum install nginx
systemctl start nginx

Ako koristite vatrozid, upotrijebite sljedeće naredbe za omogućavanje pristupa HTTP i HTTPS prometu.

firewall-cmd --permanent --zone=public --add-service=http 
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --reload

Sljedeći korak je konfigurirati Nginx za poslužitelj našeg Ghost bloga na portu 80, tako da korisnici mogu pristupiti Ghost blogu bez dodavanja porta :2368 na kraju url-a.

Prvo zaustavite pokrenutu instancu Ghost pritiskom na tipke CTRL+C na terminalu.

Sada konfigurirajte Nginx stvaranjem nove datoteke pod /etc/nginx/sites-available/ghost.

vi /etc/nginx/sites-available/ghost

Dodajte sljedeću konfiguraciju i svakako promijenite sljedeće označene retke u vaša_domena_ili_ip_adresa.

server {
    listen 80;
    server_name your_domain_or_ip_address;
    location / {
    proxy_set_header HOST $host;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass         http://127.0.0.1:2368;
    }
}

Spremite datoteku i aktivirajte ovu konfiguraciju stvaranjem simboličke veze u direktoriju /etc/nginx/sites-enabled.

ln -s /etc/nginx/sites-available/ghost /etc/nginx/sites-enabled/ghost

Sada otvorite datoteku /etc/nginx.conf. uključite konfiguracijske datoteke u direktorij sites-enabled i onemogućite zadanu stranicu kao što je prikazano.

vi /etc/nginx/nginx.conf

Sada dodajte sljedeći redak unutar http bloka da biste uključili konfiguracijske datoteke u direktorij sites-enabled.

http {
...
    # Load modular configuration files from the /etc/nginx/conf.d directory.
    # See http://nginx.org/en/docs/ngx_core_module.html#include
    # for more information.
    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*;

Zatim potpuno komentirajte zadani blok poslužitelja koji se nalazi unutar http bloka.

...

    # Load modular configuration files from the /etc/nginx/conf.d directory.
    # See http://nginx.org/en/docs/ngx_core_module.html#include
    # for more information.
    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*;


   server {
      listen       80 default_server;
      listen       [::]:80 default_server;
      server_name  _;
      root         /usr/share/nginx/html;
#
      # Load configuration files for the default server block.
      include /etc/nginx/default.d/*.conf;
#
      location / {
      }
#
      error_page 404 /404.html;
          location = /40x.html {
      }
#
      error_page 500 502 503 504 /50x.html;
          location = /50x.html {
      }
...
...

Na kraju, spremite i ponovno pokrenite nginx web poslužitelj.

systemctl restart nginx

Još jednom posjetite http://vaša_domena_ili_ip_adresa i vidjet ćete svoj Ghost blog.

Za više informacija idite na početnu stranicu Ghosta: https://ghost.org/

U ovom smo članku objasnili kako instalirati i konfigurirati Ghost u CentOS 7. Upotrijebite obrazac za komentare ispod kako biste nam poslali svoje upite ili bilo kakva razmišljanja o vodiču.

Posljednje, ali ne manje važno, u našem sljedećem postu pokazat ćemo kako postaviti Ghost u Debianu i Ubuntuu. Do tada ostanite povezani s linux-console.net.