Server Installation

Tutorial



Server Requirements


The project requires to be installed on Linux based VPS Server, but you are free to install anywhere, where Laravel supported and can be launched. It's impossible to provide instructions to all possible operating systems. Therefore, this doc contains only Linux based instructions, so for all other Operating Systems, you have to find information yourself.

Minimal software requirements:


Exbita Server Requirements:
  • Linux Server (Debian/Ubuntu)
  • Server RAM Minimum >= 4GB, recommended >= 8GB
  • Server Disk Space 3GB+

Bitcoin/Ethereum Server Requirements:
  • Linux Server (Debian/Ubuntu)
  • Server RAM Minimum >= 4GB, recommended >= 8GB
  • *** Server Disk Space 300GB+

*** We provide free and fully synced Ethereum Node. If you connect to our server, you need to provide only 10GB of disk space instead of 300GB. Your server still stores user wallets and just connect to our server to get new block notification and transaction information.


Server Installation


NOTE: This document contains default path of packages using Ubuntu/Debian distributions (e.g. Nginx Site Path /var/www/html, Php Path /usr/bin/php, Nginx config files /etc/nginx/sites-available/default),so if the packages in your system use different path, please adjust them accordingly.

As we mentioned above, Exbita requires Linux based VPS Server. All our further instructions can be applied to Ubuntu or Debian Linux Distributions. Connect to your VPS server using ssh connection from the terminal as follows:

ssh [email protected]

NOTE: Please change username and ip address of your server accordingly.

After successful authentication, please carefully check all instructions below to complete Server Installation process.

Web Server Installation

Exbita supports two web servers. It's NGINX and Apache. We describe here NGINX based web server installation.

Please run the following commands to download package information from all configured sources and install NGINX package:

sudo apt update
sudo apt install -y nginx

If NGINX was installed successfully, you can open the page from the browser typing your server ip. It should display the default nginx welcome page.

http://server-ip

If you want to customize nginx configuration, please follow the links below which contain full installation process:

PHP and PHP-FPM Installation

Here we install PHP along with PHP-FPM package. PHP-FPM (Fast Process Manager) is a processor for the PHP scripting language, and allows NGINX to handle and execute php scripts.

Run the following commands to install PHP and PHP FPM packages:

sudo apt install -y php7.4-fpm

NOTE: If your Linux distribution doesn't have PHP 7.4, you can either add PPA repository or install a lower version of PHP.

PHP Extensions Installation

Since Exbita was built in Laravel Framework, it requires some additional PHP Extensions to be installed. Here is a command to install all required extensions:

sudo apt install -y php7.4-{mysql,redis,curl,bcmath,json,zip,intl,mbstring,gd,xml,gmp}
For Apache users:

Usually most of the extensions are enabled by default in WAMP or on other web-server packs, if it doesn't you have to enable them. Also, make sure that along with the extensions above, Fileinfo extension is enabled on php.ini file. You can check the list of enabled extensions by typing php -i in Windows Command Processor (cmd).

Composer Installation

Composer is a tool for dependency management in PHP. It can be installed with the following command:

sudo apt install -y composer

Other ways to install composer package can be found on Composer Installation Guide

MYSQL Installation

Please follow the steps from the instructions given on these pages:

Redis Server Installation

Exbita uses Redis Server for Queue Management and Broadcasting. Let's install it using command below:

sudo apt install -y redis-server

then check its status and make sure it's running:

sudo service redis-server status

NodeJS and NPM Installation

Please follow the steps from the instructions given on these pages to install NodeJS and NPM:

NOTE: Please make sure you install packages from PPA maintained by NodeSource or Official Debian/Ubuntu Node.js Package and avoid using NVM. NVM based packages will conflict with Exbita's theme builder component. NPM command also should be executable from PHP files, otherwise the Theme Builder component will not work.

Supervisor Installation

Supervisor is a client/server system that allows to control a number of processes on UNIX-like operating systems. Exbita uses Supervisor for queue processing and restarts it after server reboot. Please use the following command to install:

sudo apt install -y supervisor

PHP Configuration

Some php configuration variables need to be adjusted in order to make Exbita work correctly. Replace the path 7.4 with your PHP version or replace the path of php.ini, if you use different path.

1. Open php.ini

sudo nano /etc/php/7.4/fpm/php.ini

Set maximum allowed file size (e.g. for identity documents, site favicon, and logo) and save the file:

; Maximum allowed size for uploaded files.
upload_max_filesize = 10M

; Must be greater than or equal to upload_max_filesize
post_max_size = 10M

3. After modifying the config file, you need to save it and restart PHP-FPM service

sudo /etc/init.d/php7.4-fpm restart