You are not logged in.

Announcement

 Téléchargez la dernière version stable de GLPI      -     Et vous, que pouvez vous faire pour le projet GLPI ? :  Contribuer
 Download last stable version of GLPI                      -     What can you do for GLPI ? :  Contribute

#1 2024-05-27 15:52:52

Helunya
Member
Registered: 2024-05-27
Posts: 6

Installation GLPI sur redhat 9

Bonjour je souhaite installer GLPI sur Redhat 9,
pour ce faire j'ai suivis un guide cependant après l'installation je n'arrive pas à me connecter sur mon glpi il me mets Ce site est inaccessible pourtant je le ping bien j'ai redémarré mon service httpd et php mais rien n'y fait je ne comprend pas pourriez vous m'aider ?

Offline

#2 2024-05-27 15:56:27

Helunya
Member
Registered: 2024-05-27
Posts: 6

Re: Installation GLPI sur redhat 9

Je tiens à préciser que je ping bien le serveur glpi depuis mon poste

Offline

#3 2024-05-27 16:01:21

homebrewtainy
Member
Registered: 2020-04-04
Posts: 154

Re: Installation GLPI sur redhat 9

Bonjour Helunya,

Le serveur est-il sous RedHat EL-9 ou " dérivatives " :

- Alma Linux ?
- Rocky Linux ?
- Oracle Linux ?
- ou autre... ?

Je te poste ici, ce soir, le Walkthrough utilisé par les instances Alma Linux 9.4 que j'ai déployé et MAJ récemment.

Cordialement.


Creuser, creuser... creuser.
GLPI 10.0.18 [ Linux el 9.5 | Apache/2.4.xx | MariaDB 10.5.xx | PHP 8.3.x ] - Apache HTTPS r-proxy [ Linux el 9.5 | Apache/2.4.xx ]
GLPI Inventory 1.4.0 | Treeview (Arborescence) 1.10.2 |
-- Any conversation not written in French comes from an automatic translation. Thank you for your understanding. --

Offline

#4 2024-05-27 16:02:55

homebrewtainy
Member
Registered: 2020-04-04
Posts: 154

Re: Installation GLPI sur redhat 9

Sinon comme ça, au pif.... le firewall est ouvert pour le HTTP et ou HTTPS ?


Creuser, creuser... creuser.
GLPI 10.0.18 [ Linux el 9.5 | Apache/2.4.xx | MariaDB 10.5.xx | PHP 8.3.x ] - Apache HTTPS r-proxy [ Linux el 9.5 | Apache/2.4.xx ]
GLPI Inventory 1.4.0 | Treeview (Arborescence) 1.10.2 |
-- Any conversation not written in French comes from an automatic translation. Thank you for your understanding. --

Offline

#5 2024-05-27 16:03:05

Helunya
Member
Registered: 2024-05-27
Posts: 6

Re: Installation GLPI sur redhat 9

il est sur RedHat EL-9.4

Merci

Offline

#6 2024-05-27 16:45:07

Helunya
Member
Registered: 2024-05-27
Posts: 6

Re: Installation GLPI sur redhat 9

Punaise c'était bel et bien mon firewall,

Mais Maintenant il me met Accès refuser avec mon compte Admin alors que j'ai bien GRANT all privilege sur la DB
j'ai aussi sa en haut de ma page web : Error: An error has occurred, but the trace of this error could not recorded because of a problem accessing the log file.
je vois partout que c'est www-data qui doit avoir les droit d'écriture hors moi je n'ai pas cette utilisateur

Last edited by Helunya (2024-05-27 17:29:19)

Offline

#7 2024-05-27 17:55:46

homebrewtainy
Member
Registered: 2020-04-04
Posts: 154

Re: Installation GLPI sur redhat 9

Sous EL (7, 8, 9) le User-Own Apache, si c'est une stack LAMP, c'est " apache ".
Après si c'est NGINX en serveur web, le User-Own c'est " nginx "...

www-data, si je ne dis pas (trop) de bêtise, c'est sous les " Debian like ".


