FreeScout is a free open-source helpdesk and email management software. If you want to install it on your Debian-based operating system, this step-by-step tutorial will guide you through the process.
Before you start the installation, make sure you have the following prerequisites:
At first, open your Terminal and update the system packages by running the following command:
sudo apt update && sudo apt upgrade
Once the system packages are up-to-date, install the required dependencies for FreeScout. Run the following command to install all the required dependencies:
sudo apt install apache2 mariadb-server php7.3-common php7.3-cli php7.3-mbstring php7.3-xml php7.3-curl php7.3-mysql php7.3-gd
Next, you need to install Git on your system to clone the FreeScout source code from the Github repository. You can install Git by running the following command:
sudo apt install git
After installing Git, use it to clone the FreeScout repository by running the following command:
sudo git clone https://github.com/freescout-helpdesk/freescout.git /var/www/html/freescout
This command will clone the FreeScout source code into the /var/www/html/freescout
directory.
After cloning the FreeScout repository, you need to configure Apache to serve the FreeScout application. You can create a new Apache virtual host file for FreeScout by running the following command:
sudo nano /etc/apache2/sites-available/freescout.conf
Then, paste the following code into the file and save it.
<VirtualHost *:80>
ServerName yourdomain.com
ServerAlias www.yourdomain.com
DocumentRoot /var/www/html/freescout/public
<Directory /var/www/html/freescout/public>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/freescout-error.log
CustomLog ${APACHE_LOG_DIR}/freescout-access.log combined
</VirtualHost>
Note: Replace yourdomain.com
with your actual domain name.
Once done, enable the new virtual host by running the following command:
sudo a2ensite freescout.conf
Then, reload the Apache webserver by running the following command:
sudo systemctl restart apache2
You need to create a database for FreeScout. Login to MySQL/MariaDB by running the following command:
sudo mysql -u root -p
Then, create a new database with the following command:
CREATE DATABASE freescout;
Note: Replace freescout
with your preferred database name.
Next, create a new MySQL/MariaDB user with the command below:
CREATE USER 'freescoutuser'@'localhost' IDENTIFIED BY 'yourpassword';
Note: Replace yourpassword
with a strong password.
Finally, grant all privileges on the freescout
database to the newly created user with the following command:
GRANT ALL PRIVILEGES ON `freescout` . * TO 'freescoutuser'@'localhost';
Flush the privileges and exit the MySQL/MariaDB console by running the following command:
FLUSH PRIVILEGES;
exit;
After creating the database, you need to configure FreeScout by creating a .env
file. Copy the .env.example
file with the following command:
cd /var/www/html/freescout
sudo cp .env.example .env
Then, edit the .env
file with the following command:
sudo nano .env
Update the following lines to match your database and email settings:
APP_URL=http://yourdomain.com
DB_DATABASE=freescout
DB_USERNAME=freescoutuser
DB_PASSWORD=yourpassword
MAIL_DRIVER=smtp
MAIL_HOST=yourmailhost.com
MAIL_PORT=587
MAIL_USERNAME=youremail@example.com
MAIL_PASSWORD=yourpassword
MAIL_ENCRYPTION=tls
Save the file and exit the editor.
After configuring FreeScout, you can install it by running the following command:
cd /var/www/html/freescout
sudo php artisan freescout:install
This command will install FreeScout and migrate the database tables.
Finally, to enable scheduled tasks in FreeScout, add the following cron job to your system:
* * * * * php /var/www/html/freescout/artisan schedule:run >> /dev/null 2>&1
You can add this cron job by running the following command:
sudo crontab -u www-data -e
Then, paste the above-mentioned cron job line at the end of the file.
That's it! You have successfully installed and configured FreeScout on your Debian-based system. Now, you can access the FreeScout helpdesk by navigating to http://yourdomain.com
in your web browser.
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!