Eğer OpenLiteSpeed Server kullanıyorsanız ve WordPress’de Wordfence güvenlik duvarının uyumluluğunu yükseltmek istiyorsanız muhetemele user.ini yazılamıyor hatası alacaksınız. İşlemi manuel olarak yapsanız bile Wordfence hata hata mesajı verebilir.

Sorun: user.ini yetkilendirmesi ve OLS user.ini işlemesi

İlk sorunumuz user.ini dosyasının yazma yetkisinin root kullanıcısında olması. Wordfence eklentisi www kullanıcı iznine sahip olduğu için user.ini dosyasını yazamaz. Diğer sorunumuz ise OpenLiteSpeed Server config ayarlarının default olarak user.ini’yi kale almadan sadece php.ini’ye göre işlem yapması. Yani biz user.ini yazma izinlerini düzeltsek yada manuel olarak kodu user.ini’ye eklesek bile OLS buradaki komutları dikkate almayacaktır.

Çözüm: user.ini’ye www kullanıcısnı atayın ve OLS’ye user.ini’yi dikkate almasını söyleyin

İlk yapmamız gereken OLS’ye user.ini’yi eklemek. Bunun için OLS config dosyasımızı açıyoruz ve “extprocessor lsphp” bölümüne “env LSPHP_ENABLE_USER_INI=on” komutunu ekliyoruz. Bu bölümde zaten default olarak eklemiş 2 env komutu göreceksiniz, bu komutların altına ekleyebilirsiniz. Eklemeden sonra config dosyasını kaydedip OLS’yi yeniden başlatmamız gerekiyor.

Sırada user.ini dosyasının yetkilendirmesini değiştirmek var. Bu dosya normal şartlar altında root yetkilendirmesindir. Wordfence’in bu dosyayı yazabilmesi için www kullanıcı yetkilendirmesi yapmanız gerekiyor. Bunun için aşağıdaki komutları kullanabilirsiniz.

cd ../../www/wwwroot/site_dizininiz   #sitenizin bulunduğu dizine gidin
sudo chattr -i .user.ini              #user.ini dosyasının izin kilidini açın
sudo chown www .user.ini              #www için user.ini'ye yetki verin

Artık user.ini dosyasınız Wordfence yada diğer WordPress eklentileri tarafından yazılabilir. Fakat bu aynı zamanda bir güvenlik açığı oluşturabilir. Bunun için www izni verdikten sonra Wordfence’de güvenlik duvarı yapılandırmasını tamamlayıp ardından aşağıdaki SSH shell komutlarıyla user.ini yetkilendirmesini www’dan alıp tekrar root’a vermemiz gerekiyor. Tekrar SSH üzerinden sitenizin anadizine gidiyoruz ve aşağıdaki komutları çalıştırıyoruz.

chattr -i .user.ini      #user.ini yetki kilidini aç
chown root .user.ini     #yetkiyi root kullanıcısına ver
chattr +i .user.ini      #güvenlik için tekrar yetkileri kilitle

Artık sorunumuz çözüldü. Wordfence kullanacağınız bütün siteleriniz için bu işlemi ayrı ayrı yapmanız gerekiyor. Yetkilendirmeyi sadece o sitenin klasörü içerisindeki user.ini için yapıyoruz.