GLPI 安装

本文为您呈现 GLPI 安装介绍。

GLPI 不花钱 (比如 “free speech” 非 “free beer”!) 资产以及技术支持管理从硬件组件和软件库存管理到用户帮助台管理,构建的用于管理所有资产管理问题的web浏览器都可以访问帮助台管理解决方案。

要求

GLPI 是一款Web应用程序它需要:

  • web服务器;

  • PHP;

  • 一个数据库.

Web 服务器

GLPI 要求Web服务器能支持 PHP, 例如:

Apache configuration

Here is a virtual host configuration example for Apache 2 web server.

警告

The following configuration is only suitable for GLPI version 10.0.7 or later.

<VirtualHost *:80>
    ServerName glpi.localhost

    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>

备注

If you cannot change the Apache configuration (e.g. you are using a shared hosting), you can use a .htaccess file.

# /var/www/glpi/.htaccess
RewriteBase /
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/public
RewriteRule ^(.*)$ public/index.php [QSA,L]

Nginx configuration

Here is a configuration example for Nginx web server using php-fpm.

警告

The following configuration is only suitable for GLPI version 10.0.7 or later.

server {
    listen 80;
    listen [::]:80;

    server_name glpi.localhost;

    root /var/www/glpi/public;

    location / {
        try_files $uri /index.php$is_args$args;
    }

    location ~ ^/index\.php$ {
        # the following line needs to be adapted, as it changes depending on OS distributions and PHP versions
        fastcgi_pass unix:/run/php/php-fpm.sock;

        fastcgi_split_path_info ^(.+\.php)(/.*)$;
        include fastcgi_params;

        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}

lighttpd configuration

Here is a virtual host configuration example for lighttpd web server.

警告

The following configuration is only suitable for GLPI version 10.0.7 or later.

$HTTP["host"] =~ "glpi.localhost" {
    server.document-root = "/var/www/glpi/public/"

    url.rewrite-if-not-file = ( "" => "/index.php${url.path}${qsa}" )
}

IIS configuration

Here is a web.config configuration file example for Microsoft IIS. The physical path of GLPI web site must point to the public directory of GLPI (e.g. D:\glpi\public), and the web.config file must be placed inside this directory.

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="Rewrite to GLPI" stopProcessing="true">
                    <match url="^(.*)$" />
                    <conditions>
                        <add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
                    </conditions>
                    <action type="Rewrite" url="index.php" appendQueryString="true" />
                </rule>
          </rules>
        </rewrite>
    </system.webServer>
</configuration>

警告

The URL Rewrite module is required.

PHP

PHP Compatibility Matrix

GLPI Version

Minimum PHP

Maximum PHP

10.0.X

7.4

8.3

备注

We recommend to use the newest supported PHP release for better performance.

必备扩展依赖

应用需要以下PHP扩展才能正常工作:

  • dom, fileinfo, filter, libxml, json, simplexml, xmlreader, xmlwriter: these PHP extensions are enable by default and are used for various operations;

  • curl: used for remote access to resources (inventory agent requests, marketplace, RSS feeds, …);

  • gd: used for images handling;

  • intl: used for internationalization;

  • mysqli: used for database connection;

  • session: used for sessions support;

  • zlib: used for handling of compressed communication with inventory agents, installation of gzip packages from marketplace and PDF generation.

可选的扩展

备注

即使这些扩展不是强制性的,我们建议您无论如何都要安装它们。

对于GLPI的一些额外特性,需要以下PHP扩展:

  • bz2, Phar, zip: enable support of most common packages formats in marketplace;

  • exif: enhance security on images validation;

  • ldap: enable usage of authentication through remote LDAP server;

  • openssl: enable email sending using SSL/TLS;

  • Zend OPcache: enhance PHP engine performances.

Security configuration for sessions

To enhance security, it is recommended to configure PHP sessions with the following settings:

  • session.cookie_secure: should be set to on when GLPI can be accessed on only HTTPS protocol;

  • session.cookie_httponly: should be set to on to prevent client-side scripts from accessing cookie values;

  • session.cookie_samesite: should be set, at least, to Lax, to prevent cookies from being sent cross-origin (across domains) POST requests.

备注

Refer to PHP documentation for more information about session configuration.

数据库

警告

Currently, only MySQL (5.7 minimum) and MariaDB (10.2 minimum) database servers are supported by GLPI.

为了工作,GLPI需要一个数据库服务器。

|CC-by-NC-ND|

安装 GLPI

请按以下步骤操作:

  1. Configure your webserver,

  2. 版本选择,

  3. 下载档案,

  4. 安装 :)

