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
Ö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
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
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
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:
Kod:
İ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
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
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
- 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
Kod:
nano /etc/yum.repos.d/elasticsearch.repo
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
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
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
Kod:
{
"name":"server",
"cluster_name":"elasticsearch",
"version":{
"number":"7.17"
}
}
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: localhostPort: 9200Username: boşPassword: boşUse HTTPS connection: kapalıIndex name: boş bırakılabilirTest 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/
XenForo klasörüne girilir:
Kod:
cd /var/www/vhosts/xenwp.com/httpdocs
Kod:
cmd.php
index.php
src
styles
js
data
internal_data
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
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
Kod:
/opt/plesk/php/8.3/bin/php cmd.php xf-rebuild:search
Kod:
Rebuilding search index...
100 / 5000
500 / 5000
1000 / 5000
- forumdaki tüm konular
- mesajlar
- kullanıcı içerikleri
İş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
Kod:
systemctl restart elasticsearch
Kurulumun Test Edilmesi
Kurulum tamamlandıktan sonra forum üzerinde arama yapılabilir.Örnek:
https://xenwp.com/searchArama 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
