2012-07-14 18 views
5

पर वेब प्रक्रिया अनुमतियां मैं एक नोब हूं और एडब्ल्यूएस पर वाईआई ट्यूटोरियल के माध्यम से चल रहा हूं। अब तक मैं सब कुछ प्राप्त करने और चलाने में सक्षम हूं - MySQL कनेक्शन सहित। लेकिन अब मैं कुछ मॉडल वर्ग बनाने में मदद के लिए जीआई कोड जनरेशन टूल का उपयोग कर रहा हूं।वाईआई/लिनक्स

generating models/User.php 
      Unable to write the file '/var/www/html/blog/protected/models/User.php'. 
done! 

प्रलेखन भी मुझसे कहता है:

Info: Because the code generator needs to save the generated code into files, it is 
required that the Web process have the permission to create and modify the corresponding 
files. For simplicity, we may give the Web process the write permission to the whole 
/www/blog directory. Note that this is only needed on development machines when using Gii. 

यह मेरे लिए समझ में आता है और के रूप में उपयोगकर्ताओं पर लागू मैं लिनक्स अनुमतियों के बुनियादी तर्क समझ में ऐसा करने में, मैं निम्नलिखित त्रुटि हो रही है और समूह ... लेकिन प्रक्रिया नहीं है। क्या कोई मुझे प्राइमर को इंगित कर सकता है कि जीआईआई प्रक्रिया को वेबूट पर लिखने की अनुमति कैसे दें (मेरे मामले में:/var/www/html/blog /) निर्देशिका?

+0

के बाद मार डाला जाना चाहिए कि जोड़ना चाहते थे मैंने उत्पादन सर्वर पर जीआई चलाने के खतरे को पढ़ और समझ लिया है। हालांकि, config/main.php फ़ाइल में आईपी फ़िल्टर सेटिंग केवल मेरे सार्वजनिक आईपी पते से जीआई को चलाने की अनुमति देने के लिए सेट है। तो एक लाइव एडब्ल्यूएस इंस्टेंस चला रहा है (जैसा कि डब्ल्यूएएमपी लोकहोस्ट के विपरीत) ऐसा लगता है कि यह अभी भी सुरक्षित होगा। –

+0

और अपडेट: मैंने इसे ठीक से समझने के बिना त्वरित फिक्स करने की गलती की और ... chmod -R 0644/var/www/html/blog/... और मैं अब पेज तक नहीं पहुंच सकता जिसका मतलब है कि मेरे पास है आवेदन बंद करो। ... मदद!! –

+1

'755' सेट करें। 'प्रक्रिया' को अनुमतियों की आवश्यकता नहीं है, स्क्रिप्ट करता है, इस मामले में 'Gii'। हालांकि, अगर अपाचे ने फ़ोल्डर्स पर एक्सेस (7) को पढ़/लिख/निष्पादित किया है, तो इसे काम करना चाहिए, आपको 'जीआईआई' कॉन्फ़िगरेशन में अपना आईपी जोड़ना चाहिए। – adamors

उत्तर

5

जीआई वेबसेवर उपयोगकर्ता द्वारा फ़ाइलों को पढ़ने और लिखने के लिए उत्पन्न प्रक्रिया का उपयोग करता है। यह तब उपयोगकर्ता है जिसके लिए फ़ाइल लिखने की अनुमति की आवश्यकता है। डेबियन/उबंटू पर उपयोगकर्ता www-data है। जांचें कि यह आपके ओएस के लिए क्या है और उस उपयोगकर्ता को उस फ़ोल्डर में अनुमतियां लिखने दें।

+0

जैसा कि दूसरे उत्तर में बताया गया है, www-data आमतौर पर समूह (शायद नाम भी है) तो समूह को उस समूह में बनाकर पर्याप्त होना चाहिए – spuas

7

मैं सभी उपयोगकर्ता को वेबपृष्ठ फ़ाइल को पढ़ने, लिखने और उत्साहित करने के लिए priverlege देता हूं।

$sudo chmod -R og=rwx webapp_folder 

और अनुमति समस्या हल हो गई, लेकिन यह सबसे अच्छा तरीका नहीं हो सकता है।

+0

समूह को अपाचे समूह में बदलना बेहतर होगा (आमतौर पर www -डेटा 'या' www ') और समूह लिखने की अनुमति दें – spuas

0

FYI करें, आदेश फ़ोल्डर या निर्देशिका की तरह आप फ़ाइल उपयोगकर्ता ब्राउज़र लिख सकते हैं और इसके विपरीत करने के लिए एक ही है ... लेकिन Yii के लिए लेखन की अनुमति का उपयोग करने की ..

इस

sudo chmod -R 0777 your_project_name/ 
का पालन करें आदेश के द्वारा बनाई गई है, तो

# 
# If you wish httpd to run as a different user or group, you must run 
# httpd as root initially and it will switch. 
# 
# User/Group: The name (or #number) of the user/group to run httpd as. 
# It is usually good practice to create a dedicated user and group for 
# running httpd, as with most system services. 
# 
User daemon 
Group daemon 

उपयोगकर्ता और httpd का समूह "डेमॉन" कर रहे हैं:

+0

पाठ को कोई समझ नहीं आता है। – Mike

3

अपने httpd.conf फाइल में यह लाइनें हैं। अब एक टर्मिनल में निम्न आदेश टाइप करें:

chown -R daemon:daemon /path/to/htdocs/directory 

कभी कभी यह आदेश प्रकार

sudo su 

अब जीआईआई chmod के साथ सुरक्षित फ़ोल्डर में फ़ाइलों को लिख सकते हैं 775 अनुमतियों