• Contact
  • Contact Us
  • Disclamer
  • Home 1
  • Home 2
  • Home 3
  • Privacy Policy
Friday, May 9, 2025
How VPS - How to use/setup VPS
  • Login
  • Home
  • Management guides
    • Web servers software
      • Directadmin
      • Hocvps Script
      • Centmin Mod
      • CWP
      • Kloxo-MR
      • Plesk
    • Control Panels
    • Securing VPS/Servers
      • SSL Certificates
      • Upgrading
      • Authentication
  • Operating System
    • CentOS
    • Fedora
    • Debian
    • Linux
    • Arch
    • BSD
    • CoreOS
  • Reviews
  • Coupon
    • Domain Coupon
    • Hosting Coupon
No Result
View All Result
  • Home
  • Management guides
    • Web servers software
      • Directadmin
      • Hocvps Script
      • Centmin Mod
      • CWP
      • Kloxo-MR
      • Plesk
    • Control Panels
    • Securing VPS/Servers
      • SSL Certificates
      • Upgrading
      • Authentication
  • Operating System
    • CentOS
    • Fedora
    • Debian
    • Linux
    • Arch
    • BSD
    • CoreOS
  • Reviews
  • Coupon
    • Domain Coupon
    • Hosting Coupon
No Result
View All Result
How VPS - How to use/setup VPS
No Result
View All Result
Home Operating System Debian

How to Install Grav CMS on Debian 9

How VPS by How VPS
November 1, 2019
in Debian
0
0
SHARES
20
VIEWS
Share on FacebookShare on Twitter

Contents

  1. Using a Different System?
  2. Requirements
  3. Before you begin
  4. Install PHP and required PHP extensions
  5. Install and configure Nginx
  6. Install Grav
  7. Want to contribute?

Using a Different System?

  • How to Install Grav CMS on Ubuntu 18.04

  • How to Install Grav CMS on CentOS 7

  • How to Install Grav CMS on Fedora 28

  • How to Install Grav CMS on FreeBSD 11

Are we missing a guide for your target system? Request one, or submit your own!


Grav is an open source flat-file CMS written in PHP. Grav source code is publicly hosted on GitHub. This guide will show you how to install Grav CMS on a fresh Debian 9 Vultr instance.

Requirements

  • Web Server (Apache, Nginx, LiteSpeed, Lightly or IIS). In this guide we will use Nginx.
  • PHP 5.5.9 or higher

Before you begin

Check the Debian version.

lsb_release -ds
# Debian GNU/Linux 9.5 (stretch)

Ensure that your system is up to date.

apt update && apt upgrade -y

Install unzip and sudo packages.

apt install -y unzip sudo

Create a new non-root user account with sudo access and switch to it.

adduser johndoe --gecos "John Doe"
usermod -aG sudo johndoe
su - johndoe

NOTE: Replace johndoe with your username.

Set up the timezone.

sudo dpkg-reconfigure tzdata

Install PHP and required PHP extensions

Install PHP and PHP extensions.

sudo apt install -y php7.0 php7.0-cli php7.0-fpm php7.0-common php7.0-curl php7.0-gd php7.0-json php7.0-mbstring php7.0-xml php7.0-zip php7.0-opcache php-apcu

Check the version.

php --version
# PHP 7.0.30-0+deb9u1 (cli) (built: Jun 14 2018 13:50:25) ( NTS )

Install and configure Nginx

Grav can work with many web servers with PHP support. In this guide we will use Nginx.

Install Nginx.

sudo apt install -y nginx

Check the version.

sudo nginx -v
# nginx version: nginx/1.10.3

Run sudo vim /etc/nginx/sites-available/grav.conf and configure Nginx for Grav. Save the file and exit.

server {

  listen 80;

  server_name example.com;
  root /var/www/grav;

  index index.html index.php;

  location / {
    try_files $uri $uri/ /index.php?$query_string;
  }

  location ~* /(/.git|cache|bin|logs|backup|tests)/.*$ { return 403; }
  location ~* /(system|vendor)/.*/.(txt|xml|md|html|yaml|yml|php|pl|py|cgi|twig|sh|bat)$ { return 403; }
  location ~* /user/.*/.(txt|md|yaml|yml|php|pl|py|cgi|twig|sh|bat)$ { return 403; }
  location ~ /(LICENSE/.txt|composer/.lock|composer/.json|nginx/.conf|web/.config|htaccess/.txt|/.htaccess) { return 403; }

  location ~ /.php$ {
    fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
    fastcgi_split_path_info ^(.+/.php)(/.+)$;
    fastcgi_index index.php;
    include fastcgi_params;
    fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
  }

}

