2014-06-28 17 views
13

अस्वीकार जब मैं cap production deploy चलाता हूं तो मुझे cannot create directory ‘/var/www/application/repo’: Permission denied मिलता है।Capistrano mkdir अनुमति

की तरह अब तक मेरे द्वारा बनाए गए तैनाती उपयोगकर्ता:

adduser deploy 
adduser deploy sudo 

और मैं Capistrano में इस उपयोगकर्ता का उपयोग करें।

दरअसल, जब मैं [email protected] लिए लॉग इन करें मैं डिफ़ॉल्ट रूप से sudo अनुमति, हर बार जब मैं sudo su की तरह स्पष्ट रूप से इसे सक्षम करने की आवश्यकता नहीं है।

मैं दो संभव समाधान देखें:

  1. उबंटू

में sudo सक्षम Capistrano में sudo सक्षम दुर्भाग्य से मैं उनमें से कोई भी कैसे करना है पता नहीं है।

उत्तर

25

डिफ़ॉल्ट रूप से Capistrano 3 /var/www जो उपयोगकर्ता deploy द्वारा लिखने योग्य नहीं है करने के लिए तैनात। आपको निम्न आदेश का उपयोग कर /var/www से deploy उपयोगकर्ता के स्वामित्व को बदलने की आवश्यकता है।

sudo chown deploy:deploy /var/www/ 

इसके बाद, आपको अनुमति त्रुटि के बिना अपने ऐप को तैनात करने में सक्षम होना चाहिए।

+4

अगर कोई अमेज़ॅन ईसी 2 '' 'सुडो चोउन ec2-user का उपयोग कर रहा है: ec2-user/var/www /' ' – marman

+0

आपको सबसे अधिक संभावना है -R का उपयोग करने की आवश्यकता होगी ताकि सभी उपनिर्देशिका उपयोगकर्ता को तैनात कर सकें: 'सूडो चाउन -आर तैनाती: तैनाती/var/www /' –