WordPress Wordfence-এর wordfence-waf.php তৈরি করতে না পারার সমস্যার সম্পূর্ণ সমাধান টিউটোরিয়াল

একজন উল্লেখ করেছেন যে, তার ওয়েবসাইটে Wordfence ইনস্টল করার পর তিনি বারবার এরর পাচ্ছিলেন, যেখানে বলা হচ্ছিল যে এটি রুট ডিরেক্টরিতে wordfence-waf.php ফাইলটি তৈরি করতে পারছে না। আমি তাকে একটি স্ক্রিনশট পাঠাতে বললাম; এরর মেসেজটি ছিল মাত্র এক লাইনের, যেখানে বলা হচ্ছিল এটি একটি ফাইল পারমিশনের সমস্যা।

আমি এক মুহূর্ত ভাবলাম এবং বুঝতে পারলাম যে আমি আগেও এই সমস্যার সম্মুখীন হয়েছি। আমি এর সমাধান বের করার জন্য অনেক সময় ব্যয় করেছি, প্রায় ধরেই নিয়েছিলাম যে হোস্টিং প্রোভাইডার কোনো অসৎ উদ্দেশ্য নিয়ে কাজ করছে। শেষ পর্যন্ত দেখা গেল এটি পারমিশন এবং ওনারশিপ সংক্রান্ত একটি সমস্যা ছিল, কিন্তু হোস্টিং কন্ট্রোল প্যানেলের কার্যপ্রণালী বেশ বিভ্রান্তিকর হতে পারে।

WordPress Wordfence-এর wordfence-waf.php তৈরি করতে না পারার সমস্যার সম্পূর্ণ সমাধান টিউটোরিয়াল

প্রথমে আমি স্পষ্ট করে দিই এই wordfence-waf.php জিনিসটা কী।

এটি আসলে ওয়ার্ডফেন্স ফায়ারওয়ালের সুরক্ষা ফাইল, যা ওয়েবসাইটের রুট ডিরেক্টরিতে, wp-config.php-এর সমতলে লিখতে হবে।

এই ফাইলটি ছাড়া ফায়ারওয়াল চালু হতে পারে না; ব্যাপারটা অনেকটা এমন যে, আপনি একটি তালা লাগিয়েছেন কিন্তু চাবি ঢোকানো যাচ্ছে না।

বিকল্প ১: কন্ট্রোল প্যানেলের (বিটি প্যানেল) মাধ্যমে এক ক্লিকে অনুমতি পরিবর্তনHestiaCP/cPanel)

আপনি যদি বিটি প্যানেল ব্যবহার করেন, তবে এটিই সবচেয়ে সহজ উপায়। আপনার ওয়েবসাইটে যান, সংশ্লিষ্ট সাইটটি খুঁজুন, সেটিংস-এ ক্লিক করুন, তারপর ডিরেক্টরি পারমিশন-এ যান। ওয়েবসাইটের রুট ডিরেক্টরির পারমিশন 755 এবং সমস্ত ফাইলের পারমিশন 644-এ পরিবর্তন করুন। এরপর দেখুন রানিং ইউজার "www" কিনা; যদি না হয়, তবে তা পরিবর্তন করুন। "রিপেয়ার পারমিশন" বাটনে ক্লিক করুন, এটি শেষ হওয়া পর্যন্ত অপেক্ষা করুন, ওয়ার্ডফেন্স রিফ্রেশ করুন এবং আবার চেষ্টা করুন।

HestiaCP-এর জন্য, ওয়েবসাইট সম্পাদনা পৃষ্ঠায় যান এবং "Allow write access to web root" নামক বিকল্পটি সক্রিয় করুন। তারপর ওয়েবসাইট ডিরেক্টরির মালিকানা ও অনুমতি একীভূত করতে কয়েকটি 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 644