选择版本

备注

强烈建议您为生产用途选择最新的稳定版本。

GLPI遵循3位数的语义版本控制方案。第一个是主要版本,第二个是次要版本,第三个是修订版本。

主要版本可能具有重要的不兼容性和新功能;次要版本也可能带来新功能,但在主要版本内保持完美兼容。

修复版本只会修复报告的问题而不添加任何新内容。

下载

警告

在GitHub上,总有两个名为*Source code*的档案,不应该使用。不应该这样说啊,github上不使用的source code好像没这说法。

点击 下载 按钮 GLPI 官方网站 (或从Github获取 Github release) 选择 glpi-{version}.tgz 文档.

安装

GLPI安装由三个步骤组成:

  1. 解压缩您网站中的存档;

  2. 让你的web服务器写入``files``和``config``目录;

  3. :doc:启动安装向导<wizard>`(或使用:ref:`命令行安装脚本<cdline_install>)。

完成这三个步骤后,即可使用该应用程序。

If you need to set advanced configuration, like SSL connection parameters, please refer to advanced configuration.

文件和目录位置

和许多其他Web应用程序一样,只需将整个目录复制到任何Web服务器即可安装GLPI。但是,这可能不太安全

警告

直接从Web服务器访问的每个文件都必须被视为不安全!

GLPI将一些数据存储在``files``目录中,数据库账号密码等访问配置信息都存储在``config``目录中,等等。即使GLPI提供了一些方法来防止Web服务器直接访问文件,最佳做法是将数据存储在Web根目录之外。 这样,无法直接从Web服务器访问敏感文件。

您可以使用一些配置指令来实现该指令(在提供的下游包中使用的指令):

  • GLPI_CONFIG_DIR:设置配置目录的路径;

  • GLPI_VAR_DIR : 设置 files 目录路径;

  • GLPI_LOG_DIR : 设置日志文件路径.

备注

还有许多其他配置指令可供使用,我们讨论的那些指令主要考虑更安全的安装。

目录的选择完全取决于你;以下示例将遵循`FHS <http://www.pathname.com/fhs/>`_建议。

我们的GLPI实例将安装在``/var/www/glpi``中,Web服务器配置中的特定虚拟主机将反映此路径。

GLPI configuration will be stored in /etc/glpi, just copy the contents of the config directory to this place. GLPI requires read rights on this directory to work; and write rights during the installation process.

GLPI data will be stored in /var/lib/glpi, just copy the contents of the files directory to this place. GLPI requires read and write rights on this directory.

GLPI日志文件将存储在``/var/log/glpi``中,此处无需复制,只需创建目录即可。GLPI需要对此目录进行读写访问。

按照这些说明,我们将在GLPI目录中创建一个``inc/downstream.php``文件,其中包含以下内容:

<?php
define('GLPI_CONFIG_DIR', '/etc/glpi/');

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

警告

GLPI包肯定会提供一个``inc/downstream.php``文件。这个不能编辑!

GLPI looks for a local_define.php file in its own config directory. If you want to use one from new config directory, you have to load it.