Creuser, creuser... creuser.
GLPI 10.0.18 [ Linux el 9.5 | Apache/2.4.xx | MariaDB 10.5.xx | PHP 8.3.x ] - Apache HTTPS r-proxy [ Linux el 9.5 | Apache/2.4.xx ]
GLPI Inventory 1.4.0 | Treeview (Arborescence) 1.10.2 |
-- Any conversation not written in French comes from an automatic translation. Thank you for your understanding. --

Offline

#8 2024-05-27 18:06:48

Helunya
Member
Registered: 2024-05-27
Posts: 6

Re: Installation GLPI sur redhat 9

J'ai bien mis apache donc c'est ok la dessus,

J'ai relancer une installation mais maintenant jai :
Accès en écriture refusé sur les fichiers de configuration
Un accès temporaire en écriture est nécessaire pour les fichiers suivants : `/etc/glpi//config_db.php`, `/etc/glpi//glpicrypt.key`.
L'accès en écriture sur ces fichiers pourra être supprimé une fois l'opération terminée.

mais impossible de trouver ces fameux fichiers même quand je les créés sa me met la même erreur

Last edited by Helunya (2024-05-27 18:56:31)

Offline

#9 2024-05-27 20:37:29

homebrewtainy
Member
Registered: 2020-04-04
Posts: 154

Re: Installation GLPI sur redhat 9

Voilà le WalkThrought.

-- Postulat :
--- Distribution de type AlmaLinux 9.4
--- Le user root est le user courant, à adapter selon
--- contraintes de sécurité et bonnes pratiques internes.

-- Les Bases du système :

dnf -y update && systemctl daemon-reload

-- Utile pour ne pas se prendre la tête sur le terminal :

dnf -y install bash-completion vim

-- Nécessaire, si jamais ce n'était déjà installé :

dnf -y install cronie logrotate crontabs 

-- Totalement optionnel, mais peut être pratique...

dnf -y install redis binutils kpatch kpatch-dnf dnf-automatic cockpit cockpit-{kdump,networkmanager,packagekit,pcp,selinux,sosreport,storaged}

systemctl enable --now pmlogger.service
systemctl enable --now cockpit.socket

vim /etc/cockpit/disallowed-users 
	==> activer le root en commentant la ligne le mentionnant

-- Activation des dépôts " RemiRepo ", un " must have ! "

dnf -y config-manager --set-enabled crb
dnf -y install epel-release
dnf -y update

dnf -y install https://rpms.remirepo.net/enterprise/remi-release-9.rpm
dnf -y config-manager --set-enabled remi
dnf -y update

-- Override du php de la distribution

dnf -y module reset php
dnf -y module install php:remi-8.3

-- Et installation de la stack LAMP...
    et de tout le contexte php requis

dnf -y install httpd mariadb-server php php-{cli,fpm,mbstring,gd,mysqli,intl,ldap,apcu,xmlrpc,zip,opcache,pear-CAS,sodium,imap,pecl-selinux}

-- BackUp de toutes les conf de base LAMP

cp --preserve=all --verbose /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.$(date +%Y%m%d-%H%M%S).original
cp --preserve=all --verbose /etc/httpd/conf.d/welcome.conf /etc/httpd/conf.d/welcome.conf.$(date +%Y%m%d-%H%M%S).original
cp --preserve=all --verbose /etc/httpd/conf.d/php.conf /etc/httpd/conf.d/php.conf.$(date +%Y%m%d-%H%M%S).original
cp --preserve=all --verbose /etc/php.ini /etc/php.ini.$(date +%Y%m%d-%H%M%S).original
cp --preserve=all --verbose /etc/my.cnf /etc/my.cnf.$(date +%Y%m%d-%H%M%S).original
cp --preserve=all --verbose /etc/my.cnf.d/mariadb-server.cnf /etc/my.cnf.d/mariadb-server.cnf.$(date +%Y%m%d-%H%M%S).original

-- Ouverture du Firewall sur HTTP et / ou HTTPS (selon besoin)

firewall-cmd --list-all && firewall-cmd --permanent --zone=public --add-service=http && firewall-cmd --reload && firewall-cmd --list-all

-- Modification des booléennes SELinux requises

setsebool -P httpd_can_network_connect on && setsebool -P httpd_can_network_connect_db on && setsebool -P httpd_can_sendmail on && getsebool -a | grep httpd

