लिखने के लिए वेब सर्वर के लिए मैं अपाचे समूह का उपयोग कैसे करूं?


13

मैं Wordpress काम करने की कोशिश कर रहा हूँ। वर्तमान में मेरे पास यह त्रुटि संदेश है:

Could not create directory. /var/www/html/wp-content/upgrade/theme_name

जब एक विषय अपलोड करने की कोशिश कर रहा है। यह अनुमत अनुमतियाँ हैं/var/www/html/wp-content/upgrade/

drwxrwxr-x 3 ec2-user apache 4096 Jun 21 00:30 upgrade

chmod 777 upgradeत्रुटि दूर जाती है। लेकिन यह सबसे अच्छा अभ्यास नहीं माना जाता है। हालाँकि, मुझे लगता है कि यह भी काम करना चाहिए ... क्यों नहीं?

मुझे लगता है कि उपरोक्त अनुमतियों में वेब सर्वर शामिल नहीं हो सकता है। वेब सर्वर को लिखने की अनुमति देने के लिए मुझे किस समूह का उपयोग करना चाहिए?

(मेरा सेटअप Amazon EC2, Amazon Linux AMI httpd के साथ है)

जवाबों:


16

मुझे Amazon EC2 के बारे में कुछ नहीं पता, लेकिन आपको इसमें सक्षम होना चाहिए:

  1. Apache चलाने वाले उपयोगकर्ता का नाम इसके समान कमांड के साथ पुनः प्राप्त करें:

    ps aux | grep apache # The username should be in the first column.
    
  2. उन समूहों को पुनः प्राप्त करें जो यह उपयोगकर्ता groups(1)कमांड के साथ हिस्सा है :

    groups [USERNAME]
    

पहला स्तंभ अपाचे है, और समूह अपाचे वापसी अपाचे: अपाचे। पहले कमैंड से एक लाइन इस तरह दिखती है: अपाचे 11171 0.0 3.4 39984 21516? एस Jun20 0:02 / usr / sbin / httpd

1
उपयोगकर्ता अपाचे को स्पष्ट रूप से निर्देशिका में लिखने की अनुमति है। आप कहते हैं chmod 777कि समस्या हल हो गई है, इसलिए मैं अनुमान लगा रहा हूं कि आप अपने विषयों को अपलोड करने के लिए एक अलग उपयोगकर्ता का उपयोग कर रहे हैं। मैं Wordpress को बहुत अच्छी तरह से नहीं जानता। इस उत्तर के अनुसार उपयोगकर्ता के लिए स्वामित्व बदलने का प्रयास करें www-data
रहमू

लेख और सब कुछ देखने के लिए समय निकालने के लिए धन्यवाद। यह वास्तव में एक अलग उपयोगकर्ता था, जैसा कि मैंने महसूस किया कि Wordpress ने अपना काम करने के लिए FTP का उपयोग किया। मुझे उस उपयोगकर्ता को पता चला कि नीचे क्या सुझाव दिया गया था और फिर समूह एपाचे को जोड़ा गया, चरण 1 से पता चला, इसे। इससे हल हो गया।

2

अपने अपाचे समूह के नामों का पता लगाने के लिए आप निम्न कमांड-लाइन विधि का उपयोग करने का प्रयास कर सकते हैं:

WWW_GROUP=`ps axo user,group,comm | egrep '(apache|httpd)' | grep -v ^root | cut -d\  -f 2| uniq`
echo Apache group is: $WWW_GROUP

उपयोगकर्ता प्राप्त करने के लिए, जांचें: कमांड लाइन से अपाचे उपयोगकर्ता का निर्धारण कैसे करें?


1

chmod 777 अपग्रेड त्रुटि दूर करता है।

ठीक है, उस मामले में ls -ld /var/www/html/wp-content/upgrade/theme_nameनिर्माता की साख को प्रकट करना चाहिए, जिसे आप सटीक पहुंच अनुदान के लिए उपयोग कर सकते हैं।

और यह बेहतर है 1777( /tmpकम से कम उपयोग के बाद से) यह गारंटी देता है कि किसी फ़ाइल का केवल स्वामी ही इसे अनलिंक कर सकेगा।


1
त्रुटि दूर जाओ! समस्या हल करने के लिए दिलचस्प दृष्टिकोण। यह कोई समाधान नहीं है, यह झूठ है।
१।

आप मूल लेखक के पाठ का हवाला देते हुए "झूठ" क्या कहते हैं? :) या 777 के बजाय कम से कम 1777 का उपयोग करने का सुझाव? :) या निर्माता के स्वामित्व का पता लगाना और "सटीक पहुँच प्रदान करने" के लिए इसका उपयोग करना?
19

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