Server Installation


We are strongly prefer any Server with ubuntu OS. Because it is quite easy to setup and maintain.

  • Minimum Server Requirements
    • Any server with UBUNTU Preferred
    • 4 GB Ram
    • 30 GB Storage
    • vCPU 2 cores

Installation Requirements

  1. Apache
  2. PHP8.1
  3. mysql
  4. phpmyadmin
  5. composer
  6. Jenkins/FTP
  7. Laravel Supervisor

Install Apache

  • Open the ssh terminal using pemfile of your aws instance

  • Run "sudo apt install apache2" to install an apache2

  • Run "sudo apt update"

  • Run "sudo nano /etc/apache2/sites-available/000-default.conf" to edit the config follow next step.

<Directory /var/www/html>

                Options -Indexes
                AllowOverride All
                Require all granted
                ErrorDocument 403 "You Don't have a permission to access this URL"
                ErrorDocument 404 "Requesting Page not Found. Contact admin for further details"

Install PHP8.1

Please follow the instrctions from the reference link below. And Install the php extensions below. bcmath,bz2,intl,gd,mbstring,mysql,zip,fpm,curl,xml

Reference Link :

Install mysql

Run the below commands one by one

  • sudo apt-get update
  • sudo apt-get install mysql-server
  • mysql_secure_installation
  • sudo service mysql restart

To create a new user for mysql

  • sudo mysql -u root
  • use mysql;
  • GRANT ALL ON . TO 'taxi_user'@'%' IDENTIFIED BY 'TaxiUser@123' WITH GRANT OPTION;

Reference Link :

Install phpmyadmin

Open the path "var/www/html". and dowonload the phpmyadmin package using below command.

"sudo wget"

Unzip the downloaded package and rename it to "pma".

Install composer

Run The Below Commands One By One

  • cd ~
  • curl -sS -o /tmp/composer-setup.php
  • HASH=curl -sS
  • echo $HASH
  • php -r "if (hash_file('SHA384', '/tmp/composer-setup.php') === '$HASH') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
  • sudo php /tmp/composer-setup.php --install-dir=/usr/local/bin --filename=composer
  • composer

(Or) Please follow the instructions from the reference link below.

Reference Link:

Install Jenkins (Optional if you want to use ftp)

Run The Below Commands One By One :

To install jenkins you need to install JAVA && skip the firewal setup.
Install JAVA

  1. sudo apt install default-jre
  2. sudo apt install default-jdk

Install Jenkins

  1. wget -q -O - | sudo apt-key add -
  2. sudo sh -c 'echo deb binary/ > /etc/apt/sources.list.d/jenkins.list'
  3. curl -fsSL | sudo tee \ /usr/share/keyrings/jenkins-keyring.asc > /dev/null
  4. echo deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc] \ binary/ | sudo tee \ /etc/apt/sources.list.d/jenkins.list > /dev/null
  5. sudo apt update
  6. sudo apt install jenkins
  7. sudo systemctl status jenkins

(Or) Follow the instructions from the reference link below.

Reference Link:

=> Install FTP

  • Follow the below instructions to install ftp on ubntu server
  1. install vsftpd - sudo apt install vsftpd

  2. take backup of config file by following command - sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak

  3. edit vsftpd.conf by following command - sudo nano /etc/vsftpd.conf and add the below lines at bottom of the file and save the file.

  1. restart vsftpd - sudo systemctl restart vsftpd

  2. Create Ftp User by folowing command - sudo adduser ftp_user

  3. assign directory to user - sudo usermod -d /var/www/html ftp_user

  4. add user to www-data group - sudo usermod -aG www-data ftp_user

  5. change directory owners - cd /var/www Then - sudo chown -R ftp_user:www-data html/

  6. change readwrite permissions - sudo chmod -R 775 html/

9. Setup Laravel Supervisor

  • Follow the below steps for setup the laravel supervisor
  1. sudo apt-get install supervisor

  2. sudo nano /etc/supervisor/conf.d/laravel-worker.conf

  3. Paste the below lines in that file

command=php /var/www/html/project-name/artisan queue:work --sleep=3 --tries=3

Note:user can be ubuntu/root & project name should be yours

  1. sudo supervisorctl reread

  2. sudo supervisorctl update

  3. sudo supervisorctl start laravel-worker:*

Reference Link: