Apache2 को / var / www / में प्रतीकात्मक लिंक से कैसे कॉन्फ़िगर करें?


14

मैं अपने Ubuntu (14.04) पर एक स्थानीय वेब सर्वर सेटअप करना चाहता हूं। इसलिए मैंने LAMP सर्वर प्राप्त करने के लिए सभी सॉफ़्टवेयर स्थापित किए।

समस्या यह है कि मैं अपनी virtualhosts बनाने के साथ कुछ गलत करता हूं। मैं अपनी लोकलहोस्ट पर अलग-अलग सबडोमेन बनाना चाहता था। तो उदाहरण के लिए site1.localhost और site2.localhost।

अपनी /var/www/निर्देशिका में मैंने एक प्रतीकात्मक लिंक "साइट 1" बनाया /home/user/Workspaces/site1

मेरी Apache error.log फ़ाइल में मुझे निम्न त्रुटि मिली।

[core:error] [pid 12679] [client 127.0.0.1:59006] AH00037: Symbolic link not allowed or link target not accessible: /var/www/site1

मेरे अपाचे विन्यास में मेरे पास है:

<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>

इसलिए मुझे लगता है कि फ़ोल्डर्स की अनुमतियों में कुछ गड़बड़ है। मैंने Google पर खोज की और मुझे कुछ लोगों को एक ही समस्या के साथ मिला, लेकिन वहां दिए गए सभी उत्तर काम नहीं आए। मैंने www-data समूह और इस तरह की चीजों के लिए अपना स्वयं का उपयोगकर्ता नाम tot जोड़ा।

इसलिए ls -la /var/wwwरिटर्न:

total 12
drwxrwsr-x  3 user www-data 4096 okt 13 19:08 .
drwxr-xr-x 14 root root     4096 okt  1 22:50 ..
drwxr-xr-x  2 root www-data 4096 okt  1 22:50 html
lrwxrwxrwx  1 root www-data   29 okt 13 19:08 site1 -> /home/user/Workspaces/site1/

और ls -la /home/juul/Workspaces/site1रिटर्न:

total 24
drwxrwxr-x 4 user www-data 4096 okt 13 18:21 .
drwxrwx--- 3 user user     4096 okt 13 17:31 ..
-rw-rw-r-- 1 user user        0 okt 13 18:21 index.html
drwxrwxr-x 4 user www-data 4096 okt 13 16:12 .metadata
drwxrwxr-x 5 user www-data 4096 okt 13 16:53 Project

उम्मीद है कि कोई मेरी मदद कर सकता है :-)

जवाबों:


5

ये अनुमतियां apacheआपको एक्सेस करने से रोक रही हैं

drwxrwx--- 3 user user     4096 okt 13 17:31 ..

आपको दूसरों के लिए निष्पादन अनुमति देने की आवश्यकता है:

chmod o+x /home/juul/Workspaces/

(और शायद पर /home/juul/भी)।


@ उत्तर के अनुसार, सुनिश्चित करें कि सभी निर्देशिका में "x" अनुमति सेट है। अगर किसी के पास नहीं है तो वह कभी काम नहीं करेगा
dawez

3

मेरे पास 14.04 पर एक मानक अपाचे स्थापित है। "Www-data" निर्दिष्ट करने वाली कोई फ़ाइल या निर्देशिका नहीं है। क्या आपने खुद इन सबको बदल दिया? वेब सर्वर सेट करने के तरीके के बारे में बहुत सारी पुरानी या बस गलत जानकारी है, इसलिए सावधान रहें कि आप किसका अनुसरण करते हैं और क्या काम नहीं करता है।

उस ने कहा, "साइट 1" htmlनिर्देशिका में होना चाहिए , और आपके स्वामित्व में होना चाहिए । यह वास्तव में एक सिमलिंक होने की आवश्यकता नहीं है; आप कॉन्फ़िगर फ़ाइल में एक अलग निर्देशिका निर्दिष्ट कर सकते हैं। कुछ इस तरह:

# Add this to the end of the existing 000-default.conf file (after "</VirtualHost>")
<VirtualHost *:80>
    <Directory  /home/user/Workspaces/site1>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
    </Directory>
    DocumentRoot /home/user/Workspaces/site1
    ServerName site1
</VirtualHost>

1

के लिए समाधान: प्रतीकात्मक लिंक की अनुमति नहीं है या लिंक लक्ष्य सुलभ नहीं है /var/www/html/mySymbolicLink:।

यह स्पष्ट रूप से अनुमतियों के साथ एक समस्या है। समस्या यह है कि आपके होम डायरेक्टरी के तहत HTML आपके उपयोगकर्ता के स्वामित्व में है, और अपाचे सर्वर किसी अन्य उपयोगकर्ता द्वारा चलाया जाता है, इसलिए यह आपके होम डायरेक्टरी तक नहीं पहुंच सकता है।

तब समाधान आपके समूह में उपयोगकर्ता के अपाचे को जोड़ रहा होगा, सामान्य रूप से आपके उपयोगकर्ता नाम के समान। तो, मेरे CentOS बॉक्स में मैंने इसे निम्न प्रकार किया:

sudo usermod -a -G dev apache

तो यह उपयोगकर्ता देव को समूह देव में जोड़ता है। अब मुझे निष्पादन अनुमति देने की आवश्यकता है।

में /home:

chmod g+x dev -R

यह केवल समूह के सदस्यों के लिए मेरे फ़ोल्डर में निष्पादन की अनुमति देगा। और बस। आपको अपने वेब सर्वर को चलाने के लिए अपाचे उपयोगकर्ता को संशोधित करना होगा, मेरा मानना ​​है कि उबंटू उपयोगकर्ता के लिए है www-data

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