Guide des technologies

Installer osTicket sur Ubuntu 16.04 avec Nginx, PHP-FPM 7 et MySQL 5.7

6 min read Tutoriel Mis à jour 08 Oct 2025
Installer osTicket sur Ubuntu 16.04
Installer osTicket sur Ubuntu 16.04

TL;DR

OsTicket est un système de tickets open source léger. Ce guide explique pas à pas l’installation sur Ubuntu 16.04 : Nginx comme serveur Web, PHP-FPM 7 pour PHP et MySQL 5.7 comme base de données. À la fin vous aurez un site osTicket fonctionnel, sécurisé et prêt pour la production.

Important : adaptez les noms de domaine, mots de passe et chemins à votre infrastructure.

Variantes d’intention (SEO)

  • Installer osTicket
  • Tutoriel osTicket Ubuntu
  • osTicket Nginx PHP-FPM
  • Déployer osticket sur MySQL

Prérequis

  • Une machine Ubuntu 16.04 (locale ou serveur).
  • Accès root ou sudo.
  • Un nom de domaine ou adresse IP publique (recommandé pour production).

Aperçu rapide de la méthode

  1. Installer Nginx et MySQL.
  2. Installer PHP-FPM 7 et extensions requises.
  3. Créer la base de données MySQL pour osTicket.
  4. Configurer un hôte virtuel Nginx pour osTicket.
  5. Télécharger, configurer et installer osTicket via l’interface web.
  6. Durcir la configuration et tester.

Étape 1 — Installer Nginx et MySQL

Connectez-vous au serveur via SSH :

ssh [email protected]

Mettez à jour les dépôts :

sudo apt-get update

Installez Nginx et le serveur MySQL :

sudo apt-get install -y nginx mysql-server

Lors de l’installation, il vous sera demandé de définir un mot de passe root MySQL. Choisissez-en un robuste.

Écran de définition du mot de passe MySQL sur Ubuntu

Démarrez et activez les services :

systemctl restart nginx
systemctl restart mysql
systemctl enable nginx
systemctl enable mysql

Vérifiez que les services écoutent sur les ports attendus :

netstat -plntu

Vous devriez voir Nginx sur le port 80 et MySQL sur le port 3306.

Nginx et MySQL en cours d'exécution, illustration des ports


Étape 2 — Installer et configurer PHP-FPM 7

osTicket nécessite plusieurs extensions PHP : gd, imap, xml, mbstring, etc. Installez PHP 7 et les extensions requises :

sudo apt-get install -y php7.0-cli php7.0-mysql php7.0-cgi php7.0-fpm php7.0-gd php7.0-imap php7.0-xml php7.0-mbstring php7.0-intl php-apcu

Éditez la configuration de PHP-FPM :

cd /etc/php/7.0/
vim fpm/php.ini

Décommentez et définissez :

cgi.fix_pathinfo=0

Redémarrez et activez le service PHP-FPM :

systemctl restart php7.0-fpm
systemctl enable php7.0-fpm

Configurez Nginx pour utiliser PHP-FPM. Éditez le site par défaut :

cd /etc/nginx/sites-available/
vim default

Dans la configuration, assurez-vous d’activer le bloc PHP avec le socket PHP-FPM :

        location ~ \.php$ {
                include snippets/fastcgi-php.conf;
                fastcgi_pass unix:/run/php/php7.0-fpm.sock;
        }

Redémarrez Nginx :

systemctl restart nginx

Testez PHP en créant une page phpinfo :

cd /var/www/html/
echo '' > info.php

Visitez http://VOTRE_IP/info.php pour vérifier la configuration PHP.

Capture d'écran de phpinfo affichant la configuration PHP


Étape 3 — Créer la base de données pour osTicket

Connectez-vous à MySQL :

mysql -u root -p

Créez la base et l’utilisateur pour osTicket (remplacez les identifiants en production) :

create database osticket_db;
create user osticket@localhost identified by 'osticketpw@';
grant all privileges on osticket_db.* to osticket@localhost identified by 'osticketpw@';
flush privileges;

La base de données est prête.

Capture montrant la création de la base et de l'utilisateur MySQL


