Merhaba Arkadaşlar;
öncelikle belirtmeliyim ki bu konuyu açmamdaki sebep aynı sorunlarla benimde karşılaşmış olmamdır.
yaptığım araştırmaları derleyip size sunuyorum, umarım faydalı olur.
Sunucularını suphp olarak derleyen arkadaşlar anlam veremedikleri bazı hatalarla karşılaşabilirler,
Bunların bazıları:
- sitelerin http 500 internal server error vermeleri
- dizin ve sahiplik izinlerinde sıkıntılar
- panel üzerinden otomatik güncelleme yapılan sistemlerde karşılaşılan hatalar (Buna en güzel örnek wordpress olucaktır.)
somut bi örnek vermek gerekirse
wordpress scriptini panelden güncellemeye çalışıldığında, dosya kopyalanamadı.: /public_html/wp-admin/css/theme-editor.dev.css hatası ya da Dizin oluşturulamadı. /public_html hatası almaları olacaktır.
suphp ile ilgili ufak bir açıklama yapmak gerekirse,
suphp belirlenen grup ve user yetkisi dışında dosyalara erişim iznini kapatan,
güvenilir ancak sistem kaynaklarını dso ya nazaran daha fazla tüketen
ve dosyalarda max 644 dizinlerde ise max 755 izni verilmesini isteyen bir apache handler dır.
sitelerde http 500 internal server hatasıyla karşılaştığımızda bunun en belirgin sebebi dosya ve klasör izinlerindeki sıkıntı olacaktır.
bu hataların hepsine genel bir çözüm getirmesi amacıyla sizler için bir suphpduzen adında bir bash scripti hazırladım.
malumunuz bunu kullanma yetkisi sunucu sahibi arkadaşlarındır.
daha fazla uzatmadan işlem aşamalarına geçelim.
kodlardan önce vermem gereken ufak bir bilgi daha var arkadaşlar,
benim denemelerimde aldığım sonuca göre suphp ile en uygun ftp server’ı proftp dir,
o yüzden sunucularını suphp ile derleyen arkadaşlara tavsiyem proftp olucaktır.
illa pureftp kullanıcam diyen arkadaşlar eğer aşağıdaki işlemler sonucunda sorunlarınız hala düzelmediyse (Özellikle wordpress’te) proftp yi seçip tekrar denemelerini öneriyorum.
ilk olarak sunucumuza ssh üzerinden root olarak giriş yapıyoruz.
Kod:
cd /root
Kod:
nano suphpduzen.sh
Kod:
#!/bin/bash
for user in `ls /var/cpanel/users`; do
chown -R ${user} /home/${user}/public_html/
chgrp -R ${user} /home/${user}/public_html/
chmod 750 /home/${user}/public_html
find /home/${user}/public_html -type f -print0 | xargs -0 chmod 644
find /home/${user}/public_html -type d -print0 | xargs -0 chmod 755
done
yukarıdaki kodları basitçe açıklamak gerekirse,
öncelikle kullanıcıya ait dosyaları düzenleme yetkisini o kullanıcıya atıyoruz,
aynı şekilde grup olarak yine kendi dosyalarını o kullanıcı grubuna tanımlıyoruz.
daha sonra public_html dizinleri altındaki dosya izinlerini 644 dizin izinlerini ise 755 olarak tanımlıyoruz.
böylelikle sistemimizdeki siteler suphp nin istediği yapıya geçmiş olucaktır.
şimdi devam edelim.
Kod:
chmod u+x /root/suphpduzen.sh
son olarak dosyamızı çalıştırmak kaldı sadece
Kod:
/root/suphpduzen.sh
bu dosyayı ara ara çalıştırıp gerekli düzenlemelerin yapılmasını sağlayabilirsiniz.
Bu Yazıyı Beğendinizmi?
Hiç yorum yok:
Yorum Gönder