FreeBSD के साथ एक वर्चुअल मशीन में एक वेब डेवलपर का ढेर

मैं एक कंप्यूटर से दूसरे और एक सिस्टम से दूसरे सिस्टम में जाने के लिए बहुत थक गया हूं, विकास के लिए वातावरण बढ़ा रहा हूं। मैं मुख्य रूप से पीएचपी / पायथन में लिखता हूं, इसलिए क्लासिक (एम / डब्ल्यू / एल) एएमपी बंडल आमतौर पर उपयोग किया जाता है। मैंने लंबे समय से सुना कि कुछ डेवलपर्स वर्चुअल मशीनों में चले गए, लेकिन मैंने खुद यह कदम उठाने की हिम्मत नहीं की, लेकिन खाली समय था और मैंने वेब विकास के लिए स्टैक उठा लिया और अब वर्चुअलबॉक्स वर्चुअल मशीन का उपयोग करें, एक पूर्ण-प्रणाली के साथ - फ्रीबीएसडी, जो उत्पादन के लिए जितना संभव हो उतना संभव है।



एक वर्चुअल मशीन में, सिस्टम विंडोज़ के बिना और न्यूनतम कॉन्फ़िगरेशन में काम करता है, इसलिए इसके लिए न्यूनतम संसाधनों की आवश्यकता होती है। पर्याप्त 64Mb की रैम भी होगी। Http, ssh के लिए पोर्ट बाहर की ओर भेजे जाते हैं। नतीजतन, मेरे पास बॉक्स में एक पूर्ण-सर्वर है, और वास्तविक सिस्टम के बाहर मैं एक ब्राउज़र, डीबगर और टर्मिनल के साथ एक पूर्ण आईडीई (नेटबीन्स / एक्लिप्स) का उपयोग करता हूं जो वर्चुअल मशीन तक पहुंचता है।



इसलिए, आगे मैं बताऊंगा कि यह सब कैसे इकट्ठा किया जाए और वर्चुअलबॉक्स के लिए तैयार छवि का लिंक दिया जाए, दूसरा चरण आईडीई को कॉन्फ़िगर करना होगा।





मैं वर्चुअल मशीन और इंस्टॉलेशन बनाने के सभी विवरणों को छोड़ दूंगा, यह कुछ भी दिलचस्प नहीं है, और पर्यावरण प्रत्येक के लिए अलग-अलग है। Freebsd.org पर, FreeBSD i386 8.1 स्थिर छवि को लिया गया, जिसे वर्चुअल मशीन में लोड किया गया, और फिर इंस्टॉलेशन चली गई।



FreeBSD कॉन्फ़िगर करें



स्थापना के बाद, पहली चीज जो मैं करता हूं वह है एसएसएच स्थानीय मशीन से इसे एक्सेस करने के लिए। और मैं वर्चुअल मशीन के डीएचसीपी के माध्यम से आईपी जारी करता हूं। /Etc/rc.d में ऐसा कुछ होना चाहिए:

ifconfig_em0 = "DHCP"

sshd_enable = "YES"



फिर मैंने बताया कि हम वर्चुअल बॉक्स से डीएचसीपी के माध्यम से एमओ इंटरफेस पर आईपी एड्रेस प्राप्त करेंगे। बाकी आवश्यक राक्षसों की शुरुआत है।



VirtualBox कॉन्फ़िगर करें



वर्चुअलबॉक्स सेटिंग्स में, मैं नेटवर्क-> पोर्ट फ़ॉरवर्डिंग पर जाता हूं और यह करता हूं:







होस्ट आईपी मेरी स्थानीय मशीन का आईपी पता है जिस पर वर्चुअलबॉक्स स्थापित किया गया है, अतिथि का आईपी वह पता है जिसे डीएचसीपी ने जारी किया था, आप इफकोनिग पर देख सकते हैं।



सुविधा के लिए, मैं SSH के माध्यम से रूट एक्सेस की अनुमति देता हूं, इसके लिए आपको PermitRootLogin हां लाइन को / etc / ssh / sshd_config में जोड़ना होगा



अब आप लोकल मशीन से VirtualBox से जुड़ सकते हैं। पोटीन या iTerm में, आपके डेस्कटॉप के आधार पर, # ssh 192.168.1.101 -p 2222 -l रूट का उपयोग करें और हम FreeBSD के अंदर हैं।



