Come installare l'Help Desk di FreeScout su Debian 12
FreeScout è un helpdesk open source e una casella di posta condivisa scritta in PHP e basata sul framework Laravel. È stato creato come alternativa a Zendesk/Help Scout. È un software di helpdesk leggero e potente che può essere installato ovunque. FreeScout è un software di helpdesk ottimizzato al 100% per dispositivi mobili e supporta autenticazioni multilingue e moderne di Microsoft Exchange.
Questa guida ti guiderà attraverso l'installazione passo passo dell'Help Desk di FreeScout sul server Debian 12. Installerai FreeScout con LEMP Stack (Nginx, MariaDB e PHP-FPM) sul server Debian e proteggerai la tua installazione con certificati SSL/TLS di Letsencrypt.
Prerequisiti
Prima di procedere, conferma di aver raccolto:
- Un server Debian 12.
- Un utente non root con privilegi di amministratore sudo.
- Un nome di dominio puntava all'indirizzo IP di un server.
Installazione delle dipendenze
FreeScout Help Desk è un'applicazione open source scritta in PHP, supporta il database MySQL/MariaDB o PostgreSQL e può essere eseguita con server Web Nginx, Apache e IIS. In questa guida installerai FreeScout con lo stack LEMP (Nginx, MariaDB e PHP-FPM).
Esegui il comando seguente per aggiornare e aggiornare l'indice del tuo pacchetto Debian.
sudo apt update
Una volta aggiornato il repository, esegui il comando seguente per installare le dipendenze per FreeScout Help Desk, incluso LEMP Stack (Nginx, MariaDB, PHP-FPM) con estensioni PHP aggiuntive e git.
sudo apt install nginx mariadb-server libmariadb-dev git php-fpm php-mysql php-mbstring php-xml php-imap php-zip php-gd php-curl php-intl
Digitare y per procedere con l'installazione.
Ora con le dipendenze installate, verifica ciascuna dipendenza eseguendo il comando seguente.
Verifica il servizio Nginx per assicurarti che sia in esecuzione e abilitato.
sudo systemctl is-enabled nginx
sudo systemctl status nginx
L'output seguente indica che Nginx è in esecuzione e abilitato.
Quindi, verifica il servizio MariaDB utilizzando il comando seguente.
sudo systemctl is-enabled mariadb
sudo systemctl status mariadb
Dovresti vedere un output simile abilitato che indica che MariaDB è abilitato e attivo (in esecuzione).
Ora esegui il seguente comando per verificare il servizio PHP-FPM.
sudo systemctl is-enabled php8.2-fpm
sudo systemctl status php8.2-fpm
L'output seguente mostra che il servizio PHP-FPM è in esecuzione e abilitato.
Infine, controlla la versione PHP-FPM e l'elenco delle estensioni abilitate utilizzando il seguente comando.
php -v
php -m
Dovresti vedere che PHP-FPM 8.2 è installato con alcune estensioni abilitate.
Configurazione di PHP-FPM
Dopo aver installato le dipendenze, configurerai la tua installazione PHP-FPM modificando il file php.ini.
Apri la configurazione php.ini per PHP-FPM /etc/php/8.2/fpm/php.ini utilizzando il seguente comando dell'editor nano.
sudo nano /etc/php/8.2/fpm/php.ini
Modifica le seguenti opzioni e assicurati di regolare i dettagli del fuso orario e del limite di memoria in base all'ambiente del tuo server.
memory_limit = 512M
date.timezone = Europe/Stockholm
upload_max_filesize = 16M
cgi.fix_pathinfo=0
Salva ed esci dal file quando hai finito.
Ora esegui il comando systemctl riportato di seguito per riavviare il servizio PHP-FPM e applicare le modifiche.
sudo systemctl restart php8.2-fpm
Configurazione del server MariaDB
Nel passaggio successivo, proteggerai l'installazione del tuo server MariaDB tramite l'utility mariadb-secure-installation. Quindi, creerai un nuovo database e un nuovo utente che verranno utilizzati da FreeScout.
Per proteggere il tuo server MariaDB, inserisci il seguente comando.
sudo mariadb-secure-installation
Durante il processo, inserire Y per confermare la nuova configurazione oppure n per No e rifiutare. Di seguito alcune delle configurazioni del server MariaDB che ti verranno richieste:
- Passare l'autenticazione locale a unix_socket? Immettere n per n.
- Configurare la password root di MariaDB? Inserisci y, quindi digita la nuova password root MariaDB e ripeti.
- Rimuovere l'utente anonimo predefinito? Immettere y per confermare.
- Disabilitare l'accesso remoto per l'utente root? Immettere y per confermare.
- Rimuovere il test del database predefinito? Immettere y per confermare.
- Ricaricare i privilegi della tabella e applicare le modifiche? Immettere y per confermare.
Dopo aver protetto il server MariaDB, creerai un nuovo database e utente MariaDB che verrà utilizzato da FreeScout. Questo può essere fatto accedendo al server MariaDB tramite il client mariadb.
Esegui il comando mariadb riportato di seguito per accedere al server MariaDB. Inserisci la tua password root MariaDB quando richiesto.
sudo mariadb -u root -p
Ora esegui le seguenti query per creare un nuovo database freescout e un utente freescout. Assicurati di modificare la password nella query seguente.
CREATE DATABASE freescout CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci;
GRANT ALL PRIVILEGES ON freescout.* TO freescout@localhost IDENTIFIED BY "password";
FLUSH PRIVILEGES;
Successivamente, esegui la query seguente per verificare l'utente freescout e assicurarti che l'utente possa accedere al database freescout.
SHOW GRANTS FOR freescout@localhost;
Il seguente output conferma che l'utente freescout può accedere al database freescout.
Ora puoi digitare quit per uscire dal server MariaDB.
Download del codice sorgente di FreeScout
Ora che i server PHP-FPM e MariaDB sono configurati, il passo successivo è scaricare il codice sorgente di FreeScout tramite Git, quindi impostare l'autorizzazione e la proprietà adeguate del codice sorgente di FreeScout.
Esegui il comando seguente per creare una nuova directory web-root /var/www/freescout e spostati al suo interno.
mkdir -p /var/www/freescout; cd /var/www/freescout
Scarica il codice sorgente di FreeScout da GitHub tramite il comando git riportato di seguito.
git clone https://github.com/freescout-helpdesk/freescout .
Una volta terminato il processo, esegui il comando seguente per modificare la proprietà della directory web-root /var/www/freescout nell'utente www-data. Ciò consentirà a Nginx di accedere al codice sorgente di FreeScout.
sudo chown -R www-data:www-data /var/www/freescout
Infine, puoi anche assicurarti che ogni directory e file disponga dell'autorizzazione adeguata eseguendo il comando seguente.
find /var/www/freescout -type f -exec chmod 664 {} \;
find /var/www/freescout -type d -exec chmod 775 {} \;
A questo punto, hai scaricato il codice sorgente di FreeScout nella directory principale del web /var/www/freescout. Nel passaggio successivo, creerai una nuova configurazione di blocchi del server Nginx che verrà utilizzata per eseguire l'installazione di FreeScout.
Configurazione del blocco server Nginx
Dopo aver scaricato il codice sorgente di FreeScout, creerai un nuovo blocco server Nginx che verrà utilizzato per eseguire l'installazione di FreeScout. Prima di andare oltre, assicurati che il nome di dominio punti all'indirizzo IP del tuo server.
Crea una nuova configurazione del blocco server Nginx /etc/nginx/sites-available/freescout utilizzando il seguente comando dell'editor nano.
sudo nano /etc/nginx/sites-available/freescout
Inserisci la seguente configurazione e assicurati di cambiare il nome del dominio
server {
listen 80;
server_name hwdomain.io;
root /var/www/freescout/public;
index index.php index.html index.htm;
error_log /var/www/freescout/storage/logs/web-server.log;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
# Uncomment this location if you want to improve attachments downloading speed.
# Also make sure to set APP_DOWNLOAD_ATTACHMENTS_VIA=nginx in the .env file.
#location ^~ /storage/app/attachment/ {
# internal;
# alias /var/www/freescout/storage/app/attachment/;
#}
location ~* ^/storage/attachment/ {
expires 1M;
access_log off;
try_files $uri $uri/ /index.php?$query_string;
}
location ~* ^/(?:css|js)/.*\.(?:css|js)$ {
expires 2d;
access_log off;
add_header Cache-Control "public, must-revalidate";
}
location ~* ^/(?:css|fonts|img|installer|js|modules|[^"]+\..*)$ {
expires 1M;
access_log off;
add_header Cache-Control "public";
}
location ~ /\. {
deny all;
}
}
Salvare il file e uscire dall'editor una volta terminato.
Successivamente, esegui il comando seguente per attivare il file di blocco del server /etc/nginx/sites-available/freescout e verifica la sintassi Nginx.
sudo ln -s /etc/nginx/sites-available/freescout /etc/nginx/sites-enabled/
sudo nginx -t
Se hai una sintassi corretta, dovresti ottenere un output il test ha avuto successo - la sintassi è ok.
Ora esegui il comando seguente per riavviare il servizio Nginx e applicare le modifiche apportate.
sudo systemctl restart nginx
Nel passaggio successivo, dovrai e dovrai generare certificati SSL/TLS da letsencrypt tramite il plugin Certbot e Certbot Nginx.
Proteggere FreeScout con certificati SSL/TLS
Per installare FreeScout Help Desk, è necessario abilitare HTTPS sul tuo server web. Nel passaggio successivo, genererai certificati SSL/TLS da Letsencrypt tramite il plugin Certbot e Certbot Nginx.
Installa il plugin Certbot e Certbot Nginx utilizzando il seguente comando apt. Digitare y per procedere con l'installazione.
sudo apt install certbot python3-certbot-nginx
Successivamente, esegui il comando certbot riportato di seguito per generare nuovi certificati SSL/TLS per il tuo nome di dominio. Assicurati di modificare i dettagli del tuo indirizzo email e del nome di dominio con le tue informazioni.
sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email -d help.example.io
Una volta terminato il processo, i tuoi certificati SSL/TLS saranno disponibili nella directory /etc/letsencrypt/live/domain.com/. Inoltre, il file di blocco del tuo server Nginx /etc/nginx/sites-available/freescout verrà automaticamente configurato con HTTPS, operazione eseguita dal plug-in Certbot Nginx.
Installazione di FreeScount tramite programma di installazione Web
Avvia il tuo browser web e visita il nome di dominio della tua installazione di FreeScount, come http://glpi.hwdomain.io/. Verrai reindirizzato a una connessione HTTPS sicura e alla pagina di installazione di FreeScount.
Fai clic su Verifica requisiti per assicurarti che tutte le estensioni PHP necessarie siano installate.
Se sono installate le estensioni PHP richieste, fai clic su Verifica autorizzazioni per continuare.
Ora assicurati che i permessi per la directory FreeScout siano scrivibili. Quindi, fai clic su Configura ambienti.
Inserisci il tuo nome di dominio nell'impostazione URL dell'app e fai clic su Configura database
Scegli il database predefinito su MySQL e inserisci i dettagli del nome del database, dell'utente e della password. Quindi, fare clic su Configura applicazione per continuare.
Seleziona la lingua e il fuso orario dell'applicazione e fai clic su Configura amministrazione.
Ora crea un nuovo utente amministratore per la tua installazione di FreeScount. Inserisci il tuo indirizzo email, il nuovo utente e la password, quindi fai clic su Installa per procedere con l'installazione di FreeScout.
Una volta completata l'installazione, dovresti vedere le seguenti conferme. Inoltre, puoi vedere che devi creare un nuovo lavoro cron per FreeScout.
Torna al tuo server terminal ed esegui il comando seguente per creare un nuovo lavoro cron per FreeScout.
crontab -u www-data -e
Inserisci la configurazione qui sotto.
* * * * * php /var/www/freescout/artisan schedule:run >> /dev/null 2>&1
Salva e chiudi il file una volta terminato.
Successivamente, torna al tuo browser web, fai clic su Accedi, quindi ti verrà presentata la pagina di accesso di FreeScout. Inserisci l'indirizzo email e la password dell'amministratore, quindi fai clic su Accedi.
Se l'installazione ha esito positivo, dovresti vedere la dashboard di FreeScout come la seguente:
Conclusione
Per concludere, ora hai installato con successo l'Help Desk di FreeScout sul server Debian 12 con lo stack LEMP (Nginx, MariaDB e PHP-FPM). Hai anche protetto la tua installazione di FreeScout con certificati SSL/TLS, generati da letsencrypt. Ora puoi implementare e utilizzare FreeScout come piattaforma di Help Desk per la tua organizzazione locale/interna.