Apache वेबसाइट को Caddy में कैसे माइग्रेट करें
ServBay Web Server के रूप में Caddy, Nginx और Apache उपलब्ध कराता है, जिससे उपयोगकर्ता अपनी परियोजना की आवश्यकताओं के अनुसार चुनाव कर सकते हैं। अधिकांश PHP फ्रेमवर्क और CMS प्रणाली के लिए, ServBay ने Caddy और Nginx के लिए पहले से ही URL Rewrite नियमों को डिफ़ॉल्ट रूप से सेट किया है, आमतौर पर आपको अतिरिक्त सेटिंग की आवश्यकता नहीं होती।
यह लेख आपको ServBay स्थानीय डेवेलपमेंट एनवायरनमेंट में, मूल Apache कॉन्फ़िगरेशन पर आधारित वेबसाइट को ServBay द्वारा प्रदत्त Caddy सर्वर पर चलाने के लिए गाइड करता है। हम सामान्य Laravel और WordPress प्रोजेक्ट के उदाहरण से समझाएंगे।
ServBay द्वारा Apache सपोर्ट के बारे में
ServBay वेब सर्वर के रूप में Apache को पूरी तरह सपोर्ट करता है। यदि आप चाहते हैं कि ServBay के डिफ़ॉल्ट वेब सर्वर को Apache में बदलें, या ServBay में Apache वेबसाइट कैसे सेट करें, यह जानना चाहते हैं, तो कृपया इन डाक्यूमेंट्स को देखें: डिफ़ॉल्ट वेब सर्वर को Apache में कैसे स्विच करें। इस लेख का फ़ोकस है मौजूदा Apache कॉन्फ़िगरेशन वाली वेबसाइट को ServBay के Caddy एनवायरनमेंट में माइग्रेट करना।
अवलोकन
वेबसाइट को एक वेब सर्वर से दूसरे पर माइग्रेट करना उसमें शामिल फाइलों और कॉन्फ़िगरेशन को एडजस्ट करना होता है। ServBay उपयोगकर्ताओं को Caddy को वेब सर्वर के रूप में उपयोग करने की सुविधा देता है और अधिकतर PHP फ्रेमवर्क और CMS के लिए “आउट-ऑफ-द-बॉक्स” सपोर्ट प्रदान करता है। यानी ServBay आवश्यक सेटिंग्स, जैसे Rewrite नियम, अपने आप कर देता है। इसलिए, Apache आधारित वेबसाइट को ServBay के Caddy एनवायरनमेंट में माइग्रेट करना आमतौर पर बहुत आसान है। मुख्य स्टेप है वेबसाइट को ServBay में सही तरीके से “एड करना”।
माइग्रेशन से पहले की तैयारी
किसी भी माइग्रेशन स्टेप से पहले, कृपया ये तैयारी करना सुनिश्चित करें:
- फाइल बैकअप करें: वेबसाइट की सभी फाइलों का सम्पूर्ण बैकअप लें, जिसमें मुख्य डायरेक्टरी की कोड, इमेज, अपलोड फाइलें आदि शामिल हो।
- डेटाबेस बैकअप करें: वेबसाइट द्वारा उपयोग किए जा रहे डेटाबेस को एक्सपोर्ट कर पूरी तरह से बैकअप लें। ServBay MySQL, PostgreSQL, MongoDB जैसे कई डेटाबेस को सपोर्ट करता है, तो कृपया उपयुक्त टूल से बैकअप लें।
- ServBay स्थापित करें: सुनिश्चित करें कि आपने macOS पर ServBay सफलतापूर्वक इंस्टॉल और चालू कर लिया है।
- Caddy सॉफ़्टवेयर पैकेज सक्रिय रखें: ServBay एप्लिकेशन में Caddy पैकेज को चालू होने की पुष्टि करें।
Laravel वेबसाइट को Caddy में माइग्रेट करना
मान लीजिए आपके पास एक Laravel वेबसाइट है, जिसकी Apache कॉन्फ़िगरेशन निम्न प्रकार है:
Apache का सामान्य कॉन्फ़िगरेशन उदाहरण (ServBay के बाहर)
यह एक उदाहरण है कि कैसे Apache VirtualHost को Laravel वेबसाइट के लिए सेट किया जाता है। ध्यान दें कि DocumentRoot
public
डायरेक्टरी पर सेट है और AllowOverride All
के कारण .htaccess
में Rewrite नियम सक्षम हैं।
apache
<VirtualHost *:80>
ServerName laravel.demo
DocumentRoot /path/to/your/laravel/public
<Directory /path/to/your/laravel/public>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
# आम तौर पर PHP हैन्डलिंग सेटअप की जाती है, जैसे FPM या mod_php के साथ
# FilesMatch \.php$>
# SetHandler "proxy:unix:/path/to/php-fpm.sock|fcgi://localhost"
# </FilesMatch>
</VirtualHost>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
ServBay में इस Laravel वेबसाइट को चलाना (Caddy का उपयोग करते हुए)
ServBay में, आपको ऊपर दिए गए Apache कॉन्फ़िगरेशन को मैन्युअली Caddy में ट्रांसलेट या एडिट करने की जरूरत नहीं है। ServBay की डिज़ाइन फिलॉसफी: लोकल डेवेलपमेंट सेटअप को बेहद आसान बनाना। ऐसे लोकप्रिय फ्रेमवर्क के लिए, जब भी आप वेबसाइट जोड़ते हैं, ServBay अपने आप सही Caddy सेटिंग बना देता है, जिसमें public
डायरेक्टरी और Rewrite नियम दोनों शामिल हैं।
वास्तविक स्टेप्स:
- अपनी पूरी Laravel प्रोजेक्ट फाइल को ServBay के साइट्स रूट डायरेक्टरी के एक सब-फ़ोल्डर में रखें। सुझाया जाता है:
/Applications/ServBay/www/your-laravel-project
। सुनिश्चित करें किpublic
फोल्डर इसी लोकेशन के नीचे हो। - ServBay एप्लिकेशन खोलें।
- “वेबसाइट्स (Websites)” मैनेजमेंट इंटरफ़ेस पर जाएँ।
- “Add Website” बटन पर क्लिक करें।
- पॉप-अप सेटिंग विंडो में:
- डोमेन (Domain): वेबसाइट के लिए इच्छित डोमेन डालें, जैसे
laravel.servbay.demo
। ServBay इसे आपके लोकल hosts फ़ाइल में भी जोड़ देगा। - वेबसाइट रूट (Document Root): “Browse” पर क्लिक कर के अपने Laravel प्रोजेक्ट के
public
डायरेक्टरी जैसे/Applications/ServBay/www/your-laravel-project/public
को चुनें। - Web Server:
Caddy
चुनें। - PHP संस्करण (PHP Version): अपने प्रोजेक्ट के अनुकूल PHP वर्ज़न चुनें।
- Application Type: Laravel चुनें। यह ServBay के लिए ऑटो-कॉन्फ़िगरेशन की कुंजी है।
- डोमेन (Domain): वेबसाइट के लिए इच्छित डोमेन डालें, जैसे
- “Save” या “Add” पर क्लिक करें।
इन स्टेप्स के बाद, ServBay अपने आप laravel.servbay.demo
पर Caddy कॉन्फ़िगरेशन कर देगा, public
डायरेक्टरी, URL Rewrite और PHP फारवर्डिंग सब सेट हो जाएगा। अब आप अपने ब्राउज़र में http://laravel.servbay.demo
ओपन करके वेबसाइट चला सकते हैं।
सैद्धांतिक Caddy कॉन्फ़िगरेशन उदाहरण (सिर्फ समझ के लिए, ServBay ऑटो-जेनरेट करता है)
यह बस समझाने के लिए है कि ServBay क्या ऑटो-जनरेट करता है। आपको इसे खुद एडिट करने या बनाने की आवश्यकता नहीं है।
bash
laravel.servbay.demo {
# वेबसाइट रूट डायरेक्टरी सेट करें, public फोल्डर की ओर
root * /Applications/ServBay/www/your-laravel-project/public
# PHP FastCGI सेट करें
# ServBay PHP वर्ज़न और सेटिंग के अनुसार सही socket चुनेगा
php_fastcgi unix//Applications/ServBay/tmp/php-cgi.sock
# स्टैटिक फाइल सर्व करने के लिए
file_server
# Laravel का मुख्य Rewrite नियम: अगर फाइल/फोल्डर अस्तित्व में नहीं है, तो index.php पर rewrite करें
@notStatic {
not {
file {
try_files {path} {path}/ /index.php?{query}
}
}
}
rewrite @notStatic /index.php
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
WordPress वेबसाइट को Caddy में माइग्रेट करना
मान लीजिए आपके पास WordPress वेबसाइट है, जिसकी Apache सेटिंग निम्न हो सकती है:
Apache का सामान्य कॉन्फ़िगरेशन उदाहरण (ServBay के बाहर)
यह एक उदाहरण है कि गैर-ServBay एनवायरनमेंट में Apache VirtualHost के लिए WordPress वेबसाइट कैसे सेट करते हैं। WordPress आम तौर पर रूट डायरेक्टरी पर सेट होता है और URL Rewrite के लिए .htaccess
पर निर्भर करता है।
apache
<VirtualHost *:80>
ServerName wordpress.demo
DocumentRoot /path/to/your/wordpress
<Directory /path/to/your/wordpress>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
# आम तौर पर PHP हैंडलिंग सेटअप की जाती है
# FilesMatch \.php$>
# SetHandler "proxy:unix:/path/to/php-fpm.sock|fcgi://localhost"
# </FilesMatch>
</VirtualHost>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
ServBay में इस WordPress वेबसाइट को चलाना (Caddy का उपयोग करते हुए)
Laravel की तरह ही, ServBay में WordPress चलाते समय और Caddy को वेब सर्वर के रूप में चुनते समय, आपको Caddy कॉन्फ़िगरेशन मैन्युअली लिखने की जरूरत नहीं। ServBay WordPress की ज़रूरतें ऑटो-डिटेक्ट करके सही Caddy सेटिंग बना देता है।
वास्तविक स्टेप्स:
- अपनी WordPress फाइलों को ServBay के साइट्स रूट डायरेक्टरी के एक सब-फ़ोल्डर में रखें। जैसे
/Applications/ServBay/www/your-wordpress-site
। सुनिश्चित करें किindex.php
,wp-admin
,wp-includes
आदि इसी डायरेक्ट्री में हैं। - ServBay एप्लिकेशन खोलें।
- “वेबसाइट्स (Websites)” मैनेजमेंट इंटरफ़ेस पर जाएँ।
- “Add Website” बटन पर क्लिक करें।
- पॉप-अप सेटिंग विंडो में:
- डोमेन (Domain): जैसे
wordpress.servbay.demo
। - वेबसाइट रूट (Document Root): ब्राउज़ पर क्लिक कर अपनी WordPress रूट डायरेक्टरी चुनें, जैसे
/Applications/ServBay/www/your-wordpress-site
। - Web Server:
Caddy
चुनें। - PHP संस्करण (PHP Version): अपन प्रोजेक्ट के मुताबिक PHP वर्ज़न चुनें।
- Application Type: WordPress चुनें।
- डोमेन (Domain): जैसे
- “Save” या “Add” पर क्लिक करें।
ServBay अपने आप wordpress.servbay.demo
वेबसाइट के लिए उचित Caddy कॉन्फ़िगरेशन कर देगा, साइट रूट, URL Rewrite (परमालिंक के लिए), और PHP हैंडलिंग सब सेट हो जाएगा। आप अब ब्राउज़र में http://wordpress.servbay.demo
खोल सकते हैं और WordPress तथा उसके परमालिंक सही से काम करेंगे।
सैद्धांतिक Caddy कॉन्फ़िगरेशन उदाहरण (सिर्फ जानकारी के लिए)
यह WordPress आवश्यकताओं के समान एक उदाहरण है—इसे आपको मैन्युअली बनाने की ज़रूरत नहीं।
bash
wordpress.servbay.demo {
# वेबसाइट रूट डायरेक्टरी सेट करें
root * /Applications/ServBay/www/your-wordpress-site
# PHP FastCGI सेट करें
php_fastcgi unix//Applications/ServBay/tmp/php-cgi.sock
# फाइल सर्विस इनेबल करें
file_server
# WordPress मुख्य Rewrite नियम: परमालिंक सेटिंग
# अगर फाइल/डायरेक्टरी नहीं है, तो index.php पर rewrite करें
@notStatic {
not {
file {
try_files {path} {path}/ /index.php?{query}
}
}
}
rewrite @notStatic /index.php
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
सारांश
Apache पर कॉन्फ़िगर की गई Laravel या WordPress वेबसाइट को ServBay के Caddy सर्वर में माइग्रेट करना बेहद आसान है। ServBay द्वारा सबसे सामान्य ऐप्लिकेशन प्रकारों के लिए इनबिल्ट समर्थन की वजह से, आपको Apache की .htaccess
या VirtualHost सेटिंग को Caddyfile सिंटैक्स में बदलने की जरूरत नहीं पड़ती। बस ServBay एप्लिकेशन के “वेबसाइट्स (Websites)” इंटरफ़ेस में अपनी वेबसाइट को सही डोमेन, वेबसाइट रूट, वेब सर्वर (Caddy) और एप्प्लिकेशन टाइप (Laravel या WordPress) के साथ जोड़िए—ServBay आपके लिए सभी आवश्यक Caddy सेटिंग्स, जिनमें जटिल Rewrite नियम भी शामिल हैं, अपने आप बना देता है।
यह ऑटोमेटेड सेटअप प्रक्रिया माइग्रेशन और स्थानीय डेवलपमेंट को बेहद आसान बना देता है, जिससे आप सर्वर सेटिंग्स में उलझे बिना अपने कोड पर फोकस कर सकते हैं।