-- On active et lance en même temps les services (L)AMP et on s'arrure qu'ils ont bien démarré

systemctl enable --now httpd.service && systemctl enable --now mariadb.service && systemctl enable --now php-fpm.service
systemctl --no-pager -l status httpd.service mariadb.service php-fpm.service

-- On initialise le MdP du " root MariaDB "

mysqladmin --debug-info --verbose --user=root password <<LeMotDePasseSécuriséRootMariaDBQueLonVeut>>

-- Et on sécurise l'installation avec les critères de son choix
    personnellement :
        Socket Unix > Yes
        Remote login > No
        Remove example > Yes
        Reload Privileges > Yes

mysql_secure_installation

-- Une fois MariaDB aux petits oignons, on active le TimeZone à l'intérieur de celui-ci

mysql -v -v -v --show-warnings --execute="SELECT @@global.time_zone, @@session.time_zone;"
mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql --user=root mysql

cat > /etc/my.cnf.d/99_timezone_Europe_FR_Paris.cnf << ENDOFFILE
[mysqld]
default-time-zone = "Europe/Paris"
ENDOFFILE

chown -v root:root /etc/my.cnf.d/99_timezone_Europe_FR_Paris.cnf &&  chmod -v 0644 /etc/my.cnf.d/99_timezone_Europe_FR_Paris.cnf &&  chcon -v system_u:object_r:mysqld_etc_t:s0 /etc/my.cnf.d/99_timezone_Europe_FR_Paris.cnf

systemctl restart mariadb.service
mysql -v -v -v --show-warnings --execute="SELECT @@global.time_zone, @@session.time_zone;"

-- Optionnel, on affine aussi la TimeZone pour php
--- Attention à mettre des valeurs aux latitude et longitude...

cat > /etc/php.d/99_timezone_FR_le_nom_de_ma_commune.ini << ENDOFFILE
date.timezone = Europe/Paris

; Europe / FR / le_nom_de_ma_commune - code_postal (code_insee)

; http://php.net/date.default-latitude
date.default_latitude = ##.#########

; http://php.net/date.default-longitude
date.default_longitude = -#.#########
ENDOFFILE

chown -v root:root /etc/php.d/99_timezone_FR_le_nom_de_ma_commune.ini.ini
chmod -v 0644 /etc/php.d/99_timezone_FR_le_nom_de_ma_commune.ini.ini
chcon -v system_u:object_r:etc_t:s0 /etc/php.d/99_timezone_FR_le_nom_de_ma_commune.ini.ini
systemctl enable --now php-fpm.service && systemctl --no-pager -l status php-fpm.service

systemcbtl restart httpd.service php-fpm.service crond.service
systemctl --no-pager -l status httpd.service php-fpm.service crond.service

-- A partir de là, la stack LAMP de base est normalement prête...
    On peut faire un tour dessus histoire d'être rassuré : [ http(s)://xxx.xxx.xxx.xxx.xxx ]

-- On modifie le fichier php.ini

vim /etc/php.ini

    en y ajustant les variables : valeurs suivantes

        session.cookie_httponly = 1
        session.cookie_samesite = "Lax"

    Si le backend du glpi est HTTP

        session.cookie_secure = 0

    Si le backend du glpi est HTTPS

        session.cookie_secure = 1

   
-- On créé un user MariadDB pour le glpi

mysql -v -v -v --show-warnings --execute="CREATE USER IF NOT EXISTS 'glpi_db_user'@'localhost' IDENTIFIED BY 'glpi_db_user_pwd'; GRANT USAGE ON *.* TO 'glpi_db_user'@'localhost' IDENTIFIED BY 'glpi_db_user_pwd'; CREATE DATABASE IF NOT EXISTS \`glpi_db\` CHARACTER SET utf8 COLLATE utf8_general_ci; GRANT ALL PRIVILEGES ON \`glpi_db\`.* TO 'glpi_db_user'@'localhost'; GRANT SELECT ON mysql.time_zone_name TO 'glpi_db_user'@'localhost'; FLUSH PRIVILEGES;"