然后,使用以下内容在`/etc/glpi/local_define.php``中创建一个文件:

<?php
define('GLPI_VAR_DIR', '/var/lib/glpi');
define('GLPI_LOG_DIR', '/var/log/glpi');

备注

在 9.2.2 版本加入.

对于9.2.2之前的GLPI,``GLPI_VAR_DIR``常量不存在,需要分别设置所有路径:

<?php
define('GLPI_VAR_DIR', '/var/lib/glpi');
define('GLPI_DOC_DIR',        GLPI_VAR_DIR);
define('GLPI_CRON_DIR',       GLPI_VAR_DIR . '/_cron');
define('GLPI_DUMP_DIR',       GLPI_VAR_DIR . '/_dumps');
define('GLPI_GRAPH_DIR',      GLPI_VAR_DIR . '/_graphs');
define('GLPI_LOCK_DIR',       GLPI_VAR_DIR . '/_lock');
define('GLPI_PICTURE_DIR',    GLPI_VAR_DIR . '/_pictures');
define('GLPI_PLUGIN_DOC_DIR', GLPI_VAR_DIR . '/_plugins');
define('GLPI_RSS_DIR',        GLPI_VAR_DIR . '/_rss');
define('GLPI_SESSION_DIR',    GLPI_VAR_DIR . '/_sessions');
define('GLPI_TMP_DIR',        GLPI_VAR_DIR . '/_tmp');
define('GLPI_UPLOAD_DIR',     GLPI_VAR_DIR . '/_uploads');
define('GLPI_CACHE_DIR',      GLPI_VAR_DIR . '/_cache');

define('GLPI_LOG_DIR', '/var/log/glpi');

Of course, it is always possible to redefine any of those paths if needed.

安装后

一旦安装了GLPI,你就快完成了。

An extra step would be to secure installation directory. As an example, you can consider adding the following to your Apache virtual host configuration (or in the glpi/install/.htaccess file):

<IfModule mod_authz_core.c>
    Require local
</IfModule>
<IfModule !mod_authz_core.c>
    order deny, allow
    deny from all
    allow from 127.0.0.1
    allow from ::1
</IfModule>
ErrorDocument 403 "<p><b>Restricted area.</b><br />Only local access allowed.<br />Check your configuration or contact your administrator.</p>"

在这个例子中,`install`目录访问将仅限于localhost,否则将显示错误消息。当然,您可能需要根据您的需要进行调整;

|CC-by-NC-ND|

安装向导

正式开始安装, 浏览器地址栏敲入 GLPI 地址: https://{adresse_glpi}/

如GLPI尚未安装过,则您下一步下一步即可安装好的。

选择语言 (请选择您的语言)

第一步将允许您选择安装语言。选择您的lang语言,并单击validate 生效。

Choose lang

授权

GLPI的使用需要GNU许可证的批准。一旦许可条款被阅读和接受,只需验证表单。

Licensing terms

如果您不同意许可条款,则不可能继续安装过程。

安装 / 升级

本页面将允许在新的GLPI安装和更新之间进行选择。

Install or update

点击安装.

环境检查

This step will check if prerequisites are met. If they’re not, it is not possible to continue and an explicit error message will tell you about what is wrong and what to do before trying again.

Check prerequisites

Some prerequisites are optionals, it will be possible to continue installation event if they’re not met.

连接数据库

询问数据库连接参数。

Database connection parameters
  • MySQL server: enter the path to your MySQL server, localhost or mysql.domaine.tld as example;

  • MySQL user: enter user name that is allowed to connect to the Database;

  • MySQL password: enter user’s password.

正确填写所有字段后,验证格式。

然后建立第一个数据库连接。如果参数无效,将显示错误消息,您必须修复参数并重试。

选择数据库

与数据库服务器连接正常后,您必须为GLPI创建或选择所需的数据库并进行初始化。

选择数据库

有两种方法:

  • 使用已有数据库

    在显示的列表中选择此数据库。验证使用。

    警告

    选定的数据库内容将在安装时销毁。

  • 新建数据库

    选择*创建新数据库*,在相关字段中输入数据库名称,然后验证以创建基础。

    警告

    SQL用户必须能够为此选项创建新数据库才能工作。

数据库初始化

此步骤使用默认值初始化数据库。

数据库初始化

如果有任何错误;注意显示的信息。

遥测信息

GLPI将要求您分享一些遥测信息并进行注册。这不是强制性的。

安装结束

安装结束

此步骤提供安装摘要并提供所创建的用户列表。请记下此重要信息其将在登陆时需要用到。

安装结束

备注

默认用户帐号是:

  • glpi/glpi 为admin 管理员账号,

  • tech/tech 技术员账号,

  • normal/normal “普通” 账号,

  • post-only/postonly 作业员账号.

警告

出于明显的安全问题,您必须删除或编辑这些帐户。

在删除``glpi``帐户之前,请确保您使用``super-admin``配置文件创建了另一个用户。

|CC-by-NC-ND|

Timezones

In order to get timezones working on a MariaDB/MySQL instance, you will have to initialize Timezones data and grant GLPI database user read ACL on their table.

警告

Enabling timezone support on your MySQL instance may affect other database in the same instance; be carefull!

警告

Currently, MySQL and MariaDB have a maximum date limited to 2038-01-19 on fields relying on timestamp type!

Non windows users

On most systems, you’ll have to initialize timezones data from your system’s timezones:

mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -p -u root mysql

You may want to check MariaDB documentation about mysql_tzinfo_to_sql and your system documentation to know where data are stored (if not in /usr/share/zoneinfo).

Do not forget to restart the database server once command is successfull.

Windows users

Windows does not provide timezones informations, you’ll have to download and intialize data yourself.

See MariaDB documentation about timezones.

Grant access

警告

Be carefull not to give your GLPI database user too large access. System tables should never grant access to app users.

In order to list possible timezones, your GLPI database user must have read access on mysql.time_zone_name table. Assuming your user is glpi@localhost, you should run something like:

GRANT SELECT ON `mysql`.`time_zone_name` TO 'glpi'@'localhost';
FLUSH PRIVILEGES;

Creative Commons License

更新

备注

每次更新,正式执行更新前,请务必注意备份备份备份!

  • 备份数据库备份数据库备份数据库;

  • backup your config directory, especially for your GLPI key file (config/glpi.key or config/glpicrypt.key) which is randomly generated;

  • backup your files directory, it contains users and plugins generated files, like uploaded documents;

  • backup your marketplace and plugins directory.

Here are the steps to update GLPI:

  • Download latest GLPI version.

  • Ensure the target directory is empty and extract files there.

  • Restore the previously backed up config, files, marketplace and plugins directory.

  • Then open the GLPI instance URI in your browser, or (recommended) use the php bin/console db:update command line tool.

警告

As soon as a new version of GLPI files is detected, you will not be able to use the application until the update process has been done.

警告

您不应该尝试在非空数据库上恢复数据库备份(例如,由于任何原因部分迁移的数据库)。

在恢复备份并尝试更新之前,请确保数据库为空,并在失败时重复此操作。

备注

Update process will automatically disable your plugins.

备注

Since GLPI 10.0.1, you can use the php bin/console db:check command line tool before executing the update command. This will allow you to check the integrity of your database, and to identify changes to your database that could compromise the update.

|CC-by-NC-ND|

命令行工具

在GLPI9.2.2版本之前,命令行工具属于非官方但受支持的脚本来提供其可在``scripts``目录中找到。因不属于官方,故不再发布归档。

Since GLPI 9.4.0, command line tools are being centralized in a console application (bin/console). Calling php bin/console from GLPI directory displays the list of available commands.

备注

假如您系统中已安装了APCu依赖,由于在命令行下默认配置其为禁用状态,因此它可能会在命令行模式下失效。如需要启用,请找到APCu的配置文件中的t apc.enable_cli 设为 on 启用。

警告

When using cli tools, please check the system user you are currently logged in with, and permissions on files and directories. With a wrong user, logs, cache and other files may be created with rights that would not allow your webserver to read or write on thos files!

Console options

For every console command, following options are available:

  • --config-dir=CONFIG-DIR path of configuration directory to use, relative to current working directory (required only if a custom path is used)

  • -h, --help displays command help

  • --lang=LANG output language code (default value is existing GLPI “language” configuration or “en_GB”)

  • -n, --no-interaction disable command interactive questions

  • --no-plugins disable GLPI plugins during command execution

  • -q, --quiet disable command output

  • -v|vv|vvv, --verbose=VERBOSE verbosity level: 1 for normal output, 2 for more verbose output and 3 for debug

Additional install and update tools

Check requirements

Before installing or upgrading, requirements are automatically checked; but you can run them separately and see state for all of them using the php bin/console glpi:system:check_requirements command.

Enable/Disable maintenance

GLPI provides a maintenance mode that can be activated prior to an update, and deactivated after all has been checked.

Just use the glpi:maintenance:enable and glpi:maintenance:disable commands.

安装

The php bin/console db:install has been made to install GLPI database in CLI mode.

本命令的可能选项是:

  • -r, --reconfigure to enable overriding of any existing DB configuration file

  • -f, --force to force execution of installation even if database is not empty

  • -L, --default-language=DEFAULT_LANGUAGE default language of GLPI (en_GB per default)

  • -H, --db-host=DB_HOST host name (localhost per default)

  • -P, --db-port=DB_PORT database port (default MySQL port if option is not defined)

  • -d, --db-name=DB_NAME database name

  • -u, --db-user=DB_USER database user name

  • -p, --db-password=DB_PASSWORD database user’s password (use it without value to be prompted for password)

If mandatory options are not specified in the command call, the console will ask for them.

Database connection parameters may be omitted if a configuration file already exists.

See also console options.

Database connection configuration

在 9.5.0 版本加入.

The php bin/console db:configure has been made to define database connection parameters in CLI mode.

本命令的可能选项是:

  • -r, --reconfigure to enable overriding of any existing DB configuration file

  • -H, --db-host=DB_HOST host name (localhost per default)

  • -P, --db-port=DB_PORT database port (default MySQL port if option is not defined)

  • -d, --db-name=DB_NAME database name

  • -u, --db-user=DB_USER database user name

  • -p, --db-password=DB_PASSWORD database user’s password (use it without value to be prompted for password)

If mandatory options are not specified in the command call, the console will ask for them.

See also console options.

更新

The php bin/console db:update has been made to update GLPI database in CLI mode from a previously installed version.

There is no required arguments, just run the command so it updates your database automatically.

警告

在进行任何更新尝试之前,别忘记备份数据库备份数据库备份数据库!

警告

Since GLPI 10.0.2, db:check_schema_integrity is executed before performing the update. If an error is detected, the command will ask you if you want to continue (unless --no-interaction is used). You can bypass this db:check_schema_integrity by using the option -s, --skip-db-checks.

本命令的可能选项是:

  • -u, --allow-unstable allow update to an unstable version (use it with cautions)

  • -f, --force force execution of update from v-1 version of GLPI even if schema did not changed

  • -s, --skip-db-checks do not check database schema integrity before performing the update

  • --enable-telemetry allow usage statistics sending to Telemetry service (https://telemetry.glpi-project.org)

  • --no-telemetry disallow usage statistics sending to Telemetry service (https://telemetry.glpi-project.org)

See also console options.

Security key

在 9.4.6 版本加入.

备注

GLPI key file is available for GLPI >= 9.4.6 but is not mandatory. As of GLPI 9.5, using the key file will be mandatory.

In order to store some sensitive data, GLPI relies on a homemade encryption/decryption tool, which uses a key to:

  • encrypt data before storing them in the database,

  • decrypt data that has been retrieved from the database.

The php bin/console glpi:security:change_key command allows to change the key, if it has been compromised for example. By default, command will:

  • generate a new key and and store it in the key file,

  • update all configured fields (for core and compatible plugins) to use the new key,

  • update all configuration entries listed (for core and compatible plugins) to use the new key.

Various tools

Database schema check

The php bin/console db:check_schema_integrity command can be used to check if your database schema differs from expected one.

本命令的可能选项是:

  • --strict: Strict comparison of definitions

  • --check-all-migrations: Check tokens related to all databases migrations.

  • --check-innodb-migration: Check tokens related to migration from “MyISAM” to “InnoDB”.

  • --check-timestamps-migration: Check tokens related to migration from “datetime” to “timestamp”.

  • --check-utf8mb4-migration: Check tokens related to migration from “utf8” to “utf8mb4”.

  • --check-dynamic-row-format-migration: Check tokens related to “DYNAMIC” row format migration.

  • --check-unsigned-keys-migration: Check tokens related to migration from signed to unsigned integers in primary/foreign keys.

  • -p, --plugin: Plugin to check. If option is not used, checks will be done on GLPI core database tables.

If you have any diff, output will looks like :

$ php bin/console glpi:database:check_schema_integrity
Table schema differs for table "glpi_rulecriterias".
--- Original
+++ New
@@ @@
 create table `glpi_rulecriterias` (
   `id` int(11) not null auto_increment
   `rules_id` int(11) not null default '0'
   `criteria` varchar(255) default null
   `condition` int(11) not null default '0'
-  `pattern` text default null
+  `pattern` text
   primary key (`id`)

Compared to the GLPI installation file:

  • a line that starts with - means that something is missing in your database

  • a line that starts with + means that there is something extra in your database

You can also have a message like Unknown table "glpi_tablename" has been found in database., this indicates that this table doesn’t exist in the installation file of the current GLPI schema:

  • either it’s a table that you have voluntarily created for your needs, you can ignore this message

  • either it’s an old GLPI table which is no longer useful, you can delete it (taking care to make a backup before)

LDAP synchonization

The bin/console glpi:ldap:synchronize_users command can be used to synchronize users against LDAP server informations.

本命令的可能选项是:

  • -c, --only-create-new only create new users

  • -u, --only-update-existing only update existing users

  • -s, --ldap-server-id[=LDAP-SERVER-ID] synchronize only users attached to this LDAP server (multiple values allowed)

  • -f, --ldap-filter[=LDAP-FILTER] filter to apply on LDAP search

  • --begin-date[=BEGIN-DATE] begin date to apply in “modifyTimestamp” filter

  • --end-date[=END-DATE] end date to apply in “modifyTimestamp” filter

  • -d, --deleted-user-strategy[=DELETED-USER-STRATEGY] force strategy used for deleted users:

    • 0: Preserve

    • 1: Put in trashbin

    • 2: Withdraw dynamic authorizations and groups

    • 3: Disable

    • 4: Disable + Withdraw dynamic authorizations and groups

See http://php.net/manual/en/datetime.formats.php for supported date formats in --begin-date and --end-date options.

See also console options.

Task unlock

The php bin/console task:unlock command can be used to unlock stucked cron tasks.

警告

Keep in mind that no task should be stucked except in case of a bug or a system failure (database failure during cron execution for example).

本命令的可能选项是:

  • -a, --all unlock all tasks

  • -c, --cycle[=CYCLE] execution time (in cycles) from which the task is considered as stuck (delay = task frequency * cycle)

  • -d, --delay[=DELAY] execution time (in seconds) from which the task is considered as stuck (default: 1800)

  • -t, --task[=TASK] itemtype::name of task to unlock (e.g: MailCollector::mailgate)

See also console options.

Plugins tools

在 9.5 版本加入.

Some command line tolls are also available to manage plugins from command line:

  • glpi:plugin:install

  • glpi:plugin:activate

  • glpi:plugin:deactivate

In order to install MyGreatPlugin; you should end with something like:

$ ./bin/console glpi:plugin:install MyGreatPlugin
$ ./bin/console glpi:plugin:activate MyGreatPlugin

Each of those plugin commands can take a plugin name as argument, or the --all flag to be ran on all plugins.

Migration tools

From MyISAM to InnoDB

在 9.3.0 版本加入.

Since version 9.3.0, GLPI uses the InnoDB engine instead of previously used MyISAM engine.

The php bin/console glpi:migration:myisam_to_innodb command can be used to migrate exiting tables to InnoDB engine.

Missing timestamps builder

在 9.1.0 版本加入.

Prior to GLPI 9.1.0, fields corresponding to creation and modification dates were not existing.

The php bin/console glpi:migration:build_missing_timestamps command can be used to rebuild missing values using available logs.

Use timestamp data type

在 9.5.0 版本加入.

Many date fields were using the DATETIME type, but this does not allow to rely on timezones. Timezone support requires all fields to use TIMESTAMP data type, but this query can be very long and therefore is not included in the standard update process.

Using the glpi:migration:timestamps command will change those fields to the correct data type, but read documentation on timezones before.

警告

Ensure to backup your database before!

Migrate Domains plugin

在 9.5.0 版本加入.

Domains in GLPI have evolved from a simple dropdown to a more complex object, including records management among others. Therefore, the Domains plugins feature are now included in core.

To migrate your plugin data; use the glpi:migration:domains_plugin_to_core command. Presence of the plugin is mandatory so checks can be run, you can use the --without-plugin switch but this is not recommended. If you were using an older version of the plugin than the one required, you can use the --update-plugin flag.

At the end, all domains types, domains and item relations will be migrated in core tables.

Migrate Racks plugin

在 9.5.0 版本加入.

Since GLPI 9.3.0, data center infrastructure management is available as a core feature. A migration script from Racks plugin was provided inside the scripts directory. Since GLPI 9.5.0, this migration script has been refactored and moved inside the CLI console.

To migrate your plugin data; use the glpi:migration:racks_plugin_to_core command. Presence of the plugin is mandatory so checks can be run, you can use the --without-plugin switch but this is not recommended. If you were using an older version of the plugin than the one required, you can use the --update-plugin flag.

|CC-by-NC-ND|

Advanced configuration

SSL connection to database

在 9.5.0 版本加入.

Once installation is done, you can update the config/config_db.php to define SSL connection parameters. Available parameters corresponds to parameters used by mysqli::ssl_set():

  • $dbssl defines if connection should use SSL (false per default)

  • $dbsslkey path name to the key file (null per default)

  • $dbsslcert path name to the certificate file (null per default)

  • $dbsslca path name to the certificate authority file (null per default)

  • $dbsslcapath pathname to a directory that contains trusted SSL CA certificates in PEM format (null per default)

  • $dbsslcacipher list of allowable ciphers to use for SSL encryption (null per default)

警告

For now it is not possible to define SSL connection parameters prior or during the installation process. It has to be done once installation has been done.

Creative Commons License

|CC-by-NC-ND|