Is this Nethserver module helpful to you?
Please consider donating to the author

Thank you kindly!

2019/03/04 11:32 · HF

Available for NS7

The purpose of this RPM is to create a rpm of the latest glpi version (>= 9.5.5) that is not available in EPEL. The last version of GLPI needs a version of php and mariadb not available in NS7 so we need to use nethserver-rh-mariadb105 and nethserver-rh-php73-fpm as dependencies.

GLPI is the Information Resource-Manager with an additional Administration- Interface. You can use it to build up a database with an inventory for your company (computer, software, printers…). It has enhanced functions to make the daily life for the administrators easier, like a job-tracking-system with mail-notification and methods to build a database with basic information about your network-topology.

The principal functionalities of the application are :

1) the precise inventory of all the technical resources. All their characteristics will be stored in a database.

2) management and the history of the maintenance actions and the bound procedures. This application is dynamic and is directly connected to the users who can post requests to the technicians. An interface thus authorizes the latter with if required preventing the service of maintenance and indexing a problem encountered with one of the technical resources to which they have access.

GLPI can be connected with a software agent like fusion inventory or ocs inventory

Stephane de Labrusse at

You cannot have on the same server nethserver-glpi and nethserver-glpi-latest, the glpi rpm will conflicts. The script of installation takes into account that you have data and mysql db to migrate to the most recent version of glpi. The plugin might need to be updated manually.

GLPI 10 has been released as a standalone rpm, it does conflict with nethserver-glpi (9.5.x) because the plugins list is not yet fully compatible. You must remove first nethserver-glpi-latest, then install nethserver-glpi-10-latest.

1-You need to install my repository, see how to do it

2- remove glpi if it is installed

rpm -e --nodeps glpi nethserver-glpi

To install glpi 10

rpm -e --nodeps nethserver-glpi-latest

3-You can install glpi

yum install nethserver-glpi-latest

To install glpi 10

yum install nethserver-glpi-10-latest

go to https://IP/glpi

once installed you have some default users

Default logins / passwords are:

  • glpi/glpi for the administrator account
  • tech/tech for the technician account
  • normal/normal for the normal account
  • post-only/postonly for the postonly account

Since the version 10.0.7 a router has been implemented and it displays a warning about not secured web apache server. To be compatible with prior version we need to let as is the former installation, if you want to remove the warning please configure a virtualhost (see below)

Web server root directory configuration is not safe as it permits access to non-public files. See installation documentation for more details.
config show glpi 
    Name=glpi    #Change the web alias eg https://IP/othername
    access=private     #restrict the web access to private or public
    status=enabled     #Enabled or disabled the glpi web access
    DomainName=        # Configure a virtualhost or let empty to use /glpi specific nethserver-glpi-10-latest


config setprop glpi access public

After a change you must use the event

signal-event nethserver-glpi-latest-update

The config file is in /etc/httpd/conf.d/glpi.conf

The logo image file for the initial login page is located at /usr/share/glpi/pics/login_glpi.png

to enable the Virtualhosts (specific nethserver-glpi-10-latest)

config setprop glpi DomainName
signal-event nethserver-glpi-10-latest-update

To go back to web folder /glpi

config setprop glpi DomainName ""
signal-event nethserver-glpi-10-latest-update

Once you have enabled the virtualhost you cannot use anymore the url https://IP/glpi like before you need to use the url instead. Obviously must be resolved by a dns locally on your network or globally to your dns registar if you want that your web browser reaches and connect to this virtualhost.

Relevant to the certificate that GLPI use with the virtualhost it is the same as the default of the NS7 server whatever it is selsigned or Let's Encrypt, for the former you can add the vhost name to the list of alt Domain of your certificate

Please read the user documentation and the system administrator guide, this software must be configured for your needs.


Glpi can authenticate users from the mysl database but also with an email server (with imap/pop) or with a LDAP server.

The following example allows to connect to the samba AD containers of the NethServer. You have a documentation from the project, but in French

You must adapt the filter following your needs, below some examples