সিপ্যানেল (cPanel) ব্যবহার করা আরও সহজ। ফাইল ম্যানেজার খুলুন, উপরের ডান কোণায় "লুকানো ফাইল দেখান" (Show hidden files) চালু করুন, ডিরেক্টরির উপর রাইট-ক্লিক করে পারমিশন 755-এ পরিবর্তন করুন, ফাইল পারমিশন 644-এ পরিবর্তন করুন, এবং অ্যাডভান্সড অপশনে ফাইলের মালিককে নির্দিষ্ট করার একটি ফাংশনও রয়েছে।

বিকল্প ২: SSH (সাধারণ) এর মাধ্যমে ম্যানুয়ালি অনুমতি পরিবর্তন করুনলিনাক্স)

যদি কন্ট্রোল প্যানেল এটি পরিচালনা করতে না পারে, তবে ম্যানুয়ালি 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 ব্যাকএন্ডে ফিরে যান এবং ফায়ারওয়ালটি পুনরায় সক্রিয় করুন; এতে সম্ভবত সমস্যাটির সমাধান হয়ে যাবে।

বিকল্প ৩: ম্যানুয়ালি 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-এর পরিবর্তে আপনার বর্তমান Wordfence ভার্সনটি ব্যবহার করতে হবে। ফাইল পারমিশন 644-এ সেট করুন এবং মালিককে ওয়েবসাইটের সাথে মিলতে হবে। এরপর wp-config.php ফাইলটি এডিট করে এর একদম শুরুতে নিচের লাইনটি যোগ করুন।

require_once 'wordfence-waf.php';

Wordfence সেভ করে রিফ্রেশ করুন। ফায়ারওয়ালটি স্বয়ংক্রিয়ভাবে এটি শনাক্ত করে নেবে এবং আর কোনো ত্রুটি দেখাবে না।

বিকল্প ৪: লেখার অনুমতি সীমাবদ্ধ করে এমন নিয়মগুলো পরীক্ষা করুন।

কখনও কখনও এটি পারমিশনের সমস্যা নয়, বরং কনফিগারেশন ফাইলটিই বাধা সৃষ্টি করে। আপনার .htaccess ফাইলটি খুলুন এবং ফাইল লেখার অ্যাক্সেস সীমাবদ্ধ করে বা PHP ফাইল তৈরি করতে বাধা দেয় এমন সমস্ত নিয়ম মুছে ফেলুন। Nginx-এর ক্ষেত্রে, আপনার সাইট কনফিগারেশনে রুট পাথ রিড-অনলি বা create_file off-এর মতো সীমাবদ্ধতা আছে কিনা তা পরীক্ষা করুন এবং সেগুলি সরিয়ে দিন।

আরেকটি পরিস্থিতি হলো, ভার্চুয়াল হোস্ট বা লাইটওয়েট ক্লাউড সার্ভার নিজেই রুট ডিরেক্টরিতে PHP ফাইল তৈরি হওয়া সীমাবদ্ধ করে দেয়। এই ক্ষেত্রে, সীমাবদ্ধতাটি দূর করার জন্য আপনাকে আপনার হোস্টিং প্রোভাইডারের সাথে যোগাযোগ করতে হবে, অথবা Wordfence-এর প্রোটেকশন মোড পরিবর্তন করতে হবে। রুট ফাইল তৈরি বাইপাস করতে Wordfence মেনু, All Options, WAF-এ যান এবং প্রোটেকশন ইঞ্জিন মোডটি Extended Protection-এ পরিবর্তন করুন।

সমাধান ৫: প্লাগইন দ্বন্দ্বের কারণে বাধা সৃষ্টি হচ্ছে

কিছু ক্যাশিং বা সিকিউরিটি প্লাগইন এই অপারেশনটি ব্লক করতে পারে। WP Rocket, W3 Total Cache, এবং LiteSpeed ​​Cache-এর মতো ক্যাশিং প্লাগইন এবং Sucuri ও iThemes Security-এর মতো সিকিউরিটি প্লাগইনগুলো সাময়িকভাবে নিষ্ক্রিয় করুন। এরপর সার্ভার ক্যাশ ও অপক্যাশ ক্লিয়ার করুন এবং PHP সার্ভিসটি রিস্টার্ট করুন।

systemctl restart php8.3-fpm

