How to Install FreeScout on Arch Linux

FreeScout is an open-source helpdesk and customer support system that is easy to install and use. This guide will take you through the steps to install FreeScout on Arch Linux.

Prerequisites

Before starting with the installation, you need to have the following prerequisites:

Step 1: Install Required Packages

First, open the terminal and update the package repository index:

sudo pacman -Sy

After the update, install the required packages for the FreeScout installation:

sudo pacman -S git imagemagick gd php-gd php-imagick php-intl

Step 2: Download FreeScout

Now, create a new directory for your FreeScout installation and navigate to it:

sudo mkdir /var/www/freescout
cd /var/www/freescout

Next, clone the FreeScout repository from the GitHub repository using the Git command:

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

Set the appropriate permission for the FreeScout installation directory:

sudo chown -R www-data:www-data /var/www/freescout
sudo chmod -R 755 /var/www/freescout

Step 3: Install Composer Dependencies

Now, install composer dependencies for the FreeScout using the following command:

sudo composer install

Step 4: Configure Database

Create a new database for FreeScout, and grant all the privileges to the newly created user:

sudo mysql -u root -p << EOF
CREATE DATABASE freescout_db;
GRANT ALL PRIVILEGES ON freescout_db.* TO 'freescout_user'@'localhost' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
EOF

After creating a new database, copy ./.env.example to ./.env:

sudo cp .env.example .env

Edit .env file and update the following configuration:

APP_URL=http://localhost
APP_DEBUG=false
DB_DATABASE=freescout_db
DB_USERNAME=freescout_user
DB_PASSWORD=password

Step 5: Generate Application Key

Generate a new application key using the following command:

sudo php artisan key:generate

Step 6: Run Migrations

Run the database migrations using the following command:

sudo php artisan migrate

Step 7: Configure Your Web Server

Create a new virtual host for your FreeScout installation using your preferred webserver (Apache or Nginx).

For Apache, create a new virtual host configuration file:

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

Add the following configuration to the file:

<VirtualHost *:80>
     ServerName freescout.local
     ServerAlias www.freescout.local
     DocumentRoot /var/www/freescout/public

     <Directory /var/www/freescout>
        AllowOverride All
     </Directory>

     ErrorLog /var/log/httpd/freescout-error.log
     CustomLog /var/log/httpd/freescout-access.log combined
</VirtualHost>

For Nginx, create a new virtual host configuration file:

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

Add the following configuration to the file:

server {
    listen 80;

    server_name freescout.local;
    root /var/www/freescout/public;
    index index.php;

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

    location ~ \.php$ {
        include fastcgi_params;
        fastcgi_pass unix:/run/php-fpm/php-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}

After creating a new virtual host configuration, enable it and restart your webserver:

For Apache:

sudo a2ensite freescout.conf
sudo systemctl reload httpd

For Nginx:

sudo ln -s /etc/nginx/sites-available/freescout.conf /etc/nginx/sites-enabled/
sudo systemctl reload nginx

Step 8: Access FreeScout

Now, you can access FreeScout by navigating to the URL:

http://freescout.local

Enter the user email and password as per the default credentials mentioned in the FreeScout documentation.

Conclusion

Congratulations! You have successfully installed FreeScout on Arch Linux. You can now use FreeScout to manage your helpdesk and customer support system.

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!