osTicket est un système de billetterie open source basé sur PHP pour la plate-forme Linux. Il peut s'interfacer avec LDAP / Active Directory pour une authentification centrale et prend en charge diverses bases de données telles que MySQL et PostgreSQL. C'est une application Web simple et légère. Vous pouvez gérer, organiser et archiver vos demandes d'assistance avec OsTicket. Il intègre les demandes d'assistance client reçues par e-mail, formulaires Web et appels téléphoniques dans une plate-forme Web multi-utilisateur simple et facile à utiliser.
Ici, à LinuxAPT, nous verrons comment installer osTicket sur Ubuntu 20.04, en utilisant MariaDB comme serveur de base de données et PHP.
Étapes pour installer osTicket Open Source sur Ubuntu
1. Effectuez la mise à jour du système
Commencez par mettre à jour le système avec les derniers packages de version par la commande donnée :
$ sudo apt-get update
2. Installez tout le PHP et les extensions
L'application osTicket a besoin des extensions php pour exécuter l'application. Ici, toutes les extensions nécessaires sont données et installées :
$ sudo apt install -y php-common php-fpm php-pear php-cgi php-net-socket php-bcmath php-gd php-imap php-intl php-apcu php-cli php-mbstring php-curl php-mysql php-json php-xml
Vous pouvez vérifier la version de php et toutes les extensions php avec la commande ci-dessous :
$ php -v
3. Installez le serveur Apache
Le serveur Web Apache est installé pour le dépôt officiel d'apt :
$ sudo apt install apache2
Pour démarrer et activer manuellement le serveur apache, voici les commandes répertoriées ci-dessous. (Le service est lancé au démarrage par défaut) :
$ sudo systemctl start apache2
$ sudo systemctl enable apache2
Pour vérifier l'état du serveur apache pour vérifier s'il est en cours d'exécution ou arrêté :
$ sudo systemctl status apache2
4. Installez la base de données MariaDB et configurez
Le serveur de base de données MariaDB est nécessaire avec un nom d'utilisateur, un mot de passe et un nom d'hôte valides pendant le processus d'installation. L'utilisateur doit recevoir tous les privilèges sur la base de données créée.
Ici, la commande est utilisée pour installer le serveur MariaDB :
$ sudo apt install mariadb-server
Pour sécuriser le serveur MariaDB voici les étapes suivantes à faire :
$ sudo mysql_secure_installation
Après avoir entré le mot de passe pour root, certaines questions sont posées avant de sécuriser le serveur. Nous devons appliquer oui pour toutes les questions données comme :
- Set root password? [Y/n] y
- Remove anonymous users? [Y/n] y
- Disallow root login remotely? [Y/n] y
- Remove test database and access to it? [Y/n] y
- Reload privilege tables
Ici, le plugin d'authentification est modifié pour pouvoir se connecter en tant qu'utilisateur normal :
$ sudo mysql -u root
MariaDB [(none)]> UPDATE mysql.user SET plugin = 'mysql_native_password' WHERE User = 'root';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> QUIT;
La confirmation du fonctionnement de la base de données avec la commande ci-dessous :
$ mysql -u root -p
Ici, une base de données est créée pour l'application osTicket :
MariaDB [(none)]> CREATE DATABASE osTicket_database;
Une fois la création de la base de données terminée, nous devons créer un utilisateur osTicket_user pour connecter la base de données et accorder des privilèges. Les requêtes suivantes concernent la création d'un utilisateur et sa connexion à la base de données avec tous les privilèges accordés :
MariaDB [(none)]> CREATE USER ‘osTicket_user’@‘localhost’ IDENTIFIED BY ‘password’;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON osTicket_database.* TO osTicket_user@localhost IDENTIFIED BY “password”;
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> QUIT;
5. Créer un répertoire pour osTicket
Le répertoire est créé pour l'application osTicket en donnant le chemin où le répertoire est en cours de création :
$ sudo mkdir -p /var/www/os_ticket
La propriété du répertoire est changée pour l'utilisateur Linux pour d'autres modifications facilement sans aucun problème d'autorisation :
$ sudo chown -R $USER:$USER /var/www/os_ticket
Maintenant, accédez au répertoire os_ticket à l'aide de la commande cd et extrayez la dernière archive d'installation osTicket de GitHub à l'aide de la commande wget :
$ cd /var/www/os_ticket
$ wget https://github.com/osTicket/osTicket/releases/download/v1.15.2/osTicket-v1.15.2.zip
Extrayez le fichier téléchargé à l'aide de la commande unzip :
$ unzip osTicket-v1.15.2.zip
(Ici, la version doit être donnée en fonction du fichier que vous avez téléchargé.)
Une fois le fichier d'archive extrait, vous pouvez supprimer le fichier zip :
$ rm osTicket-v1.15.2.zip
osTicket a son propre exemple de fichier de configuration par défaut. Nous devons copier le fichier dans les mêmes répertoires et changer ses noms :
$ sudo cp upload/include/ost-sampleconfig.php upload/include/ost-config.php
La commande chown est utilisée pour attribuer le propriétaire à l'utilisateur du serveur apache - la commande www-data et chmod est utilisée pour les autorisations appropriées requises :
$ sudo chown -R www-data:www-data /var/www/os_ticket
$ sudo chmod -R 755 /var/www/os_ticket
6. Créer un fichier d'hôte virtuel
Un fichier de configuration doit être créé sous le répertoire /etc/apache2/sites-available afin d'exécuter osTicket avec le serveur apache.
Ici, la commande a2dissite est utilisée pour désactiver le fichier de configuration Apache par défaut. (Dans notre cas, il est déjà désactivé).
$ sudo a2dissite 000-default.conf
La commande vim est utilisée pour ouvrir le fichier de configuration pour modifier les informations :
$ sudo vim /etc/apache2/sites-enabled/os_ticket.conf
Toutes les informations sont données ci-dessous avec les autorisations et répertoires nécessaires. Le nom du serveur et l'alias du serveur doivent être remplacés par votre nom de domaine et votre adresse IP publique :
<VirtualHost *:80>
ServerName 192.168.120.129 #localhost
ServerAlias www.osticket.com #Your domain name
DocumentRoot "/var/www/os_ticket/upload"
<Directory "/var/www/os_ticket/upload">
Require all granted
Options Indexes FollowSymLinks
AllowOverride All
Order allow, deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Une fois le fichier de configuration terminé et enregistré, la commande a2ensite est utilisée pour activer le fichier de configuration. (Dans mon cas, il est déjà activé) :
$ sudo a2ensite os_ticket.conf
Enfin, redémarrez le service apache pour recharger le nouveau fichier de configuration :
$ sudo systemctl restart apache2
Le pare-feu est activé par défaut. Pour accéder au site, vous pouvez soit désactiver le pare-feu avec la commande ci-dessous, soit attribuer le port désigné pour le site :
$ ufw disable
7. Installez Osticket sur le système
- Une fois le processus d'installation terminé, ouvrez l'application firefox et visitez le site en utilisant le nom du serveur.
- Maintenant, la page suivante est ouverte.
- Cliquez sur Continuer pour passer à la page suivante.
- Maintenant, saisissez toutes les informations d'identification fournies et remplissez le formulaire. Ici, vous devez fournir toutes les informations conformément à l'exigence.
- La base de données créée auparavant dans le système doit être écrite dans le formulaire d'installation de base d'osTicket.
- La page de confirmation s'ouvre une fois le formulaire rempli avec les bons identifiants.
- Ensuite, vous verrez le tableau de bord de l'administrateur.
8. Configurer le certificat HTTPS/SSL pour Osticket
Nous devrions activer une connexion HTTPS sécurisée sur PrestaShop. Nous pouvons obtenir un certificat TLS gratuit auprès de Let's Encrypt. Installez le client Let's Encrypt (Certbot) à partir du référentiel Ubuntu 20.04 :
$ sudo apt install certbot python3-certbot-apache
Ensuite, exécutez la commande suivante pour obtenir un certificat TLS gratuit à l'aide du plugin Apache :
$ sudo certbot --apache --agree-tos --redirect --staple-ocsp --email [email protected] -d example.com
Si le test réussit, rechargez Apache pour que la modification prenne effet :
$ sudo apache2ctl -t
$ sudo systemctl reload apache2
Comment accéder à l'interface Web d'osTicket ?
osTicket sera disponible sur le port HTTP 80 par défaut. Ouvrez votre navigateur préféré et accédez à https://your-domain.com ou https://server-ip-address.