How to Install FreeScout on EndeavourOS Latest

FreeScout is an open-source helpdesk and shared inbox software that allows you to manage and organize customer support requests effectively. In this tutorial, we will show you how to install FreeScout on EndeavourOS Latest.

Prerequisites

Before we proceed with the installation of FreeScout on EndeavourOS Latest, make sure you have the following requirements:

Step 1: Update Packages and Install Required Dependencies

First, update the system packages by running the following command:

sudo pacman -Syu

Next, install the required dependencies:

sudo pacman -S git curl unzip php php-fpm php-curl php-gd php-intl php-json php-mbstring php-xml php-zip mariadb

Step 2: Install Composer

Composer is a dependency manager for PHP. You need to install it to install FreeScout. Run the following command to install Composer:

sudo pacman -S composer

Step 3: Download and Extract FreeScout

First, create a new directory to store FreeScout files:

sudo mkdir /var/www/freescout

Change the ownership of the directory to your user account:

sudo chown -R $USER:$USER /var/www/freescout

Now, navigate to the newly created directory:

cd /var/www/freescout

Next, download the latest version of FreeScout using git:

git clone https://github.com/freescout-helpdesk/freescout.git .

Once done, use Composer to install the required packages:

composer install

Step 4: Create a New Database for FreeScout

Log in to your MySQL or MariaDB server:

sudo mysql -u root -p

Create a new database for FreeScout:

CREATE DATABASE freescout;

Create a new user and grant them privileges on the recently created database:

CREATE USER 'freescoutuser'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON freescout.* TO 'freescoutuser'@'localhost' WITH GRANT OPTION;

Flush the privileges and exit:

FLUSH PRIVILEGES;
EXIT;

Step 5: Configure FreeScout

Copy the example environment file:

cp .env.example .env

Edit the .env file and add your database credentials:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=freescout
DB_USERNAME=freescoutuser
DB_PASSWORD=password

Save and close the file.

Step 6: Set the Permissions

Give the web server full access to the storage and bootstrap/cache directories by running the following command:

sudo chgrp -R www-data storage bootstrap/cache
sudo chmod -R ug+rwx storage bootstrap/cache

Step 7: Configure Nginx or Apache

For Nginx, create a new server block:

sudo nano /etc/nginx/sites-available/freescout.conf

Add the following content to the new file:

server {
    listen 80;
    server_name your-domain.com;
    root /var/www/freescout/public;

    index index.php;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php-fpm/php-fpm.sock;
    }

    location ~ /\.(?!well-known).* {
        deny all;
    }
}

For Apache, create a new virtual host:

sudo nano /etc/httpd/conf/extra/freescout.conf

Add the following content to the new file:

<VirtualHost *:80>
    ServerAdmin webmaster@your-domain.com
    ServerName your-domain.com

    DocumentRoot /var/www/freescout/public
    <Directory /var/www/freescout/public>
        Options -Indexes +FollowSymLinks +MultiViews
        AllowOverride All
        Require all granted
    </Directory>

    <IfModule mod_rewrite.c>
        Options +FollowSymLinks
        RewriteEngine On
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteRule ^ index.php [L]
    </IfModule>
</VirtualHost>

Save and close the file.

Step 8: Restart the Web Server

For Nginx:

sudo systemctl restart nginx
sudo systemctl restart php-fpm

For Apache:

sudo systemctl restart httpd

Step 9: Finish Installation

Visit your server's domain (or IP address) in a web browser to access the FreeScout installer:

http://your-domain.com/install

Follow the on-screen instructions to complete the installation process.

Conclusion

You have successfully installed FreeScout on EndeavourOS Latest. You can now start using FreeScout to manage your customer support requests.

If you want to self-host in an easy, hands free way, need an external IP address, or simply want your data in your own hands, give IPv6.rs a try!

Alternatively, for the best virtual desktop, try Shells!