2013-08-06 15 views
10

मैं लगभग एक सप्ताह तक सफलतापूर्वक वाग्रेंट चला रहा हूं। कल रात मैंने योनि रीलोड चलाया और अब मैं अपनी साइटों तक नहीं पहुंच सकता।वग्रेंट 403 निषिद्ध

  • VirtualBox के संस्करण 4.2.16
  • Vagrant संस्करण 1.2.7
  • मेरे Vagrantfile और bootstrap.sh:

मेरे फ़ाइलों में/आवारा/ब्लॉग रहते https://github.com/kriskd/vagrant-settings

  • मैक
  • पर चल रहा है । पहले मेरी "स्वागत पृष्ठ" जो आवारा पर/रहती है पर/ब्लॉग

    http://localhost:4567/ 
    

    पर गाया मेरे सभी परियोजनाओं साइट के अंतर्गत फ़ोल्डर हैं। उदाहरण के लिए,/vagrant/साइट्स/test index.html प्रस्तुत नहीं करेगा। मैं पहुँच के लिए निम्न

    निषिद्ध अनुमति

    आप की जरूरत नहीं है मिल/इस सर्वर पर। vhosts

    <VirtualHost *:80> 
        DocumentRoot "/vagrant/Sites/test" 
        ServerName test 
        <Directory "/vagrant/Sites/test"> 
        AllowOverride All 
        </Directory> 
    </VirtualHost> 
    

    जड़ के स्वामित्व में हैं: अपाचे/2.4.6 (उबंटू) स्थानीय होस्ट पोर्ट 4567

    vhost पर सर्वर की तरह दिखता है। मेरी प्रोजेक्ट फाइलों का स्वामित्व योनेंट और chmod'ed 0777.

    सफलता के बाद, मैंने पूरी तरह से योनि नष्ट कर दिया और बाद में लोकलहोस्ट होस्ट स्वागत पृष्ठ ने वर्जित त्रुटि के साथ प्रतिपादन बंद कर दिया।

    उत्तर

    7

    मेरा झुकाव यह है कि यह बिल्कुल एक योनि समस्या नहीं है बल्कि पूरी तरह से अपाचे कॉन्फ़िगरेशन गड़बड़ है। ऐसी कुछ चीजें हैं जिन्हें मैं जांचने के लिए सोच सकता हूं।

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

    चूंकि आपने अपाचे 2.4, there have been changes in the configs from 2.2 का उल्लेख किया है। सुनिश्चित करें कि आपके Allow from all कथन अब Require all granted पढ़ते हैं। (यदि आप 2.2 पर अभी भी थे, तो आप यह सुनिश्चित करना चाहते है कि वे Deny from all के बजाय Allow from all कहा।) या तो मामले में, आपको प्रत्येक <VirtualHost> में इस सेट कर सकते हैं, या मुख्य httpd.conf फ़ाइल के अपने <Directory /> ब्लॉक में एक डिफ़ॉल्ट की स्थापना की।

    अधिक अस्पष्ट हो रहा है, आप selinux के लिए जांच सकते हैं, हालांकि मुझे पूरा यकीन है कि यह डिफ़ॉल्ट रूप से उबंटू में मौजूद नहीं है। (यह CentOS में है, उदाहरण के लिए।)

    +0

    धन्यवाद, "सभी दिए गए सभी की आवश्यकता है" वहां के रास्ते का मेरा हिस्सा मिला। मेरी रूट में सामग्री जहां लोकहोस्ट पॉइंट प्रस्तुत करता है, हालांकि मैं 'http: // test: 4567/'पर परीक्षण फ़ोल्डर में सामग्री तक नहीं पहुंच सकता लेकिन मैं इसे http: // localhost: 4567/test पर प्राप्त कर सकता हूं 'जो वांछनीय नहीं है। – Kris

    +0

    बस अड्डों को कवर करने के लिए, क्या आपने सत्यापित किया है कि आपके '/ etc/hosts' फ़ाइल में '127.0.0.1 टेस्ट' है? –

    +0

    जांच के लिए धन्यवाद, हाँ मेरे पास मैक होस्ट फ़ाइल में है। वर्णित मेरा सेटअप अपाचे के पिछले संस्करण के साथ बेकार ढंग से काम करता था, लेकिन अपग्रेड के बाद अलग हो गया। – Kris

    2

    यह हल हो गया है और अंत में कुछ बहुत ही सरल चीजों पर आ गया है।

    • उपयोग बजाय
    • एक ही स्तर पर प्रत्येक वेबसाइट की सामग्री रखो "सभी से की अनुमति दें" अर्थात् /vagrant/Sites/default, /vagrant/Sites/test, /vagrant/Sites/real-site
    • .conf विस्तार इस तरह के परीक्षण के रूप में नाम vhost में जोड़े की "सभी दी गई आवश्यक" .conf और real-site.conf
    • साइट्स का सम्मान करने के लिए सभी को vhosts को अनुमति दें।htaccess फ़ाइल (मुझे एहसास हुआ कि मेरी मूल पोस्ट में, यह खो गया है क्योंकि मैंने इसे हल करने का प्रयास किया था)

    सभी बहुत ही बुनियादी चीजें जो मुझे एक सप्ताह के बेहतर हिस्से के लिए प्रेरित करती हैं। मुझे उम्मीद है कि यह किसी और की मदद कर सकता है।

    0
    cd /etc/apache2/sites-available 
    for file in `ls *`; do sed 's/\(.*<\/Directory.*>\)/Require\ all\ granted\n\1/' $file > $file.new;mv $file.new $file ; done; 
    

    क्योंकि यह पहले से काम किया, मैं फ़ाइल

    2

    द्वारा ठीक फ़ाइल पर समय बर्बाद नहीं होगा मैं जब DocumentRoot बदलते ही समस्या थी।

    आपकरने के लिए अपने DocumentRoot बदल दिया है के बाद से "/ किसी भी/path/foo/बार", सुनिश्चित करें कि आप अनुमतियाँ इस पथ के लिए "apache2.conf" पर सेट किया हुआ है। के लिए

    खोज:

    <Directory /any/path/foo/bar> 
    

    apache2.conf

    में और इस तरह एक नया खंड जोड़ें:

    <Directory /any/path/foo/bar> 
         Options Indexes FollowSymLinks 
         AllowOverride All 
         Require all granted 
    </Directory> 
    

    और मेरा अनुमान है कि सब कुछ ठीक होने वाला है!

    संबंधित मुद्दे