Grav is an awesome CMS that uses markdown for writing blog posts and Twig for it's templating system. Digital Ocean is a sweet hosting company that for as little as $5 a month gives you a VPS with root access to install anything you want from the very core such as OS, etc. This tutorial will show you how to install Grav on Digital Ocean which isn't as straight forward as it may seem. We'll be going under the assumption that you've already set up a droplet with a LAMP server (milage may vary for nginx) and make sure you install the PHP requirements here.

  1. Go to your website root

    $ cd /var/www/html
  2. Clone the Grav repo into a blog folder

    $ git clone -b master https://github.com/getgrav/grav.git blog
  3. Install composer and install the dependancies:

    $ sudo apt-get update && sudo apt-get upgrade
    $ curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
    $ composer install --no-dev -o
    $ cd blog
    $ bin/grav install
  4. If all went well go to yourdomain.com/blog/ and you'll see a "Grav is Installed" message. If not we'll have to do a bit more tinkering.

    • Create a test.php file somewhere in your root with these contents:
      <?php
      exec("whoami");
      ?>

      and visit that page in your browser. Once you have the user follow these instructions with that user for the chown commands. For me it was www-data so your chown should look like chown jacob:www-data so I could login as myself and mess with the files.

  5. That's pretty much it. It's a great very customizable CMS with almost infinite possibilities! There's themes for Foundation, Bootstrap and the default theme isn't too shabby either. In fact, this blog is powered by Grav.

Blog Comments powered by Disqus.