मैंने अभी हाल ही में अपने RoR को लागू करने का निर्णय लियाएक उत्पादन प्रयोगात्मक वातावरण में परियोजना। जब मैं अपने मुख्य ऐप पेज को देखने की कोशिश कर रहा हूं, तो समस्या यह है कि अपाचे इसके बजाय सार्वजनिक निर्देशिका की सामग्री दिखाएगा।
महत्वपूर्ण लेख:
- मैंने सार्वजनिक से index.html फ़ाइल हटा दी है (पहले, अपाचे रेल स्वागत पृष्ठ दिखाएगा)
मेरे पास अपने रूट में एक मैप रूट रूट है। आरबी - जो मेरे देव संवर्धन में पूरी तरह से काम करता था।
map.root: कंट्रोलर => "होम"
मैं वर्चुअल होस्ट फ़ाइल का उपयोग कर रहा हूं जो स्वचालित रूप से capistrano तैनाती के द्वारा बनाई गई थी / Etc / apache2 / साइटों से उपलब्ध / APPNAME
इसकी सामग्री:
NameVirtualHost specific.ip.address: 80
ServerName specific.ip.address
DocumentRoot / var / www / appname / current / public
देव वातावरण (जिसमें सब कुछ ठीक काम करता है):
रूबी और रेल्स ने मेरी मैकबुक प्रो पर डिफ़ॉल्ट मोंगरेल कॉन्फ़िगरेशन का उपयोग करके स्थापित किया
प्रायोगिक उत्पादन वातावरण (जहां मुझे समस्या का सामना करना पड़ रहा है):
- Ubuntu 9.04 32 बिट
रेल, रूबी, अपाचे, गिट (स्थानीय), यात्री और कैपिस्ट्रानो को निम्न निर्देशों में स्थापित और कॉन्फ़िगर किया गया था: http://hackd.thrivesmarthq.com/how-to-setup-a-linux-server-for-ruby-on-rails-with-github-and-phusion-passenger
सभी चरणों को ठीक किया गया, जिसमें कैपिस्ट्रानो की तैनाती भी शामिल थी, जिसने सफलतापूर्वक अपना ऐप निम्न में तैनात किया: / Var / www / APPNAME / वर्तमान /
जैसा कि ऊपर बताया गया है, जब मेरा मुख्य ऐप पेज देखने की कोशिश कर रहा है - अपाचे मेरे सार्वजनिक डायर की सामग्री को दिखाएगा (भले ही मेरे पास index.html नहीं है और मेरे पास मैप रूट रूट है जो देव में काम करता है)
सादर, जेसन
उत्तर:
जवाब के लिए 3 № 1जोड़ना
Options -Indexes
अपने virtualhost में एक निर्देशिका कॉन्फ़िगरेशन सेटिंग्स के लिए। में या तो
<Directory />
Options -Indexes
</Directory>
या आपके दस्तावेज़ रूट में
<Directory /var/www/appname/current/public>
Options -Indexes
</Directory>