आपके वेब सर्वर तक पहुँचने के लिए अनुरोधित एक्शन वर्डप्रेस को करने की आवश्यकता है। कृपया अपना ftp दर्ज करें


28

मैं फ़ाइल अनुमतियों में बदलाव कर रहा हूं «वर्डप्रेस कोडेक्स , फिर भी जब मैं अपडेट करने और / या स्थापित करने pluginऔर / या के themeमाध्यम से प्रयास कर wp-adminरहा हूं, तो मैं निम्नलिखित हो रहा हूं:

अनुरोधित कार्रवाई करने के लिए, वर्डप्रेस को आपके वेब सर्वर तक पहुंचने की आवश्यकता है। कृपया आगे बढ़ने के लिए अपने एफ़टीपी क्रेडेंशियल दर्ज करें। यदि आपको अपनी साख याद नहीं है, तो आपको अपने वेब होस्ट से संपर्क करना चाहिए।

फ़ाइल सिस्टम स्तर से:

# ls -ld wp-content/ wp-content/plugins/ wp-content/themes/
drwxrwxr-x.  6 root apache 4096 Jun  2 12:01 wp-content/
drwxrwxr-x. 28 root apache 4096 Jun  2 00:00 wp-content/plugins/
drwxrwxr-x. 11 root apache 4096 May 11 16:34 wp-content/themes/
# 

httpdके रूप में चलाता है apache:

$ ps auxw | grep httpd
root     20158  0.0  0.1 533080 26192 ?        Ss   15:03   0:00 /usr/sbin/httpd -DFOREGROUND
apache   20233  0.0  0.2 612608 34908 ?        S    15:03   0:00 /usr/sbin/httpd -DFOREGROUND
apache   20234  0.0  0.2 538772 46904 ?        S    15:03   0:00 /usr/sbin/httpd -DFOREGROUND
apache   20235  0.0  0.1 536832 24268 ?        S    15:03   0:00 /usr/sbin/httpd -DFOREGROUND
apache   20236  0.0  0.2 626272 35640 ?        S    15:03   0:00 /usr/sbin/httpd -DFOREGROUND
apache   20237  0.0  0.0 535296  9592 ?        S    15:03   0:00 /usr/sbin/httpd -DFOREGROUND
apache   20322  0.0  0.1 537088 26620 ?        S    15:03   0:00 /usr/sbin/httpd -DFOREGROUND
apache   20380  0.0  0.2 626060 33816 ?        S    15:04   0:00 /usr/sbin/httpd -DFOREGROUND
apache   20429  0.0  0.1 538216 29184 ?        S    15:04   0:00 /usr/sbin/httpd -DFOREGROUND
apache   20447  0.0  0.2 629380 43180 ?        S    15:04   0:00 /usr/sbin/httpd -DFOREGROUND
apache   20448  0.0  0.2 626172 35224 ?        S    15:04   0:00 /usr/sbin/httpd -DFOREGROUND
alexus   24073  0.0  0.0 112652   972 pts/9    R+   15:13   0:00 grep --color=auto httpd
$ 

मैं (अनुरोधित क्रिया को पूरा करने में सक्षम होना चाहते हैं installऔर / या updateके माध्यम से) /wp-admin के बिना एफ़टीपी क्रेडेंशियल्स।

मैं उसे कैसे कर सकता हूँ?


1
क्या यह लोकलहोस्ट इंस्टॉलेशन है? यदि हां, तो देखें: wordpress.stackexchange.com/questions/19649/…
ग्रेग मैकमुलेन

1
@GregMcMullen नहीं, यह लोकलहोस्ट इंस्टॉलेशन नहीं है और लिंक से "स्वीकृत" उत्तर है जो आप टिप्पणी करते हैं कि एक वर्डप्रेस डायरेक्टरी के स्वामित्व को फिर से बदलना है nobody- यह मेरे लिए httpdरन के कारण काम नहीं करेगा apache
एलेक्सस

@alexus ऐसा लगता है कि आपकी फ़ाइलें फिलहाल root.apache के स्वामित्व में हैं। क्या आपने अपाचे की कोशिश की। किसी के बजाय अपाचे?
टिम मेलोन

