DirectAdmin Apache (Httpd) Çalışmama Sorunu Nasıl Çözülür?
Directadmin uzun yıllardır var olan ve daima geliştirilen bir hosting denetim panelidir. Cpanel’in lisans maliyetlerinin artmasından sonra Directadmin kullanım oranında da artış yaşandı. Her yazılımda olduğu üzere Directadmin paneldede kimi vakitler yazılımsal problemler yaşanabiliyor. Şayet son vakitlerde Directadmin panelde güncelleme yaptıysanız sitelerinizin ulaşılamaz olduğunu görebilirsiniz. Bu durumda endişelenmeyin süratli bir formda tahlil yollarını uygulamaya başlayın.
İlk olarak HTTP yani APACHE servisimizin neden çalışmadığını anlamamız gerekiyor.
SSH teması yaparak terminal üzerinden:
service httpd status -l
komutu ile sorunun ayrıntılı sebebini öğrenelim. Bu tip meselelerde status komutunun sonuna -l ekleyerek daha ayrıntılı bir bilgi edinebiliriz.
Bizim aldığımız kusur şu biçimdeydi:
Jul 17 12:13:07 server.domain.com systemd[1]: Starting The Apache HTTP Server… Jul 17 12:13:08 server.domain.com httpd[14155]: AH00526: Syntax error on line 29 of /usr/local/directadmin/data/users/admin/httpd.conf: Jul 17 12:13:08 server.domain.com httpd[14155]: Invalid command '|UNIT_PROXY|', perhaps misspelled or defined by a module not included in the server configuration Jul 17 12:13:08 server.domain.com systemd[1]: httpd.service: main process exited, code=exited, status=1/FAILURE Jul 17 12:13:08 server.domain.com systemd[1]: Failed to start The Apache HTTP Server. Jul 17 12:13:08 server.domain.com systemd[1]: Unit httpd.service entered failed state. Jul 17 12:13:08 server.domain.com systemd[1]: httpd.service failed.
Hata çıktımız ortasına bir belgenin içinde 29. satırda kusur olduğunu görüyoruz. Aslında bu bir yanılgı değil; yalnızca web servis yazılımının yazım kuralına ters bir durum olduğunu gösteriyor. Aşağıdaki evrakımız web servisimizin yapılandırma belgesi; yani sunucuda bulunan tüm alan isimlerinin virtual host yapılandırması burada bulunuyor. Bu da hatamızdaki yanlışın yalnızca 29. satırda olmadığını; yalnızca birinci yazım yanlışının 29. satırda başladığını gösteriyor. Demek ki öbür domainlerin virtual host yapılandırmalarında da bu sorun mevcut.
AH00526: Syntax error on line 29 of /usr/local/directadmin/data/users/admin/httpd.conf:
Yukarıdaki komutumuzda 29. satıra baktığımızda; kusur çıktımızda yer alan öteki kısım ile karşılaşıyoruz.
Jul 17 12:13:08 server.domain.com httpd[14155]: Invalid command ‘|UNIT_PROXY|’, perhaps misspelled or defined by a module not included in the server configuration
Gördüğünüz üzere APACHE yapılandırmamız içinde |UNIT_PROXY| isminde bir işlev mevcut ve bu web servis tarafından yanlış yazılmış ya da geçerli olmayan bir işlev olarak tanımlanıyor.
Bu sorunu çözmek için:
/usr/local/directadmin/data/users/admin/httpd.conf
Dosyamız içindeki tüm |UNIT_PROXY| işlevini silmemiz gerekiyor. Bu yaşamış olduğumuz sorunun süratli tahlili. Kalıcı tahlili için yazımızın devamında ayrıntıları vereceğim.
Aşağıdaki komut ile her kullanıcının (domainin/hostingin) http yapılandırmasında bulunan UNIT_PROXY işlevini siliyoruz ve çabucak akabinde apache (httpd) servisimizi yine başlatıyoruz.
sed -i '/|UNIT_PROXY|/d' /usr/local/directadmin/data/ users/*/httpd.conf
service httpd start
DirectAdmin HTTPD Sorunu Kalıcı Çözüm
sed -i '/|UNIT_PROXY|/d' /virtual_host2.conf sed -i '/|UNIT_PROXY|/d' virtual_host2_secure.conf sed -i '/|UNIT_PROXY|/d' virtual_host2_secure_sub.conf sed -i '/|UNIT_PROXY|/d' virtual_host2_sub.conf