• Contact
  • Contact Us
  • Disclamer
  • Home 1
  • Home 2
  • Home 3
  • Privacy Policy
Saturday, July 5, 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

Installing Fork CMS on Debian 9

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

Contents

  1. Using a Different System?
    1. Requirements
    2. Step 1 – Install PHP and required PHP extensions, MySQL and Nginx
    3. Step 2 – Install MySQL/MariaDB and setup database
    4. Step 3 – Install and configure Nginx
    5. Step 4 – Download and install Composer
    6. Step 5 – Download and install Fork CMS via Composer
  2. Want to contribute?

Using a Different System?

  • Installing Fork CMS on Ubuntu 16.04 LTS

  • Installing Fork CMS on CentOS 7

  • Installing Fork CMS on Fedora 28

  • Installing Fork CMS on FreeBSD 12

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


Fork is an open source CMS written in PHP. Fork’s source code is hosted on GitHub. This guide will show you how to install Fork CMS on a fresh Debian 9 Vultr instance.

Requirements

  • PHP 7.1 or higher.
  • The following PHP extensions:
    • cURL
    • libxml
    • DOM
    • SimpleXML
    • SPL
    • PDO (with MySQL driver)
    • mb_string
    • iconv
    • GD2 graphics library
    • json
    • PCRE
    • intl
  • MySQL 5.0 or higher.
  • Nginx

Check the Debian version.

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

Ensure that your system is up to date.

apt update && apt upgrade -y

Install required packages.

apt install -y apt-transport-https sudo curl wget dirmngr

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.

timedatectl list-timezones
sudo timedatectl set-timezone Region/City

Step 1 – Install PHP and required PHP extensions, MySQL and Nginx

Debian does not provide the latest PHP version in its default software repositories. We’ll need to add a community maintained third-party repository.

sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php.list
sudo apt update

Install PHP 7.2 and required PHP extensions.

sudo apt install -y php7.2 php7.2-cli php7.2-fpm php7.2-common php7.2-curl php7.2-mbstring php7.2-gd php7.2-intl php7.2-mysql php7.2-xml php7.2-json

Check the version.

php --version

PHP 7.2.5-1+0~20180505045740.21+stretch~1.gbpca2fa6 (cli) (built: May  5 2018 04:57:44) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.2.5-1+0~20180505045740.21+stretch~1.gbpca2fa6, Copyright (c) 1999-2018, by Zend Technologies

Step 2 – Install MySQL/MariaDB and setup database

Install MySQL/MariaDB.

sudo apt install -y mysql-server

Check MySQL/MariaDB version.

mysql --version
# mysql  Ver 15.1 Distrib 10.1.26-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2

Run mysql_secure installation script to improve MySQL security and set the password for MySQL root user.

sudo mysql_secure_installation

Connect to MySQL shell as the root user.

sudo mysql -u root -p
# Enter password

Create an empty MySQL database and user for Fork CMS, and remember the credentials.

CREATE DATABASE dbname;
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON dbname.* TO username@localhost;
FLUSH PRIVILEGES;
EXIT;

Step 3 – Install and configure 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/fork.conf and configure Nginx for Fork.

server {
    listen 80;

    root /var/www/fork;
    index index.php index.html;

    server_name example.com;

    location / {
    # Checks whether the requested url exists as a file $uri or directory $uri/ in the root, else redirect to /index.php.
        try_files $uri $uri/ @redirects;
    }

    location @redirects {
        rewrite ^ /index.php;
    }

    location ~ /.php$ {
        try_files $uri =404;
        include fastcgi_params;
        fastcgi_pass unix:/var/run/php/php7.2-fpm.sock; # Make sure to doublecheck this!
        fastcgi_index index.php;
        fastcgi_read_timeout 60;
        fastcgi_split_path_info ^(.+/.php)(/.+)$;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }

    # Don't pollute the logs with common requests
    location = /robots.txt  { access_log off; log_not_found off; }
    location = /favicon.ico { access_log off; log_not_found off; }

    # As Fork CMS has the app_root as doc_root, we need to restrict access to a few things for security purposes!
    location ~* ^/(composer/..*|vendor//.*|Procfile$|/.git//.*|src//Console.*|.*/.gitignore|/.editorconfig|/.travis.yml|autoload/.php|bower/.json|phpunit/.xml/.dist|.*/.md|app//logs//.*|app//config//.*|src//Frontend//Cache//CompiledTemplates.*|src//Frontend//Cache//Locale//.*/.php|src//Frontend//Cache//Navigation//.*/.php|src//Frontend//Cache//Search//.*|src//Backend//Cache//CompiledTemplates//.*|src//Backend//Cache//Locale//.*/.php)$ {
        deny all;
        access_log off;
        log_not_found off;
    }

    # Deny access to dot-files.
    location ~ //. {
        deny all;
        access_log off;
        log_not_found off;
    }
}

A summary of the changes that you will be making are as follows.

  • Change the value of the root directive to point to the correct location of your website, such as /var/www/fork.
  • Change the value of the server_name directive to point to your domain name or IP address.
  • Make sure you check that fastcgi_pass is set correctly.

Save the file and exit.

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

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

Test the Nginx configuration.

sudo nginx -t

Reload Nginx.

sudo systemctl reload nginx.service

Step 4 – Download and install Composer

Download Composer dependencies.

sudo apt install -y curl git unzip

Download and install Composer, the dependency manager for PHP.

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('SHA384', 'composer-setup.php') === '544e09ee996cdf60ece3804abc52599c22b1f40f4323403c44d44fdfdd586475ca9813a858088ffbc1f233e9b180f061') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
sudo mv composer.phar /usr/local/bin/composer

Check the version.

composer --version
# Composer version 1.6.5 2018-05-04 11:44:59

Step 5 – Download and install Fork CMS via Composer

Create a document root directory.

sudo mkdir -p /var/www/fork

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

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

Download the latest stable release of Fork CMS from the command line.

cd /var/www/fork
composer create-project forkcms/forkcms .

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

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

Edit the app/config/parameters.yml.dist file and set the database information.

sudo vim /var/www/fork/app/config/parameters_install.yml

Using your preferred web browser, open your site and follow the Fork CMS installer. After following the installer you should have Fork up and running. To access the Fork admin area just append /private to your site 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

Installing HHVM and Nginx/Apache on Ubuntu/Debian/Mint

Next Post

Install PBX in a Flash 5 on Debian 8

Next Post

Install PBX in a Flash 5 on Debian 8

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