Ghost on Arch Linux

Ghost is an open source blogging platform written in Node.js, It offers a simple and user-friendly User Interface that lets you manage posts, pages and users It also uses Handlebars for Theme templating. It is one of the most user-friendly and easy to use blogging platform and has a dead simple install instruction. It let you write your blog posts and pages in markdown with a markdown preview, that parses markdown in real time. It also lets you add media and other post/page assets with a simple drag and drop. Ghost also has a very responsive design that lets you use it in comfort in every form factor and size.

Ghost is available as an AUR Package that can be installed with a few simple steps.

Installing

We need to install Yaourt.

To install Yaourt you need to the following in /etc/pacman.conf

[archlinuxfr]
SigLevel = Never  
Server = http://repo.archlinux.fr/$arch  Code language: JavaScript (javascript)

Now we need to update our local package database and install yaourt

sudo pacman -Sy yaourt  

Now we need to download and install ghost from yaourt, the Ghost AUR package will install all the required dependencies and run npm install --production too

yaourt -S ghost  

Once you have Ghost installed we can start it using SystemD.

sudo systemctl start ghost.service  Code language: CSS (css)

We can also let Ghost start as a startup service.

sudo systemctl enable ghost.service  Code language: CSS (css)

You Ghost config file is config.js, You can make changes to it to suit your needs.

We can also install NGINX and reverse proxy Ghost at port 80

Installing NGINX

sudo pacman -S nginx  

You can replace the /etc/nginx.conf to this simple reverse proxy config optimized for Ghost.

http {  
        server {
        listen 80;
        location / {
        proxy_pass       http://127.0.0.1:2368;
        proxy_set_header Host      $host;
        proxy_set_header X-Real-IP $remote_addr;
        }
    }
}
events {  
        worker_connections  5000;
}Code language: PHP (php)

Now you can start NGINX.

sudo systemctl start nginx.service  Code language: CSS (css)

To enable NGINX at startup.

sudo systemctl enable nginx.service  Code language: CSS (css)

We now have Ghost installed. Happy Blogging!