अगला, पोर्ट और एएमपी बंडल स्थापित और अपडेट किए गए हैं, जिसके बाद आप आईडीई को कॉन्फ़िगर करने के लिए आगे बढ़ सकते हैं।



डिबगर सेटिंग



सूक्ष्म बिंदु डीबगिंग है, जिसे आपको डेस्कटॉप से ​​एक्सेस करने की आवश्यकता है। सब कुछ बहुत सरलता से हल हो गया है। वीएम में पोर्ट से मैंने पीएचडी के लिए xdebug, और php.ini कॉन्फिग में मैं सिर्फ ऐड करता हूं:



zend_extension = / usr / स्थानीय / lib / php / 20090626 / xdebug.so

xdebug.remote_enable = पर

xdebug.remote_log = "/ var / log / xdebug.log"

xdebug.remote_host = 192.168.1.101

xdebug.remote_handler = dbgp

xdebug.remote_port = 9000



जहाँ, Remote_host मेरे डेस्कटॉप के आईपी पते के बराबर है जिस पर IDE पोर्ट 9000 पर सुनेगा।



नेटबीन्स में, सब कुछ बॉक्स से बाहर काम करता है, ग्रहण में आपको प्लगइन्स वितरित करना होगा। इसलिए, मैं आपको बताऊंगा कि मैं नेटबीन्स आईडीई में कैसे काम करता हूं।



NetBeans IDE कॉन्फ़िगर करें



सबसे पहले, मैं एक प्रोजेक्ट बनाता हूं और स्थानीय फ़ोल्डर निर्दिष्ट करता हूं जहां फाइलें संग्रहीत की जाएंगी, इसके गुणों पर जाएं -> कॉन्फ़िगरेशन चलाएं और लॉन्च को रिमोट वेब साइट (एफ़टीपी, एसएफटीपी) के रूप में चुनें, प्रोजेक्ट यूआरएल और इंडेक्स फ़ाइल निर्दिष्ट करें (डीबगर द्वारा आवश्यक)।







रिमोट कनेक्शन में, पोर्ट: 2222, लॉगिन: रूट और इसके पासवर्ड को संचालित किया जाता है। प्रारंभिक निर्देशिका उस फ़ोल्डर को इंगित करती है जिसे Apache वर्चुअल होस्ट के लिए एक्सेस करता है।







कुल मिलाकर



1) मुख्य प्रणाली सभी प्रकार के अनावश्यक राक्षसों से भरा नहीं है।

2) मेरे पास हमेशा एक पूर्ण-कंसोल है और सिस्टम के सभी लाभ (पोर्ट, क्रोन, आदि)

3) मेरे कोड के लिए वातावरण परिस्थितियों से निपटने के लिए जितना संभव हो उतना करीब है।

4) एक मशीन से दूसरी मशीन में पर्यावरण की आसान पोर्टेबिलिटी।

5) सब कुछ बहुत तेजी से काम करता है।



समाधान की लालित्य के एक अतिरिक्त तत्व के रूप में, मेरा होम राउटर काम करता है। अगर मुझे ग्राहक को एक ऐसी परियोजना दिखाने की ज़रूरत है जो मैं अभी काम कर रहा हूं, तो इसके लिए अपने घरेलू राउटर से होम राउटर पर पता router० को अग्रेषित करना, और १ ९ २.१६.1.१.१०१: 80० my० पर मेरी लोकल मशीन को भेजना।



आप तैयार छवि को यहां डाउनलोड कर सकते हैं । छवि में वर्तमान में Apache / PHP + Extensions / Python / Mysql / Phpmyadmin / ZendFramework और अन्य के स्थिर संस्करण शामिल हैं। SSH लॉगिन: रूट, पासवर्ड: toor; MYSQL लॉगिन: व्यवस्थापक, पासवर्ड: nimda। आभासी मेजबानों को फिर से लिखना, या / आदि / मेजबानों को फिर से लिखना मत भूलना, क्योंकि डिफ़ॉल्ट रूप से मेरा डोमेन और आईपी पते सेट हैं।



नव वर्ष 2011 की हार्दिक शुभकामनाएँ!



UPD: एक नया संग्रह भर दिया, अब अधिकतम संपीड़न वाली छवि का वजन 259Mb है, लिंक अपडेट किया गया है।



All Articles