-- On stoppe les service (L)AMP

systemctl stop httpd.service php-fpm.service crond.service
systemctl --no-pager -l status httpd.service php-fpm.service crond.service

-- On décompresse le glpi dans le bon dossier et on fait un peu ménage...

tar -xzf glpi-10.0.15.tgz -C /var/www/
find /var/www/glpi/ -type f -name 'remove.txt' -print -delete

-- On créé un " downstream.php "

cat > /var/www/glpi/inc/downstream.php << ENDOFFILE
<?php
/**
 * TARBALL to FHS customized default configuration
 *
 * Modifying this file in-place is not recommended, because
 * changes will be overwritten during package upgrades.
 *
 * If you want to customize the behaviour, the best way is to
 * create and use the /etc/glpi/local_define.php file.
 *
**/

// Config
define('GLPI_CONFIG_DIR',     (getenv('GLPI_CONFIG_DIR') ?: '/etc/glpi'));

if (file_exists(GLPI_CONFIG_DIR . '/local_define.php')) {
   require_once GLPI_CONFIG_DIR . '/local_define.php';
}

// Runtime Data
defined('GLPI_VAR_DIR')        or define('GLPI_VAR_DIR',        '/var/lib/glpi');

// Log
defined('GLPI_LOG_DIR')        or define('GLPI_LOG_DIR',        '/var/log/glpi');

// System libraries
// define('GLPI_HTMLAWED',       '/usr/share/php/htmLawed/htmLawed.php');

// Fonts
// define('GLPI_FONT_FREESANS',  '/usr/share/fonts/gnu-free/FreeSans.ttf');

// Use system cron
define('GLPI_SYSTEM_CRON', true);

// Packaging
//define('GLPI_INSTALL_MODE', 'TARBALL to FHS');

ENDOFFILE

-- Et après on déroule, je peux donner des éclaircissements, si souhaité...

rm -fRv /var/www/glpi/files/

chown -Rv root:root /var/www/glpi/
chcon -Rv system_u:object_r:httpd_sys_content_t:s0 /var/www/glpi/
chown -v apache:apache /var/www/glpi/marketplace/
chcon -v system_u:object_r:httpd_sys_rw_content_t:s0 /var/www/glpi/marketplace/

mkdir -m 2770 --verbose --context=system_u:object_r:httpd_sys_rw_content_t:s0 /etc/glpi
chown -v root:apache /etc/glpi
chown -v root:apache /etc/glpi/.

cat > /etc/httpd/conf.d/glpi.conf << ENDOFFILE
<VirtualHost *:80>

    Alias /glpi /var/www/glpi/public
    # DocumentRoot /var/www/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. If you do this, the DocumentRoot directive MUST NOT target the GLPI directory itself.
    # Alias "/glpi" "/var/www/glpi/public"

    <Directory /var/www/glpi/public>
        Require all granted

        RewriteEngine On

        # Ensure authorization headers are passed to PHP.
        # Some Apache configurations may filter them and break usage of API, CalDAV, ...
        RewriteCond %{HTTP:Authorization} ^(.+)$
        RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

        # Redirect all requests to GLPI router, unless file exists.
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteRule ^(.*)$ index.php [QSA,L]
    </Directory>
</VirtualHost>

ENDOFFILE

chown -v root:root /etc/httpd/conf.d/glpi.conf
chcon -v system_u:object_r:httpd_config_t:s0 /etc/httpd/conf.d/glpi.conf

mkdir -m 0755 -p --context=system_u:object_r:httpd_var_lib_t:s0 /var/lib/glpi
chown root:apache /var/lib/glpi
mkdir -m 2770 -p --context=system_u:object_r:httpd_var_lib_t:s0 /var/lib/glpi/{_cache,_cron,_dumps,_graphs,_locales,_inventories,_lock,_pictures,_plugins,_rss,_sessions,_tmp,_uploads}
chmod -v 2770 /var/lib/glpi/
chown -R root:apache /var/lib/glpi
find /var/lib/glpi/ -type f -print -delete

mkdir -v -m 2770 --context=system_u:object_r:httpd_log_t:s0 /var/log/glpi
chown -vR root:apache /var/log/glpi
find /var/log/glpi/ -type f -print -delete