Connexion filter (all users) : (&(objectClass=user)(objectCategory=person))
Connexion filter (all enabled users) :(&(objectClass=user)(objectCategory=person)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))

The synchronization between the LDAP and GLPI must be done with cron job and the glpi console

The path to the binary must be used

/opt/rh/rh-php73/root/bin/php /usr/share/glpi/bin/console ldap:sync or use source /opt/rh/rh-php73/enable at the top of your script and php /usr/share/glpi/bin/console ldap:sync

You can authenticate a user through an imap or pop credentials, this authentication method is simplest and you cannot do a mass importation of users. If the credentials are true for the mail server, then the user is allowed to use GLPI.

GLPI needs the latest mariadb available hence it use mariadb 10.5, to connect to the database you must use a linux socket or the port 8105 with the user glpi. It is a specific server instance, there is only the glpi database running on it, the backup of that database is integrated to pre-backup-data and post-restore-data

/opt/rh/rh-mariadb105/root/bin/mysql --socket=/run/rh-mariadb105-mariadb/glpi-mysql.sock 


/opt/rh/rh-mariadb105/root/bin/mysql -h127.0.0.1 -P8105 -uglpi -p$(cat /var/lib/nethserver/secrets/glpi)

Glpi comes now with a console that you use to debug and check the health of glpi : see the documentation

[root@ns7loc13 ~]# /opt/rh/rh-php73/root/bin/php /usr/share/glpi/bin/console 
GLPI CLI 9.5.5

  command [options] [arguments]

  -h, --help                     Display this help message
  -q, --quiet                    Do not output any message
  -V, --version                  Display this application version
      --ansi                     Force ANSI output
      --no-ansi                  Disable ANSI output
  -n, --no-interaction           Do not ask any interactive question
      --config-dir[=CONFIG-DIR]  Configuration directory to use
      --no-plugins               Disable GLPI plugins (unless commands forces plugins loading)
      --lang[=LANG]              Output language (default value is existing GLPI "language" configuration or "en_GB")
  -v|vv|vvv, --verbose           Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug

Available commands:
  help                                        Displays help for a command
  list                                        Lists commands
  glpi:build:compile_scss                     [build:compile_scss] Compile SCSS file.
  glpi:config:set                             [config:set] Set configuration value
  glpi:database:check                         [db:check] Check for schema differences between current database and installation file.
  glpi:database:configure                     [db:configure] Define database configuration
  glpi:database:install                       [db:install] Install database schema
  glpi:database:update                        [db:update] Update database schema to new version
  glpi:ldap:synchronize_users                 [ldap:sync] Synchronize users against LDAP server informations
  glpi:maintenance:disable                    [maintenance:disable] Disable maintenance mode
  glpi:maintenance:enable                     [maintenance:enable] Enable maintenance mode
  glpi:migration:appliances_plugin_to_core    Migrate Appliances plugin data into GLPI core tables
  glpi:migration:domains_plugin_to_core       Migrate Domains plugin data into GLPI core tables
  glpi:migration:myisam_to_innodb             Migrate MyISAM tables to InnoDB
  glpi:migration:racks_plugin_to_core         Migrate Racks plugin data into GLPI core tables
  glpi:migration:timestamps                   Convert "datetime" fields to "timestamp" to use timezones.
  glpi:plugin:activate                        [plugin:activate] Activate plugin(s)
  glpi:plugin:deactivate                      [plugin:deactivate] Deactivate plugin(s)
  glpi:plugin:install                         [plugin:install] Run plugin(s) installation script
  glpi:rules:process_software_category_rules  [rules:process_software_category_rules] Process software category rules
  glpi:rules:replay_dictionnary_rules         [rules:replay_dictionnary_rules] Replay dictionnary rules on existing items
  glpi:security:change_key                    Change password storage key and update values in database.
  glpi:system:check_requirements              [system:check_requirements] Check system requirements
  glpi:system:clear_cache                     [system:clear_cache] Clear GLPI cache.
  glpi:system:status                          [system:status] Check system status
  glpi:task:unlock                            [task:unlock] Unlock automatic tasks

Please raise Issues on github