Étape 4 — Créer l’hôte virtuel Nginx pour osTicket

Créez un fichier de configuration Nginx pour osTicket :

cd /etc/nginx/sites-available/
vim osticket

Collez la configuration suivante, en remplaçant server_name et root par votre domaine et chemin :

server {
  listen 80;
  server_name osticket.hakase-labs.com;

  root   /var/www/osticket/upload;

  access_log  /var/log/nginx/access.log;
  error_log  /var/log/nginx/error.log;

  index index.php;
  client_max_body_size 2000M;
  client_body_buffer_size 100M;
  client_header_buffer_size 10M;
  large_client_header_buffers 2 10M;

  client_body_timeout 12;
  client_header_timeout 12;
  keepalive_timeout 15;
  send_timeout 10;

  gzip             on;
  gzip_comp_level  2;
  gzip_min_length  1000;
  gzip_proxied     expired no-cache no-store private auth;
  gzip_types       text/plain application/x-javascript text/xml text/css application/xml;

  set $path_info "";

  location ~ /include {
    deny all;
    return 403;
  }

  if ($request_uri ~ "^/api(/[^
?]+)") {
    set $path_info $1;
  }

  location ~ ^/api/(?:tickets|tasks).*$ {
    try_files $uri $uri/ /api/http.php?$query_string;
  }

  if ($request_uri ~ "^/scp/.*\.php(/[^
?]+)") {
    set $path_info $1;
  }

  location ~ ^/scp/ajax.php/.*$ {
    try_files $uri $uri/ /scp/ajax.php?$query_string;
  }

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

  location ~ \.php$ {
    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    include        fastcgi_params;
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/run/php/php7.0-fpm.sock;
    fastcgi_param  PATH_INFO    $path_info;
  }
}

Activez le site et testez la configuration :

ln -s /etc/nginx/sites-available/osticket /etc/nginx/sites-enabled/
nginx -t
systemctl restart nginx

Étape 5 — Télécharger et préparer osTicket

Créez le répertoire web et téléchargez osTicket :

mkdir -p /var/www/osticket/
cd /var/www/osticket/
wget http://osticket.com/sites/default/files/download/osTicket-v1.10.zip
unzip osTicket-v1.10.zip

Copiez le fichier de configuration d’exemple :

cd upload/
cp include/ost-sampleconfig.php include/ost-config.php

Ajustez la propriété des fichiers pour l’utilisateur du serveur Web :

cd /var/www/osticket/
chown -R www-data:www-data upload/

Étape 6 — Installer osTicket via l’interface web

Ouvrez un navigateur et visitez votre domaine osTicket, par exemple :

http://osticket.hakase-labs.com

Vérifiez que toutes les dépendances requises sont marquées en vert. Si des dépendances sont manquantes, installez-les via apt et redémarrez PHP/Nginx.

Vérification des prérequis d'osTicket

Cliquez sur Continue pour atteindre la configuration. Remplissez :

  • System Settings : nom de la HelpDesk et l’email par défaut.
  • Admin User : compte administrateur (utilisez un email différent de l’email de la HelpDesk).
  • Database Settings : renseignez osticket_db et les identifiants créés à l’étape 3.

Configuration système d'osTicket

Après Install Now, attendez la fin de l’installation.

Fin de l'installation d'osTicket

Supprimez ou renommez le répertoire setup et fixez les permissions du fichier de configuration :

cd /var/www/osticket/upload/
mv setup/ setup-sh/
chmod 0644 include/ost-config.php

Étape 7 — Tests et vérification

Pages principales :


Checklist pré-déploiement (Opérations)

  • Nom de domaine configuré et pointant vers le serveur.
  • Certificat TLS (Let’s Encrypt) planifié pour HTTPS.
  • Sauvegarde automatisée de la base MySQL.
  • Surveillance de l’état des services (Nginx, PHP-FPM, MySQL).

