Makale Rehberi
Birisi, web sitesine Wordfence'i kurduktan sonra, kök dizinde wordfence-waf.php dosyasını oluşturamadığına dair sürekli hatalar aldığını söyledi. Ondan bir ekran görüntüsü göndermesini istedim; hata mesajı sadece bir satırdan oluşuyordu ve dosya izinleriyle ilgili bir sorun olduğunu belirtiyordu.
Bir an düşündüm ve daha önce de benzer bir durumla karşılaştığımı fark ettim. Sorunu çözmek için çok uğraştım, neredeyse hosting sağlayıcısının bir şeyler çevirdiğini düşündüm. Sonunda izinler ve sahiplikle ilgili bir sorun olduğu ortaya çıktı, ancak hosting kontrol panelinin mantığı gerçekten kafa karıştırıcı olabiliyor.

Öncelikle wordfence-waf.php dosyasının ne olduğunu açıklayayım.
Aslında bu, Wordfence güvenlik duvarının koruma dosyasıdır ve web sitesinin kök dizininde, wp-config.php ile aynı seviyede yazılmalıdır.
Bu dosya olmadan güvenlik duvarı başlatılamaz; tıpkı bir kilit takmışsınız ama anahtarı takamıyorsunuz gibi.
Seçenek 1: Kontrol paneli (BT Panel/) üzerinden tek tıklamayla izin değişikliğiHestiaCP/cPanel)
BT Panel kullanıyorsanız, aslında en basit yöntem budur. Web sitenize gidin, ilgili siteyi bulun, Ayarlar'a tıklayın, ardından Dizin İzinleri'ne gidin. Web sitesi kök dizininin izinlerini 755 ve tüm dosyaların izinlerini 644 olarak değiştirin. Ardından çalışan kullanıcının "www" olup olmadığını kontrol edin; değilse, değiştirin. "İzinleri Onar" düğmesine tıklayın, işlemin bitmesini bekleyin, Wordfence'i yenileyin ve tekrar deneyin.
HestiaCP için, web sitesi düzenleme sayfasına gidin ve "Web kök dizinine yazma erişimine izin ver" seçeneğini etkinleştirin. Ardından, web sitesi dizininin sahibini ve izinlerini birleştirmek için birkaç SSH komutu çalıştırın.
chown -R admin:www-data /home/admin/web/你的域名/public_html
chmod -R 755 /home/admin/web/你的域名/public_html
find /home/admin/web/你的域名/public_html -type f -print0 | xargs -0 chmod 644cPanel daha sezgiseldir. Dosya yöneticisini açın, sağ üst köşede "Gizli dosyaları göster" seçeneğini etkinleştirin, dizine sağ tıklayın ve izinleri 755 olarak değiştirin, dosya izinlerini 644 olarak değiştirin; ayrıca gelişmiş seçeneklerde dosya sahibini düzeltme işlevi de bulunmaktadır.
Seçenek 2: SSH üzerinden izinleri manuel olarak değiştirme (genel)Linux)
Eğer kontrol paneli bunu yapamıyorsa, SSH'yi manuel olarak kullanın. Sunucuya bağlandıktan sonra, öncelikle sahipliği birleştirin. LNMP/LEMP ortamında, web çalışma zamanı grubu genellikle www-data veya www'dir.
chown -R 你的面板用户:www-data /网站根目录完全路径Ardından klasör izinlerini 755, dosya izinlerini ise 644 olarak ayarlayın.
find /网站根目录 -type d -print0 | xargs -0 chmod 755
find /网站根目录 -type f -print0 | xargs -0 chmod 644İşlem tamamlandıktan sonra, WP yönetim paneline geri dönün ve güvenlik duvarını yeniden etkinleştirin; bu, sorunu büyük olasılıkla çözecektir.
Seçenek 3: wordfence-waf.php dosyasını manuel olarak oluşturun (izinler kilitli olduğunda mükemmel bir çözüm)
SSH paneli üzerinden herhangi bir değişiklik yapamıyorsanız, manuel olarak yapın. Kök dizinde wordfence-waf.php adında bir dosya oluşturun ve içine aşağıdaki kodu yapıştırın.
<?php
if (!defined('WFWAF_VERSION')) {
define('WFWAF_VERSION', '7.11.0');
}
$wafConfig = array(
'wafAutoPrepend' => true,
'wafFile' => __FILE__,
'wpContentDir' => dirname(__FILE__) . '/wp-content',
'wpPluginsDir' => dirname(__FILE__) . '/wp-content/plugins',
'wafLogDir' => dirname(__FILE__) . '/wp-content/wflogs',
);
require_once $wafConfig['wpPluginsDir'] . '/wordfence/lib/waf/waf.php';7.11.0 sürümünü mevcut Wordfence sürümünüzle değiştirmeyi unutmayın. Dosya izinlerini 644 olarak ayarlayın ve sahibi web sitesiyle aynı olmalıdır. Ardından wp-config.php dosyasını düzenleyin ve dosyanın en üstüne aşağıdaki satırı ekleyin.
require_once 'wordfence-waf.php';Wordfence'i kaydedin ve yenileyin. Güvenlik duvarı bunu otomatik olarak tanıyacak ve artık hata bildirmeyecektir.
Seçenek 4: Yazma erişimini kısıtlayan kuralları kontrol edin.
Bazen sorun izinlerden değil, yapılandırma dosyasından kaynaklanır. .htaccess dosyanızı açın ve dosya yazma erişimini kısıtlayan veya PHP dosya oluşturulmasını engelleyen tüm kuralları silin. Nginx için, site yapılandırmanızda kök yolun salt okunur olması veya create_file'ın kapalı olması gibi kısıtlamaları kontrol edin ve kaldırın.
Bir diğer senaryo ise sanal sunucunun veya hafif bulut barındırma hizmetinin kendisinin kök dizinde PHP dosyalarının oluşturulmasını kısıtlamasıdır. Bu durumda, kısıtlamayı kaldırmak için barındırma sağlayıcınızla iletişime geçmeniz veya Wordfence'in koruma modunu değiştirmeniz gerekir. Wordfence menüsüne gidin, Tüm Seçenekler, WAF'ı seçin ve kök dosya oluşturulmasını atlamak için koruma motoru modunu Genişletilmiş Koruma olarak değiştirin.
Çözüm 5: Eklenti çakışmaları engellemeye neden oluyor.
Bazı önbellekleme veya güvenlik eklentileri bu işlemi engelleyebilir. WP Rocket, W3 Total Cache ve LiteSpeed Cache gibi önbellekleme eklentilerini ve Sucuri ve iThemes Security gibi güvenlik eklentilerini geçici olarak devre dışı bırakın. Ardından sunucu önbelleğini ve opcache'i temizleyin ve PHP hizmetini yeniden başlatın.
systemctl restart php8.3-fpmHızlı sorun giderme adımları (adımları sırayla takip etmeniz önerilir)
Sorun yaşamamak için şu sırayı izlemenizi öneririm: Öncelikle izinleri ve sahipliği birleştirin; bu, sorunu çözme olasılığı en yüksek olan yöntemdir. Bu işe yaramazsa, PHP-FPM'yi yeniden başlatın ve arka ucu yenileyin. Bu da işe yaramazsa, manuel olarak yeni bir dosya oluşturun ve wp-config dosyasını değiştirin. Ardından, Nginx veya Apache yapılandırmanızın kök dizinde yeni PHP dosyalarının oluşturulmasını engelleyip engellemediğini kontrol edin. Son olarak, güvenlik duvarı modlarını değiştirmeyi düşünün.
Size hatırlatmam gereken bir şey var: Dosya izinlerini asla 777 olarak ayarlamamalısınız. Klasör izinleri 755, dosya izinleri ise 644 olmalıdır; bu standarttır. İzinleri 777 olarak ayarlamak, web sitenizi doğrudan tehlikeye atacak ve son derece yüksek bir güvenlik riski oluşturacaktır. Eğer saldırıya uğrarsanız, pişman olmak için çok geç olacaktır.
Dürüst olmak gerekirse, bu çözümlerin sizin durumunuzda işe yarayıp yaramayacağından emin değilim, ancak karşılaştığım sorunları ve bulduğum yöntemleri paylaştım. Başka hata mesajları alırsanız, ekran görüntüsü alıp bana gönderin, ben de tekrar inceleyeyim.
Buraya kadar okuduğunuza göre, eğer faydalı bulduysanız lütfen beğenin ve paylaşın. Güncellemeleri ilk öğrenmek istiyorsanız beni takip edebilirsiniz!
Makalemi okuduğunuz için teşekkür ederim. Bir sonraki yazıda görüşmek üzere.
Umut Chen Weiliang Blogu ( https://www.chenweiliang.com/ Burada paylaşılan "WordPress Wordfence'in wordfence-waf.php dosyasını oluşturamaması sorununa yönelik eksiksiz çözüm" başlıklı eğitim size yardımcı olabilir.
Bu makalenin bağlantısını paylaşmaya hoş geldiniz:https://www.chenweiliang.com/cwl-34337.html