দ্রুত সমস্যা সমাধানের ক্রম (ধাপগুলো ক্রমানুসারে অনুসরণ করার পরামর্শ দেওয়া হচ্ছে)

অযথা ঝামেলা এড়াতে আমি আপনাকে এই ক্রমটি অনুসরণ করার পরামর্শ দিচ্ছি। প্রথমে, পারমিশন এবং ওনারশিপ একীভূত করুন; এতেই সমস্যাটির সমাধান হওয়ার সম্ভাবনা সবচেয়ে বেশি। যদি তাতেও কাজ না হয়, তাহলে PHP-FPM রিস্টার্ট করুন এবং ব্যাকএন্ড রিফ্রেশ করুন। এরপরও যদি কাজ না হয়, তাহলে ম্যানুয়ালি একটি নতুন ফাইল তৈরি করে wp-config পরিবর্তন করুন। তারপর পরীক্ষা করে দেখুন আপনার Nginx বা Apache কনফিগারেশন রুট ডিরেক্টরিতে নতুন PHP ফাইল তৈরি হতে বাধা দিচ্ছে কিনা। সবশেষে, ফায়ারওয়াল মোড পরিবর্তন করার কথা বিবেচনা করুন।

একটি বিষয় আমি আপনাকে অবশ্যই মনে করিয়ে দিতে চাই যে, আপনার কখনই পারমিশন 777 সেট করা উচিত নয়। ফোল্ডারের পারমিশন 755 এবং ফাইলের পারমিশন 644 হওয়া উচিত; এটাই আদর্শ নিয়ম। পারমিশন 777 সেট করলে আপনার ওয়েবসাইট সরাসরি অরক্ষিত হয়ে পড়বে, যা একটি অত্যন্ত উচ্চ নিরাপত্তা ঝুঁকি তৈরি করে। যদি আপনার ওয়েবসাইট হ্যাক হয়ে যায়, তবে অনুশোচনা করার জন্য অনেক দেরি হয়ে যাবে।

সত্যি বলতে, এই সমাধানগুলো আপনার ক্ষেত্রে কাজ করবে কিনা সে ব্যাপারে আমি নিশ্চিত নই, তবে আমি যে সমস্যাগুলোর সম্মুখীন হয়েছিলাম এবং যে পদ্ধতিগুলো বের করেছি, তা আপনাদের সাথে শেয়ার করেছি। আপনি যদি অন্য কোনো এরর মেসেজ পান, তাহলে সেটির একটি স্ক্রিনশট নিয়ে আমাকে পাঠিয়ে দেবেন, আমি আবার বিষয়টি খতিয়ে দেখব।

যেহেতু আপনি এতদূর পড়েছেন, যদি এটি আপনার উপকারে এসে থাকে, তবে অনুগ্রহ করে লাইক ও শেয়ার করুন। সবার আগে আপডেট পেতে চাইলে আমাকে ফলোও করতে পারেন!

আমার লেখাটি পড়ার জন্য ধন্যবাদ। আবার দেখা হবে।

হোপ চেন উইলিয়াং ব্লগ ( https://www.chenweiliang.com/ এখানে শেয়ার করা "ওয়ার্ডপ্রেস ওয়ার্ডফেন্স-এর wordfence-waf.php তৈরি করতে না পারার সম্পূর্ণ সমাধান" টিউটোরিয়ালটি আপনার জন্য সহায়ক হতে পারে।

এই নিবন্ধটির লিঙ্ক শেয়ার করতে স্বাগতম:https://www.chenweiliang.com/cwl-34337.html

আরও লুকানো কৌশল 🔑 জানতে, আমাদের টেলিগ্রাম চ্যানেলে যোগদান করতে স্বাগতম!

ভালো লাগলে শেয়ার এবং লাইক করুন! আপনার শেয়ার এবং লাইক আমাদের অব্যাহত অনুপ্রেরণা!

 

发表 评论

আপনার ইমেল ঠিকানা প্রকাশ করা হবে না. 必填 项 已 用 * 标注

উপরে যান