मुझे पता है कि यह सवाल बहुत पूछा जाता है, लेकिन मैंने जो समाधान देखा वह मेरे लिए कारगर नहीं था।
मेरे पास केवल एक वर्चुअल होस्ट सक्षम है, और मैं उस फ़ोल्डर तक पहुंच को सक्षम करने का प्रयास कर रहा हूं जो दस्तावेज़ रूट के अंतर्गत नहीं है
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
Alias /movies /home/username/Videos/Movies
<Directory /home/username/Videos/Movies/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
मैं /etc/apache2/envvars
निम्नानुसार सेट करता हूं
export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=public
मैंने यह सुनिश्चित किया कि / होम / यूज़रनेम / वीडियो / और इसके उप फ़ोल्डर्स के स्वामित्व में हैं username:public
, 777 (775 के बाद काम नहीं करने) के लिए अनुमतियाँ सेट करें और सुनिश्चित करें कि उपयोगकर्ता www-data
समूह से संबंधित है public
।
अब, जब मैं ब्राउज़ करता http://localhost/movies
हूं तो मुझे मिल जाता है
[Mon Apr 21 11:28:14.971844 2014] [core:error] [pid 1385:tid 140067725104896] (13)Permission denied: [client 127.0.0.1:46603] AH00035: access to /movies/ denied (filesystem path '/home/username/Videos') because search permissions are missing on a component of the path
लेकिन जब मैंने /etc/apache2/envvars
अपाचे username
(अपने स्वयं के उपयोगकर्ता नाम) को चलाने के लिए सेट किया तो सब कुछ ठीक काम करता है। समस्या अनुमति से संबंधित है, लेकिन मैं नहीं देखता कि मेरे मामले में कैसे; खासकर जब मैंने अनुमतियाँ सेट की हैं 777
। कोई विचार?
PS उबंटू संस्करण 14.04 है, Apache 2.4.7 है और मैंने अन्य कॉन्फ़िगरेशन फ़ाइलों को संपादित नहीं किया है।
/home
द्वारा सक्षम ACL के साथ कोई भी मौका मुहैया कराया गया है ? (अनुमति बिट के अंत में "+" संकेत है अगर यह मामला है (साथ की जाँच करें ls -l
))