Üst

Teknik Kullanım Xenforo Elasticsearch Kurulumu (Enhanced Search) – Plesk Ve Linux Sunucular İçin Detaylı Rehber

1773266228858.webp

Bu rehberde XenForo forumuna Elasticsearch tabanlı gelişmiş arama sistemi kurulumu baştan sona anlatılmaktadır. Rehber özellikle Plesk panel kullanan Linux sunucular (AlmaLinux, CentOS, RockyLinux) için hazırlanmıştır.

Bu makale şu konuları kapsar:
  • SSH ile sunucuya bağlanma
  • Elasticsearch kurulumu
  • XenForo Enhanced Search yapılandırması
  • Arama indeksinin oluşturulması
  • Sunucu performans optimizasyonu
Bu rehber sayesinde XenForo forumunuzun arama sistemi MySQL yerine Elasticsearch kullanarak çok daha hızlı ve güçlü hale gelir.

Örnek bilgiler:

Server IP: 111.111.111.111
SSH kullanıcı: root
Örnek domain: xenwp.com


XenForo Elasticsearch Kullanmanın Avantajları​

XenForo varsayılan olarak arama işlemlerini MySQL veritabanı üzerinden gerçekleştirir.

Küçük forumlarda bu sistem yeterlidir ancak forum büyüdükçe bazı sorunlar ortaya çıkar:
  • Arama işlemleri yavaşlar
  • MySQL CPU kullanımı artar
  • Büyük veri tabanlarında performans düşer
Bu nedenle XenForo, Elasticsearch tabanlı gelişmiş arama sistemini destekler.

Elasticsearch kullanıldığında:
  • Arama sonuçları çok daha hızlı gelir
  • Büyük forumlarda performans ciddi şekilde artar
  • Arama sonuçları daha doğru olur
  • MySQL üzerindeki yük büyük ölçüde azalır
Bu yüzden büyük XenForo forumlarının neredeyse tamamı Elasticsearch kullanmaktadır.


Sunucu Gereksinimleri​

Elasticsearch kurulumu için sunucuda aşağıdaki gereksinimler önerilir.

Minimum önerilen sunucu özellikleri:

RAM: 4 GB veya üzeri
CPU: 2 Core veya üzeri
Disk: SSD önerilir
Java: OpenJDK 17
Elasticsearch: 7.x

Elasticsearch RAM kullanan bir servis olduğu için düşük RAM'li sunucularda dikkatli yapılandırılmalıdır.


SSH Nedir ve Neden Kullanılır?​

SSH (Secure Shell), uzak sunuculara güvenli şekilde bağlanmayı sağlayan bir protokoldür.

SSH sayesinde:
  • sunucuya uzaktan bağlanabilirsiniz
  • yazılım kurabilirsiniz
  • sunucu yönetimi yapabilirsiniz
  • komut satırı üzerinden işlemler gerçekleştirebilirsiniz
Linux sunucu yönetiminin temel aracı SSH bağlantısıdır.


SSH ile Sunucuya Bağlanma​

Windows, Linux veya MacOS üzerinden SSH bağlantısı yapılabilir.

Windows kullanıcıları:

Başlat menüsüne CMD yazarak komut istemini açabilir.

SSH bağlantı komutu:


İlk bağlantıda şu uyarı çıkabilir:
The authenticity of host can't be established
Are you sure you want to continue connecting?

Cevap olarak:
Kod:
yes
yazılır.

Daha sonra sunucu şifresi sorulur:

password:
Şifre girildikten sonra başarılı bağlantı şu şekilde görünür:

[root@server ~]#
Bu noktadan sonra sunucu üzerinde komut çalıştırabilirsiniz.


Sunucu İşletim Sistemini Kontrol Etme​

Bağlantı sonrası sunucu işletim sistemini öğrenmek için şu komut kullanılabilir:

Kod:
cat /etc/os-release
Örnek çıktı:
NAME="AlmaLinux"
VERSION="8.10"
Bu bilgi, kurulacak yazılımların doğru paketlerini seçmek için önemlidir.


Sunucuyu Güncelleme​

Her kurulumdan önce sunucunun güncellenmesi önerilir.
Kod:
dnf update -y
Bu komut:
  • mevcut paketleri günceller
  • güvenlik açıklarını kapatır
  • sistem kararlılığını artırır

Java Kurulumu​

Elasticsearch Java ile çalışır. Bu nedenle Java kurulması gerekir.

Kurulum:
Kod:
dnf install java-17-openjdk java-17-openjdk-devel -y

Kurulum sonrası kontrol:
Kod:
java -version

Örnek çıktı:
openjdk version "17"
Java düzgün kurulmuşsa Elasticsearch sorunsuz çalışacaktır.


Elasticsearch Repository Eklemek​

Elasticsearch paketlerini yüklemek için önce repository eklenir.

GPG anahtarı ekleme:
Kod:
rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
Repository dosyası oluşturma:
Kod:
nano /etc/yum.repos.d/elasticsearch.repo
Dosya içeriği:

Kod:
[elasticsearch-7.x]
name=Elasticsearch repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md

Kayıt etme : CTRL + X, Y, ENTER

Bu işlem Elasticsearch paketlerinin sistem tarafından indirilebilmesini sağlar.


Elasticsearch Kurulumu​

Kurulum komutu:
Kod:
dnf install elasticsearch -y
Bu işlem Elasticsearch servisinin sunucuya kurulmasını sağlar.


