खोज…
टिप्पणियों
साझा होस्टिंग पर लारवेल परियोजना की तैनाती के बारे में अधिक जानकारी प्राप्त करने के लिए, इस गीथूब रेपो पर जाएं।
लिनक्स सर्वर पर साझा होस्टिंग पर Laravel 5 ऐप
डिफ़ॉल्ट रूप से लारवेल प्रोजेक्ट का public
फ़ोल्डर ऐप की सामग्री को उजागर करता है जिसे किसी से भी कहीं से भी अनुरोध किया जा सकता है, बाकी ऐप कोड उचित अनुमतियों के बिना किसी के लिए अदृश्य या दुर्गम है।
अपनी विकास मशीन पर एप्लिकेशन विकसित करने के बाद, इसे एक उत्पादन सर्वर पर धकेलने की आवश्यकता है ताकि इसे इंटरनेट के माध्यम से कहीं से भी एक्सेस किया जा सके - सही?
अधिकांश एप्लिकेशन / वेबसाइटों के लिए पहली पसंद होस्टिंग सेवा प्रदाता जैसे GoDaddy, HostGator आदि से होस्टिंग पैकेज का उपयोग करना है, जो मुख्य रूप से कम लागत के कारण होता है।
नोट : आप अपने प्रदाता से डॉक्यूमेंट_रूप को बदलने के लिए कह सकते हैं, इसलिए आपको बस इतना करना होगा कि अपने लारवल एप्लिकेशन को सर्वर (एफ़टीपी के माध्यम से) अपलोड करें, रूट को {ऐप} / पब्लिक में बदलने का अनुरोध करें और आपको अच्छा होना चाहिए।
इस तरह के साझा होस्टिंग पैकेज, हालांकि टर्मिनल एक्सेस और फ़ाइल अनुमतियों के संदर्भ में सीमाएँ हैं। डिफ़ॉल्ट रूप से किसी को अपना ऐप / कोड अपने साझा होस्टिंग खाते पर public_html
फ़ोल्डर में अपलोड करना होगा।
इसलिए यदि आप एक लारवेल परियोजना को एक साझा होस्टिंग खाते में अपलोड करना चाहते हैं, तो आप इसके बारे में कैसे जाएंगे? क्या आपको अपने साझा होस्टिंग खाते पर public_html
फ़ोल्डर में पूरे ऐप (फ़ोल्डर) को अपलोड करना चाहिए? - निश्चित रूप से सं
क्योंकि public_html
फोल्डर में सब कुछ "publically यानी किसी के द्वारा" सुलभ है, जो एक बड़ा सुरक्षा जोखिम होगा।
साझा होस्टिंग खाते के लिए एक परियोजना अपलोड करने के लिए कदम - लारवेल रास्ता
चरण 1
के रूप में एक ही स्तर पर एक फ़ोल्डर बुलाया laravel (या कुछ भी आप की तरह) बनाएं public_html
फ़ोल्डर।
Eg:
/
|--var
|---www
|----laravel //create this folder in your shared hosting account
|----public_html
|----log
चरण 2
अपने लार्वा प्रोजेक्ट (विकास मशीन पर) से public
फ़ोल्डर के अलावा हर चीज़ को कॉपी करें laravel
फ़ोल्डर में (सर्वर होस्ट - साझा होस्टिंग पर)।
आप उपयोग कर सकते हैं:
- सी-पैनल: जो सबसे धीमा विकल्प होगा
- एफ़टीपी क्लाइंट: आप साझा किए गए होस्टिंग खाते से कनेक्ट करने के लिए फाइलज़िला की तरह और एफ़टीपी अपलोड के माध्यम से अपनी फ़ाइलों और फ़ोल्डरों को स्थानांतरित करें
- मैप नेटवर्क ड्राइव: आप अपने साझाकरण खाते के रूट फ़ोल्डर में " ftp: // your-domain-name " को नेटवर्क पते के रूप में उपयोग करने के लिए कनेक्ट करने के लिए अपने विकास मशीन पर एक मैप्ड नेटवर्क ड्राइव भी बना सकते हैं।
चरण 3
अपने लार्वा प्रोजेक्ट (विकास मशीन पर) के public
फ़ोल्डर को खोलें, सब कुछ कॉपी करें और public_html
फ़ोल्डर (सर्वर होस्ट - साझा होस्टिंग खाते पर) में पेस्ट करें।
चरण 4
अब साझा होस्टिंग खाते पर public_html
फ़ोल्डर में index.php
फ़ाइल खोलें (cpanel संपादक या किसी अन्य जुड़े हुए खाते में) और:
परिवर्तन:
require __DIR__.'/../bootstrap/autoload.php';
सेवा:
require __DIR__.'/../laravel/bootstrap/autoload.php';
और बदलें:
$app = require_once __DIR__.'/../bootstrap/app.php';
सेवा:
$app = require_once __DIR__.'/../laravel/bootstrap/app.php';
सहेजें और बंद करें।
चरण 5
अब करने के लिए जाना laravel
और खुले (साझा होस्टिंग खाते -server पर) फ़ोल्डर server.php
फ़ाइल
परिवर्तन
require_once __DIR__.'/public/index.php';
सेवा:
require_once __DIR__.'../public_html/index.php';
सहेजें और बंद करें।
चरण 6
laravel/storage
फोल्डर (पुनरावर्ती) के लिए फ़ाइल अनुमतियाँ सेट करें और सभी फ़ाइलें, सब-फोल्डर और साझा होस्टिंग खाते पर उनके भीतर फ़ाइल - सर्वर 777
।
नोट: लिनक्स में फ़ाइल अनुमतियों के साथ सावधान रहें, वे डबल धार वाली तलवार की तरह हैं, अगर सही तरीके से उपयोग नहीं किया जाता है, तो वे आपके ऐप को हमलों के लिए असुरक्षित बना सकते हैं। लिनक्स फ़ाइल अनुमतियों को समझने के लिए आप https://www.linux.com/learn/tutorials/309527-understanding-linux-file-permissions पर पढ़ सकते हैं
चरण 7
जैसा कि लोकल / डेवलपमेंट सर्वर की .env
फाइल को git द्वारा .env
जाता है और इसे नजरअंदाज किया जाना चाहिए क्योंकि इसमें APP_KEY सहित सभी पर्यावरण चर हैं और इसे रिपॉजिटरी में धकेल कर सार्वजनिक नहीं किया जाना चाहिए। ' आप यह भी देख सकते हैं कि .gitignore
फ़ाइल है .env
इस प्रकार उल्लेख किया यह खजाने पर अपलोड नहीं होंगे।
उपरोक्त सभी चरणों का पालन करने के बाद, .env
फ़ोल्डर में एक .env
फ़ाइल .env
और उन सभी पर्यावरण चर को जोड़ें, जिनका उपयोग आपने स्थानीय / विकास सर्वर की .env
फ़ाइल से .env
फ़ाइल के उत्पादन सर्वर में किया है।
यहां तक कि app.php
एप्लिकेशन के कॉन्फिग फोल्डर में app.php
, database.php
जैसी कॉन्फ़िगरेशन फाइलें हैं जो इस चर को डिफ़ॉल्ट रूप से env()
दूसरे पैरामीटर में परिभाषित करती हैं env()
लेकिन इन फ़ाइलों में मानों को हार्ड-कोड नहीं करें क्योंकि यह डिफ़ॉल्ट को प्रभावित करेगा उन उपयोगकर्ताओं की कॉन्फ़िगरेशन फ़ाइलें जो आपकी रिपॉजिटरी खींचती हैं। तो यह मैन्युअल रूप से .env
फ़ाइल बनाने के लिए अनुशंसित है!
इसके अलावा .env-example
file देता है जिसे आप संदर्भ के रूप में उपयोग कर सकते हैं।
बस।
अब जब आप अपने सर्वर के साथ डोमेन के रूप में कॉन्फ़िगर किए गए url पर जाते हैं, तो आपके लार्वा ऐप को उसी तरह काम करना चाहिए, जैसे यह आपके लोकलहोस्ट - डेवलपमेंट मशीन पर काम करता है, जबकि अभी भी एप्लिकेशन कोड सुरक्षित है और बिना किसी फ़ाइल अनुमतियों के किसी के द्वारा भी सुलभ नहीं है।