ऐसा इसलिए है क्योंकि apache apache उपयोगकर्ता और /var/www/html
अमेज़ॅन लिनक्स एएमआई में रूट के स्वामित्व में है। आप फ्रैंक द्वारा सुझाए गए स्वामित्व/अनुमतियों को बदल सकते हैं, या उपयोगकर्ता आईडी का उपयोग कर सकते हैं।
ऐसा लगता है कि आप चाहते हैं कि वेबसर्वर का फ़ोल्डर आपकी होम निर्देशिका (~
) से आसानी से सुलभ हो। मैं अपने ईसी 2 पर ऐसा कुछ चाहता था और प्रति उपयोगकर्ता वेब निर्देशिका (mod_userdir) का उपयोग करने का निर्णय लिया।
यह सुविधा आपको किसी उपयोगकर्ता द्वारा स्वामित्व वाली निर्देशिका में HTTP सर्वर की जगह के हिस्सों को रखने देती है। प्रत्येक उपयोगकर्ता को अपनी निर्देशिका मिलती है, जो डिफ़ॉल्ट रूप से /home/username/public_html
में स्थित होती है। उस निर्देशिका में पेज, स्क्रिप्ट और अन्य फ़ाइलें आपके डोमेन पर /~username
जोड़कर इंटरनेट तक पहुंच योग्य हैं। इसके अतिरिक्त, आप उस फ़ोल्डर का नाम httpd.conf में public_html
से किसी अन्य चीज़ पर बदल सकते हैं, जैसे gitRepo
। उस स्थिति में, यदि आपके पास फ़ाइल /home/ec2-user/gitRepo/index.html
में है, तो यह http://ec2-hostname.aws.amazon.com/~ec2-user/index.html
के माध्यम से जनता के लिए पहुंच योग्य होगी और ec2-user के स्वामित्व में हो, जो उपयोगकर्ता स्तर से फ़ाइलों को संपादित करने के लिए सुविधाजनक है।
EC2 ("gitRepo" संभालने के लिए फ़ोल्डर का नाम आप उपयोग करना चाहते) पर इसे सेट करने के, nano /etc/httpd/conf/httpd.conf
का उपयोग अपाचे config फ़ाइल को खोलने और नीचे स्क्रॉल करें जब तक आप <IfModule mod_userdir.c>
को देखने के लिए। उसके बाद निम्न तरह देखने के लिए इस खंड को बदलें:
<IfModule mod_userdir.c>
#
# UserDir is disabled by default since it can confirm the presence
# of a username on the system (depending on home directory
# permissions).
#
UserDir enabled all
#
# To enable requests to /~user/ to serve the user's public_html
# directory, remove the "UserDir disabled" line above, and uncomment
# the following line instead:
#
UserDir gitRepo
</IfModule>
बाद में तुम जाओ, लेकिन अनुमतियाँ सुनिश्चित करने के लिए अच्छा होना चाहिए सही ढंग से स्थापित कर रहे हैं:
chmod 711 /home/ec2-user
chmod 755 /home/ec2-user/gitRepo
chown -R ec2-user /home/ec2-user/gitRepo
और अंत में इस तरह वेब सर्वर को फिर से लोड:
sudo service httpd reload
'अपाचे' उपयोगकर्ता (या समतुल्य) में आपके घर के डीआईआर को पढ़ने की अनुमति नहीं है। Chmod/प्रासंगिक उपयोगकर्ता को अनुमति देने के लिए लक्षित डीआईआर बोया। बीटीडब्ल्यू आपको '/ var/log/httpd/error_log' में थोड़ा और कहने वाला संदेश मिल सकता है या जहां भी आपका httpd इसकी त्रुटियों को लॉग करता है। –
@ फ्रैंकफार्मर जब मैं सूडो सु अपाचे का उपयोग करके अपाचे उपयोगकर्ता पर स्विच करने का प्रयास करता हूं, तो मुझे यह संदेश मिलता है: यह खाता वर्तमान में उपलब्ध नहीं है। क्या आपने इससे पहले अनुभव किया है? – Apollo
हां। डिफ़ॉल्ट रूप से, आप apache को suache नहीं कर सकते हैं, क्योंकि अपाचे उपयोगकर्ता के पास आमतौर पर 'खोल' के लिए अपना खोल सेट होता है। आप उपयोगकर्ता के खोल को '/ etc/passwd' में sh में बदल सकते हैं, लेकिन यह आमतौर पर आमतौर पर एक बुरा विचार है। आम तौर पर, अपाचे में सूखना आवश्यक नहीं होना चाहिए, खासकर यदि आप सिर्फ बोना चाहते हैं।'सूडो चाउन अपाचे: अपाचे ~/डायरवांट /' आपके मामले में पर्याप्त होगा, हालांकि निर्देशिका को आपके घर डीआईआर से बाहर ले जाना बुद्धिमान होगा। –