ఆర్టికల్ డైరెక్టరీ
ఒకరు తన వెబ్సైట్లో వర్డ్ఫెన్స్ ఇన్స్టాల్ చేసిన తర్వాత, రూట్ డైరెక్టరీలో wordfence-waf.php ఫైల్ను సృష్టించలేకపోతోందని పదేపదే ఎర్రర్లు వస్తున్నాయని చెప్పారు. నేను అతడిని స్క్రీన్షాట్ పంపమని అడిగాను; ఆ ఎర్రర్ మెసేజ్ కేవలం ఒకే లైన్లో ఉంది, అది ఫైల్ పర్మిషన్ సమస్య అని అందులో ఉంది.
నేను ఒక క్షణం ఆలోచించి, ఇదివరకే ఇలాంటి సమస్యను ఎదుర్కొన్నానని గ్రహించాను. దాన్ని కనుక్కోవడానికి చాలా సేపు ప్రయత్నించాను, దాదాపు హోస్టింగ్ ప్రొవైడర్ ఏదో కుట్ర పన్నుతున్నాడేమో అని కూడా అనుకున్నాను. అది అనుమతులు మరియు యాజమాన్యానికి సంబంధించిన సమస్య అని తేలింది, కానీ హోస్టింగ్ కంట్రోల్ ప్యానెల్ యొక్క లాజిక్ చాలా గందరగోళంగా ఉంటుంది.