Elasticsearch Servisini Başlatma​

Kurulumdan sonra servis başlatılmalıdır.
Kod:
systemctl daemon-reload
systemctl enable elasticsearch
systemctl start elasticsearch

Servis durumu kontrolü:
Kod:
systemctl status elasticsearch
Eğer servis active (running) görünüyorsa Elasticsearch başarıyla çalışıyor demektir.


Elasticsearch Çalışıyor mu Kontrol Etme​

Elasticsearch servisinin düzgün çalıştığını test etmek için şu komut kullanılabilir:
Kod:
curl http://localhost:9200
Başarılı bir çıktı şu şekilde görünür:
Kod:
{
"name":"server",
"cluster_name":"elasticsearch",
"version":{
"number":"7.17"
 }
}
Bu çıktı Elasticsearch servisinin çalıştığını gösterir.


XenForo Enhanced Search Ayarları​

XenForo admin paneline girin.

Ardından şu menüye gidin:

Admin Cp → Kurulumlar → Gelişmiş arama
Ayarlar şu şekilde yapılmalıdır:

Server: localhost
Port: 9200
Username: boş
Password: boş
Use HTTPS connection: kapalı
Index name: boş bırakılabilir

Test settings butonuna basarak bağlantının başarılı olup olmadığı kontrol edilir.

Bu işlem XenForo ile Elasticsearch arasında bağlantı kurulmasını sağlar.


XenForo Kurulu Dizini Bulma​

Plesk sunucularda web siteleri genelde şu dizinde bulunur:
/var/www/vhosts/
Sunucudaki domainleri görmek için:
Kod:
ls /var/www/vhosts/
Örnek: xenwp.com, example.com

XenForo klasörüne girilir:
Kod:
cd /var/www/vhosts/xenwp.com/httpdocs
XenForo klasörü şu dosyaları içerir:
Kod:
cmd.php
index.php
src
styles
js
data
internal_data
Bu dosyalar XenForo'nun doğru klasörde olduğunu gösterir.


Plesk PHP CLI Kullanımı​

Plesk sunucularda PHP genellikle şu dizinde bulunur:
/opt/plesk/php/
Örnek PHP versiyonları:
Kod:
/opt/plesk/php/8.2
/opt/plesk/php/8.3
CLI komutları çalıştırırken bu PHP yolları kullanılmalıdır.


XenForo Arama İndeksi Oluşturma​

Elasticsearch kurulduktan sonra XenForo içerisindeki mevcut içeriklerin Elasticsearch'e aktarılması gerekir.

Bu işlem arama indeksinin oluşturulması olarak adlandırılır.

Komut:
Kod:
/opt/plesk/php/8.2/bin/php cmd.php xf-rebuild:search
Alternatif:
Kod:
/opt/plesk/php/8.3/bin/php cmd.php xf-rebuild:search
Komut çalıştığında şu şekilde bir çıktı görünür:
Kod:
Rebuilding search index...
100 / 5000
500 / 5000
1000 / 5000
Bu işlem sırasında:
  • forumdaki tüm konular
  • mesajlar
  • kullanıcı içerikleri
Elasticsearch içerisine indekslenir.

İşlem tamamlandığında XenForo arama sistemi artık Elasticsearch üzerinden çalışır.


Elasticsearch RAM Optimizasyonu​

Elasticsearch varsayılan olarak yüksek RAM kullanabilir.

RAM ayarlarını düzenlemek için şu dosya açılır:
/etc/elasticsearch/jvm.options
Önerilen ayar:
Kod:
-Xms1500m
-Xmx1500m

Bu ayar:
  • Elasticsearch RAM kullanımını kontrol eder
  • sunucunun stabil çalışmasını sağlar
  • gereksiz RAM tüketimini önler
Ayar değiştirildikten sonra servis yeniden başlatılmalıdır.
Kod:
systemctl restart elasticsearch

Kurulumun Test Edilmesi​

Kurulum tamamlandıktan sonra forum üzerinde arama yapılabilir.

Örnek: https://xenwp.com/search

Arama sonuçları artık Elasticsearch üzerinden gelecektir.

Bu sayede:
  • arama sonuçları daha hızlı gelir
  • arama sonuçları daha doğru olur
  • forum performansı artar

Bu rehberde XenForo Enhanced Search (Elasticsearch) kurulumu detaylı şekilde anlatılmıştır.

Bu kurulum sayesinde XenForo forumunuz:
  • çok daha hızlı arama yapabilir
  • büyük veri tabanlarında stabil çalışır
  • MySQL yükünü azaltır
  • kullanıcı deneyimini önemli ölçüde iyileştirir
Büyük XenForo forumları için Elasticsearch kullanımı neredeyse zorunlu hale gelmiştir.
 
Elinize sağlık hocam yine şiir gibi döktürmüşsünüz. Çok güzel ve kapsamlı rehber olmuş teşekkürler
 

! Lütfen dikkat !

Forumumuzda kaliteli ve etkileşimli bir ortam sağlamak adına, lütfen konu dışı ve gereksiz cevaplar vermekten kaçının. Forum kurallarına aykırı davranışlar yasaktır. Hep birlikte daha verimli ve düzenli bir platform oluşturmak için kurallara uyalım.

Bu Konuyu Görüntüleyen Kullanıcılar (Toplam: 0, Üyeler: 0, Misafirler: 0)

Geri