Skip to content

Installation Process

Server Requirement

  • Linux Server (Preferred Ubuntu 22.04)
  • RAM 4GB
  • Space 60GB
  • Apache 2.4/Nginx Server (Preferred Nginx)
  • PHP 8.1+
  • Database (Preferred MYSQL 8.0.34+)
  • PHP Dependency Manager (Preferred Composer)
  • Redis Server For Queue Management
  • Process Control System (Preferred Supervisor)
  • JavaScript Dependency Management (Preferred NPM)

Note: The above server configuration is minimum requirement.

Prerequisites PHP extension

  • OpenSSL PHP Extension
  • PDO PHP Extension
  • Mbstring PHP Extension
  • Tokenizer PHP Extension
  • XML PHP Extension
  • Ctype PHP Extension
  • JSON PHP Extension
  • Curl PHP extension
  • GD PHP extension
  • GMP PHP extension
  • Intl PHP extension
  • BCMath PHP Extension
  • ZIP PHP extension
  • MYSQL PHP extension
  • Redis PHP extension

Server Installation

Login to your server using ssh from your terminal. After successfully logged in follow every instructions down bellow.

Note: You can install either apache ar nginx. Here we describe the nginx installation.

Installing Nginx Server

Nginx is available in Ubuntu’s default repositories, it is possible to install it from these repositories using the apt packaging system.

Since this is our first interaction with the apt packaging system in this session, we will update our local package index so that we have access to the most recent package listings. Afterwards, we can install nginx:

sudo apt update 
sudo apt install -y nginx 

When you have your server’s IP address, enter it into your browser’s address bar: You should see the default Nginx landing page

http://your_server_ip

To additional configuration, you need to go through the full installation process. Full Nginx Installation Guide

Installing PHP/PHP-FPM

Unlike Apache, Nginx doesn’t have a built in support for processing PHP files so we need to install a separate application such as PHP FPM (“fastCGI process manager”) which will handle PHP files.

To install the PHP and PHP FPM packages run the following command:

sudo apt install -y php-fpm

Installing PHP Extension

To run the system you need install some additional extensions. PHP extensions are available as packages and can be easily installed with.

To install the required php extensions run the following command:

sudo apt install -y php-{mbstring,mysql,redis,igbinary,intl,gd,gmp,xml,curl,json,zip,bcmath}

Installing MYSQL

To install MYSQL go through every step describe in the link. MYSQL Installation Guide

Installing Composer

To install composer (PHP dependency manager) run the following command:

cd ~
curl -sS https://getcomposer.org/installer -o composer-setup.php
HASH=`curl -sS https://composer.github.io/installer.sig`
php -r "if (hash_file('SHA384', 'composer-setup.php') === '$HASH') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer

Or you can follow the link: Composer Installation Guide

Installing Redis Server

To install Redis Server (In-memory key-value store) run the following command:

sudo apt install -y redis-server

If you need change the default option then follow this link Full Redis Installation Guide

Installing Supervisor

Supervisor is a process monitor for the Linux operating system, and will automatically restart your queue:work process if it fails. To install Supervisor on Ubuntu, you may use the following command:

sudo apt install -y supervisor

Installing NodeJS and NPM

To install a different version of Node.js, you can use a PPA (personal package archive) maintained by NodeSource.

First, we will install the PPA in order to get access to its packages. From your home directory, use curl to retrieve the installation script for your preferred version, making sure to replace 12.x with your preferred version string (if different).

curl -sL https://deb.nodesource.com/setup_18.x -o nodesource_setup.sh
sudo bash nodesource_setup.sh
sudo apt install nodejs