Install Grav

Grav is a popular, free, file based CMS based on Twig & Markdown. Learn here how to install and tune Grav on fortrabbit.

Get ready

We assume you've already created an App and chose WordPress in the stack chooser. If not: You can do so in the fortrabbit Dashboard.

Quick start

Start by downloading the "latest Grav Core + Admin archive" from the Grav website from the Grav website and unpack it locally. It will extract into a folder named grav-admin. Now copy the contents of the local grav-admin folder (not the folder itself) via SFTP to the htdocs folder of your App. The htdocs folder is the one you are automatically in after logging in via SFTP. The SFTP access for your App {{app-name}} is:

  • Server: deploy.{{region}}
  • User name: {{ssh-user}}
  • Password: {{ssh-password}}

When the upload is finished, visit {{app-name}} in your browser and commence with the guided web installation to finish the setup. When that is done, your Grav installation is completed and you can visited it in the browser:

Advanced setup and migration

Don't stop with a plain vanilla installation. Make it yours! Check out the following topics if you have an existing Grav installation or if you would like to setup Grav so that you can run in a local development environment as well as in your fortrabbit App:

Install plugins & themes

All the regular ways are supported: Use the Grav admin, use the command line or just unpack the plugins and themes to the appropriate directories.

Environment configuration

Grav allows you to configure different settings based on the domain it is served from. For example, if you are developing your Grav site locally, you probably want the debugging enabled while you want it to be disabled, when serving the App from fortrabbit.

To that end, you can create domain specific configurations. All you need to do is create a new system.yaml configuration file for you custom domain. Say the domain you are using is, you would create the file user/, in which you then set:

  enabled: false

An even better approach is set your user/config/system.yaml as restrictive as possible while using a special localhost configuration in user/localhost/config/system.yaml, which enables debugging and so on:

  enabled: true

Further readings

Need individual help?

Get support › Learn about Company plans ›

Looking for an old article?

See the full list of articles ›

Found an error?

Contribute on GitHub ›