GLPIは資産管理やチケット管理、運用管理など情報システムの管理に役立つWebアプリケーション(OSS)です。以前よりGitからインストールを実施して使っていたのですが最新版の10.台がrpmパッケージとしてリリースされたのでインストール方法をあらためて記事にしてみました。
ちなみに、ラックとかも管理できます(ネットワークエンジニア的にはちょっと熱いですw)
1.環境
OS:CentOS 7.9
Kernel: 3.10.0-1160.76.1.el7.x86_64
GLPI:10.0.2
PHP:7.4
2.OS最新化
いつも通りですが、OSを最新化します。
yum -y update
timedatectl set-timezone Asia/Tokyo
timedatectl # 確認
Local time: 月 2022-08-29 17:56:45 JST
Universal time: 月 2022-08-29 08:56:45 UTC
RTC time: 月 2022-08-29 08:56:45
Time zone: Asia/Tokyo (JST, +0900)
NTP enabled: yes
NTP synchronized: yes
RTC in local TZ: no
DST active: n/a
reboot #再起動
3.パッケージインストール
各種パッケージをインストールしましょう。
yum -y install epel-release vim wget
yum -y remove cronie-anacron
yum -y install cronie-noanacron
curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | bash
yum -y install MariaDB-server
4.MariaDB設定
MariaDBのサービスをスタートさせて最低限の設定を実施しておきます。
systemctl start mariadb
systemctl enable mariadb
mariadb-secure-installation #すべてYes
5.DB設定
GLPI用のデータベースを作成しましょう。(ユーザ・パスワードは適時変えてください)
mysql -u root -p
create user 'glpi'@'localhost' identified by 'glpi';
grant usage on *.* to 'glpi'@'localhost' identified by 'glpi';
create database if not exists `glpi`;
grant all privileges on `glpi`.* to 'glpi'@'localhost';
flush privileges;
exit
mysql -u glpi -p #ログイン確認
exit
6.PHPインストール
GLPIはPHPで書かれています。今回はPHP7.4を使います。各種パッケージをインストールします。
yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum -y install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
yum -y install yum-utils
yum-config-manager --enable remi-php74
yum-config-manager --enable remi
yum -y install httpd php php-opcache php-apcu
yum -y install php-pear-CAS php-mbstring php-gd php-mysqlnd php-intl php-ldap php-zip php-xmlrpc
systemctl enable --now httpd
7.firewalld 設定変更
ブラウザからアクセスできるようfirewalldの設定を変更しておきます。
vim /etc/firewalld/firewalld.conf
AllowZoneDrifting=yes
↓
AllowZoneDrifting=no
:wq
firewall-cmd --zone=public --add-service=http --permanent
firewall-cmd --zone=public --add-service=https --permanent
firewall-cmd --reload
iptables -L -n #結果を確認
8.SeLinux 設定
下記設定を実施しておきます。
setsebool -P httpd_can_network_connect on
setsebool -P httpd_can_network_connect_db on
setsebool -P httpd_can_sendmail on
9.GLPIリポジトリ追加
GLPIのrpmパッケージをインストールできるようリポジトリを登録します。以前記載した記事を参考に実施してください。
10.GLPI インストール
それでは、いざGLPIのインストールへ!!
yum -y install glpi
11.エラー回避のための処理
GLPIをインストールすると、cron.d配下にファイルが生成されます。このまま放置しておくと、rootユーザ宛てにメールが届きますので一旦無効に置きます。(この内容については後日別記事で取り上げます)
vim /etc/cron.d/glpi
* * * * * apache /usr/bin/php /usr/share/glpi/front/cron.php
↓
#* * * * * apache /usr/bin/php /usr/share/glpi/front/cron.php
:wq
12.Apache設定変更
Apacheに設定を追加して、ローカルセグメントからアクセスできるよう変更します。
vim /etc/httpd/conf.d/glpi.conf
26 <IfModule mod_authz_core.c>
27 # Apache 2.4
28 Require local
29 Require ip 10.2.0.0/24 # ← ローカルからアクセスできるよう追加
30 # Require ip ##.##.##.##
:wq
systemctl restart httpd
13.ブラウザ操作
ここからはブラウザによる操作にとなります。
http://xxx.xxx.xxx.xxx/glpi/install/install.php にアクセスします。日本語を選択しましょう。
続行をクリックしましょう。(licenseには何も表示されていませんが、気にせず)
互換性検査がすべてOKになっていれば、画面下にある続行をクリックしましょう。
ログイン後に、セキュリティ警告のバナーが表示されますので
指示に従って対応しましょう。
14.サーバタイムスタンプの変更
13番までの操作でGLPIは利用できるようになっていますが、このままだと何かしら操作した際の記録(ログ)が9時間ずれてしまうので以下の対応を実施しておきます。
mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root mysql
mysql -u root mysql
grant all privileges on `mysql`.time_zone to 'glpi'@'localhost';
grant all privileges on `mysql`.time_zone_name to 'glpi'@'localhost';
flush privileges;
show grants for 'glpi'@'localhost'; #権限確認
exit
vim /etc/my.cnf.d/server.cnf
[mysqld]
default-time-zone='Asia/Tokyo'
:wq
systemctl restart mariadb
vim /etc/php.ini
date.timezone = "Asia/Tokyo"
:wq
systemctl restart httpd
試しに何かしらオブジェクトを登録してみましょう。下記画面のように現在時刻になっていればOKです。
GLPIは本当に色々な事ができるツールです。デフォルトの機能だけでもかなり有益なものですが、プラグインも実装可能で利用者が比較的簡単に実装できます。
運用を請け負っている方、情シスの方向けのツールだと思いました。
次回は基本機能についてご紹介します。