Apache (httpd) Başlatılamama Sorunu ve Çözümü: mod_hostinglimits.so Hatası

Apache (httpd) Başlatılamama Sorunu ve Çözümü: mod_hostinglimits.so Hatası

Bir web sunucusunda Apache’yi (httpd) kullanırken karşılaşabileceğiniz hatalardan biri de “mod_hostinglimits.so dosyasının bulunamaması” ile ilgilidir. Bu hata, genellikle CloudLinux sistemlerinde, özellikle mod_hostinglimits modülü ile ilgili yapılandırma sorunlarından kaynaklanır. Bu makalede, Apache’nin başlatılamama sorununu ve mod_hostinglimits.so dosyasının eksikliğinden kaynaklanan hatayı nasıl çözdüğümüzü adım adım açıklayacağız.

Hata Mesajı:

Apache’yi başlatmaya çalıştığınızda şu hata mesajını alıyorsanız:

httpd: Syntax error on line 162 of /etc/httpd/conf/httpd.conf:
Syntax error on line 6 of /etc/httpd/conf/extra/httpd-includes.conf:
Syntax error on line 1 of /etc/httpd/conf/extra/modhostinglimits.conf:
Cannot load /usr/lib64/apache/mod_hostinglimits.so into server:
/usr/lib64/apache/mod_hostinglimits.so: cannot open shared object file:
No such file or directory

 

Bu hata, mod_hostinglimits.so dosyasının bulunamadığını ve Apache’nin başlatılamadığını gösterir. Şimdi bu sorunu nasıl çözeceğimizi adım adım anlatalım.


1. mod_hostinglimits Modülünü Yüklemek

mod_hostinglimits.so dosyası, CloudLinux sistemlerinde kullanılan bir modüldür ve genellikle LVE Manager ile birlikte gelir. Bu dosyanın eksik olması, CloudLinux modüllerinin tam olarak kurulu olmamasından kaynaklanıyor olabilir. Öncelikle, bu modülün doğru bir şekilde yüklendiğinden emin olmalısınız.

Komut:

LVE modüllerini yüklemek için şu komutu çalıştırın:

 
yum install lvemanager lve-utils lve-mod -y

Bu komut, CloudLinux LVE modüllerini yükler ve eksik olan mod_hostinglimits.so dosyasını sağlar. Eğer bu dosya sisteminizde zaten mevcutsa, komut güncellemeleri yapacaktır.


2. mod_hostinglimits Dosyasının Yolunu Kontrol Etmek

Eğer modül yüklüyse, mod_hostinglimits.so dosyasının doğru dizinde bulunduğundan emin olmanız gerekiyor. Bu dosya genellikle /usr/lib64/apache/ dizininde yer alır. Ancak bazı sistemlerde farklı dizinlerde olabilir.

Komut:

Dosyanın bulunduğu dizini bulmak için şu komutu kullanın:

 
find /usr/ -name mod_hostinglimits.so

Bu komut, sisteminizde mod_hostinglimits.so dosyasının nerede olduğunu gösterecektir. Eğer dosya doğru dizinde bulunmuyorsa, Apache yapılandırmasını buna göre düzenlemeniz gerekir.


3. Apache Yapılandırma Dosyasını Düzenlemek

Eğer mod_hostinglimits.so dosyası farklı bir dizinde yer alıyorsa, Apache yapılandırma dosyanızda bunu güncellemeniz gerekecek.

Adım:

Apache’nin yapılandırma dosyasını açın:

 
nano /etc/httpd/conf/extra/modhostinglimits.conf

Yukarıdaki dosyada LoadModule satırını şu şekilde güncelleyin:

 
LoadModule hostinglimits_module /usr/lib64/apache/mod_hostinglimits.so

Dosya yolunu doğru şekilde ayarladıktan sonra dosyayı kaydedip kapatın.


4. Apache Yapılandırmalarını Yeniden Yazma

Apache’nin yapılandırma dosyalarını yeniden oluşturmak ve düzeltmek için DirectAdmin CustomBuild aracını kullanabilirsiniz.

Komut:

Apache yapılandırmalarını yeniden oluşturmak için:

 
cd /usr/local/directadmin/custombuild ./build rewrite_confs

Bu komut, yapılandırma dosyalarını yeniden yazarak mod_hostinglimits.so‘nun doğru bir şekilde yüklenmesini sağlar.


5. Apache’yi Yeniden Başlatmak

Yapılandırma dosyalarını güncelledikten ve mod_hostinglimits.so dosyasının yolunu düzelttikten sonra, Apache’yi yeniden başlatmanız gerekir.

Komut:

Apache’yi yeniden başlatmak için:

 
systemctl restart httpd

Eğer her şey düzgün bir şekilde yapılandırılmışsa, Apache sorunsuz bir şekilde başlayacaktır.


6. Modülü Devre Dışı Bırakma (Geçici Çözüm)

Eğer mod_hostinglimits modülünü şu anda kullanmanız gerekmiyorsa ve Apache’yi acil olarak çalışır hale getirmeniz gerekiyorsa, bu modülü geçici olarak devre dışı bırakabilirsiniz.

Adım:

modhostinglimits.conf dosyasını düzenleyin:

 
nano /etc/httpd/conf/extra/modhostinglimits.conf

LoadModule hostinglimits_module satırını şu şekilde yorumlayın (başına # ekleyin):

 
# LoadModule hostinglimits_module /usr/lib64/apache/mod_hostinglimits.so

Dosyayı kaydedin ve Apache’yi yeniden başlatın.


Sonuç:

Bu adımlarla, mod_hostinglimits.so dosyasının eksikliğinden kaynaklanan hatayı çözmüş olacaksınız. Eğer sorun modülün eksikliğinden kaynaklanıyorsa, bu adımlar sorununuzu giderecektir. Geçici olarak modülü devre dışı bırakmanız da hızlı bir çözüm sağlayabilir.