Skip to content
This repository has been archived by the owner on Feb 6, 2020. It is now read-only.

Faveo Servicedesk Community Installation on Ubuntu 16.04 LTS with Apache on PHP 5.6

Ladybird Web Solution Pvt Ltd edited this page Apr 16, 2018 · 3 revisions

Introduction

This document will list steps on how to install **Faveo Servicedesk ** on a new Ubuntu 16.04 LTS.

We will install following dependencies in order to make Faveo Helpdesk work:

Read the detailed list of server requirement

We are using vi editor throughout to open and edit file, you can use nano editor also

Configure IP Tables

Please note that you have to make changes in the iptables configurations. This allows to open ports that are necessary in Faveo installation.

This is an optional step, If you are able to access your server remotely on Public IP. This step will not be required.

iptables -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT

iptables -A OUTPUT -p tcp --sport 22 -m conntrack --ctstate ESTABLISHED -j ACCEPT

iptables -A INPUT -p tcp --dport 80 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT

iptables -A OUTPUT -p tcp --sport 80 -m conntrack --ctstate ESTABLISHED -j ACCEPT

iptables -A INPUT -p tcp --dport 443 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT

iptables -A OUTPUT -p tcp --sport 443 -m conntrack --ctstate ESTABLISHED -j ACCEPT

PS: You have to reset the firewall and iptables to your specifications

Create a user for Faveo and update all the repos

useradd -r www-data

usermod -G www-data www-data

Install software-properties-common package to get add-apt-repository command.

sudo apt-get install -y software-properties-common python-software-properties && apt-get update

sudo add-apt-repository ppa:ondrej/php

apt-get update

apt-add-repository -y ppa:git-core/ppa && apt-get update

Update your system

apt-get update && apt-get upgrade -y

Install Apache, PHP, MySQL and PHP extensions

In this step we install following

  • PHP
  • Required PHP Extension
  • Git
  • MySQL
  • Curl
  • OpenSSL
  • Apache

Install Apache and restart Apache

sudo apt-get install apache2

service apache2 start

Installing PHP, PHP extensions and MySQL

sudo apt-get install php5.6 

sudo apt-get install php5.6-gd php5.6-mysql php5.6-dom php5.6-cli php5.6-json php5.6-common php5.6-mbstring php5.6-opcache php5.6-readline php5.6-mcrypt php5.6-zip php5.6-imap php5.6-fpm php5.6-curl

sudo apt-get install mysql-server

sudo apt-get install curl 

sudo apt-get install software-properties-common

sudo apt-get install git

sudo apt-get install sl

sudo apt-get install mlocate

sudo apt-get install dos2unix

sudo apt-get install bash-completion

sudo apt-get install openssl 

a2enmod rewrite

a2enmod proxy_fcgi setenvif

Check your apache server is setup on the below URL

http://YourServerIP or http://YourDomain (You need to map your domain with the server for this url to work, domain mapping steps are not covered in this article)

You should see Apache default page

Create empty Database for Faveo in MySQL

service mysql start

mysql_secure_installation

mysql -u root -p

CREATE DATABASE faveo;

GRANT ALL PRIVILEGES ON faveo.* TO 'faveouser'@'localhost' IDENTIFIED BY 'faveouserpass';

FLUSH PRIVILEGES;

quit

Copy Faveo Help Desk from Github

Faveo files can be manually uploaded to server or copied from Github, if you have access to Github account then use this step, else follow the next step

Create a folder for Faveo and upload Faveo Help-Desk Community

mkdir -p /var/www/html/faveo
git clone https://github.com/ladybirdweb/faveo-servicedesk-community.git /var/www/html/faveo/

OR Copy Faveo Help Desk via SSH

Incase you want to upload the Faveo files from your local system to your server and not use Github, then follow this step

scp username@source:/location/to/file username@destination:/where/to/put

Give correct file permission to Faveo files

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

chmod -R 755  /var/www/html/faveo

chmod -R 755  /var/www/html/faveo/storage

chmod -R 755  /var/www/html/faveo/bootstrap

rm /var/www/html/faveo/.example.env

Install Composer

cd /var/www/html/faveo
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer

Create a Virtual Host Configuration

vi /etc/apache2/sites-available/faveo.conf

Copy the contents below to above file

<VirtualHost *:80>
ServerName localhost
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html/faveo/public
<Directory /var/www/html/faveo>
AllowOverride All
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
a2ensite faveo.conf
service apache2 reload
a2dissite 000-default.conf
service apache2 restart
service php5.6-fpm restart
service mysql restart

Setup Cron Job

We are using default localhost URL where Faveo is installed, you can change the URL based on your system setting and IP address

crontab -u www-data -e

* * * * * /usr/bin/php /var/www/html/faveo/artisan schedule:run >> /dev/null 2>&1

Start Installation

Now you can install Faveo via GUI Wizard or CLI.

You can access Faveo url in the browser

PS:

  • You have to reset the firewall and iptables to your specifications
  • You need to follow steps yourself to harden the security of your server, server security is not covered in this article
  • Redis is recommended for messaging que and improving system performance
  • Always use SSL/HTTPS URL for Faveo