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

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
- Installer Nginx et MySQL.
- Installer PHP-FPM 7 et extensions requises.
- Créer la base de données MySQL pour osTicket.
- Configurer un hôte virtuel Nginx pour osTicket.
- Télécharger, configurer et installer osTicket via l’interface web.
- 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.
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.
É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.
É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.
É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.
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.
Après Install Now, attendez la fin de l’installation.
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 :
- Page publique : http://osticket.hakase-labs.com/
- Connexion admin : http://osticket.hakase-labs.com/scp/
- Panneau agent : http://osticket.hakase-labs.com/scp/index.php
- Paramètres admin : http://osticket.hakase-labs.com/scp/settings.php
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
- Documentation officielle osTicket : http://osticket.com/wiki/Main_Page
Important : adaptez les chemins, domaines et mots de passe à votre environnement avant la mise en production.
Matériaux similaires

Installer Moodle 3.2 sur CentOS 7
Faire démarrer les programmes au démarrage de Windows

Supprimer applications préinstallées sur Android et iOS

Dev Error 6068 dans Warzone — correctifs essentiels

Vérifier la version de PowerShell sur Windows
