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