GLPI Kurulumu: Ubuntu'da Apache, MariaDB ve PHP
GLPI kurulumu adım adım: Ubuntu'da Apache, MariaDB ve PHP kurulumu, veritabanı ve kullanıcı oluşturma, VirtualHost ayarı ve GLPI kurulum sihirbazı.
- Ön Koşul: Hazır Bir Ubuntu Server
- LAMP Stack Kurulumu ve GLPI İndirme
- SSH ile Sunucuya Bağlanma
- Apache, MariaDB ve PHP Kurulumu
- MariaDB Güvenlik Yapılandırması
- GLPI Veritabanı ve Kullanıcı Oluşturma
- GLPI Dosyalarını İndirme ve İzin Ayarları
- GLPI Web Arayüzü Kurulumu ve Yapılandırması
- Apache VirtualHost Yapılandırması
- GLPI Kurulum Sihirbazı
- İlk Giriş ve Güvenlik Protokolü
- GLPI Kurulumu Hakkında Sık Sorulan Sorular
GLPI kurulumu, ağınızdaki tüm donanım ve yazılımları merkezi olarak yönetmenizi sağlayan açık kaynaklı bir IT envanter ve destek talebi platformunu hayata geçirmenin ilk adımıdır. Kurumsal ölçekte kullanılabilmesine rağmen tamamen ücretsizdir; bu da onu benzer çözümler arasında öne çıkaran en önemli özelliğidir. Web tabanlı çalıştığından kurulum için bir sunucu, işletim sistemi ve birkaç temel servis yeterlidir.
Bu kurulumu 1.500 cihazlık gerçek bir ortamda nasıl uyguladığımızı GLPI envanter sistemi vaka çalışmasında anlatıyoruz.
Ön Koşul: Hazır Bir Ubuntu Server
GLPI bir web uygulamasıdır ve çalışması için üzerine kurulacağı bir Linux sunucuya ihtiyaç duyar. Bu rehber, Ubuntu Server 24.04 LTS kurulmuş, ağa bağlı ve SSH ile erişilebilen bir sunucuyu varsayarak devam eder.
Sunucu henüz yoksa, işletim sistemi kurulumunu ayrı bir rehberde ele alıyoruz: kurulum medyasının başlatılmasından klavye ve dil seçimine, statik IP tanımlamadan LVM’li disk düzenine ve OpenSSH’in etkinleştirilmesine kadar bütün adımlar ekran görüntüleriyle Ubuntu Server kurulumu rehberinde anlatılıyor.
GLPI tarafında yalnız iki koşulun altını çiziyoruz. Birincisi statik IP: sunucunun adresi değişirse arayüze erişim de, cihazlara dağıttığınız ajanların rapor gönderdiği adres de kırılır. İkincisi boyutlandırma; ve burası GLPI’ye özgü olduğu için tabloyu bu makalede tutuyoruz:
| Kaynak | Minimum (Test/Küçük Ölçek) | Önerilen (Kurumsal/Orta Ölçek) |
|---|---|---|
| CPU | 2 Core (vCPU) | 4 Core veya üzeri |
| RAM | 2 GB | 4 GB - 8 GB |
| Disk | 20 GB | 50 GB - 100 GB (SSD/NVMe) |
| Cihaz Sayısı | 1 - 100 Cihaz | 500 - 2000+ Cihaz |
Envanterdeki cihaz sayısı arttıkça yük veritabanına biner; darboğaz genellikle CPU değil, disk hızı ve RAM olur. Sanal makine tercih edilmesinin sebebi de budur: kaynak sonradan büyütülebilir.
LAMP Stack Kurulumu ve GLPI İndirme
SSH ile Sunucuya Bağlanma
Komut:
sudo apt update && sudo apt upgrade -yApache, MariaDB ve PHP Kurulumu
İşletim sistemimizi güncelledikten sonra, GLPI’nın kararlı ve performanslı çalışması için gerekli olan tüm bağımlılıkları tek bir komutla sisteme dahil ediyoruz. Bu adımda; web sunucusu (Apache), veritabanı sunucusu (MariaDB) ve GLPI’nın PHP tabanlı yapısının ihtiyaç duyduğu tüm kütüphaneleri (LDAP entegrasyonundan grafik işlemeye kadar) kuracağız.
Aşağıdaki komutu kopyalayıp terminalinize yapıştırarak kurulumu başlatabilirsiniz:
sudo apt install apache2 mariadb-server php php-curl php-gd php-imagick php-intl php-apcu php-memcache php-imap php-mysql php-cas php-ldap php-tidy php-pear php-xmlrpc php-pspell php-mbstring php-json php-iconv php-xml php-zip php-bz2 -yBu Komut Neleri Kapsıyor?
- apache2: Uygulamayı web üzerinden yayınlamamızı sağlar.
- mariadb-server: GLPI verilerinizin, varlıklarınızın ve biletlerinizin (tickets) saklanacağı güçlü veritabanı motoru.
- php-ldap: Şirket içi Active Directory veya LDAP entegrasyonu için kritiktir. GLPI sunucusunun kendisi Ubuntu üzerinde çalıştığı için domain’e katılmaz; ancak envantere alacağınız Windows makinelerinin ve GPO ile dağıtacağınız GLPI Agent’ın çalışabilmesi için o makinelerin domain üyesi olması gerekir.
- php-imap: E-posta yoluyla bilet oluşturma (Mail-to-Ticket) özelliği için gereklidir.
- php-gd & php-imagick: Görsel işleme ve raporlardaki grafikler için kullanılır.
- php-mbstring & php-intl: Çoklu dil desteği ve karakter setlerinin düzgün görüntülenmesini sağlar.
- php-apcu & php-memcache: Sistemin daha hızlı çalışması için önbellekleme (caching) mekanizmalarını yönetir.
MariaDB Güvenlik Yapılandırması
Komut:
mysql_secure_installation
Hangi Soruya Ne Cevap Vermeliyiz? (Güvenlik Protokolü)
Veritabanınızı kurarken karşınıza çıkan bu soruları şu mantıkla cevaplamak, Serçe Bilişim’in güvenlik standartlarındandır:
- Switch to unix_socket authentication? [n]: Genellikle
n(Hayır) diyoruz çünkü root kullanıcısı için klasik bir şifreleme mekanizması kullanmak, yönetimsel araçlarla (örneğin phpMyAdmin veya yedekleme betikleri) uyumluluk açısından daha pratiktir. - Change the root password? [y]: Kesinlikle
y(Evet). Yeni kurulumda boş gelen root şifresine karmaşık ve güçlü bir şifre atamalısınız. - Remove anonymous users? [y]:
y. Hiçbir kullanıcı şifresiz veya “isimsiz” olarak veritabanına sızamamalıdır. - Disallow root login remotely? [y]:
y. Veritabanı yönetimi sadece sunucunun içinden (localhost) yapılmalıdır. Dışarıdan bir saldırganın root hesabını denemesini engellemek için bu şarttır. - Remove test database and access to it? [y]:
y. Varsayılan olarak gelen “test” veritabanı, güvenlik açığı yaratabilecek gereksiz bir kapıdır. - Reload privilege tables now? [y]:
y. Yaptığımız tüm bu ayarların veritabanı servisi tarafından anında tanınması için tabloları yeniden yüklüyoruz.
GLPI Veritabanı ve Kullanıcı Oluşturma
Komutlar:
Aşağıdaki glpidb kısmına kendiniz belirlediğiniz bir isim de yazabilirsiniz.
CREATE DATABASE glpidb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;GLPI’nın bu veritabanına erişebilmesi için özel bir kullanıcı oluşturalım ve şifre atayalım:
CREATE USER 'glpiuser'@'localhost' IDENTIFIED BY 'Buraya Bir Şifre Yazın';Oluşturduğumuz kullanıcıya glpi veritabanı üzerinde tam yetki verelim.
GRANT ALL PRIVILEGES ON glpidb.* TO 'glpiuser'@'localhost';Değişiklikleri kaydedelim ve yetki tablolarını güncelleyelim.
FLUSH PRIVILEGES;MariaDB konsolundan çıkış yapmak için:
EXIT;GLPI Dosyalarını İndirme ve İzin Ayarları
Geçici çalışma dizinine geçiş yapalım:
cd /tmpGLPI’nın bugünün tarihiyle en güncel ve güvenli sürümünü indirelim:
wget https://github.com/glpi-project/glpi/releases/download/10.0.24/glpi-10.0.24.tgzSıkıştırılmış paketi arşivden çıkaralım:
tar -xvzf glpi-10.0.24.tgz
GLPI dosyalarını /var/www/html/ dizinine taşıdıktan sonra, web sunucusunun (Apache) bu dosyalara erişebilmesi ve işlem yapabilmesi için sahiplik ve izin ayarlarını yapılandırıyoruz. www-data kullanıcısına verdiğimiz bu yetki, kurulum sihirbazındaki “Yazma Yetkisi Kontrolü” adımından başarıyla geçmemizi sağlar.
Komutlar:
sudo mv glpi /var/www/html/sudo chown -R www-data:www-data /var/www/html/glpisudo chmod -R 755 /var/www/html/glpiGLPI Web Arayüzü Kurulumu ve Yapılandırması
Apache VirtualHost Yapılandırması
Sunucunuzun IP adresini tarayıcıya yazdığınızda doğrudan GLPI ekranının gelmesini istiyorsanız, Apache’ye bu yolculuğun rotasını çizmelisiniz. Bunun için bir “Virtual Host” (Sanal Konak) dosyası oluşturacağız.
1. Yapılandırma Dosyasını Açın
Öncelikle, yeni bir ayar dosyası oluşturmak için aşağıdaki komutu terminale yazın:
sudo nano /etc/apache2/sites-available/glpi.conf2. Yapılandırma İçeriğini Yapıştırın
Açılan boş ekrana aşağıdaki satırları olduğu gibi kopyalayıp yapıştırın (PuTTY kullanıyorsanız sağ tık yapmanız yeterlidir):
<VirtualHost *:80>
DocumentRoot /var/www/html/glpi/public
<Directory /var/www/html/glpi/public>
Require all granted
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L]
</Directory>
</VirtualHost>Kaydetmek için: CTRL + O ardından Enter. Çıkmak için: CTRL + X.
3. Yeni Ayarları Aktif Edin
Dosyayı kaydettikten sonra, Apache’nin varsayılan sayfasını kapatıp hazırladığımız GLPI sayfasını yayına almamız ve servisi tazelememiz gerekiyor:
sudo a2dissite 000-default.conf && sudo a2ensite glpi.conf && sudo a2enmod rewrite && sudo systemctl restart apache2GLPI Kurulum Sihirbazı
Bu ekran bir sistem yöneticisi için “Doğrulama Noktasıdır”. Neden mi?
- Bağlantı Doğrulaması: Eğer bu ekranı görüyorsanız, Apache web sunucunuz düzgün çalışıyor demektir.
- Yönlendirme Doğrulaması: Adres çubuğunda
/glpiyazmasına gerek kalmadan bu sayfa açılıyorsa, Virtual Host konfigürasyonunuz (DocumentRoot) başarıyla mühürlenmiş demektir. - PHP Doğrulaması: Bu sayfa statik bir HTML değil, dinamik bir PHP sayfasıdır. Eğer PHP paketlerinizde bir sorun olsaydı, karşınıza bu şık arayüz yerine anlamsız kod satırları veya boş bir sayfa çıkardı.
“Create a new database” vs “Select an existing database”
Bu ekranda GLPI bize iki yol sunar:
- Yeni bir veritabanı oluştur: Eğer terminalde veritabanı oluşturmadıysanız, GLPI’ya bir isim verirsiniz ve o sizin yerinize
CREATE DATABASEkomutunu koşturur. Ancak bunun için veritabanı kullanıcısının üst düzey yetkiye sahip olması gerekir. - Mevcut olanı seç (Bizim yaptığımız): Bir sistem mühendisi olarak biz, “temiz iş” prensibiyle veritabanını ve kullanıcısını terminalde kısıtlı yetkilerle önceden hazırladık. Bu yöntem çok daha güvenlidir çünkü uygulamaya veritabanı silme/oluşturma gibi gereğinden fazla yetki vermemiş oluruz.
Serçe Bilişim Mantığı: Her zaman veritabanını dışarıda (terminalde) hazırlayıp burada sadece seçmeyi tercih ediyoruz. Bu, veritabanı motorunun kontrolünün tamamen bizde kalmasını sağlar.
“Send Usage Statistics” Neden Var ve Ne İşe Yarar?
Açık kaynaklı projeler, hangi özelliklerin daha çok kullanıldığını veya hangi hataların sık yaşandığını bilirse daha hızlı gelişir.
- Kullanım İstatistikleri (Telemetri): Hangi PHP sürümünü kullandığın, kaç varlık yönettiğin gibi anonim verileri GLPI ekibine gönderir. Kişisel verilerinizi veya bilet içeriklerinizi içermez.
- Neden Önemli?: Bu veriler sayesinde geliştiriciler, “Artık kimse PHP 7.4 kullanmıyor, hadi PHP 8.3 optimizasyonuna odaklanalım” gibi kararlar alabilirler.
Serçe Bilişim Tavsiyesi: Eğer sistemin internete kapalı, çok gizli bir kurum içi (Internal) ağda değilse, bu seçenekleri açık bırakmak “açık kaynak ekosistemine” borcumuzu ödemenin en kolay yoludur. Ancak “Continue” butonuna bastığında her şeyin bittiğini sanma; sistem sana bir sonraki adımda varsayılan giriş bilgilerini (admin/admin vb.) verip seni son kez uyaracak!
Kritik İlk Adım: Varsayılan Hesaplar ve Güvenlik Mantığı
GLPI kurulumu bittiğinde, sistemi farklı yetki seviyelerinde test edebilmeniz için dört ana hesap tanımlanmış olarak gelir. Bu hesaplar, bir sistem yöneticisinin ilk konfigürasyonları yapabilmesi için sunulan “geçici anahtarlar” gibidir:
- glpi / glpi: Sistemin en yetkili hesabı (Super-Admin). Her şeye müdahale edebilir.
- tech / tech: Teknik ekip hesabı (Technician). Varlıkları yönetir ve biletlere müdahale eder.
- normal / normal: Gözlemci hesabı (Normal). Bilgileri görebilir ancak sistem ayarlarını değiştiremez.
- post-only / postonly: Son kullanıcı hesabı (Self-service). Sadece kendi arıza kayıtlarını (ticket) oluşturabilir.
Neden Şifreleri Hemen Değiştirmeliyiz? Bu şifreler dünya çapında bilinen standartlardır. Eğer bu hesapları varsayılan halleriyle bırakırsanız, sunucunuzun kapısını sadece kilitlemiş ama anahtarı üzerinde bırakmış olursunuz.
Serçe Bilişim Tavsiyesi: İçeri girdiğiniz anda sistem sizi kırmızı bir uyarı bandıyla karşılayacaktır. Bu uyarıyı dikkate alarak hem bu şifreleri güncellemeli hem de sunucu terminaline dönüp /var/www/html/glpi/install/install.php dosyasını silmelisiniz. Bir sistem mühendisi için “bitti” demek, sadece sistemin çalışması değil, aynı zamanda güvenli olması demektir.
İlk Giriş ve Güvenlik Protokolü
Tebrikler! Panel karşımızda. Ancak Serçe Bilişim standartlarında bir kurulumu bitirmek için sistemin “güvenli” olduğundan emin olmalıyız. Dashboard’un üstündeki o turuncu uyarıyı yok etmek ve sistemi zırhlamak için şu iki adımı mutlaka yapmalıyız:
1. Varsayılan Şifreleri Değiştirin
GLPI kurulumla birlikte şu hesapları tanımlar. Bu hesaplara tek tek girip şifrelerini güncelleyin:
- glpi: Sistemin en yetkili hesabı (Super-admin).
- tech: Teknik ekip hesabı (Technician).
- normal: Gözlemci hesabı (Normal).
- post-only: Sadece bilet açabilen son kullanıcı hesabı (Self-service).
2. Kurulum Dosyasını Sunucudan Kaldırın
Dosyaları /tmp’den canlı dizine taşıdığımız için install.php hala orada duruyor. Güvenlik açığı oluşmaması için terminale dönüp şu komutla o “açık kapıyı” kapatalım:
sudo rm /var/www/html/glpi/install/install.phpSunucu ayakta, ama envanter hâlâ boş. Sıradaki adım cihazları sisteme tanıtmaktır: istemcilere agent kurulumu, GPO ve Ansible ile yüzlerce cihaza toplu dağıtım ve gelen verinin otomatik kurallarla doğru lokasyona atanması GLPI Agent kurulumu ve toplu envanter dağıtımı rehberinde ele alınıyor.
GLPI Kurulumu Hakkında Sık Sorulan Sorular
Yazan
İlker PehlivanBT Danışmanı | Ağ, Sistem ve Güvenlik Yönetimi
İlker Pehlivan, karmaşık BT altyapılarını ölçeklenebilir ve güvenli sistemlere dönüştüren bir ağ ve sistem mühendisidir. Şirketlere özel teknoloji rehberleri burada.
Benzer Makaleler
BT Danışmanlığı ile Dijital Dönüşüm
BT Danışmanlığı ile Dijital Dönüşüm sayesinde yangın söndürmeyi bırakın! Altyapı maliyetlerini düşürüp veriyi servete dönüştürecek stratejileri keşfedin.
BT Dış Kaynak Kullanımı (IT Outsourcing) Nedir?
BT dış kaynak kullanımı (IT outsourcing) nedir, iç ekip kurmakla dış kaynağa devretmek arasındaki maliyet ve risk dengesi nasıl kurulur? Karar rehberi.
GLPI Agent Nedir? Kurulum ve Toplu Envanter Dağıtımı
GLPI Agent nedir, nasıl kurulur? Windows, Linux ve macOS cihazlarını GPO ve Ansible ile toplu envantere alma, gelen veriyi yorumlama ve sorun giderme rehberi.
GLPI Helpdesk: Ticket Sistemi ve SLA Yönetimi
GLPI helpdesk kurulumu: ticket kategorileri, öncelik matrisi, SLA yanıt ve çözüm süreleri, eskalasyon kuralları ve yardım masası raporlaması.
GLPI Yönetimi: İlk Ayarlar ve Profil Oluşturma
GLPI kurulumu sonrası yapılması gereken ilk güvenlik adımları, kullanıcı ve profil yönetimi, SMTP e-posta yapılandırması ve Active Directory entegrasyonu.
GLPI Nedir? Açık Kaynaklı BT Envanter ve Helpdesk Platformu
GLPI nedir, hangi kurumlar kullanmalı ve ücretli alternatiflere göre farkı ne? Açık kaynaklı BT envanter ve helpdesk platformunu tüm yönleriyle ele alıyoruz.
KVKK Teknik Uyum: Kişisel Veri Güvenliği Tedbirleri
KVKK uyumu BT tarafında ne demek? Veri envanteri, yetki matrisi, loglama, saklama süresi, şifreleme ve kamera sistemleri için somut teknik tedbirler rehberi.
Single Point of Failure (SPoF) Nedir, Nasıl Bulunur?
Single Point of Failure (SPoF) nedir, kurumda nasıl birikir, nasıl bulunur? Teknik tek nokta arızası, insan bağımlılığı, bus factor ve üç soruluk test.
Shadow IT (Gölge BT) Nedir? Riskleri ve Tespiti
Shadow IT (Gölge BT) nedir, neden doğar, nasıl tespit edilir? Onaysız uygulamaların riskleri, gölge kavramlarının ayrımı ve envanterden başlayan keşif yöntemi.
İçindekiler
Ücretsiz Değerlendirme
GLPI'yi kurmayı deneyip Apache, PHP ve veritabanı katmanında takıldıysanız kurulumu biz yapalım.
Ana Hizmet
BT Danışmanlıkİlgili Makaleler
- BT Danışmanlığı ile Dijital Dönüşüm
- BT Dış Kaynak Kullanımı (IT Outsourcing) Nedir?
- GLPI Agent Nedir? Kurulum ve Toplu Envanter Dağıtımı
- GLPI Helpdesk: Ticket Sistemi ve SLA Yönetimi
- GLPI Yönetimi: İlk Ayarlar ve Profil Oluşturma
- GLPI Nedir? Açık Kaynaklı BT Envanter ve Helpdesk Platformu
- KVKK Teknik Uyum: Kişisel Veri Güvenliği Tedbirleri
- Single Point of Failure (SPoF) Nedir, Nasıl Bulunur?
- Shadow IT (Gölge BT) Nedir? Riskleri ve Tespiti