cat > /etc/cron.d/glpi << ENDOFFILE
# GLPI core
# Run cron to execute task even when no user connected
* * * * * apache /usr/bin/php /var/www/glpi/front/cron.php
ENDOFFILE

chmod -v 0644 /etc/cron.d/glpi
chown -v root:root /etc/cron.d/glpi
chcon -v system_u:object_r:system_cron_spool_t:s0 /etc/cron.d/glpi

cat > /etc/logrotate.d/glpi << ENDOFFILE
# Rotate GLPI logs daily, only if not empty
# Save 14 days old logs under compressed mode
/var/log/glpi/*.log {
su apache apache
daily
rotate 14
compress
notifempty
missingok
create 644 apache apache
}
ENDOFFILE

chmod -v 0644 /etc/logrotate.d/glpi
chown -v root:root /etc/logrotate.d/glpi
chcon -v system_u:object_r:etc_t:s0 /etc/logrotate.d/glpi

systemctl restart httpd.service php-fpm.service crond.service
systemctl --no-pager -l status httpd.service php-fpm.service crond.service

-- On peut insstaller le glpi directement depuis le terminale avec la console

php /var/www/glpi/bin/console -vvv glpi:database:install -H localhost -d glpi_db -u glpi_db_user -p glpi_db_user_pwd -L fr_FR --no-telemetry

-- Sinon on passe par l'interface web...

-- On peut à l'issue désactivier le fichier d'installation (personnellment je ne le supprime pas)

mv -v /var/www/glpi/install/install.php /var/www/glpi/install/install.php.$(date +%Y%m%d-%H%M%S).original && ls -laZ /var/www/glpi/install/install*

-- Voila, perso je viens de re-tester en live avant de poster ce walkthrought !

Last edited by homebrewtainy (2024-05-28 12:03:58)


Creuser, creuser... creuser.
GLPI 10.0.18 [ Linux el 9.5 | Apache/2.4.xx | MariaDB 10.5.xx | PHP 8.3.x ] - Apache HTTPS r-proxy [ Linux el 9.5 | Apache/2.4.xx ]
GLPI Inventory 1.4.0 | Treeview (Arborescence) 1.10.2 |
-- Any conversation not written in French comes from an automatic translation. Thank you for your understanding. --

Offline

#10 2024-06-05 15:22:17

Helunya
Member
Registered: 2024-05-27
Posts: 6

Re: Installation GLPI sur redhat 9

Merci beaucoup on est d'accord que pour acceder à mon GLPI je dois mettre http:/XXX.XXX.XXX.XXX/glpi ?
car jai cette erreur Erreur : Une erreur s'est produite, mais la trace de cette erreur n'a pas pu être enregistrée en raison d'un problème d'accès au fichier journal.

Offline

#11 2024-06-05 17:24:37

homebrewtainy
Member
Registered: 2020-04-04
Posts: 154

Re: Installation GLPI sur redhat 9

Bonjour Helunya,

Helunya wrote:

Merci beaucoup on est d'accord que pour acceder à mon GLPI je dois mettre http:/XXX.XXX.XXX.XXX/glpi ?

C'est bien cela, dans la configuration du vhost Apache proposé, c'est bien la bonne URL pour le GLPI.

Helunya wrote:

car jai cette erreur Erreur : Une erreur s'est produite, mais la trace de cette erreur n'a pas pu être enregistrée en raison d'un problème d'accès au fichier journal.

Arfff...
Toujours dans la conf Apache proposée, le vhost par défaut doit toujours être actif et emmener sur la mire Apache HTTPD.

Elle est accessible ?

Cordialement,


Creuser, creuser... creuser.
GLPI 10.0.18 [ Linux el 9.5 | Apache/2.4.xx | MariaDB 10.5.xx | PHP 8.3.x ] - Apache HTTPS r-proxy [ Linux el 9.5 | Apache/2.4.xx ]
GLPI Inventory 1.4.0 | Treeview (Arborescence) 1.10.2 |
-- Any conversation not written in French comes from an automatic translation. Thank you for your understanding. --

Offline

Board footer

Powered by FluxBB