ముందుగా ఈ wordfence-waf.php అంటే ఏమిటో స్పష్టం చేయనివ్వండి.
వాస్తవానికి ఇది వర్డ్ఫెన్స్ ఫైర్వాల్ యొక్క రక్షణ ఫైల్, దీనిని వెబ్సైట్ యొక్క రూట్ డైరెక్టరీలో, wp-config.php ఉన్న అదే స్థాయిలో వ్రాయాలి.
ఈ ఫైల్ లేకుండా ఫైర్వాల్ ప్రారంభం కాదు; ఇది మీరు తాళం వేసి, తాళంచెవిని పెట్టలేనట్లు ఉంటుంది.
ఎంపిక 1: కంట్రోల్ ప్యానెల్ (BT ప్యానెల్/) ద్వారా ఒకే క్లిక్తో అనుమతి మార్పుహెస్టియాసిపి/cPanel)
మీరు BT ప్యానెల్ ఉపయోగిస్తుంటే, ఇది నిజానికి అత్యంత సులభమైనది. మీ వెబ్సైట్కు వెళ్లి, సంబంధిత సైట్ను కనుగొని, సెట్టింగ్స్పై క్లిక్ చేసి, ఆపై డైరెక్టరీ పర్మిషన్స్కు వెళ్లండి. వెబ్సైట్ రూట్ డైరెక్టరీ పర్మిషన్ను 755కు మరియు అన్ని ఫైల్స్ పర్మిషన్ను 644కు మార్చండి. ఆ తర్వాత రన్నింగ్ యూజర్ "www" అవునో కాదో తనిఖీ చేయండి; కాకపోతే, దానిని మార్చండి. "రిపేర్ పర్మిషన్స్" బటన్పై క్లిక్ చేసి, అది పూర్తయ్యే వరకు వేచి ఉండి, వర్డ్ఫెన్స్ రీఫ్రెష్ చేసి, మళ్లీ ప్రయత్నించండి.
HestiaCP కోసం, వెబ్సైట్ ఎడిటింగ్ పేజీకి వెళ్లి, "వెబ్ రూట్కు రైట్ యాక్సెస్ను అనుమతించు" అనే ఆప్షన్ను ఎనేబుల్ చేయండి. ఆ తర్వాత, వెబ్సైట్ డైరెక్టరీ యొక్క ఓనర్ను మరియు పర్మిషన్లను ఏకీకృతం చేయడానికి కొన్ని SSH కమాండ్లను రన్ చేయండి.
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 మరింత సులభంగా అర్థమయ్యేలా ఉంటుంది. ఫైల్ మేనేజర్ను తెరిచి, కుడి ఎగువ మూలలో ఉన్న "Show hidden files"ను ఆన్ చేసి, డైరెక్టరీపై రైట్-క్లిక్ చేసి పర్మిషన్లను 755కు, ఫైల్ పర్మిషన్లను 644కు మార్చండి. అలాగే, అడ్వాన్స్డ్ ఆప్షన్స్లో ఫైల్ ఓనర్ను ఫిక్స్ చేసే ఫంక్షన్ కూడా ఉంది.
ఎంపిక 2: SSH ద్వారా అనుమతులను మాన్యువల్గా మార్చండి (సాధారణ)linux)
కంట్రోల్ ప్యానెల్ దీన్ని నిర్వహించలేకపోతే, మాన్యువల్గా SSHని ఉపయోగించండి. సర్వర్కు కనెక్ట్ అయిన తర్వాత, ముందుగా యాజమాన్యాన్ని ఏకీకృతం చేయండి. LNMP/LEMP వాతావరణంలో, వెబ్ రన్టైమ్ గ్రూప్ సాధారణంగా www-data లేదా wwwగా ఉంటుంది.
chown -R 你的面板用户:www-data /网站根目录完全路径ఆ తర్వాత ఫోల్డర్ అనుమతులను 755 గా మరియు ఫైల్ అనుమతులను 644 గా సెట్ చేయండి.
find /网站根目录 -type d -print0 | xargs -0 chmod 755
find /网站根目录 -type f -print0 | xargs -0 chmod 644ప్రక్రియ పూర్తయిన తర్వాత, WP బ్యాకెండ్కు తిరిగి వెళ్లి ఫైర్వాల్ను మళ్లీ ఎనేబుల్ చేయండి; ఇది చాలావరకు సమస్యను పరిష్కరిస్తుంది.
ఎంపిక 3: wordfence-waf.php ను మాన్యువల్గా సృష్టించండి (అనుమతులు లాక్ చేయబడినప్పుడు ఇది ఒక అద్భుతమైన పరిష్కారం)
మీరు SSH ప్యానెల్ ద్వారా ఏమీ మార్చలేకపోతే, దాన్ని మాన్యువల్గా చేయండి. రూట్ డైరెక్టరీలో wordfence-waf.php అనే ఫైల్ను సృష్టించి, కింది కోడ్ను అందులో పేస్ట్ చేయండి.
<?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 స్థానంలో మీ ప్రస్తుత వర్డ్ఫెన్స్ వెర్షన్ను చేర్చడం గుర్తుంచుకోండి. ఫైల్ అనుమతులను 644కు సెట్ చేయండి, మరియు యజమాని వెబ్సైట్కు సరిపోలాలి. ఆ తర్వాత wp-config.php ఫైల్ను ఎడిట్ చేసి, ఫైల్ యొక్క పైభాగంలో ఈ క్రింది లైన్ను చేర్చండి.
require_once 'wordfence-waf.php';వర్డ్ఫెన్స్ను సేవ్ చేసి, రిఫ్రెష్ చేయండి. ఫైర్వాల్ దానిని స్వయంచాలకంగా గుర్తిస్తుంది మరియు ఇకపై లోపాలను నివేదించదు.
ఎంపిక 4: రైట్ యాక్సెస్ను పరిమితం చేసే నియమాలను తనిఖీ చేయండి.
కొన్నిసార్లు ఇది అనుమతుల సమస్య కాదు, దానికి బదులుగా కాన్ఫిగరేషన్ ఫైల్ అడ్డుకుంటుండవచ్చు. మీ .htaccess ఫైల్ను తెరిచి, ఫైల్ రైట్ యాక్సెస్ను పరిమితం చేసే లేదా PHP ఫైల్ క్రియేషన్ను నిరోధించే అన్ని రూల్స్ను తొలగించండి. Nginx కోసం, మీ సైట్ కాన్ఫిగరేషన్లో 'రూట్ పాత్ రీడ్ ఓన్లీ' లేదా 'create_file off' వంటి పరిమితులను తనిఖీ చేసి, వాటిని తొలగించండి.
మరొక పరిస్థితి ఏమిటంటే, వర్చువల్ హోస్ట్ లేదా లైట్వెయిట్ క్లౌడ్ సర్వర్ స్వయంగా రూట్ డైరెక్టరీలో PHP ఫైళ్లను సృష్టించడాన్ని పరిమితం చేస్తుంది. ఈ సందర్భంలో, ఆ పరిమితిని తొలగించడానికి మీరు మీ హోస్టింగ్ ప్రొవైడర్ను సంప్రదించాలి, లేదా వర్డ్ఫెన్స్ యొక్క ప్రొటెక్షన్ మోడ్ను మార్చాలి. వర్డ్ఫెన్స్ మెనూ, ఆల్ ఆప్షన్స్, WAFకు వెళ్లి, రూట్ ఫైల్ క్రియేషన్ను బైపాస్ చేయడానికి ప్రొటెక్షన్ ఇంజిన్ మోడ్ను ఎక్స్టెండెడ్ ప్రొటెక్షన్కు మార్చండి.
పరిష్కారం 5: ప్లగిన్ వైరుధ్యాలు నిరోధానికి కారణమవుతున్నాయి
కొన్ని క్యాషింగ్ లేదా సెక్యూరిటీ ప్లగిన్లు ఈ ఆపరేషన్ను నిరోధించవచ్చు. WP Rocket, W3 Total Cache, మరియు LiteSpeed Cache వంటి క్యాషింగ్ ప్లగిన్లను, అలాగే Sucuri మరియు iThemes Security వంటి సెక్యూరిటీ ప్లగిన్లను తాత్కాలికంగా డిసేబుల్ చేయండి. ఆ తర్వాత సర్వర్ క్యాష్ మరియు opcacheను క్లియర్ చేసి, PHP సర్వీస్ను పునఃప్రారంభించండి.
systemctl restart php8.3-fpmత్వరిత సమస్య పరిష్కార క్రమం (దశలను క్రమంగా అనుసరించడం మంచిది)
అనవసరమైన గందరగోళాన్ని నివారించడానికి మీరు ఈ క్రమాన్ని పాటించాలని నేను సూచిస్తున్నాను. మొదట, అనుమతులను మరియు యాజమాన్యాన్ని ఏకీకృతం చేయండి; ఇలా చేయడం వల్ల సమస్య పరిష్కారమయ్యే అవకాశం ఎక్కువగా ఉంటుంది. ఒకవేళ అది పని చేయకపోతే, PHP-FPMను పునఃప్రారంభించి, బ్యాకెండ్ను రిఫ్రెష్ చేయండి. అప్పటికీ పని చేయకపోతే, మాన్యువల్గా ఒక కొత్త ఫైల్ను సృష్టించి, wp-configను సవరించండి. ఆ తర్వాత, మీ Nginx లేదా Apache కాన్ఫిగరేషన్, రూట్ డైరెక్టరీలో కొత్త PHP ఫైళ్ల సృష్టిని అడ్డుకుంటోందేమో తనిఖీ చేయండి. చివరగా, ఫైర్వాల్ మోడ్లను మార్చడాన్ని పరిగణించండి.
నేను మీకు గుర్తు చేయాల్సిన ఒక విషయం ఏమిటంటే, మీరు అనుమతులను (permissions) ఎప్పుడూ 777కి సెట్ చేయకూడదు. ఫోల్డర్ అనుమతులు 755 మరియు ఫైల్ అనుమతులు 644 ఉండాలి; అదే ప్రామాణికం. అనుమతులను 777కి సెట్ చేయడం వల్ల మీ వెబ్సైట్ నేరుగా బహిర్గతమవుతుంది, ఇది అత్యంత అధిక భద్రతా ప్రమాదాన్ని కలిగిస్తుంది. ఒకవేళ మీ వెబ్సైట్ హ్యాక్ చేయబడితే, అప్పటికి చింతించడానికి చాలా ఆలస్యం అయిపోతుంది.
నిజం చెప్పాలంటే, ఈ పరిష్కారాలు మీ పరిస్థితికి పని చేస్తాయో లేదో నాకు ఖచ్చితంగా తెలియదు, కానీ నేను ఎదుర్కొన్న ఇబ్బందులను మరియు నేను కనుగొన్న పద్ధతులను పంచుకున్నాను. మీకు ఇంకేవైనా ఎర్రర్ మెసేజ్లు వస్తే, దాని స్క్రీన్షాట్ తీసి నాకు పంపండి, నేను దాన్ని మరోసారి పరిశీలిస్తాను.
మీరు ఇంతవరకు చదివారు కాబట్టి, ఇది మీకు ఉపయోగకరంగా అనిపిస్తే, దయచేసి లైక్ చేసి షేర్ చేయండి. మీరు అప్డేట్లను ముందుగా పొందాలనుకుంటే, నన్ను ఫాలో కూడా అవ్వొచ్చు!
నా వ్యాసం చదివినందుకు ధన్యవాదాలు. మళ్ళీ కలుద్దాం.
హోప్ చెన్ వీలియాంగ్ బ్లాగ్ ( https://www.chenweiliang.com/ ఇక్కడ పంచుకున్న "WordPress Wordfence's Inability to Create wordfence-waf.php" అనే ట్యుటోరియల్ మీకు సహాయకరంగా ఉండవచ్చు.
ఈ కథనం యొక్క లింక్ను భాగస్వామ్యం చేయడానికి స్వాగతం:https://www.chenweiliang.com/cwl-34337.html