@TimMalone सेटिंग फ़ाइलें / निर्देशिका के रूप में apache.apacheया root.apacheकिसी भी अंतर है, जब तक नहीं होगा httpdके रूप में रन apache, और apacheके uidका हिस्सा है apache gidसमूह ', यह सब एक ही है, क्योंकि मेरे अनुमतियाँ करने के लिए सेट है g+w
एलेक्सस

@alexus ठीक है, कोशिश करने के लिए कुछ और - FS_METHOD को 'डायरेक्ट' में wp-config.php ( codex.wordpress.org/… ) पर सेट करें
टिम मेलोन

जवाबों:


52

निम्नलिखित को wp-config.php में जोड़ें:

define( 'FS_METHOD', 'direct' );

मुझे बताओ कि यह आपके लिए कैसे काम करता है।



मेरे लिए तब तक काम किया जाता है जब तक कि आपके पास फ़ाइल सिस्टम में खराब अनुमति नहीं है। Btw मैंने इसे wp-config.php के बहुत ऊपर जोड़ा
Toskan

इस विधि का उपयोग करने से पहले एलेक्सिस से जुड़ी पोस्ट को अवश्य पढ़ें। यह विधि निश्चित रूप से काम करती है (यह मेरे लिए समस्या का समाधान करती है), लेकिन आपको निश्चित रूप से साझा होस्टिंग परिवेश या किसी भी जोखिम वाले वातावरण में इस पद्धति का उपयोग नहीं करना चाहिए जहां आप ऐसा करके सुरक्षा से समझौता कर सकते हैं।
जेम्सहौक्स

16

इसका मतलब यह है कि वर्डप्रेस को उस फ़ोल्डर में बदलाव करने की सीमित अनुमति है जो इसे स्थापित किया गया था।

इसे ठीक करने के लिए, आपको जो कुछ भी करने की आवश्यकता है वह उसी के लिए आवश्यक अनुमति प्रदान करना है।

SSH के माध्यम से अपने सर्वर से कनेक्ट करने के बाद अपने टर्मिनल / पुट्टी / कमांडलाइन प्रॉम्प्ट में निम्न कमांड चलाएँ:

sudo chown -R apache:apache /var/www/html

चेकआउट इस लेख पूर्ण विवरण के लिए।


अनुमतियाँ ठीक हैं, मेरे प्रश्न को फिर से पढ़ें)
एलेक्सा

3
chown: अमान्य उपयोगकर्ता: 'apache: apache'
numediaweb

2
याद रखें, अपाचे लिनक्स के विभिन्न स्वादों में विभिन्न उपयोगकर्ता हो सकते हैं। इसलिए आप समूहों को उपयोग कर सकते हैं <यूज़र> और देखें कि क्या यह त्रुटी है या नहीं, क्योंकि उपयोगकर्ता और अपाचे के लिए समूह आमतौर पर एक ही है। फिर सही उपयोगकर्ता का उपयोग करें। उबंटू में सबसे आम है "www-data: www-data" या "www: www" chown-ing Apache फ़ाइलों के लिए।
मोंटी थ्रीकार्ड

2

भले ही यह root:apacheअनुमति 775 के रूप में स्वामित्व के लिए पूरी तरह से सही है , और httpd के रूप में चलाने के लिए apache, Wordpress को यह पसंद नहीं है। यह होने के लिए मालिक चाहता है apacheके अनुसार, wp-admin/includes/file.php:

    // Attempt to determine the file owner of the WordPress files, and that of newly created files
   $wp_file_owner = $temp_file_owner = false;
   if ( function_exists('fileowner') ) {
      $wp_file_owner = @fileowner( __FILE__ );
      $temp_file_owner = @fileowner( $temp_file_name );
  }

आपका होगा:
wp_file_owner = root
temp_file_owner = apache

if ( $wp_file_owner !== false && $wp_file_owner === $temp_file_owner ) {
    // WordPress is creating files as the same owner as the WordPress files,
    // this means it's safe to modify & create new files via PHP.
    $method = 'direct';
    $GLOBALS['_wp_filesystem_direct_method'] = 'file_owner';
} elseif ( $allow_relaxed_file_ownership ) {
    // The $context directory is writable, and $allow_relaxed_file_ownership is set, this means we can modify files
    // safely in this directory. This mode doesn't create new files, only alter existing ones.
    $method = 'direct';
    $GLOBALS['_wp_filesystem_direct_method'] = 'relaxed_ownership';
}

