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:
- A Linux-based system such as EndeavourOS Latest
- A user account with sudo privileges
- Apache or Nginx web server with PHP support
- PHP 7.3 or greater with the necessary extensions
- MySQL or MariaDB database server
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 [email protected]
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.