Durcissement et bonnes pratiques de sécurité

  • Activez HTTPS avec certbot / Let’s Encrypt et redirigez tout le trafic HTTP vers HTTPS.
  • Limitez l’accès SSH (clé publique, port non standard, fail2ban).
  • Protégez /etc/nginx/sites-available/ et /var/www/osticket/ avec permissions minimales (www-data propriétaire, config chmod appropriés).
  • Masquez ou supprimez l’accès aux répertoires sensibles (/include est déjà bloqué dans la config Nginx).
  • Sauvegardez include/ost-config.php hors site et ne le rendez pas accessible via le web.
  • Activez la rotation des logs et surveillez les erreurs d’authentification.

Notes sur SMTP : configurez un relais SMTP fiable pour l’envoi d’emails (Postfix relay, Sendgrid, Mailgun…) car osTicket en dépend.


Dépannage courant

  • Page blanche / erreurs PHP : consultez /var/log/nginx/error.log et /var/log/php7.0-fpm.log.
  • Erreur de connexion à la base : vérifiez ost-config.php et testez avec mysql -u osticket -p -h localhost osticket_db.
  • Extensions PHP manquantes : installez-les (php7.0-imap, php7.0-gd, php7.0-mbstring) puis redémarrez php7.0-fpm.
  • Erreurs FastCGI : vérifiez le socket /run/php/php7.0-fpm.sock et les permissions.

Alternatives et évolutivité

  • Alternative serveur Web : Apache2 avec mod_php ou PHP-FPM (si vous préférez .htaccess).
  • Base de données : MySQL 5.7 est supporté ici ; pour de nouveaux déploiements, évaluez MySQL 8 ou MariaDB (vérifier compatibilité osTicket).
  • Pour de grandes installations, séparez les rôles (serveur DB dédié, pool PHP-FPM, équilibrage de charge Nginx).

Migration et notes de compatibilité

  • Versions PHP : osTicket v1.10 requiert PHP 7.x ; testez sur PHP 7.2+ avant toute mise à jour majeure.
  • Sauvegardez la base et le répertoire upload avant toute migration.
  • Testez les plugins et personnalisations sur un environnement de préproduction.

Checklist rôles (rapide)

  • Admin système : installer Nginx, PHP-FPM, MySQL; config réseau et sécurité.
  • Administrateur osTicket : config système, comptes utilisateurs, flux de ticket.
  • Agent / Support : tester réception et réponse aux tickets, formation à l’interface agent.

Maturité de la solution (heuristique)

  • PoC / Petite structure : configuration unique sur une VM suffit.
  • Production moyenne : séparation DB + sauvegardes + TLS.
  • Grande échelle : HA pour DB, clusters PHP, load balancing, monitoring avancé.

Glossaire (une ligne)

  • PHP-FPM : gestionnaire de processus FastCGI pour exécuter PHP avec un serveur web comme Nginx.
  • Nginx : serveur web/ reverse proxy performant.
  • MySQL : système de gestion de base de données relationnelle.

Résumé

Ce guide couvre l’installation complète d’osTicket sur Ubuntu 16.04 avec Nginx, PHP-FPM 7 et MySQL 5.7. Il inclut les étapes d’installation, la configuration Nginx, la création de la base MySQL, l’installation via l’interface web, les vérifications, ainsi que des recommandations de sécurité et des conseils de dépannage.

Points d’attention : protégez vos mots de passe, activez HTTPS et sauvegardez régulièrement la base de données.

Liens utiles


Important : adaptez les chemins, domaines et mots de passe à votre environnement avant la mise en production.

Auteur
Édition

Matériaux similaires

Installer Moodle 3.2 sur CentOS 7
Sysadmin

Installer Moodle 3.2 sur CentOS 7

Faire démarrer les programmes au démarrage de Windows
Dépannage

Faire démarrer les programmes au démarrage de Windows

Supprimer applications préinstallées sur Android et iOS
Smartphones

Supprimer applications préinstallées sur Android et iOS

Dev Error 6068 dans Warzone — correctifs essentiels
Dépannage PC

Dev Error 6068 dans Warzone — correctifs essentiels

Vérifier la version de PowerShell sur Windows
Windows

Vérifier la version de PowerShell sur Windows

Installer des extensions manuellement dans Edge
Guides Techniques

Installer des extensions manuellement dans Edge