You are not logged in.
Bonjour, OUI j'ai lu les autres posts sur le sujet et OUI j'ai bien consulté la documentation (https://glpi-install.readthedocs.io/en/ … sites.html). Mais j'ai beau tester dans tous les sens ça change rien sur mon serveur. Je dois oublier ou/et mal faire quelques chose, mais autant les mises à jour précédentes je m'en suis toujours sorti que là, les vhost c'est très flou pour moi surtout sur Linux (niveau moyen - ;-)) et je n'y arrive pas. (j'avoue ne pas bien comprendre ce que j'essaie de faire pour être honnête)
Ma situation ; Serveur interne (LAMP) sous Ubuntu sur lequel j'ai plusieurs sites (je précise que c'est une utilisation 100% interne et que le serveur n'est pas joignable depuis internet).
Tous les sites sont dans /var/www/html ;
> /var/www/html/site1
> /var/www/html/site2
> /var/www/html/GLPI
> /var/www/html/site3
> /var/www/html/etc...
et j'y accède via l'IP de mon serveur (http://192.168.0.138/nomdusite). pour GLPI donc ; http://192.168.0.138/GLPI
J'ai dans /etc/apache2/sites-available/ (si j'ai bien compris c'est là que ça se passe) 2 entrées ; 000-default.conf et default-ssl.conf. Je n'ai jamais modifié ces fichiers, ils sont donc d'origine (mais si le contenu peut aider à la résolution de mon pb je peux évidemment le partager).
Première question donc ; faut-il créer un nouveau fichier (GLPI.conf ?)?
Si non ; lequel modifier? Et comment dans mon cas?
Si oui ; est-ce que (quand ça fonctionnera) cela changera quelques chose à l'accès à mes autres sites?
Si oui encore ; j'ai essayé de créer un fichier GLPI.conf avec le contenu suivant ;
<VirtualHost *:80>
ServerName glpi.localhost
DocumentRoot /var/www/html/GLPI/public
# If you want to place GLPI in a subfolder of your site (e.g. your virtual host is serving multiple applications),
# you can use an Alias directive:
Alias "/glpi" "/var/www/html/GLPI/public"
<Directory /var/www/html/GLPI/public>
Require all granted
RewriteEngine On
# Redirect all requests to GLPI router, unless file exists.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L]
</Directory>
</VirtualHost>
>> Est-ce correcte?
Je redémarre ensuite le service Apache mais ça ne change rien. Faut-il "activer" ou faire quelques chose de particulier pour faire prendre en compte ce fichier au système? (toujours dans le cas où c'est bien ce qu'il faut faire que d'ajouter ce fichier).
Voilà je remercie par avance ceux qui prendront le temps de m'aider en espérant que ça en aidera d'autres visiblement dans le même cas que moi, mais n'y arrivant pas mieux (ou n'ayant pas partagé la solution finale).
Bon après-midi à tous!
Stéphane
Last edited by rosco91 (2023-04-26 01:08:57)
Glpi 10.0.7 - php 7.4 / apache2 / ubuntu 18.04.6 LTS
Offline
did you manage to solve the problem? i have the same.
GLPI 9.4.4 + FusionInventory 9.4+1.1 on Ubuntu 18.04
Offline
Bonjour,
Après avoir ajouté une configuration de site dans le dossier sites-available, vous devez l'activer à l'aide de la commande a2ensite, puis redémarrer Apache.
GLPI Collaborator and Plugin Developer.
My non-English comments are automated translations. Sorry for any confusion that causes.
Mes commentaires non anglais sont des traductions automatiques. Désolé pour toute confusion qui cause.
Mis comentarios que no están en inglés son traducciones automáticas. Perdón por cualquier confusión que cause.
Offline
did you manage to solve the problem? i have the same.
Je n'ai pas trouvé une autre solution que de créer un vhost par site (ce qui ne m'arrange pas du tout, c'était très pratique de fonctionner avec l'IP), puis de désactiver le vhost par défaut (celui commençant par 000...).
Je contacte donc maintenant glpi par http://glpi.xxxx.local et les autres sites par http://nomdusite.xxxx.local.
Glpi 10.0.7 - php 7.4 / apache2 / ubuntu 18.04.6 LTS
Offline
Bonjour,
Après avoir ajouté une configuration de site dans le dossier sites-available, vous devez l'activer à l'aide de la commande a2ensite, puis redémarrer Apache.
Bonjour, oui je sais bien mais à la base je ne voulais pas utiliser de vhost (du moins pas d'autre que celui par défaut). Cela fonctionnait très bien jusqu'à la dernière mise à jour en utilisant l'IP suivi du nom du site que je veux joindre (http://192.168.1.123/GLPI par exemple).
C'est un serveur interne et non joignable de l'extérieur donc pas besoin d'une sécurité spéciale dessus et je fais des tests de sites régulièrement et c'était donc très pratique de juste ajouter l'arborescence sur le serveur puis pour le joindre de juste ajouter le nom du dossier du nouveau site derrière le / (exemple ; http://192.168.1.123/nouveausite )
J'ai pallié à ça en créant un dossier tests avec le vhost correspondant puis dedans je mets les dossiers des sites que je veux tester, ce qui donne une url du type http://192.168.1.123/tests/nouveausite1.
Par-contre bizarrerie ; au début j'ai ajouté et activé les vhost de mes sites sans désactiver le vhost par défaut. Etrangement tout fonctionnait ; accès avec l'IP et accès via nom vhost. Le lendemain (sans aucune modification), un des sites (un vieux xoops) n'était plus accessible via le nom vhost (mais toujours via l'IP). N'ayant pas le temps de m'en occuper sur le coup, le lendemain je m’aperçois que le xoops répond sur les 2 (IP et vhost), mais glpi ne répond à son tour plus que via l'IP mais pas le vhost.
J'ai alors désactiver le vhost par défaut (celui qui comment par 000...) et là tous les sites répondent via le vhost (évidemment plus via l'IP). C'est dommage ça m'aurait arrangé que tout fonctionne en même temps (IP et vhost)...
Ce que je m'explique vraiment pas c'est pourquoi un seul site ne répond pas via le vhost avec celui par défaut activé et SURTOUT ; pourquoi ça change tout seul???
Glpi 10.0.7 - php 7.4 / apache2 / ubuntu 18.04.6 LTS
Offline
Depuis apache 2.(je sais plus combien) chaque site doit avoir son propre fichier de conf.
donc dans ton dossier /etc/apache2/sites-available, tu doit avec un fichier .conf par site web
donc un fichier .conf pour glpi (glpi.conf par exemple)
dans ce fichier de conf, tu y colle la conf apache de ton site.
ton fichier doit commencer par : <VirtualHost .....> et finir par </VirtualHost>
entre ces 2 balises, tu peut mettre ta conf habituelle
servername, serveralias
tes conf errorlog et customlog si tu veut une log particulière pour glpi (perso je recommande)
documentroot doit etre /var/www/html/glpi/public dans ton cas
ensuite, il te faut une section <Directory /var/www/html/glpi/public> .... </Directory>
etre ces 2 balises, la conf pour le site
le minimum pour que le site fonctionne
<Directory /var/www/glpi/public>
Options FollowSymlinks
AllowOverride All
RewriteEngine On
# Redirect all requests to GLPI router, unless file exists.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L]
</Directory>
une fois tout ca en place, comme l'indique cconnard, il faut activer le site avec apache
a2ensite glpi
ca va crée un liens de ton sites-available/glpi.conf vers sites-enables
ensuite, il faut relancer apache :
systemctl restart apache2
si c'est bon, tu pourra acceder a glpi et n'aura plus l'erreur de dossier non securisé.
si tu n'y accede pas, va voir les logs apache : /var/log/apache2
et regarde le error.log ce qu'il se passe quand tu accede a ton site
log correspondant a ce que tu aura configurer pour glpi si tu as mis une errorlog
le 000-default n'est pas a modifier ni a supprimer, de meme que le default-ssl
c'est la conf basique et globale d'apache, tu peut y mettre certaines conf, mais mieux vaut gerer les conf par site et non en global.
voici ma conf en exemple si ca peut aider. (serveur sous Ubuntu 22.04, apache2.4, php 8.1.2, mariadb)
chez moi la racine de mes sites est dans /var/www, mon serveur est uniquement interne aussi, mais enregistrement fait dans notre DNS interne pour utiliser une URL plutot qu'une IP/site
et j'utilise du Kerberos GSSAPI pour faire du SSO sur glpi (authentification via user windows courant)
sur ma conf j'ai un aliasMatch necessaire pour que mes agents puissent remonter leur inventaire en tapant directement le plugins, sans passer par le dossier public
+ une conf supplementaire sur ce meme directory. (plugins/glpiinventory)
<VirtualHost *:80>
ServerName glpi.mydomain.net
ServerAdmin informatique@mydomain.net
DocumentRoot /var/www/glpi/public
ErrorLog ${APACHE_LOG_DIR}/glpi/error.log
CustomLog ${APACHE_LOG_DIR}/glpi/access.log combined
AliasMatch "^/(plugins/glpiinventory/(index\.php)?)$" "/var/www/glpi/$1"
<Directory /var/www/glpi/plugins/glpiinventory>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
<Directory /var/www/glpi/public>
Options FollowSymlinks
AllowOverride All
RewriteEngine On
# Redirect all requests to GLPI router, unless file exists.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L]
AuthType GSSAPI
AuthName "glpi.mydomain.net"
GssapiCredStore keytab:/etc/user_sso.krb.keytab
GssapiUseSessions On
GssapiLocalName On
Require valid-user
</Directory>
</VirtualHost>
apres pour les conf de Vhost, tu as pas mal de doc sur le site d'apache, ou meme en cherchant sur pleins d'autre sites et forum.
Offline
Bonsoir, oui c'est ce que j'ai fini par faire à cause de la mise à jour 10.0.7 mais comme indiqué j'ai du désactiver le vhost 000-default parce que si je le laisse activé ça continue de fonctionner avec l'url en IP (ça c'est cool), SAUF UN SITE qui en plus change d'un jour sur l'autre (ça c'est beaucoup moins cool) ; un jour c'était un vieux xoops, un autre un mantis et un autre glpi...
Donc je l'ai désactivé et depuis je fonctionne avec l'url glpi.xxxx
Autre problème que cette modification pose c'est que je suis obligé de me palucher les 100 postes clients pour modifier l'agent GLPI Agent! Ben oui ils pointaient tous sur l'url en IP qui du coup ne répond plus.
Vraiment pas une réussite cette mise à jour (du moins ce point imposé faute de message d'avertissement permanent dans la console!), visiblement pour un grand nombre d'utilisateurs...
Bon c'est fait c'est fait, mais c'était vraiment pas nécessaire de l'imposer vu que beaucoup comme moi ont leur serveur uniquement accessible en interne et du coup n'ont que faire de ce surplus de sécurité...
Glpi 10.0.7 - php 7.4 / apache2 / ubuntu 18.04.6 LTS
Offline
Bonjour,
je rencontre le même problème. J'ai bien suivi vos recommandations, mais malgré cela je n'arrive pas à accéder à mon serveur via mon navigateur. Le message m'indique : "Not Found the requested URL was not found on this server". Lorsque je défini uniquement l'adresse IP pour mon serveur, il me demande mes identifiants, mais malgré cela, j'obtiens toujours le message d'erreur ci-dessus. Le serveur est en interne uniquement, pas d'accès via internet.
Pour information, j'ai défini ma configuration comme ceci :
1. J'ai créé un répertoire toto.monsite.xx dans /var/www/ (toto.monsite.xx est un exemple pour remplacer ma bonne adresse) dans lequel j'ai décompressé tous les fichiers de glpi (répertoires compris). Dans le répertoire /var/www/html/, je n'ai pas de dossier glpi. Juste un fichier index.html.
2. Dans /etc/apache2/sites-available, j'ai un fichier toto.monsite.xx.conf dans lequel, j'ai toute les informations pour le vhost. Je n'ai rien modifié aux fichiers 000-default.conf et default-ssl.conf.
3. Le contenu du fichier toto.monsite.xx.conf ressemble à ceci:
NameVirtualHost toto.monsite.xx:443
<VirtualHost *:80>
DocumentRoot /var/www/toto.monsite.xx/public
ServerName toto.monsite.xx
Redirect permanent / https://toto.monsite.xx/
ErrorLog ${APACHE_LOG_DIR}/glpi_error.log
CustomLog ${APACHE_LOG_DIR}/glpi_access.log combined
<Directory /var/www/toto.monsite.xx/public>
Require all granted
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L]
</Directory>
</VirtualHost>
<VirtualHost *:443>
ServerAdmin admin@localhost
DocumentRoot /var/www/toto.monsite.xx/public
ServerName toto.monsite.xx
SSLEngine On
SSLCertificateFile /etc/ssl/toto.monsite.xx/glpi.crt
SSLCertificateKeyFile /etc/ssl/toto.monsite.xx/glpi.key
<Directory /var/www/toto.monsite.xx/public>
Options FollowSymlinks
AllowOverride All
Require all granted
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L]
</Directory>
ErrorLog ${APACHE_LOG_DIR}/glpi_error.log
CustomLog ${APACHE_LOG_DIR}/glpi_access.log combined
</VirtualHost>
4. J'active la commande: sudo a2ensite, et je défini toto.monsite.xx
5. Je relance apache2 via: sudo systemctl restart apache2.
Malgré tout cela, ça fonctionne pas.
Si vous avez une idée du problème, je vous remercie.
Last edited by pierreL (2023-05-25 10:33:03)
Offline
@Rosco91, c'est que t'a merder quelque part avec un vhost ou une conf, car j'ai egalement plusieurs sites sur le meme serveur, et tout fonctionne tres bien sans intervenir sur le 000 ou le ssl.
@pierreL : pas certains de l'utilité du NameVirtualHost avec apache 2.4
comme tu fait une redirection, pas besoin de definir un directory
essaie avec cette conf
<VirtualHost *:80>
ServerName toto.monsite.xx
Redirect permanent / https://toto.monsite.xx/
</VirtualHost>
<VirtualHost *:443>
ServerAdmin admin@localhost
ServerName toto.monsite.xx
ErrorLog ${APACHE_LOG_DIR}/glpi_error.log
CustomLog ${APACHE_LOG_DIR}/glpi_access.log combined
DocumentRoot /var/www/toto.monsite.xx/public
SSLEngine On
SSLCertificateFile /etc/ssl/toto.monsite.xx/glpi.crt
SSLCertificateKeyFile /etc/ssl/toto.monsite.xx/glpi.key
<Directory /var/www/toto.monsite.xx/public>
Options FollowSymlinks
AllowOverride All
Require all granted
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L]
</Directory>
</VirtualHost>
essaie peut etre dans un premier sans ssl voir si ca marche, et implémente le dans un 2nd temps.
Offline
@Chico008: Merci pour ton aide.
Toujours message d'erreur dans le navigateur malgré ta config. :-(
Remarque: Lorsque je supprime la référence /public, ainsi que les éléments suivants de mon fichier de configuration, c'est ok, mais j'ai le message d'avertissement qui s'affiche dans glpi :
Require all granted
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L]
Je ne comprends pas d'où vient le problème puisque ces éléments sont correctes.
Last edited by pierreL (2023-05-25 13:10:36)
Offline
Bonjour,
j'y arrive pas. J'ai tout tenté, mais cela passe pas. A chaque fois que je définis /public dans les lignes adéquates, et les lignes Rewritexxx, j'ai une erreur 404 not found dans le navigateur. Si je n'effectue pas la modification, c'est ok. Je comprends pas car je suis correctement vos directives.
Merci.
Last edited by pierreL (2023-05-26 12:14:11)
Offline
quand tu te prend l'erreur 404, il faut aussi aller voir tes log coté serveur apache voir ce qu'il se passe, ca te donnera une indication du pourquoi.
Offline
J'ai trouvé une solution. D'abord, j'ai changé l'emplacement des éléments de Glpi (répertoires et fichiers) de /var/www/toto.monsite.xx/ en /var/www/toto.monsite.xx/glpi/
Ensuite, j'ai configuré le fichier toto.monsite.xx.conf dans /etc/apache2/sites-available/ comme je l'ai fait auparavant, puis, j'ai créé un fichier toto.monsite.xx.conf dans le répertoire /etc/apache2/conf-available/ dans lequel j'ai la configuration suivante:
<Directory "/var/www/toto.monsite.xx/glpi/public/">
AllowOverride All
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L]
Options -Indexes
Options -Includes -ExecCGI
Require all granted
<IfModule mod_php7.c>
php_value max_execution_time 600
php_value always_populate_raw_post_data -1
</IfModule>
<IfModule mod_php8.c>
php_value max_execution_time 600
php_value always_populate_raw_post_data -1
</IfModule>
</Directory>
Enfin, j'active le module de réécriture Apache
sudo a2enmod rewrite
J'active ma configuration créée
sudo a2enconf toto.monsite.xx.conf
Pour terminer, je redémarre Apache
sudo systemctl restart apache2
Voilà.
Last edited by pierreL (2023-05-26 17:07:32)
Offline