Activate new grav.conf configuration by linking the file to the sites-enabled directory.

sudo ln -s /etc/nginx/sites-available/grav.conf /etc/nginx/sites-enabled/

Test Nginx configuration.

sudo nginx -t

Reload Nginx.

sudo systemctl reload nginx.service

Install Grav

Create a document root directory.

sudo mkdir -p /var/www/grav

Change ownership of the /var/www/grav directory to johndoe.

sudo chown -R johndoe:johndoe /var/www/grav

Navigate to the document root folder.

cd /var/www/grav

Download the latest Grav ZIP package and extract it.

wget https://getgrav.org/download/core/grav-admin/1.4.8
unzip 1.4.8
mv grav-admin/* . && mv grav-admin/.* .
rm -rf grav-admin 1.4.8

Change ownership of the /var/www/grav directory to www-data.

sudo chown -R www-data:www-data /var/www/grav

Open http://example.com in your web browser and follow the on-screen instructions. To access Grav admin append /admin to your URL.

Want to contribute?

You could earn up to $300 by adding new articles

Submit your article
Suggest an update
Request an article
Previous Post

HTTP Git Server With Nginx on Debian 8

Next Post

How to Install Cachet on Debian 10

Next Post

How to Install Cachet on Debian 10

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

No Result
View All Result

Recent Post

Install Imagemagick on CentOS
CentOS

Install Imagemagick on CentOS

by How VPS
June 28, 2023
0

This is how I installed Imagemagick on a vanilla CentOS server Start off by installing the prerequisites yum install php-pear...

Read more
how to Check phpinfo

How to Check phpinfo of Hosting or VPS?

June 28, 2023
Failed to download metadata for repo 'appstream' on Centos 8

How to fix error: Failed to download metadata for repo ‘appstream’ on Centos 8

February 25, 2022
How to Fix MySQL Error "Plugin 'InnoDB' registration as a STORAGE ENGINE failed"?

How to Fix MySQL Error “Plugin ‘InnoDB’ registration as a STORAGE ENGINE failed”?

November 17, 2020
How to optimize Mysql or MariaDB

How to optimize Mysql or MariaDB

November 3, 2020

Recent News

  • Install Imagemagick on CentOS
  • How to Check phpinfo of Hosting or VPS?
  • How to fix error: Failed to download metadata for repo ‘appstream’ on Centos 8

Category

  • Arch
  • Authentication
  • Backups
  • BSD
  • Centmin Mod
  • CentOS
  • Control Panels
  • CoreOS
  • CWP
  • Debian
  • Directadmin
  • Encryption
  • Fedora
  • Firewalls
  • Hocvps Script
  • Hosting providers
  • Kloxo-MR
  • Linux
  • Mitigations
  • Operating System
  • Plesk
  • Reviews
  • Securing VPS/Servers
  • Security Patches
  • SSL Certificates
  • Uncategorized
  • Upgrading
  • VPS/Servers management guides
  • Vulnerability Detection
  • Web servers software
  • Webhosting Control Panel
  • About
  • Advertise
  • Careers
  • Contact

© 2025 JNews - Premium WordPress news & magazine theme by Jegtheme.

No Result
View All Result
  • Home
  • Management guides
    • Web servers software
      • Directadmin
      • Hocvps Script
      • Centmin Mod
      • CWP
      • Kloxo-MR
      • Plesk
    • Control Panels
    • Securing VPS/Servers
      • SSL Certificates
      • Upgrading
      • Authentication
  • Operating System
    • CentOS
    • Fedora
    • Debian
    • Linux
    • Arch
    • BSD
    • CoreOS
  • Reviews
  • Coupon
    • Domain Coupon
    • Hosting Coupon

© 2025 JNews - Premium WordPress news & magazine theme by Jegtheme.

Welcome Back!

Login to your account below

Forgotten Password?

Retrieve your password

Please enter your username or email address to reset your password.

Log In
Thabet