Skip to content

Commit

Permalink
Bhanu (#5)
Browse files Browse the repository at this point in the history
* Helpdesk files URL changes in the script

* Instllationg docs

* Instllationg docs

* Instllationg docs

* Ubuntu Community update

* Ubuntu Community update

* Ubuntu Community update

* Ubuntu Community update

* Ubuntu Community update

* Ubuntu Community update

* Update ubuntu.md

* Update ubuntu.md

* Generic  update

* Generic and Debian  update

* Generic and Debian  update

* Generic and Debian  update

* Generic and Debian  update

* Generic and Debian  update

* Generic and Debian  update

* Generic and Debian  update

* Generic and Debian  update

* Generic and Debian  update

* Generic and Debian  update

* Generic and Debian  update

* Generic and Debian  update

* Generic and Debian  update

* Generic and Debian  update

* Generic and Debian  update

* Generic and Debian  update

* Generic and Debian  update

* Generic and Debian  update

* Generic and Debian  update

* Generic and Debian  update

* Generic and Debian  update

* Generic and Debian  update

* Generic and Debian  update

* Generic and Debian  update

* Generic and Debian  update

* Generic and Debian  update

* Generic and Debian  update

* Generic and Debian  update
  • Loading branch information
bhanu2217 authored May 13, 2020
1 parent b239efc commit e6f91cc
Show file tree
Hide file tree
Showing 13 changed files with 1,462 additions and 10 deletions.
Binary file modified .DS_Store
Binary file not shown.
82 changes: 72 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,22 +1,84 @@
# Faveo Server Images
This repository contains various scripts & images to install Faveo Helpdesk on various platforms(OS)

Contributing
--------------------------
Create your own fork of Faveo master repositoray and use [git-flow](https://github.com/nvie/gitflow) to create a new feature. Once the feature is published in your fork, send a pull request to begin the conversation of integrating your new feature into Faveo.

One click installers
--------------------------
Faveo Community version can be installed using following installers
# Installing Faveo (Generic) <!-- omit in toc -->

Faveo can be installed on a variety of platforms. The choice of the platform is yours.

- [Requirements](#requirements)
- [Installation instructions for specific platforms](#installation-instructions-for-specific-platforms)
- [Linux installation instructions for Community version](#markdown-generic-linux-instructions)
- [Linux installation instructions for Freelancer, paid and Enterprise version](#markdown-generic-linux-instructions-enterprise)
- [One Click Installer](#markdown-one-click-installer)
- [Installation via scripts](#markdown-script-installer)
- [Contributing](#markdown-contributing)
- [Help](#markdown-help)
- [References](#markdown-references)

<a id="markdown-requirements" name="requirements"></a>
## Requirements

If you don't want to use Docker, the best way to setup the project is to use the same configuration that [Homestead](https://laravel.com/docs/homestead) uses. Basically, Faveo depends on the following:

- **Apache** (with mod_rewrite enabled) or **Nginx** or **IIS**
- **Git**
- **PHP 7.3.x** with the following extensions: curl, dom, gd, json, mbstring, openssl, pdo_mysql, tokenizer, zip
- **Composer**
- **MySQL 5.7.x** or MariaDB **10.3+**
- Optional: Redis or Beanstalk

Fo complete minimum requirement list check here [https://support.faveohelpdesk.com/show/preinstallation-and-preupgradation-checklist](https://support.faveohelpdesk.com/show/preinstallation-and-preupgradation-checklist)

<a id="markdown-installation-instructions-for-specific-platforms" name="installation-instructions-for-specific-platforms"></a>
## Installation instructions for specific platforms

The preferred OS distribution is Cent OS 7, simply because all the development is made on it and we know it works. However, any OS that lets you install the above packages should work.

<a id="markdown-generic-linux-instructions" name="generic-linux-instructions"></a>
### Linux installation instructions for Community version
* [Generic Instructions](/docs/installation/providers/community/generic.md)
* [Ubuntu](/docs/installation/providers/community/ubuntu.md)
* [Debian](/docs/installation/providers/community/debian.md)

<a id="markdown-generic-linux-instructions-enterprise" name="generic-linux-instructions-enterprise"></a>
### Linux installation instructions for Freelancer, paid and Enterprise version
* [Generic Instructions](/docs/installation/providers/enterprise/generic.md)
* [Ubuntu](/docs/installation/providers/enterprise/ubuntu.md)
* [Debian](/docs/installation/providers/enterprise/debian.md)

<a id="markdown-one-click-installer" name="markdown-one-click-installer"></a>
### One click installers

Faveo Helpdesk Community can be installed using following installers
- **Softaculous** https://www.softaculous.com/apps/customersupport/Faveo_Helpdesk
- **Fantastico** https://www.netenberg.com/fantastico.php

Help
--------------------------
<a id="markdown-script-installer" name="markdown-script-installer"></a>
### Installation via scripts
We have created script for simple, one click installtion of Faveo.

**For Faveo Helpdesk Freelancer & Enterprise**
* [Cent OS 7](/installation-scripts/helpdesk/centos7/readme.md)
* [Ubuntu 18](/installation-scripts/helpdesk/ubuntu18/readme.md)

**For Faveo Helpdesk Community**
* [Cent OS 7](/installation-scripts/helpdesk-community/centos7/readme.md)
* [Ubuntu 18](/installation-scripts/helpdesk/ubuntu18-community/readme.md)

<a id="markdown-contributing" name="markdown-contributing"></a>
## Contributing

Create your own fork of Faveo master repositoray and use [git-flow](https://github.com/nvie/gitflow) to create a new feature. Once the feature is published in your fork, send a pull request to begin the conversation of integrating your new feature into Faveo.

<a id="markdown-help" name="markdown-help"></a>
## Help

Visit the [issue](https://github.com/ladybirdweb/faveo-server-images/issues) page. And if you'd like professional help commercial support is available, email us through the [contact form](http://www.faveohelpdesk.com/contact-us/).

References
--------------------------
<a id="markdown-references" name="markdown-references"></a>
## References

- **Faveo Helpdesk** https://github.com/ladybirdweb/faveo-helpdesk
- **Faveo Docker** https://github.com/ladybirdweb/faveo-docker
- **Faveo Probe** https://github.com/ladybirdweb/faveo-probe
198 changes: 198 additions & 0 deletions docs/installation/providers/community/debian.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,198 @@
# Installing Faveo Helpdesk Community on Debian <!-- omit in toc -->

<img alt="Logo" src="https://upload.wikimedia.org/wikipedia/commons/thumb/4/4a/Debian-OpenLogo.svg/109px-Debian-OpenLogo.svg.png" width="96" height="127" />

Faveo can run on Debian Buster.

- [Prerequisites](#prerequisites)
- [Installation steps](#installation-steps)
- [1. Clone the repository](#1-clone-the-repository)
- [2. Setup the database](#2-setup-the-database)
- [3. Install Faveo](#3-gui-faveo-installer)
- [4. Configure cron job](#4-configure-cron-job)
- [5. Configure Apache webserver](#5-configure-apache-webserver)
- [Final step](#final-step)

## Prerequisites

- **Apache** (with mod_rewrite enabled) or **Nginx** or **IIS**
- **Git**
- **PHP 7.3+** with the following extensions: curl, dom, gd, json, mbstring, openssl, pdo_mysql, tokenizer, zip
- **Composer**
- **MySQL 5.7+** or MariaDB **10.3+**

**LAMP Installation** follow the [instructions here](https://github.com/teddysun/lamp)
If you follow this step, no need to install Apache, PHP, MySQL separetely as listed below

An editor like vim or nano should be useful too.

**Apache:** Install Apache with:

```sh
sudo apt update
sudo apt install -y apache2
```

**Git:** Install Git with:

```sh
sudo apt install -y git
```

**PHP:**

Install PHP 7.3 with these extensions:

```sh
sudo apt install -y php php-bcmath php-gd php-gmp php-curl php-intl \
php-mbstring php-mysql php-xml php-zip
```

**Composer:** After you're done installing PHP, you'll need the Composer dependency manager.

```sh
sudo apt install -y composer
```

**MariaDB:** Install MariaDB. Note that this only installs the package, but does not setup Mysql. This is done later in the instructions:

```sh
sudo apt install -y mariadb-server
```

## Installation steps

Once the softwares above are installed:

### 1. Clone the repository

You may install Faveo by simply cloning the repository. Consider cloning the repository into any folder, example here in `/var/www/faveo` directory:

```sh
cd /var/www/
sudo git clone https://github.com/ladybirdweb/faveo-helpdesk.git
```

You should check out a tagged version of Faveo since `master` branch may not always be stable.
Find the latest official version on the [release page](https://github.com/ladybirdweb/faveo-helpdesk/releases)

```sh
cd /var/www/faveo
# Clone the desired version
sudo git checkout tags/v1.10.7
```

### 2. Setup the database

First make the database a bit more secure.

```sh
sudo mysql_secure_installation
```

Next log in with the root account to configure the database.

```sh
sudo mysql -uroot -p
```

Create a database called 'faveo'.

```sql
CREATE DATABASE faveo;
```

Create a user called 'faveo' and its password 'strongpassword'.

```sql
CREATE USER 'faveo'@'localhost' IDENTIFIED BY 'strongpassword';
```

We have to authorize the new user on the `faveo` db so that he is allowed to change the database.

```sql
GRANT ALL ON faveo.* TO 'faveo'@'localhost';
```

And finally we apply the changes and exit the database.

```sql
FLUSH PRIVILEGES;
exit
```

### 3. GUI Faveo Installer

Follow the final installation steps [here](https://support.faveohelpdesk.com/show/web-gui-installer)


### 4. Configure cron job

Faveo requires some background processes to continuously run. The list of things Faveo does in the background is described [here](https://github.com/ladybirdweb/faveo-helpdesk/blob/master/app/Console/Kernel.php#L9).
Basically those crons are needed to receive emails
To do this, setup a cron that runs every minute that triggers the following command `php artisan schedule:run`.

Run the crontab command:

```sh
crontab -u www-data -e
```

Then, in the `crontab` editor window you just opened, paste the following at the end of the document:

```sh
* * * * * php /var/www/faveo/artisan schedule:run
```

### 5. Configure Apache webserver

1. Give proper permissions to the project directory by running:

```sh
sudo chown -R www-data:www-data /var/www/faveo
sudo chmod -R 775 /var/www/faveo/storage
```

2. Enable the rewrite module of the Apache webserver:

```sh
sudo a2enmod rewrite
```

3. Configure a new Faveo site in apache by doing:

```sh
sudo nano /etc/apache2/sites-available/faveo.conf
```

Then, in the `nano` text editor window you just opened, copy the following - swapping the `**YOUR IP ADDRESS/DOMAIN**` with your server's IP address/associated domain:

```html
<VirtualHost *:80>
ServerName **YOUR IP ADDRESS/DOMAIN**

ServerAdmin webmaster@localhost
DocumentRoot /var/www/faveo/public

<Directory /var/www/faveo/public>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
```

4. Apply the new `.conf` file and reload Apache. You can do that by running:

```sh
sudo a2dissite 000-default.conf
sudo a2ensite faveo.conf
sudo systemctl reload apache2
```

### Final step

The final step is to have fun with your newly created instance, which should be up and running to `http://localhost`.
Loading

0 comments on commit e6f91cc

Please sign in to comment.