यदि $ wp_file_owner $ temp_file_owner के समान है तो आगे बढ़ें। तुम्हारा वही हकीकत में पकड़ा जाएगा, जो टिप्पणी के अनुसार हटाने / बनाने की अनुमति नहीं देता है, लेकिन केवल अपडेट (मैंने वर्डप्रेस के भीतर से एक प्लगइन के कोड को अपडेट करके इसे सत्यापित किया, और यह काम किया)।

नोट मैंने बड़े पैमाने पर कोड के माध्यम से नहीं देखा, यह सिर्फ मेरी त्वरित व्याख्या है। मुझे एक ही समस्या थी और एक बार मैंने उपयोगकर्ता को स्विच किया था: समूह ताकि httpd उपयोगकर्ता भी फ़ाइल का मालिक हो, यह अब एफ़टीपी क्रेडेंशियल के लिए संकेत नहीं देता था।


हाँ, मालिक को बदलकर www-dataमेरे लिए काम किया। मजेदार वर्डप्रेस!
ankush981

1

एक सीधा जवाब नहीं, लेकिन शायद कहा जाना चाहिए - यह एक समस्या है जिसे आपको हल करने से बचना चाहिए जब तक आप एक स्थानीय विकास के बारे में बात नहीं कर रहे हैं जिसमें आप केवल 777 के लिए अनुमतियाँ सेट कर सकते हैं।

कारण यह है कि अगर वेबसर्वर आपके कोड को ओवरराइट कर सकता है, तो उस पर चलने वाला कोई भी दुर्भावनापूर्ण कोड वैसा ही कर सकेगा। एफ़टीपी क्रेडेंशियल टाइप नहीं करने से कुछ सेकंड बचाने की सुविधा की तुलना में जोखिम इतना बड़ा है।


0

हालांकि सवाल यह नहीं है कि अब मैं इस मुद्दे पर अपने दो सेंट जोड़ना चाहता हूं।

बहुत सारे ppl के VPS सर्वर पर Centos (7) हैं और निम्नलिखित कोड लाइनें उनकी समस्या को हल कर सकती हैं।

Imho का चयन SELinux से करना है जो वर्डप्रेस को काम करने से रोक देता है। यह बताने के लिए दूर तक जाता है कि SELinux क्या है और यह क्या करता है। FYI की शुरुआत होती है:

सुरक्षा-संवर्धित लिनक्स (SELinux) कर्नेल में लागू एक अनिवार्य अभिगम नियंत्रण (MAC) सुरक्षा तंत्र है।

फॉलोव करने के लिए केवल 3 कदम:

  • 1 एक टर्मिनल खोलें (या एसएसएच के माध्यम से सर्वर तक पहुंचें)
  • 2 निम्नलिखित कोड लाइन जोड़ें chcon -R -t httpd_sys_content_t /var/www/html/wordpress
  • 3 दूसरी कोड लाइन जोड़ें chcon -R -t httpd_sys_rw_content_t /var/www/html/wordpress

सर्वर से कोई रिबूट या आवश्यक किसी भी डेमॉन से पुनरारंभ नहीं होता है।

मैं यह नहीं कहूंगा कि यह हर किसी की मदद करता है, लेकिन उन लोगों के लिए जो SELinux को निष्क्रिय नहीं करते थे, उन्हें राहत मिलनी चाहिए।

चियर्स

नोट: कृपया अपनी आवश्यकताओं के अनुसार समायोजित करें (वर्डप्रेस का अर्थ पथ)

संपादित करें: define("FS_METHOD", "direct");जब यह / का उपयोग किया जाता है तो लाइन को निकालना सुनिश्चित करें wp-config.phpक्योंकि यह बिल्कुल नहीं है जब ऊपर की पंक्तियां वांछित के रूप में कोड लाइन्स करती हैं।


0

मेरे मामले में, मैंने इसे GIT से एफ़टीपी मोड पर स्विच करके हल किया।

और कोई चेतावनी नहीं।

शायद वह किसी और की भी मदद करेगा।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.