67,840 bytes added
, 15:50, 25 September 2018
<!--__NOTOC__ -->
__TOC__
<br>
= Description générale =
Ce document décrit la marche à suivre pour l'installation d'osTicket-1.10.4 sur un Serveur SME-9.2
''Référence'': [http://www.lafermeduweb.net/billet/osticket-un-systeme-de-support-par-ticket-open-source-258.html http://www.lafermeduweb.net/billet/osticket-un-systeme-de-support-par-ticket-open-source-258.html]
Si vous avez une activité de vente de produits ou de services, vous avez sans doute le devoir de fournir un support à vos clients. Vous serez très vite dépassé si vous proposez uniquement un support par courriel.
L'application osTicket est une solution LIBRE permettant de mettre en place un réel système de support par billets. Il permet d'organiser, traiter et archiver toutes les requêtes des clients à l'aide d'une interface Web ergonomique. osTicketa été conçu en PHP et utilise MySQLpour stocker toutes les données.
=== But final ===
[[Image:Icone-AsurveillerAPT.png|25px]] L'installation de SME-9.2 sur le serveur branché directement à l'Internet est exactement telle que décrite dans les cahiers 2 et 3 du cours Micronator-101. Ce nouveau serveur est configuré en mode <u>Serveur et passerelle</u>. [https://www.micronator.org/affaires/produit/micronator-101-cahier-2installation-dun-serveur-sme/ https://www.micronator.org/affaires/produit/micronator-101-cahier-2installation-dun-serveur-sme/] et [https://www.micronator.org/affaires/produit/micronator-101-cahier-3adslvdsl-dns-dynamique-domaine-fqdn/ https://www.micronator.org/affaires/produit/micronator-101-cahier-3adslvdsl-dns-dynamique-domaine-fqdn/].
Pour le présent document, sur le serveur <span style="color:red">osticket</span><span style="color:blue">.micronator-101.org</span>, nous avons installé Fail2ban: https://www.micronator.org/affaires/produit/sme-9-x8-x-fail2ban/.
L'installation du serveur BackupPC est décrite à la page: https://wiki.contribs.org/BackupPC-4.2.
Pour un Serveur SME branché directement à l'Internet, l'installation d'un certificat Let's Encrypt est décrite à la page: https://wiki.contribs.org/Odoo-11_%26_HTTPS#Certificat_Let.27s_Encrypt.
Pour un Serveur SME intranet i.e. branché sur un réseau LOCAL, l'installation d'un certificat Let's Encrypt est décrite à la page: https://wiki.contribs.org/Odoo-11_%26_serveur_de_test/dev et plus spécifiquement à la section ''Obtention d'un certificat pour un serveur local''.
[[Image:osTicket-001-ButFinal.png|center|right|700px]]
= Prérequis =
=== Création de l'i-bay <span style="color:DarkMagenta">suppor</span>t pour osTicket ===
# On se logue avec l'utilisateur ''admin'' à la page <span style="color:blue"><nowiki>http://192.168.1.11/server-manager</nowiki></span> > i-bays > Ajouter une i-bay.
# On entre les informations telles que sur l'image ci-dessous, à droite > Ajouter.
<center>
{| style="width: 80%; background-color:#ffffff;"
|- style="vertical-align:top;"
|[[Image:osTicket-002-0-Ibay-Support.png|center|top|450px|border]]
||[[Image:osTicket-002-Ibay-Support.png|center|top|450px|border]]
|}
</center>
=== Répertoire temporaire de téléchargement pour l'i-bay support ===
On doit spécifier un répertoire temporaire à l'i-bay <span style="color:DarkMagenta">support</span> pour le téléchargement de fichiers, extensions, modules, etc.
[[Image:Icone-AsurveillerAPT.png|25px]] Ce répertoire servira pour tous les programmes PHP installés dans l'i-bay <span style="color:DarkMagenta">support</span> <u>ou ses sous-répertoires</u>, lorsque ceux-ci auront besoin d'un répertoire temporaire pour leurs téléchargements.
[[Image:Icone-NoteAPT.png|25px]] Si ce répertoire n'existe pas, certains CMS pourraient afficher le message suivant:
<center>
{| style="background: {{{color|#FFEED9}}}; border: 1px dashed; width:80%"
|- style="vertical-align:bottom;font-family: Courier New;"
|''Le fichier que vous voulez téléverser semble vide. Ceci peut être dû à une erreur dans le nom du fichier. Veuillez vérifier que vous désirez vraiment téléverser ce fichier''.
|}
</center>
[[Image:Icone-NoteAPT.png|25px]] Si on ajoute une autre installation osTicket dans une autre i-bay, il faut exécuter la commande ci-dessous en spécifiant le nom de cette autre i-bay.
On active la propriété.
# db accounts setprop support PHPBaseDir /home/e-smith/files/ibays/support:/tmp
===Serveur Apache pour l'i-bay support ===
Permettre à Apache de suivre les liens symboliques des répertoires.
# db accounts setprop support FollowSymLinks enabled
On signale tous les changements pour l'i-bay <code>support</code> pour qu'ils deviennent permanents.
# signal-event ibay-modify support
On vérifie.
# db accounts show support
support<nowiki>=ibay</nowiki>
CgiBin=enabled
<span style="color:red">FollowSymLinks</span>=enabled
Gid=5000
Group=admin
Name=Pour osTicket
<span style="color:red">PHPBaseDir</span>=/home/e-smith/files/ibays/support:/tmp
PasswordSet=no
PublicAccess=global
SSL=disabled
Uid=5000
UserAccess=wr-admin-rd-group
=== PHP ===
osTicket requière une version PHP-5.6 ou supérieure.
'''''Version SME'''''
Version actuelle pour notre Serveur SME-9.2.
# rpm -qa | grep php
...
php-gd-5.3.3-49.el6.x86_64
<span style="color:red">php-5.3.3-49</span>.el6.x86_64
php-mysql-5.3.3-49.el6.x86_64
...
Comme on le voit, notre version 5.3.3-49 de PHP n'est pas suffisante.
[[Image:Icone-NoteAPT.png|25px]] On doit installer une Contrib pour SME, ''PHP Software Collections'', qui peut fournir un choix de version tout en gardant la version originalement installée.
'''''PHP Software Collections'''''
Référence: [https://wiki.contribs.org/PHP_Software_Collections https://wiki.contribs.org/PHP_Software_Collections].
[[Image:Icone-SeTirerDembarrasAPT.png|20px]] Heureusement, les développeurs de RedHat ont pensé qu'un inconvénient, avec la version 5 de PHP, allait survenir tôt ou tard et ont écrit les paquetages des Collections. Les développeurs de SME ont donc crée une Contrib qui règle le contre-temps des versions PHP. Cette Contrib est disponible depuis février 2015.
'''Description de la Contrib'''
[[Image:Icone-AsurveillerAPT.png|25px]] Disponible pour SME-9.x/64 seulement.
Le but de cette Contrib est d'installer PHP-5.4, PHP-5.5, PHP-5.6, PHP-7.0 et PHP-7.1, parallèlement à la version PHP installée par défaut avec SME-9.x/64, sans devoir supprimer ou modifier l'installation PHP par défaut. Cette Contrib utilise les RPMs du dépôt de logiciels ''remi-safe'' qui sont en fait les mêmes que ceux sur le site Web officiel mais, ils ont l'avantage de fournir plus de choix.
Tous les RPMs PHP sont installés dans <code>/opt</code>, ce qui empêche toutes interférences ou conflits avec l'installation par défaut de PHP.
'''''Prérequis pour l'installation de PHP Software Collection'''''
Il faut inscrire les dépôts de logiciels ''remi-safe'' et ''epel'' dans la BD de <code>yum</code> pour pouvoir installer la Collection PHP.
'''† Dépôt remi-safe'''
''Référence'': [https://wiki.contribs.org/Remi-safe https://wiki.contribs.org/Remi-safe].
[[Image:Icone-AsurveillerAPT.png|25px]] Prendre tout le contenu de l'encadré pour la commande.
/sbin/e-smith/db yum_repositories set remi-safe repository \
Name 'Remi - safe' \
BaseURL 'http://rpms.famillecollet.com/enterprise/$releasever/safe/$basearch/' \
EnableGroups no \
GPGCheck yes \
GPGKey http://rpms.famillecollet.com/RPM-GPG-KEY-remi \
Visible yes \
status enabled
On signale les changements.
# signal-event yum-modify
Vérification.
# db yum_repositories show remi-safe
remi-safe=repository
BaseURL=http://rpms.famillecollet.com/enterprise/$releasever/safe/$basearch/
EnableGroups=no
GPGCheck=yes
GPGKey=http://rpms.famillecollet.com/RPM-GPG-KEY-remi
Name=Remi - safe
Visible=yes
status=<span style="color:red">enabled</span>
[[Image:Icone-NoteAPT.png|25px]] Comme on le voit ci-dessus, ce dépôt de logiciels sera activé ''(enabled)'' en permanence et facilitera la mise à jour de cette Contribs. Voir: [[#Mise à jour de la Collection PHP]].
'''†† Dépôt epel'''
''Référence'': [https://wiki.contribs.org/Epel#tab=For_SME_9_x https://wiki.contribs.org/Epel#tab=For_SME_9_x].
On ajuste pour rendre ce dépôt désactivé en tout temps "status disabled".
[[Image:Icone-AsurveillerAPT.png|25px]] Prendre tout le contenu de l'encadré pour la commande.
/sbin/e-smith/db yum_repositories set epel repository \
Name 'Epel - EL6' \
BaseURL 'http://download.fedoraproject.org/pub/epel/6/$basearch' \
MirrorList 'http://mirrors.fedoraproject.org/mirrorlist?repo=epel-6&arch=$basearch' \
EnableGroups no \
GPGCheck yes \
GPGKey http://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL \
Exclude perl-Razor-Agent \
Visible no \
status disabled
On signale les changements.
# signal-event yum-modify
Vérification.
# db yum_repositories show epel
epel=repository
BaseURL=http://download.fedoraproject.org/pub/epel/6/$basearch
EnableGroups=no
Exclude=perl-Razor-Agent
GPGCheck=yes
GPGKey=http://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL
MirrorList=http://mirrors.fedoraproject.org/mirrorlist?repo=epel-6&arch=$basearch
Name=Epel - EL6
Visible=no
status=disabled
'''''Installation de la Contribs'''''
[[Image:Icone-AsurveillerAPT.png|25px]] Peut prendre un certain temps...
# yum install -y --enablerepo=smecontribs smeserver-php-scl
Modules complémentaires chargés : fastestmirror, smeserver
Configuration du processus d'installation
...
Installation de 125 paquet(s)
Taille totale des téléchargements : 45 M
Taille d'installation : 124 M
...
Installé:
smeserver-php-scl.noarch 0:0.4-17.el6.sme
Dépendance(s) installée(s) :
audit-libs-python.x86_64 0:2.4.5-6.el6
enchant.x86_64 1:1.5.0-5.el6
...
t1lib.x86_64 0:5.1.2-6.el6_2.1
tcl.x86_64 1:8.5.7-6.el6
Terminé !
<nowiki>==============================================================</nowiki>
WARNING: You now need to run BOTH of the following commands
to ensure consistent system state:
signal-event post-upgrade; signal-event reboot
You should run these commands unless you are certain that
yum made no changes to your system.
<nowiki>==============================================================</nowiki>
Si vous ne souhaitez pas redémarrer votre serveur
{| class="wikitable" style="width: 80%; background-color:#FFEED9;"
|- style="vertical-align:top;font-family: Courier New;"
| <nowiki>#</nowiki> signal-event php-update; config set UnsavedChanges no
|}
Sinon... on signale l'installation et on réamorce.
# signal-event post-upgrade; signal-event reboot
[[Image:osTicket-003-Reamorcage.png|top|left|450px|border]]
[[Image:Icone-AsurveillerAPT.png|25px]] Un réamorçage avec une mise à jour de la configuration peut prendre quelque temps. Soyons patients!
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
On se logue et on vérifie l'installation.
# rpm -qa | grep scl-
scl-utils-20120927-29.el6_9.x86_64
<span style="color:red">smeserver-php-scl</span>-0.4-17.el6.sme.noarch
'''''Mise à jour de la Contrib'''''
[[Image:Icone-NoteAPT.png|25px]] Pour la mise à jour de la Contrib PHP SCL, voir [[#Mise à jour de la Collection PHP]].
'''''Activation de la version PHP70'''''
<center>
{| class="wikitable" style="width: 80%; background-color:#ffffff;"
|- style="vertical-align:bottom;font-family: Courier New;"
|
On se logue dans le gestionnaire du serveur:
https://www.micronator-101.com/server-manager.
||<nowiki>-</nowiki> Configuration > Versions de PHP-SCL.
<nowiki>-</nowiki>Version de PHP-mod.
||
On choisit la version PHP70 > Enregistrer.
||
On s'assure du succès de l'opération.
|- style="vertical-align:top;"
|[[Image:osTicket-004-PHP70-A.png|center|top|250px|border]]
||[[Image:osTicket-005-PHP70-B.png|center|top|250px|border]]
||[[Image:osTicket-006-PHP70-C.png|center|top|250px|border]]
||[[Image:osTicket-007-PHP70-D.png|center|top|250px|border]]
|}
</center>
[[Image:Icone-SeTirerDembarrasAPT.png|20px]] osTicket a des problèmes avec la version PHP71. Il donnera une erreur: ''Jeton CSRF valide requis''.
=== Ajustement des paramètres PHP ===
Les valeurs de certains paramètres de PHP ne sont pas suffisants pour certains logiciels. Ces paramètres sont: <code>MemoryLimit</code>, <code>PostMaxSize</code> et <code>UploadMaxFilesize</code>. Il faut les ajuster.
# config show php70
php70=configuration
AllowUrlFopen=Off
MaxExecutionTime=30
MaxFileUpload=20
MaxInputTime=60
<span style="color:blue">MemoryLimit</span><nowiki>=128M</nowiki>
PhpModule=enabled
<span style="color:blue">PostMaxSize</span><nowiki>=20M</nowiki>
<span style="color:blue">UploadMaxFilesize</span><nowiki>=10M</nowiki>
[[Image:Icone-SeTirerDembarrasAPT.png|20px]] Il faut obligatoirement que le paramètre <code>PostMaxSize</code> soit plus grand que celui de <code>UploadMaxFilesize</code>. Si on modifie l'un, il faut vérifier l'autre pour que la correspondance des grandeurs soit respectée.
[[Image:Icone-AsurveillerAPT.png|25px]] <code>MemoryLimit</code> ''(256M)'' > <code>PostMaxSize</code> ''(52M)'' > <code>UploadMaxFilesize</code> ''(50M)''.
'''MemoryLimit'''
Chaque fois qu'un client fait une requête au serveur Web, PHP génère un processus PHP. Le travail de ce processus est de générer du code HTML qu'il envoie au client. Le processus fournit un temps d'exécution à un script qui crée la réponse à la requête. La limite de mémoire MemoryLimit est la quantité maximale de mémoire que ce processus peut utiliser. Si la limite est atteinte ou dépassée, le processus échoue et Apache signale une erreur HTTP 500.
On ajuste le paramètre pour PHP-7.0.
# config setprop php70 MemoryLimit 256M
'''UploadMaxFilesize'''
Pour certains logiciels on doit autoriser le téléversement de fichiers et la grandeur de ceux-ci ne peut dépasser la limite définie par le paramètre <code>UploadMaxFilesize</code> de PHP.
[[Image:osTicket-008-UploadMaxFilesize.png|top|center|800px|border]]
On ajuste le paramètre pour PHP-7.0.
# config setprop php70 UploadMaxFilesize 50M
'''PostMaxSize'''
''Référence'': [http://php.net/manual/en/ini.core.php#ini.post-max-size http://php.net/manual/en/ini.core.php#ini.post-max-size].
Le paramètre <code>PostMaxSize</code> définit la taille maximale autorisée pour les données d'un post. Ce paramètre affecte également le téléchargement de fichiers. Pour télécharger des fichiers volumineux, cette valeur doit absolument être toujours supérieure à <code>UploadMaxFilesize</code>.
On ajuste le paramètre pour PHP-7.0.
# config setprop php70 PostMaxSize 52M
On signale les changements pour qu'ils deviennent permanents.
# signal-event php-update
On vérifie.
# config show php70
php70=configuration
AllowUrlFopen=Off
MaxExecutionTime=30
MaxFileUpload=20
MaxInputTime=60
<span style="color:red">MemoryLimit</span>=256M
PhpModule=disabled
<span style="color:red">PostMaxSize</span>=52M
<span style="color:red">UploadMaxFilesize</span>=50M
[[Image:Icone-NoteAPT.png|25px]] Comme on le voit ci-dessus, les grandeurs maximales sont maintenant de: <code>MemoryLimit</code> ''(256M)'' > <code>PostMaxSize</code> ''(52M)'' > <code>UploadMaxFilesize</code> ''(50M)''.
=== MySQL ===
'''''Prérequis'''''
''Référence'': [http://osticket.com/wiki/Installation#Prerequisites http://osticket.com/wiki/Installation#Prerequisites].
Pour installer osTicket, votre serveur Web doit rouler MySQL-5 ou supérieur. Pour un serveur Windows via WPM, c'est une version MySQL-5.6 qui est demandée.
'''''Version SME'''''
Version actuelle pour notre Serveur SME-9.2.
# rpm -qa | grep mysql-server
mysql-server-<span style="color:red">5.1.73-8</span>.el6_8.x86_64
Comme on le voit ci-dessus, notre Serveur SME rencontre ce prérequis pour un serveur autre que Windows.
[[Image:Icone-NoteAPT.png|25px|middle|left]]
{| style="background: {{{color|#FFEED9}}}; border: 1px dashed; width:80%"
|- style="vertical-align:bottom;font-family: Courier New;"
|
MySQL 5.7 doesn't work with osTicket right now:
[http://osticket.com/forum/discussion/89697/db-error-1064-db-error-1146-on-fresh-install-or-update-from-1-9-15 http://osticket.com/forum/discussion/89697/db-error-1064-db-error-1146-on-fresh-install-or-update-from-1-9-15].
|}
=== Création de la base de données pour osTicket ===
On crée la base de données.
# mysqladmin CREATE osTicketBD
On accède à la console MySQL.
# mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 19
Server version: <span style="color:red">5.1.73</span> Source distribution
Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
On vérifie la création de la BD.
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| horde |
| mysql |
| <span style="color:red">osTicketBD</span> |
| test |
+--------------------+
5 rows in set (0,02 sec)
On donne tous les droits à la base de donnée <code>osTicketBD</code> à l'usager <code>usager_oTBD</code> et on lui donne le mot de passe <code>mdp_osTicketBD</code>.
[[Image:Icone-AsurveillerAPT.png|25px]] Pour l'usager de la BD d'osTicket, il faut choisir un mot de passe <u>robuste</u>: au moins 7 caractères, minuscules, majuscules, chiffres et signes non-alphanumériques. Pour un Serveur SME en PRODUCTION, il ne faut pas prendre notre exemple de mot de passe.
mysql> grant all on osTicketBD.* to usager_oTBD@localhost identified by 'mdp_osTicketBD';
[[Image:Icone-NoteAPT.png|25px]] Notez le nom de la base de données: <code>osTicketBD</code>, le nom de l'usager: <code>usager_oTBD</code> et son mot de passe: <code>mdp_osTicketBD</code>; ils serviront plus tard, lors de l'installation d'osTicket.
On doit exécuter la commande <code>FLUSH PRIVILEGES</code> pour indiquer à MySQL qu'il doit recharger les droits.
mysql> FLUSH PRIVILEGES<nowiki>;</nowiki>
On vérifie les privilèges de l'usager <code>usager_oTBD</code>.
mysql> show grants for usager_oTBD@localhost;
+--------------------------------------------------------------------------------------------------------------------+
| Grants for usager_oTBD@localhost |
+--------------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'usager_oTBD'@'localhost' IDENTIFIED BY PASSWORD '*142DA1EF876B262CE634D31D223FC130E12888E4' |
| GRANT ALL PRIVILEGES ON `osTicketBD`.* TO 'usager_oTBD'@'localhost' |
+--------------------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)
On quitte MySQL.
mysql> quit;
=== git ===
On installe l'utilitaire <code>git</code> pour le téléchargement d'osTicket.
# yum -y install git
...
Installation de 2 paquet(s)
Taille totale des téléchargements : 4.6 M
Taille d'installation : 15 M
...
Installé:
git.x86_64 0:1.7.1-9.el6_9
Dépendance(s) installée(s) :
perl-Git.noarch 0:1.7.1-9.el6_9
Terminé !
<center><span style="font-size:125%">'''Tous les prérequis sont remplis, nous sommes prêts pour l'installation d'osTicket.'''</span></center>
= Installation =
=== Préparation ===
On se rend dans le répertoire <code>.../support/html</code>.
# cd /home/e-smith/files/ibays/support/html/
On crée un répertoire qui servira pour le téléchargement et pour la mise à jour.
# mkdir maj
On se rend dans le nouveau répertoire.
# cd maj
<br>
[[Image:osTicket-009-Version-osTicket.png|top|left|200px|border]]
Pour les versions d'osTicket voir: [https://github.com/osTicket/osTicket/ https://github.com/osTicket/osTicket/]
On clique l'icône de déroulement pour afficher toutes les branches.
On sélectionne <code>1.10x</code> qui est la version stable la plus récente.
[[Image:Icone-NoteAPT.png|25px]] La version <code>1.11x</code> est une Version RC-1.
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
=== Installation ===
On télécharge la version <code>1.10.x</code> d'osTicket.
# git clone https://github.com/osTicket/osTicket/ --branch 1.10.x
Initialized empty Git repository in /home/e-smith/files/ibays/support/html/maj/osTicket/.git/
remote: Enumerating objects: 32, done.
remote: Counting objects: 100% (32/32), done.
remote: Compressing objects: 100% (28/28), done.
remote: Total 41477 (delta 11), reused 16 (delta 4), pack-reused 41445
Receiving objects: 100% (41477/41477), <span style="color:red">24.69 MiB</span> | 493 KiB/s, done.
Resolving deltas: 100% (31432/31432), done.
On vérifie la version.
# head -n1 osTicket/WHATSNEW.md
osTicket <span style="color:red">v1.10.4</span>
=== Copie des fichiers ===
On se rend dans le répertoire osTicket que <code>git</code> a créé.
# cd osTicket/
Déploiement des fichiers dans le répertoire racine de l'i-bay support.
# <span style="color:red">php70</span> manage.php deploy --setup /home/e-smith/files/ibays/support/html/
=== Préparation des fichiers et répertoires ===
'''''Fichier de configuration ost-config.php'''''
On se rend dans le répertoire racine d'osTicket.
# cd /home/e-smith/files/ibays/support/html/
On copie le fichier d'exemple de configuration dans le véritable fichier.
# cp include/ost-sampleconfig.php include/ost-config.php
<u>Pour l'instant</u>, on donne tous les droits au fichier config.
# chmod 777 include/ost-config.php
'''''Répertoire attachments'''''
On crée le répertoire pour les "attachements" ''(il n'y a pas de "e" en anglais)''.
# mkdir attachments
<u>Pour l'instant</u>, on ajuste les droits du répertoire.
# chmod 777 attachments
'''''Fichier index.html'''''
On se rend dans le répertoire racine.
# cd /home/e-smith/files/ibays/support/html/
On affiche les fichiers <code>index.*</code> du répertoire.
# ls -ls index.*
4 -rw-r----- 1 admin www 264 21 sept. 14:54 <span style="color:red">index.html</span>
4 -rw-r--r-- 1 root www 2331 21 sept. 16:48 <span style="color:blue">index.php</span>
On supprime le fichier <code><span style="color:red">index.html</span></code> car, il entrerait en conflit avec celui d'osTicket i.e. <code><span style="color:blue">index.php</span></code>.
# rm -rf index.html
'''''Propriétaire, groupe et droits'''''
On ajuste <u>R</u>écursivement le propriétaire et le groupe pour tout le répertoire racine d'osTicket.
# chown -R admin:www *
On enlève <u>R</u>écursivement touts les droits à "other".
# chmod -R o-rwx *
On vérifie le tout.
# ls -als
total 168
4 drwxr-s--- 15 admin www 4096 21 sept. 16:52 .
4 drwxr-xr-x 6 root root 4096 19 juin 21:06 ..
8 -rw-r--<span style="color:red">---</span> 1 <span style="color:red">admin www</span> 4704 21 sept. 16:48 account.php
4 -rw-r----- 1 admin www 1848 21 sept. 16:48 ajax.php
4 drwxr-s--- 2 admin www 4096 21 sept. 16:48 api
...
4 -rw-r----- 1 admin www 2331 21 sept. 16:48 <span style="color:Blue">index.php</span>
...
4 drwxr-s--- 6 admin www 4096 21 sept. 16:48 <span style="color:Blue">scp</span>
4 -rw-r----- 1 admin www 1163 21 sept. 16:48 secure.inc.php
4 drwxr-s--- 9 admin www 4096 21 sept. 16:48 <span style="color:Blue">setup</span>
8 -rw-r----- 1 admin www 5544 21 sept. 16:48 tickets.php
4 -rw-r----- 1 admin www 1589 21 sept. 16:48 view.php
4 -rw-r----- 1 admin www 2197 21 sept. 16:48 web.config
[[Image:Icone-NoteAPT.png|25px]] Maintenant, nous sommes beaucoup plus sécurisés.
=== Installation ===
Avec un fureteur, on se rend à: http://FQDN_ou_adresse-IP/support/setup.
Pour notre installation ce sera: http://192.168.1.11/support/setup.
[[Image:Icone-SeTirerDembarrasAPT.png|20px]] Nous installons en anglais car, installer dans une autre langue pourrait occasionner certains problèmes. Plus tard, nous téléverserons un fichier pour la langue française.
<center>
{| class="wikitable" style="width: 80%; background-color:#ffffff;"
|- style="vertical-align:bottom;font-family: Courier New;text-align: left;"
|
Continue >>.
||
<nowiki>-</nowiki> On entre les informations demandées: <code>osTicketBD</code>, <code>usager_oTBD</code> et <code>mdp_osTicketBD</code>.
<nowiki>-</nowiki> Install Now.
|- style="vertical-align:top;"
|[[Image:osTicket-010-Installation-A.png|center|top|550px|border]]
||[[Image:osTicket-011-Installation-B.png|center|top|550px|border]]
|}
</center>
<center>
{| class="wikitable" style="width: 80%; background-color:#ffffff;"
|- style="vertical-align:bottom;font-family: Courier New;"
|
osTicket s'installe.
||
<nowiki>-</nowiki> On doit sécuriser le fichier ost-config.php.
<nowiki>-</nowiki> Le lien de la page de connexion pour les administrateurs.
|- style="vertical-align:top;"
|[[Image:osTicket-012-Installation-C.png|center|top|450px|border]]
||[[Image:osTicket-013-Installation-D.png|center|top|450px|border]]
|}
</center>
=== Sécurisation du fichier ost-config.php ===
On ne donne aucun droit à "other".
# chmod 640 /home/e-smith/files/ibays/support/html/include/ost-config.php
=== Fichier de langue française ===
On se rend dans le répertoire <code>include/i18n</code>.
# cd include/i18n/
Pour le fichier, vous pouvez vous rendre à l'URL: [http://osticket.com/download/go?dl=lang/fr.phar http://osticket.com/download/go?dl=lang/fr.phar] et remplir le formulaire, télécharger le fichier et le transférer dans le répertoire <code>.../support/html/include/i18n</code>.
[[Image:Icone-AstuceAPT.png|25px]] Pour notre part, on utilise le lien: [http://osticket.com/sites/default/files/download/lang/fr.phar http://osticket.com/sites/default/files/download/lang/fr.phar] et l'utilitaire <code>wget</code>.
On télécharge directement le fichier.
# wget http://osticket.com/sites/default/files/download/lang/fr.phar
--2018-09-21 16:50:34-- http://osticket.com/sites/default/files/download/lang/fr.phar
Résolution de osticket.com... 69.164.192.85, 2600:3c00::3a:9200
Connexion vers osticket.com|69.164.192.85|:80...connecté.
requête HTTP transmise, en attente de la réponse...200 OK
Longueur: 318516 (311K) [application/octet-stream]
Sauvegarde en : «fr.phar»
100%[==================================================>] 318 516 606K/s ds 0,5s
2018-09-21 16:50:36 (606 KB/s) - <span style="color:red">«fr.phar» sauvegardé</span> [318516/318516]
On vérifie.
# ls -ls fr.phar
312 -rw-r--r-- 1 root www <span style="color:red">318516</span> 13 janv. 2017 <span style="color:red">fr.phar</span>
=== Première connexion de l'administrateur d'osTicket ===
On se rend à la page de connexion SCP d'osTicket: https://FQDN_ou_adresse-IP/support/scp/login.php; ''(scp - Staff Control Panel)''.
Pour nous ce sera: https://192.168.1.11/support/scp/login.php.
[[Image:osTicket-014-PremierLogin.png|top|left|450px|border]]
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
On entre le nom de l'administrateur d'osTicket, celui choisi lors de l'installation.
Son mot de passe.
Connexion.
{| style="width: 80%; background-color:#ffffff;"
|- style="vertical-align:top;"
|
<span style="text-align: right;">
La page d'acceuil de l'administrateur s'affiche.
<code>Admin Panel</code> pour changer la langue d'affichage.
||[[Image:osTicket-015-PageAccueil.png|center|top|600px|border]]
|}
=== Langue d'affichage ===
{| style="width: 80%; background-color:#ffffff;"
|- style="vertical-align:top; right;"
|
<span style="text-align: right;">
Plus bas sur la page, on choisit
<code>français, langue française (French)</code>.
<br>
<br>
<br>
<br>
Save Changes.
<br>
On rafraîchit la page.
||[[Image:osTicket-016-LangueAffichage.png|center|top|600px|border]]
|}
'''''Suppression du répertoire setup'''''
La configuration du système a été mise à jour.
Une recommandation en haut de la page nous exhorte à supprimer le répertoire <code>setup</code>.
[[Image:osTicket-017-RepertoireSetup.png|center|top|700px|border]]
On supprime le répertoire <code>setup</code>.
# rm -rf /home/e-smith/files/ibays/support/html/setup/
On rafraîchit la page > Renvoyer.
[[Image:osTicket-018-Renvoyer.png|center|top|700px|border]]
Le message est disparu et la page s'affiche en français.
[[Image:osTicket-019-MessageDisparu.png|center|top|700px|border]]
=== Propriétés du serveur Apache pour l'i-bay ===
On ajuste les propriétés du serveur Apache lorsqu'il roulera pour l'i-bay <code>support</code>.
* Permettre à Apache de lire les fichiers <code>.htaccess</code> de l'i-bay <code>support</code> et de ses sous-répertoire
# db accounts setprop support AllowOverride all
* Défendre à Apache d'afficher le contenu des répertoires.
# db accounts setprop support Indexes disabled
'''''Signalisation des changements'''''
On signale tous les changements pour l'i-bay support pour qu'ils deviennent permanents.
# signal-event ibay-modify support
On vérifie.
# db accounts show support
support<nowiki>=ibay</nowiki>
<span style="color:red">AllowOverride</span>=all
CgiBin=enabled
FollowSymLinks=enabled
Gid=5000
Group=admin
<span style="color:red">Indexes</span>=disabled
Name=Pour osTicket
PHPBaseDir=/home/e-smith/files/ibays/support:/tmp
PasswordSet=no
PublicAccess=global
SSL=disabled
Uid=5000
UserAccess=wr-admin-rd-group
=== Nouveaux utilisateurs ===
Dans le panneau d'administration, on clique <code>Utilisateurs</code>.
On coche <code>Exiger l'enregistrement et la connexion pour créer des tickets</code> > <code>Enregistrer les changements</code>.
<center>[[Image:osTicket-020-NouveauUtilisateur-A.png|top|center|600px|border]]</center>
On se déconnecte et on se rend à la page https://FQDN_ou_adresse-IP/support/.
Pour nous ce sera: https://192.168.1.11/support/ > <code>Nouveau ticket</code>.
<center>[[Image:osTicket-021-NouveauUtilisateur-B.png|top|center|600px|border]]</center>
[[Image:Icone-SeTirerDembarrasAPT.png|20px]] L'usager administrateur ne peut se loguer à cette page car, il obtiendrait: '''Accès refusé'''. Il faut qu'il utilise la page SCP: <span style="color:blue"><nowiki>https://FQDN_ou_adresse-IP/support/scp/login.php/</nowiki></span>.
Nous allons créer un compte pour un nouvel utilisateur.
# <code>Non enregistré ? Créer un compte</code>.
# On entre les informations demandées > <code>Register</code>.
# Le nouvel usager reçoit un courriel et il doit cliquer le lien pour confirmer son nouveau compte.
<center>
{| class="wikitable" style="width: 80%; background-color:#ffffff;"
|- style="vertical-align:top;"
|[[Image:osTicket-022-NouveauUtilisateur-C.png|center|top|350px|border]]
||[[Image:osTicket-023-NouveauUtilisateur-D.png|center|top|350px|border]]
||[[Image:osTicket-024-NouveauUtilisateur-E.png|center|top|350px|border]]
|}
</center>
# <code>Se déconnecter</code> car, nous sommes sur la même station que celle de l'administrateur et à cause des témoins, osTicket croit que nous sommes toujours connecté et que nous avons juste changer de page.
# <code>Connexion</code>.
# Nom de l'usager ou l'adresse courriel, mot de passe > <code>Connexion</code>.
<center>
{| class="wikitable" style="width: 80%; background-color:#ffffff;"
|- style="vertical-align:top;"
|[[Image:osTicket-025-NouveauUtilisateur-F.png|top|350px|border]]
||[[Image:osTicket-026-NouveauUtilisateur-G.png|center|top|350px|border]]
||[[Image:osTicket-027-NouveauUtilisateur-H.png|center|top|350px|border]]
|}
</center>
Le nouvel usager peut entrer un nouveau billet.
<center>[[Image:osTicket-028-NouveauUtilisateur-I.png|top|center|500px|border]]</center>
<center><span style="font-size:125%">'''L'application osTicket fonctionne correctement.'''</span></center>
= Redirection =
[[Image:osTicket-029-IndexParDefaut.png|top|right|350px|border]]
Si nous n'avions aucun site dans l'<span style="color:red">i-bay Primary</span> et que nous spécifiions seulement http://FQDN_ou_ip sans ajouter <code>support</code>, nous verrions s'afficher le fichier par défaut: <code>/home/e-smith/files/ibays/Primary/html/index.htm</code>.
[[Image:Icone-AsurveillerAPT.png|25px]] Même si nous supprimions ce fichier et qu'il n'y avait aucun autre fichier <code>index.*</code> tel que <code>index.php</code>, le fichier <code>index.htm</code> serait recréé si nous exécutions <code>signal-event post-upgrade ; signal-event reboot</code> lors de l'ajout d'une Contrib ou après une mise à jour du Serveur SME.
Contenu du répertoire après les commandes: <code>signal-event post-upgrade ; signal-event reboot</code>.
# ls -als /home/e-smith/files/ibays/Primary/html
total 12
4 drwxr-s--- 2 admin shared 4096 19 juin 21:07 .
4 drwxr-xr-x 5 root root 4096 19 juin 21:07 ..
4 -rw-r----- 1 admin shared 202 20 nov. 2005 <span style="color:red">index.htm</span>
=== Pour le nom d'un domaine FQDN ===
Si nous possédons un nom de domaine FQDN, pour la redirection nous pouvons simplement en spécifier l'i-bay dans le gestionnaire Server Manager.
On modifie le domaine <span style="color:blue">micronator-101.org</span> pour qu'il pointe vers l'i-bay <code>support</code>.
<center>
{| class="wikitable" style="width: 80%; background-color:#ffffff;"
|- style="vertical-align:bottom;font-family: Courier New;text-align: left;"
|
Domaines > Modifier.
||
<nowiki>-</nowiki> Brève description = Domaine pour osTicket.<br>
<nowiki>-</nowiki> i-bay = Pour osTicket.<br>
<nowiki>-</nowiki> Serveur DNS de l'Internet = Résolu localement.<br>
<nowiki>-</nowiki> Modifier.
|- style="vertical-align:top;"
|[[Image:osTicket-035-FQDN-A.png|center|top|450px|border]]
||[[Image:osTicket-036-FQDN-B.png|center|top|450px|border]]
|}
</center>
[[Image:Icone-AsurveillerAPT.png|25px]] Pour les ''Serveurs DNS du domaine'', il faut toujours utiliser <code>Serveurs DNS de l'Internet</code> pour un site dans l'i-bay <span style="color:red">Primary</span> et <code>Résolu localement</code> pour tous les sites dans une <u>autre i-bay</u>, qu'ils aient un domaine FQDN ou non.
<center>
{| class="wikitable" style="width: 80%; background-color:#ffffff;"
|- style="vertical-align:bottom;font-family: Courier New;text-align: left;"
|
On s'assure du succès de l'opération.
||
<nowiki>-</nowiki> On entre https://www.micronator-101.org.<br>
<nowiki>-</nowiki> La page d'accueil de notre site s'affiche.<br>
<span style="color:red"><nowiki>*</nowiki></span> Le nom de l'i-bay n'apparaît plus dans l'URL.
|- style="vertical-align:top;"
|[[Image:osTicket-037-FQDN-C.png|center|top|450px|border]]
||[[Image:osTicket-038-FQDN-D.png|center|top|450px|border]]
|}
</center>
[[Image:Icone-NoteAPT.png|25px]] On remet le nom du domaine dans son état original: ''i-bay'' = <code>Primary</code> et ''Brève description'' = <code>Primary domain</code>.
=== Pour un Serveur SME <u>sans site Web</u> dans l'i-bay <span style="color:red">Primary</span> ===
'''''Redirection à l'aide d'un fichier .htaccess'''''
[[Image:Icone-SeTirerDembarrasAPT.png|20px]] Nous allons créer un fichier <code>.htaccess</code> qui redirigera tous les accès à <span style="color:red">Primary</span> ''(http://FQDN_ou_IP)'' vers l'i-bay <code><span style="color:DarkMagenta">support</span></code>.
'''''BD de comptes pour l'i-bay Primary'''''
On ajuste les propriétés de la BD de comptes pour l'i-bay Primary.
* Permettre à Apache de lire notre futur fichier <code>.htaccess</code> de l'i-bay Primary.
# db accounts setprop Primary AllowOverride all
* Permettre à Apache de suivre les liens symboliques de l'i-bay Primary.
# db accounts setprop Primary FollowSymLinks enabled
* Défendre à Apache d'afficher le contenu des répertoires.
# db accounts setprop Primary Indexes disabled
On signale les modifications pour qu'elles deviennent permanentes.
# signal-event ibay-modify Primary
On vérifie.
# db accounts show Primary
Primary=ibay
<span style="color:red">AllowOverride</span>AllowOverride=all
CgiBin=enabled
<span style="color:red">FollowSymLinks</span>=enabled
Group=shared
<span style="color:red">Indexes</span>=disabled
Modifiable=no
Name=Primary i-bay
PasswordSet=no
Passwordable=no
PublicAccess=global
Removable=no
UserAccess=wr-admin-rd-group
'''''Création du fichier .htaccess'''''
[[Image:Icone-NoteAPT.png|25px]] Le fichier <code>.htaccess</code>, si présent dans le répertoire racine, est <u>le premier fichier à être lu</u> lors de l'accès à un site Web.
[[Image:Icone-AsurveillerAPT.png|25px]] Prendre tout le contenu de l'encadré pour la commande.
[[Image:Icone-NoteAPT.png|25px]] Modifier pour une autre adresse IP ou pour un domaine FQDN différent.
cat >> /home/e-smith/files/ibays/Primary/html/.htaccess <<'EOT'
<nowiki>##### </nowiki> <nowiki>***********************</nowiki>
<nowiki># Pour rediriger tout le traffic, qui arriverait dans la racine de l'i-bay Primary,</nowiki>
<nowiki># vers l'i-bay support.</nowiki>
<nowiki>#</nowiki>
<nowiki># Pour un domaine FQDN, changer "192.168.1.11" pour "mon_domaine.com" (sans guillemets).</nowiki>
<nowiki>#</nowiki>
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} 192.168.1.11 [NC]
RewriteCond %{REQUEST_URI} ^/$
RewriteRule ^(.*)$ /support/$1 [L]
EOT
On ajuste le propriétaire et le groupe du fichier <code>.htaccess</code> ''(groupe = shared pour Primary et www pour toutes les autres i-bays)''.
# chown admin:shared /home/e-smith/files/ibays/Primary/html/.htaccess
On ajuste les droits.
# chmod 640 /home/e-smith/files/ibays/Primary/html/.htaccess
On vérifie.
# ls -als /home/e-smith/files/ibays/Primary/html/.htaccess
4 -<span style="color:red">rw-r-----</span> 1 <span style="color:red">admin shared</span> 384 23 sept. 14:05 /home/e-smith/files/ibays/Primary/html/.htaccess
'''''Vérification de la redirection'''''
On vidange l'historique de notre navigateur.
<center>
{| class="wikitable" style="width: 60%; background-color:#ffffff;"
|- style="vertical-align:top;"
|[[Image:osTicket-030-Verif-A.png|center|top|500px|border]]
||[[Image:osTicket-031-Verif-B.png|center|top|250px|border]]
|}
</center>
<center>[[Image:osTicket-032-Verif-C.png|top|right|500px|border]]</center>
On se rend à l'URL https://192.168.1.11/ et on est automatiquement redirigé vers la page d'accueil de notre site osTicket > <code>Connexion</code>.
[[Image:Icone-NoteAPT.png|25px]] Ici, le cadenas n'est pas vert car, le serveur n'a pas encore un certificat Let's Encrypt mais, seulement un certificat auto-signé qui n'est pas reconnu par osTicket.
[[Image:Icone-AstuceAPT.png|25px]] Pour l'installation d'un certificat Let's Encrypt voir: https://wiki.contribs.org/Odoo-11_%26_HTTPS#Certificat_Let.27s_Encrypt.
# Pour une connexion à osTicket, on peut utiliser le nom d'utilisateur ou l'adresse courriel.
# Le nouvel usager est logué donc, la redirection fonctionne correctement.
<center>
{| class="wikitable" style="width: 80%; background-color:#ffffff;"
|- style="vertical-align:top;"
|[[Image:osTicket-033-Verif-D.png|center|top|450px|border]]
||[[Image:osTicket-034-Verif-E.png|center|top|450px|border]]
|}
</center>
[[Image:Icone-NoteAPT.png|25px]] Il n'est plus nécessaire d'utiliser le fichier <code>.htaccess</code> dans l'i-bay Primary, on le supprime.
# rm -rf /home/e-smith/files/ibays/Primary/html/.htaccess
===Pour un Serveur SME <u>avec un site Web</u> dans l'i-bay Primary ===
Si le Serveur SME roule un site Web dans l'i-bay <span style="color:red">Primary</span>, on peut utiliser un gabarit personnalisé pour s'occuper de la redirection.
'''''Fichier index de l'i-bay Primary'''''
[[Image:osTicket-039-Mn-org.png|top|right|500px|border]]
Dans l'ibay Primary, nous avons un texte en HTML décrivant notre société et qui sera affiché lors d'une visite à la page: http://www.micronator-101.org/ http://www.micronator-101.org ou https://www.micronator-101.org/
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
[[Image:osTicket-040-Nouveau-Dom-A.png|top|right|200px]]
[[Image:Icone-SeTirerDembarrasAPT.png|20px]] Si nous redirigeons tous les accès à notre domaine <span style="color:blue">support.micronator-101.org</span> à l'aide d'un [[#Gabarit personnalisé]], le gestionnaire Server Manager sera lui aussi redirigé et il générera alors une erreur de connexion.
Nous allons contourner ce problème en ajoutant le sous-domaine <span style="color:blue">support.micronator-101.org</span> et rediriger tous les accès ''(http et https)'', <u>à ce sous-domaine seulement</u>, vers une connexion '''SSL/TLS''' sécurisée.
<br>
<br>
<br>
<br>
<br>
<br>
'''''Création du domaine'''''
<center>
{| class="wikitable" style="width: 80%; background-color:#ffffff;"
|- style="vertical-align:bottom;font-family: Courier New;text-align: left;"
|
Server Manager > Domaines > Ajouter un domaine.
||
<nowiki>-</nowiki> Entrer les informations telles que ci-dessous.<br>
<nowiki>-</nowiki> Ajouter.<br>
||
<nowiki>-</nowiki>On s'assure du succès de l'opération.
|- style="vertical-align:top;"
|[[Image:osTicket-041-Nouveau-Dom-B.png|center|top|325px|border]]
||[[Image:osTicket-042-Nouveau-Dom-C.png|center|top|325px|border]]
||[[Image:osTicket-043-Nouveau-Dom-D.png|center|top|325px|border]]
|}
</center>
'''''CNAME'''''
[[Image:osTicket-044-CNAME.png|top|left|450px|border]]
Nous avons créer un nouveau sous-domaine, nous ajoutons donc les CNAME suivants chez le régistraire de notre domaine <span style="color:blue">micronator-101.org</span>: support, ftp.support, mail.support, proxy.support, wpad.support et www.support.
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<span id="Gabarit personnalisé"></span>
'''''Gabarit personnalisé'''''
Vu qu'on ne doit pas modifier directement un fichier de configuration, nous allons créer un gabarit personnalisé pour accomplir les modifications nécessaires à la redirection. Ainsi, lorsqu'on mettra le Serveur SME à jour, les modifications seront conservées.
'''Copie du fragment à modifier'''
Le fragment de la configuration d'Apache à modifier est le fichier: <code>25SSLDirectives</code>. Ce fichier se trouve dans le répertoire: <code>/etc/e-smith/templates/etc/httpd/conf/httpd.conf/VirtualHosts</code>.
Nous devons créer un répertoire qui contiendra la copie de ce fragment qu'on pourra alors modifier.
# mkdir -p /etc/e-smith/templates-custom/etc/httpd/conf/httpd.conf/VirtualHosts
On copie le fragment original vers le gabarit personnalisé.
# cp /etc/e-smith/templates/etc/httpd/conf/httpd.conf/VirtualHosts/25SSLDirectives \
/etc/e-smith/templates-custom/etc/httpd/conf/httpd.conf/VirtualHosts
'''''Modification du fichier du gabarit personnalisé'''''
Fichier original.
<nowiki>{</nowiki>
return " <nowiki># skipping SSL directives\n" unless $port eq "443";</nowiki>
return "" unless $modSSL{'status'} eq 'enabled';
$OUT = <<SSL_END;
<nowiki># SSL Directives</nowiki>
SSLEngine on
SSL_END
<nowiki>}</nowiki>
[[Image:Icone-NoteAPT.png|25px]] On peut modifier le contenu du fichier du gabarit personnalisé avec vi / Notepad++ / ... ou exécuter la commande du paragraphe après celui ci-dessous.
{| class="wikitable" style="width: 80%; background-color:#FFEED9;"
|- style="vertical-align:top;font-family: Courier New;"
|<nowiki>{</nowiki><br>
<nowiki></nowiki> if ( $port eq "80" && $virtualHost eq "support.micronator-101.org")</nowiki><br>
<nowiki></nowiki> <nowiki>{</nowiki><br>
<nowiki></nowiki> $OUT .= " \n";<br>
<nowiki></nowiki> $OUT .= " <nowiki># Pour la redirection d'osTicket.\n";</nowiki><br>
<nowiki></nowiki> $OUT .= " <nowiki># Michel-André / 2018-09-22_12h35\n";</nowiki><br>
<nowiki></nowiki> $OUT .= " Redirect / https://support .micronator-101.org/\n";<br>
<nowiki></nowiki> <nowiki>}</nowiki><br>
<nowiki></nowiki><br>
<nowiki></nowiki> return " <nowiki># skipping SSL directives\n" unless $port eq "443";</nowiki><br>
<nowiki></nowiki><br>
<nowiki></nowiki> return "" unless $modSSL{'status'} eq 'enabled';<br>
<nowiki></nowiki><br>
<nowiki></nowiki> $OUT = <<SSL_END;<br>
<nowiki></nowiki> <nowiki># SSL Directives</nowiki><br>
<nowiki></nowiki> SSLEngine on<br>
<nowiki></nowiki>SSL_END<br>
<nowiki></nowiki><br>
<nowiki></nowiki><nowiki>}</nowiki>
|}
[[Image:Icone-AsurveillerAPT.png|25px]] La ligne <code>SSL_END</code> doit obligatoirement débuter sur la première colonne.
[[Image:Icone-AsurveillerAPT.png|25px]] Prendre tout le contenu de l'encadré pour la commande.
cat > /etc/e-smith/templates-custom/etc/httpd/conf/httpd.conf/VirtualHosts/25SSLDirectives <<'EOT'
{
if ( $port eq "80" && $virtualHost eq "support.micronator-101.org")
{
$OUT .= " \n";
$OUT .= " <nowiki># Pour la redirection d'osTicket.\n";</nowiki>
$OUT .= " <nowiki># Michel-André / 2018-09-22_12h35\n";</nowiki>
$OUT .= " Redirect / https://support.micronator-101.org/\n";
}
return " <nowiki># skipping SSL directives\n" unless $port eq "443";</nowiki>
return "" unless $modSSL{'status'} eq 'enabled';
$OUT = <<SSL_END;
<nowiki># SSL Directives</nowiki>
SSLEngine on
SSL_END
}
EOT
On vérifie les premières lignes du fichier.
# head -n6 /etc/e-smith/templates-custom/etc/httpd/conf/httpd.conf/VirtualHosts/25SSLDirectives
<span style="color:red">{</span>
if ( $port eq "80" && $virtualHost eq "odoo.micronator-101.org")
{
$OUT .= " \n";
$OUT .= " <nowiki># Pour la redirection d'osTicket.\n";</nowiki>
$OUT .= " <nowiki># Michel-André / 2018-09-22_12h35\n";</nowiki>
[[Image:Icone-AsurveillerAPT.png|25px]] Il n'y a pas de ligne vide avant la première l'accolade <span style="color:red">{</span>. Ci-dessus, nous avons inséré une ligne vide pour faciliter la copie de la commande.
On développe <code>httpd.conf</code> pour qu'il lise le gabarit personnalisé et qu'il l'intègre à sa configuration.
# expand-template /etc/httpd/conf/httpd.conf
On vérifie le fichier de configuration de <code>httpd.conf</code> pour s'assurer que le gabarit personnalisé a bien été intégré.
# cat /etc/httpd/conf/httpd.conf | grep "Pour la redirection"
<nowiki> </nowiki><span style="color:red"># Pour la redirection d'osTicket.</span>
'''''Redémarrage du démon httpd'''''
# /etc/rc.d/init.d/httpd-e-smith restart
'''Vérification'''
'''''Connexion au gestionnaire Server Manager'''''
[[Image:Icone-AsurveillerAPT.png|25px]] On supprime l'historique de notre navigateur.
On s'assure qu'on peut toujours accéder au gestionnaire du serveur en allant à: https://www.micronator-101.org/server-manager.
<center>
{| class="wikitable" style="width: 70%; background-color:#ffffff;"
|- style="vertical-align:top;"
|[[Image:osTicket-045-Verif-SM-A.png|center|top|200px|border]]
||[[Image:osTicket-046-Verif-SM-B.png|center|top|600px|border]]
|}
</center>
La connexion vers le site <span style="color:blue">micronator-101.org</span> n'est pas redirigée et on peut accéder au gestionnaire du serveur.
'''Connexion à osTicket'''
On se rend sur notre site osTicket en spécifiant toujours <span style="color:blue">support.micronator-101.org</span>:
* http://support.micronator-101.org
* http://www.support.micronator-101.org
* https://www.support.micronator-101.org
[[Image:osTicket-047-Connexion.png|top|right|500px|border]]
Le résultat est toujours le même: <span style="color:blue">https://support.micronator-101.org/</span>.
On est automatiquement redirigé vers la page de connexion d'Odoo et le <u>cadenas n'est pas vert</u>.
[[Image:Icone-NoteAPT.png|25px]] Vu que notre certificat n'a pas été émis par une véritable autorité de certification reconnue, le serveur Web d'osTicket a rejeté le certificat et n'a pas émis une connexion sécurisée.
[[Image:Icone-AsurveillerAPT.png|25px]] On peut se loguer mais, vu que la communication n'est pas sécurisée, le mot de passe sera envoyé sans chiffrement.
[[Image:Icone-AstuceAPT.png|25px]] Pour un Serveur SME branché directement à l'Internet, l'installation d'un certificat Let's Encrypt est décrite à la page: https://wiki.contribs.org/Odoo-11_%26_HTTPS#Certificat_Let.27s_Encrypt.
[[Image:Icone-SeTirerDembarrasAPT.png|20px]] Pour un Serveur SME intranet i.e. branché sur un réseau LOCAL, l'installation d'un certificat Let's Encrypt est décrite à la page: https://wiki.contribs.org/Odoo-11_%26_serveur_de_test/dev et plus spécifiquement à la section Obtention d'un certificat pour un serveur local.
<br>
<br>
<br>
<br>
<center><span style="font-size:125%">'''La redirection d'osTicket est fonctionnelle.'''</span></center>
= Mise à niveau et migration =
''Référence'': [http://osticket.com/wiki/Upgrade_and_migration http://osticket.com/wiki/Upgrade_and_migration].
Avant de vous lancer dans une mise à niveau ou une migration, il est extrêmement important de sauvegarder la base de données et les fichiers de votre site Web. Il est également recommandé de mettre, momentanément, le système hors-ligne pendant le processus. Bien qu'osTicket essaie de garantir que le processus de mise à niveau soit simple et sans complication, nous ne pouvons garantir que ce sera le cas pour chaque utilisateur. Pour cette raison, il est essentiel que les utilisateurs prennent des précautions en cas de problème. Si l'idée de mettre à niveau votre installation vous donne la frousse, n'hésitez pas à contacter osTicket pour obtenir de l'aide.
=== Mise à niveau ===
De temps en temps, il sera nécessaire de mettre à niveau votre installation osTicket vers la dernière version, soit pour corriger des bogues, soit pour acquérir de nouvelles fonctionnalités. À partir de la version 1.6, osTicket est une réécriture complète avec un nouveau schéma de base de données et une nouvelle base de code; ce qui rend difficile la mise à niveau des versions précédentes.
Seules les versions plus récentes que la version 1.6 RC1 peuvent être mises à niveau vers la version actuelle.
Si votre version d'osTicket est antérieure à la version 1.6, vous devez plutôt examiner la migration.
Les objectifs d'osTicket sont de rendre la mise à niveau d'une version antérieure aussi simple que possible et de prendre en charge la migration à partir des versions abandonnées. La communauté osTicket travaille sur la meilleure façon de mettre à niveau ou d'importer des données depuis des versions précédentes, y compris des systèmes d'assistance tiers.
=== Téléversement de fichiers ===
[[Image:osTicket-048-TeleversementFichier.png|top|right|375px|border]]
Une fois que vous avez téléchargé le "package" osTicket sur votre ordinateur, vous devez préparer les fichiers à être téléversés sur votre serveur où ils écraseront les fichiers existants sur le serveur roulant l'ancienne version d'osTicket. Cette procédure peut être accomplie en décompressant le "package" puis, en utilisant un client FTP pour transférer les fichiers dans le répertoire <code>upload</code> de votre serveur. Le script de mise à niveau écrasera les fichiers osTicket existants.
Pour les utilisateurs utilisant des panneaux de contrôle tels que CPanel ou Plesk, ils peuvent utiliser le gestionnaire de fichiers du système pour télécharger le "package" directement sur le serveur puis, extraire simplement le package tout en veillant à ce que la hiérarchie des chemins soit conservée.
* Assurez-vous de sauvegarder la base de données et les fichiers de votre site.
* Upgrader nécessite un utilisateur avec des privilèges d'administrateur.
* Il est recommandé de mettre le système hors-ligne pendant la mise à niveau.
* Maintenir la hiérarchie des répertoires pour s'assurer que les anciens fichiers soient écrasés.
[[Image:osTicket-049-DosierUpload.png|top|right|375px|border]]
* Le dossier <code>upload</code> contient les fichiers osTicket à téléverser sur le serveur.
* Ne téléchargez pas de fichiers dans le dossier scripts. Seulement utile pour les "pipe" distants.
* Ne remplacez pas votre fichier ost-config.php ''(dans le répertoire include)'' ou vous perdrez vos paramètres d’administration MySQL.
* Pour les versions 1.6 RC1-RC2 uniquement:<br/> Une fois les fichiers écrasés, renommez <code>config.php</code> en <code>ostconfig.php</code> ''(<code>config.php</code> se trouve dans le répertoire racine osTicket)''.
[[Image:Icone-NoteAPT.png|25px]] Si vous avez personnalisé votre installation osTicket, vous devrez transférer les modifications vers la nouvelle version après une mise à niveau réussie. Les modifications de la base de données peuvent provoquer des conflits.
=== Exécution du script de mise à niveau ===
osTicket est livré avec un assistant Web pour vous guider dans le processus de mise à niveau. Bien que l'assistant fournisse un guide étape par étape, il est important et utile d'avoir des connaissances générales sur les serveurs Web, PHP et MySQL. Toute erreur à ce stade, bien qu'inattendue, est fatale et peut nécessiter la restauration de la version précédente.
Pour exécuter le script de mise à niveau, connectez-vous simplement au panneau d'administration de votre service d'assistance osTicket. Upgrader est maintenant un composant principal d'osTicket, de sorte que les mises à jour sont déclenchées automatiquement chaque fois que vous téléchargez une nouvelle version nécessitant une migration de la base de données.
Lorsque vous accédez au panneau d'administration, l'assistant de mise à niveau est présenté et vous guide automatiquement tout au long du processus de migration de la base de données. Votre service d'assistance restera hors ligne et votre personnel ne pourra rien faire dans le panneau de contrôle avant la fin de la migration de la base de données.
[[Image:Icone-AsurveillerAPT.png|25px]] '''Avertissement''': Si vous effectuez une mise à niveau d'osTicket 1.6 vers osTicket 1.7 et supérieur, veuillez vous assurer que votre dossier <code>upload</code> dispose des droits de lecture et d'écriture. Les pièces jointes non lisibles par le serveur HTTP seront perdues lors du processus de mise à niveau.
=== Test de post-mise à niveau ===
Une fois la mise à niveau terminée, accédez au panneau de configuration du personnel de soutien ''(<code>scp</code> - Staff Control Panel)'' et vérifiez les éléments de base tels que l'affichage et la réponse aux billets de test pour vous assurer que tout fonctionne toujours comme prévu. Après avoir vérifié que la mise à niveau s'est terminée correctement, procédez comme suit:
* Remettez en ligne le service.
* Supprimer le répertoire setup.
* Explorer toute nouvelle fonctionnalité - voir les notes de version.
=== Migration ===
osTicket prévoit de prendre en charge la migration des données à partir des versions précédentes d'osTicket et des services d'assistance tiers dans un avenir proche. Veuillez consulter les forums pour les discussions sur le sujet.
=== Propriétaire, groupe et droits ===
[[Image:Icone-SeTirerDembarrasAPT.png|20px]] À faire après tout ajout, mise à jour ou tout autre modification qui pourraient avoir créé/modifié de nouveaux fichiers/répertoires.
On ajuste <u>'''R'''</u>écursivement le propriétaire et le groupe pour tout le répertoire racine d'osTicket.
# chown -R admin:www /home/e-smith/files/ibays/support/html/*
On supprime <u>'''R'''</u>écursivement touts les droits à "other".
# chmod -R o-rwx /home/e-smith/files/ibays/support/html/*
On vérifie.
# ls -als /home/e-smith/files/ibays/support/html
total 168
4 drwxr-s--- 15 admin www 4096 3 août 09:29 .
4 drwxr-xr-x 6 root root 4096 19 juin 21:06 ..
8 -rw-r--<span style="color:red">---</span> 1 <span style="color:red">admin www</span> 4704 17 juil. 04:23 account.php
4 -rw-r----- 1 admin www 1848 17 juil. 04:23 ajax.php
4 drwxr-s--- 2 admin www 4096 3 août 08:25 api
4 drwxr-s--- 2 admin www 4096 3 août 08:25 apps
4 drwxr-s--- 4 admin www 4096 3 août 08:25 assets
4 drwxrws--- 2 admin www 4096 3 août 08:26 attachments
4 -rw-r----- 1 admin www 1071 17 juil. 04:23 avatar.php
16 -rw-r----- 1 admin www 14315 17 juil. 04:23 bootstrap.php
4 -rw-r----- 1 admin www 611 17 juil. 04:23 captcha.php
4 -rw-r----- 1 admin www 2878 17 juil. 04:23 client.inc.php
4 drwxr-s--- 3 admin www 4096 3 août 08:25 css
4 -rw-r----- 1 admin www 1903 17 juil. 04:23 file.php
4 drwxr-s--- 3 admin www 4096 3 août 08:25 images
4 drwxr-s--- 12 admin www 4096 3 août 08:26 include
4 -rw-r----- 1 admin www 2331 17 juil. 04:23 index.php
4 drwxr-s--- 2 admin www 4096 3 août 08:25 js
4 drwxr-s--- 2 admin www 4096 3 août 08:25 kb
8 -rw-r----- 1 admin www 5472 17 juil. 04:23 login.php
4 -rw-r----- 1 admin www 980 17 juil. 04:23 logo.php
4 -rw-r----- 1 admin www 714 17 juil. 04:23 logout.php
4 -rw-r----- 1 admin www 1667 17 juil. 04:23 main.inc.php
4 -rw-r----- 1 admin www 2415 17 juil. 04:23 manage.php
4 -rw-r----- 1 admin www 930 17 juil. 04:23 offline.php
4 -rw-r----- 1 admin www 3030 17 juil. 04:23 open.php
4 drwxr-s--- 2 admin www 4096 3 août 08:25 pages
4 -rw-r----- 1 admin www 1225 17 juil. 04:23 profile.php
4 -rw-r----- 1 admin www 3181 17 juil. 04:23 pwreset.php
4 drwxr-s--- 6 admin www 4096 3 août 08:25 scp
4 drwxr-s--- 2 admin www 4096 3 août 08:25 scripts
4 -rw-r----- 1 admin www 1163 17 juil. 04:23 secure.inc.php
8 -rw-r----- 1 admin www 5544 17 juil. 04:23 tickets.php
4 drwxr-s--- 2 admin www 4096 3 août 08:26 upload
4 -rw-r----- 1 admin www 1589 17 juil. 04:23 view.php
4 -rw-r----- 1 admin www 2197 17 juil. 04:23 web.config
<span id="Mise à jour de la Collection PHP"></span>
= Mise à jour de la Collection PHP =
Les Contribs peuvent être mises à jour à la console du serveur.
'''''Lancement de la mise à jour'''''
''Référence'': [https://wiki.contribs.org/PHP_Software_Collections#Update https://wiki.contribs.org/PHP_Software_Collections#Update].
# yum update <span style="color:red">-y</span> smeserver-php-scl php54* php55* php56* php70* php71* --enablerepo=smecontribs
Modules complémentaires chargés : fastestmirror, smeserver
...
<nowiki>============================================================================================</nowiki>
Paquet Architecture Version Dépôt Taille
<nowiki>============================================================================================</nowiki>
Mise à jour:
<span style="color:red">php54</span>-php-pear noarch 1:1.10.4-1.el6.remi remi-safe 369 k
php54-php-pecl-zip x86_64 1.14.0-1.el6.remi remi-safe 39 k
<span style="color:red">php55</span>-php-pear noarch 1:1.10.4-1.el6.remi remi-safe 369 k
php55-php-pecl-zip x86_64 1.14.0-1.el6.remi remi-safe 39 k
<span style="color:red">php56</span>-php-pear noarch 1:1.10.4-1.el6.remi remi-safe 369 k
php56-php-pecl-zip x86_64 1.14.0-1.el6.remi remi-safe 39 k
Résumé de la transaction
<nowiki>============================================================================================</nowiki>
Mise à jour de 6 paquet(s)
Taille totale des téléchargements : 1.2 M
Téléchargement des paquets :
(1/6): php54-php-pear-1.10.4-1.el6.remi.noarch.rpm | 369 kB 00:01
(2/6): php54-php-pecl-zip-1.14.0-1.el6.remi.x86_64.rpm | 39 kB 00:00
...
Lancement de la transaction
Mise à jour : php54-php-pecl-zip-1.14.0-1.el6.remi.x86_64 1/12
Mise à jour : 1:php54-php-pear-1.10.4-1.el6.remi.noarch 2/12
...
<span style="color:red">Mis à jour :</span>
<span style="color:red">php54</span>-php-pear.noarch 1:1.10.4-1.el6.remi php54-php-pecl-zip.x86_64 0:1.14.0-1.el6.remi
<span style="color:red">php55</span>-php-pear.noarch 1:1.10.4-1.el6.remi php55-php-pecl-zip.x86_64 0:1.14.0-1.el6.remi
<span style="color:red">php56</span>-php-pear.noarch 1:1.10.4-1.el6.remi php56-php-pecl-zip.x86_64 0:1.14.0-1.el6.remi
Terminé !
[[Image:Icone-NoteAPT.png|25px]] Ci-dessus, seules des mises à jour pour <span style="color:red">php54/55/56</span> étaient disponibles et aucune pour php70/71.
[[Image:Icone-SeTirerDembarrasAPT.png|20px]] On peut omettre l'option <span style="color:red">-y</span> et <code>yum</code> demandera si on veut mette a jour. Il suffit de répondre <code>o</code> ou <code>n</code> pour oui ou non.
[[Image:Icone-AsurveillerAPT.png|25px]] Si aucune mise à jour n'est disponible, on obtiendra le message: <span style="color:red"><span style="font-family:Courier New;">Aucun paquet marqué pour mise à jour</span></span>.
yum update -y smeserver-php-scl php54* php55* php56* php70* php71* --enablerepo=smecontribs
Modules complémentaires chargés : fastestmirror, smeserver
Configuration du processus de mise à jour
Loading mirror speeds from cached hostfile
<nowiki>* base: centos.mirror.ca.planethoster.net</nowiki>
<nowiki>* smeaddons: mirror.canada.pialasse.com</nowiki>
<nowiki>* smecontribs: mirror.canada.pialasse.com</nowiki>
<nowiki>* smeextras: mirror.canada.pialasse.com</nowiki>
<nowiki>* smeos: mirror.canada.pialasse.com</nowiki>
<nowiki>* smeupdates: mirror.canada.pialasse.com</nowiki>
<nowiki>* updates: mirror.netaddicted.ca</nowiki>
<span style="color:red"><span style="font-family:Courier New;">Aucun paquet marqué pour mise à jour</span></span>
'''''Signalisation des changements'''''
Si une mise à jour a été installée, on la signale et on réamorce.
# signal-event post-upgrade<nowiki>; </nowiki>signal-event reboot
On vérifie certaines des mises à jour.
[root@osticket ~]# rpm -qa | grep php-pecl-zip
php71-php-pecl-zip-1.10.4-1.el6.remi.x86_64
php70-php-pecl-zip-1.10.4-1.el6.remi.x86_64
<span style="color:red">php56</span>-php-pecl-zip-1.10.4-1.el6.remi.x86_64
<span style="color:red">php55</span>-php-pecl-zip-1.10.4-1.el6.remi.x86_64
<span style="color:red">php54</span>-php-pecl-zip-1.10.4-1.el6.remi.x86_64
= Fichier hosts pour simuler les requêtes DNS =
=== Description ===
''Référence'': [https://fr.wikipedia.org/wiki/Hosts https://fr.wikipedia.org/wiki/Hosts].
Le fichier <code>hosts</code> est un fichier utilisé par le système d'exploitation d'un ordinateur lors de l'accès à un réseau, comme Internet par exemple. Son rôle est d'associer des noms d'hôtes à des adresses IP. Lors de l'accès à une ressource réseau par nom de domaine, ce fichier est consulté <u>avant l'accès au serveur DNS</u> et permet au système de connaître l'adresse IP associée au nom de domaine sans avoir recours à une requête DNS.
=== Ajout d'entrées pour notre Serveur SME local ===
[[Image:Icone-AstuceAPT.png|25px]] Si nous n'avons pas de serveur DNS sur le réseau LOCAL, on peut faire des entrées dans le fichier <code>hosts</code> de la station de travail et y indiquer les adresses IP de notre Serveur SME local.
[[Image:osTicket-050-DNS-A.png|top|right|500px|border]]
[[Image:Icone-NoteAPT.png|25px]] Sur une station Windows, le fichier <code>hosts</code> se trouve dans le répertoire: <code>C:\Windows\System32\drivers\etc\</code>.
<nowiki>-</nowiki> Clac ''(clic droit)'' sur le fichier > Propriétés.
<nowiki>-</nowiki> Le fichier est en Lecture seule, on décoche ce paramètre > OK.
[[Image:Icone-NoteAPT.png|25px]] Pour une station Linux, le fichier <code>hosts</code> réside dans le répertoire <code>/etc</code>.
<br>
<br>
<br>
<br>
<br>
<br>
On édite le fichier <code>hosts</code> et on entre les noms et l'adresse IP de notre Serveur SME intranet après les lignes <code><span style="color:red">localhost</span></code>.
...
<nowiki># localhost name resolution is handled within DNS itself.</nowiki>
<nowiki>#</nowiki> 127.0.0.1 <code><span style="color:red">localhost</span></code>
<nowiki>#</nowiki> ::1 <code><span style="color:red">localhost</span></code>
<span style="color:blue"># Serveur SME sur le réseau local
192.168.1.11 support.micronator-101.org
192.168.1.11 www.support.micronator-101.org
192.168.1.11 micronator-101.org
192.168.1.11 www.interne.micronator-101.org</span>
...
[[Image:osTicket-051-DNS-B.png|top|right|500px|border]]
On sauvegarde et on remet le fichier en Lecture seule.
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
=== Vidange du cache DNS ===
Sur la station de travail, on ouvre un écran de commande et on vide le cache DNS de la station.
C:\Users\michelandre> '''ipconfig /flushdns'''
Configuration IP de Windows
<span style="color:red">Cache de résolution DNS vidé.</span>
=== Vidange de l'historique ===
On vidange l'historique de notre navigateur.
<center>
{| style="width: 60%; background-color:#ffffff;"
|- style="vertical-align:top;"
|[[Image:osTicket-030-Verif-A.png|center|top|500px|border]]
||[[Image:osTicket-031-Verif-B.png|center|top|250px|border]]
|}
</center>
[[Image:Icone-AsurveillerAPT.png|25px]] Il faut autoriser java script et les témoins dans notre fureteur.
La redirection fonctionne toujours correctement.
<center>
{| style="width: 80%; background-color:#ffffff;"
|- style="vertical-align:top;"
|[[Image:osTicket-054-Vidange-C.png|center|top|275px|border]]
||[[Image:osTicket-055-Vidange-D.png|center|top|275px|border]]
||[[Image:osTicket-056-Vidange-E.png|center|top|275px|border]]
||[[Image:osTicket-057-Vidange-F.png|center|top|275px|border]]
|}
</center>
<br>
<br>
[[Image:Odoo-11-BanniereDeLaVictoire-APT.png|caption|36px]] Victoire totale, hissons la bannière de la victoire.
<br>
<br>
[[Category:Howto]] [[Category:Howto/fr]]