GLPI Sürüm Yükseltme Rehberi

IT altyapılarında en yaygın kullanılan açık kaynaklı varlık (Asset) ve çağrı (Helpdesk) yönetim yazılımlarından biri olan GLPI, 10.0 ve üzeri majör sürümleriyle birlikte güvenlik mimarisinde, dizin yapısında ve veritabanı gereksinimlerinde önemli değişikliklere gitti.

Bu rehberde, Ubuntu/Debian Linux sunucular üzerinde çalışan GLPI mimarisini veri kaybı yaşamadan güvenli bir şekilde en güncel sürüme nasıl yükselteceğinizi ve karşılaşılabilecek olası hataların çözümlerini adım adım ele alıyoruz.

🛑 1. Ön Hazırlık ve Yedekleme (Çok Kritik!)

Yükseltme işlemine başlamadan önce mutlaka tam bir yedek almalısınız.

A. Veritabanı Yedeği

MySQL/MariaDB veritabanınızı mysqldump ile dışa aktarın:

Bash

sudo mysqldump -u root -p glpi > /var/backups/glpi_db_backup_$(date +%F).sql

B. Dosya ve Dizin Yedeği

Mevcut GLPI klasörünü ve özellikle eklentiler/yüklemeler dizinini arşivleyin:

Bash

sudo tar -czvf /var/backups/glpi_files_backup_$(date +%F).tar.gz /var/www/html/glpi

🛠️ 2. GLPI Dizin ve Yetki Yapılandırması

GLPI 10+ sürümleriyle birlikte web kök dizini (DocumentRoot) artık güvenlik gereği doğrudan public/ klasörünü hedeflemelidir.

A. Yeni Sürüm Dosyalarını İndirin ve Çıkarın

Bash

cd /tmp
wget https://github.com/glpi-project/glpi/releases/download/10.0.12/glpi-10.0.12.tgz
tar -xvf glpi-10.0.12.tgz

# Eski GLPI dizininizi yedekleyin, yeni dosyaları taşıyın
sudo mv /var/www/html/glpi /var/www/html/glpi_old
sudo mv glpi /var/www/html/glpi

B. Eski Yapılandırma ve Yüklemeleri Yeni Sürüme Aktarın

Eski kurulumunuzdaki konfigürasyon ve yüklenen dosyaları yeni GLPI dizinine kopyalayın:

READ  GLPI güncelleme: Application locales have to be compiled uyarısı

Bash

sudo cp -r /var/www/html/glpi_old/config/* /var/www/html/glpi/config/
sudo cp -r /var/www/html/glpi_old/files/* /var/www/html/glpi/files/
sudo cp -r /var/www/html/glpi_old/plugins/* /var/www/html/glpi/plugins/

C. Klasör İzinlerini Düzenleyin

Nginx/Apache sunucusunun dosyalara yazabilmesi için sahipliği www-data olarak güncelleyin:

Bash

sudo chown -R www-data:www-data /var/www/html/glpi
sudo chmod -R 775 /var/www/html/glpi/files
sudo chmod -R 775 /var/www/html/glpi/config

⚙️ 3. CLI Üzerinden Veritabanı Migration

Sürüm yükseltme işlemini web arayüzü yerine CLI (Terminal) üzerinden yapmak, büyük veritabanlarında zaman aşımı (timeout) riskini sıfıra indirir.

Terminalde şu komutu çalıştırarak migration işlemini başlatın:

Bash

cd /var/www/html/glpi
php bin/console db:update

Sistem mevcut veritabanınızı analiz edecek ve tabloları yeni sürüme uygun şekilde güncelleyecektir. İşlem bittiğinde Migration successful mesajını göreceksiniz.

🔍 4. Sürüm Yükseltme Sonrası Yaşanabilecek Olası Sorunlar ve Çözümleri

Majör sürüm geçişlerinden sonra en sık karşılaşılan sorunlar ve hızlı çözüm yöntemleri şunlardır:

❌ 1. “Beklenmeyen Bir Sorun Çıktı” veya CSRF Engeli (Action Not Allowed)

Neden Olur? GLPI 10+ güvenlik protokolü nedeniyle web adresi çakışmalarında veya oturum klasörü izinleri bozulduğunda erişimi engeller.

Çözüm:

  1. Global ve lokal PHP session klasör izinlerini tazeleyin:Bashsudo chown -R www-data:www-data /var/lib/php/sessions sudo chown -R www-data:www-data /var/www/html/glpi/files/_sessions
  2. Veritabanındaki base URL ayarını güncelleyin:SQLUSE glpi; UPDATE glpi_configs SET value = 'http://SUNUCU_IP_VEYA_DOMAIN/glpi/public/' WHERE name = 'url_base';

❌ 2. Active Directory / LDAP Kullanıcıları Giriş Yapamıyor

Neden Olur? Yükseltme sonrası PHP-LDAP modülünün pasife düşmesi veya LDAP Login Field parametresinin çakışması.

Çözüm:

  1. PHP LDAP eklentisini tekrar etkinleştirip web servisini restart edin:Bashsudo phpenmod ldap sudo systemctl restart apache2
  2. GLPI Arayüzünde: Kurulum > Kimlik Doğrulama > LDAP Dizinleri > [Sunucunuz] > Kullanıcılar sekmesine gidin.
  3. Giriş Alanı (Login Field) değerinin samaccountname olarak ayarlandığından emin olun. Kullanıcılar oturum açarken etki alanı eki (@domain.local) olmadan sadece kullanıcı adlarını yazmalıdır.
READ  GLPI güncelleme: Application locales have to be compiled uyarısı

❌ 3. Mükerrer (Duplicate) Kayıt Yüzünden Giriş Yapamama

Neden Olur? Eski sürümden çöp kutusunda (is_deleted = 1) kalan kullanıcılar ile aktif kullanıcıların çakışması.

Çözüm: Veritabanına girerek pasif/silinmiş mükerrer kaydı temizleyin:

SQL

SELECT id, name, is_deleted FROM glpi_users WHERE name = 'kullanici.adi';
DELETE FROM glpi_users WHERE id = SILINECEK_ID;

❌ 4. Varlıklarda (SIM Kart, Bilgisayar vb.) “Durum” Seçeneklerinin Boş Gelmesi

Neden Olur? GLPI 10 ile birlikte “Öğe Durumları” (Item Status) nesne bazlı yetkilendirilmeye başlandı.

Çözüm:

  1. Yapılandırma > Açılan Listeler > Ortak > Öğe Durumları menüsüne gidin.
  2. İlgili duruma (örn: Boşta, Pasif, Donduruldu) tıklayın.
  3. Varlık Türleri sekmesinden hangi donanımlarda (SIM Kartı, Bilgisayar vb.) kullanılacağını işaretleyip kaydedin.

GLPI sürüm yükseltme süreci doğru yedekleme ve dizin izinleri yapılandırmasıyla oldukça pürüzsüz tamamlanabilir. Yükseltme sonrasında public/ dizin yönlendirmelerine ve veritabanı url_base parametrelerine dikkat etmek, yaşanabilecek oturum hatalarının önüne geçecektir.

Kaynak: https://help.glpi-project.org/tutorials/procedures/updating-glpi

Yorum yapın

Paylaş