कस्टम कॉन्फ़िगरेशन के साथ वेबसाइट जोड़ना
ServBay वेबसाइट जोड़ने के लिए लचीला विकल्प प्रदान करता है। ServBay द्वारा स्वचालित रूप से प्रबंधित मानक कॉन्फ़िगरेशन के अलावा, यह "कस्टम कॉन्फ़िगरेशन" मोड का भी समर्थन करता है। इस मोड के जरिए डेवलपर्स अपनी वेबसाइट के वेब सर्वर (Nginx, Caddy, Apache) की कॉन्फ़िगरेशन फ़ाइलों को सीधे एडिट और मैनेज कर सकते हैं, जो अधिकतम लचीलापन और नियंत्रण देता है। यह विशेष रूप से उन मामलों में उपयोगी है जहाँ बारीक ट्यूनिंग, गैर-मानक सेटिंग या उन्नत फीचर्स की जरूरत होती है।
कस्टम कॉन्फ़िगरेशन का महत्व
कस्टम कॉन्फ़िगरेशन चुनने का अर्थ है:
- पूर्ण नियंत्रण: आप उस वेबसाइट के सर्वर कॉन्फ़िगरेशन टुकड़े (जैसे Nginx का
server
ब्लॉक, Apache काVirtualHost
ब्लॉक, या Caddy की साइट परिभाषा) को सीधे एडिट कर सकते हैं। - उन्नत फीचर्स: ऐसे फीचर्स संभव हैं जिन्हें मानक मोड में सेटअप करना मुश्किल है, जैसे जटिल रीराइट नियम, विशेष प्रॉक्सी सेटिंग्स, कस्टम लॉग फॉर्मेट, खास सुरक्षा हेडर आदि।
- विशेष परिदृश्य: ऐसी स्थिति के लिए आदर्श जहां आपको प्रोडक्शन जैसी कॉन्फ़िगरेशन नक़ल करनी हो, विशेष मॉड्यूल जोड़ने हों या डीप डिबगिंग करनी हो।
हालांकि, इसका मतलब यह भी है कि आपको कॉन्फ़िगरेशन की शुद्धता और सुरक्षा के लिए स्वयं जिम्मेदार रहना होगा, जिसमें SSL सर्टिफिकेट का प्रबंधन भी शामिल है।
कस्टम कॉन्फ़िगरेशन के साथ वेबसाइट जोड़ने के चरण
- वेबसाइट पर जाएं: ServBay के बाएँ मेनू में
Websites
पर क्लिक करें। - नई वेबसाइट जोड़ें: वेबसाइट सूची के ऊपर
+
(प्लस) बटन पर क्लिक करें। - बुनियादी जानकारी भरें:
- Name: अपनी वेबसाइट के लिए एक आसानी से पहचाने जाने योग्य नाम दें (उदाहरण:
My Custom Project
)। - Domain: वह डोमेन लिखें जिसका उपयोग आप स्थानीय रूप से करना चाहते हैं (उदाहरण:
myproject.servbay.demo
)।
- Name: अपनी वेबसाइट के लिए एक आसानी से पहचाने जाने योग्य नाम दें (उदाहरण:
- वेब सर्वर चुनें:
Web Server
ड्रॉपडाउन मेनू से वह वेब सर्वर चुनें जिसका आप उपयोग करना चाहते हैं (Nginx, Caddy, या Apache)। यह चुनाव बहुत महत्वूपर्ण है, क्योंकि इससे चुने गए कॉन्फ़िगरेशन टेम्प्लेट और सर्वर सॉफ़्टवेयर निर्धारित होगा। - कस्टम कॉन्फ़िगरेशन सक्षम करें:
Custom Configuration
चेकबॉक्स को टिक करें। - टेम्प्लेट देखें और एडिट करें: टिक करने के बाद, नीचे दिए गए टेक्स्ट क्षेत्र में आपके चुने गए वेब सर्वर पर आधारित मूलभूत कॉन्फ़िगरेशन टेम्प्लेट अपने आप भर जाएगा। यह एक शुरुआती बिंदु है, जिसमें आपको जरुरत के अनुसार बदलाव करना होगा (और आमतौर पर करना भी चाहिए)।
कॉन्फ़िगरेशन टेम्प्लेट को समझना और एडिट करना
ServBay आपके चुने गए वेब सर्वर (Nginx, Caddy, Apache) के आधार पर विभिन्न कॉन्फ़िगरेशन टेम्प्लेट्स प्रदान करता है। आपको इन्हें अपनी वास्तविक प्रोजेक्ट आवश्यकता के अनुसार एडिट करना होगा।
1. Nginx कस्टम कॉन्फ़िगरेशन
यदि आपने Nginx चुना है, तो ServBay एक मूल server
ब्लॉक टेम्प्लेट प्रदान करेगा।
टेम्प्लेट की संरचना और मुख्य निर्देश:
nginx
# पोर्ट और प्रोटोकॉल को सुनना
listen 443 ssl; # HTTPS
# बाइंड किया गया डोमेन नाम
server_name myproject.servbay.demo;
# वेबसाइट की रूट डायरेक्टरी (कृपया सुनिश्चित करें कि यह डायरेक्टरी मौजूद हो)
root /Applications/ServBay/www/myproject.servbay.demo;
# डिफ़ॉल्ट इंडेक्स फ़ाइलें
index index.php index.html index.htm;
# SSL/TLS प्रोटोकॉल और एन्क्रिप्शन सूट्स (उदाहरण)
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers 'TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384';
ssl_prefer_server_ciphers on;
ssl_session_timeout 1d;
ssl_session_cache shared:ServBay:10m;
ssl_session_tickets off;
# SSL सर्टिफिकेट पथ (अगर HTTPS सक्षम किया गया है, तो इसे मैन्युअली सेट करना जरूरी है)
# 【महत्वपूर्ण】कृपया सुनिश्चित करें कि सर्टिफिकेट फाइलें मौजूद हैं और पथ सही है
ssl_certificate /Applications/ServBay/ssl/private/tls-certs/myproject.servbay.demo/myproject.servbay.demo.crt;
ssl_certificate_key /Applications/ServBay/ssl/private/tls-certs/myproject.servbay.demo/myproject.servbay.demo.key;
# PHP अनुरोधों को हैंडल करना (उदाहरण के लिए PHP 8.3, जरूरत पड़ने पर कॉन्फ़िगरेशन एडजस्ट करें)
set $php_version '8.3';
include enable-php-fpm-pathinfo.conf;
# अन्य कॉन्फ़िगरेशन, जैसे location ब्लॉक, रीराइट नियम आदि
location / {
try_files $uri $uri/ /index.php?$query_string;
}
# एक्सेस और एरर लॉग पाथ (वैकल्पिक)
# access_log /Applications/ServBay/logs/nginx/myproject.servbay.demo-access.log;
# error_log /Applications/ServBay/logs/nginx/myproject.servbay.demo-error.log;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
एडिट करने के मुख्य बिंदु:
- सुनिश्चित करें कि
server_name
आपके द्वारा सेट किए गए डोमेन से मेल खाता हो। root
डायरेक्टरी को आपके प्रोजेक्ट फोल्डर की ओर सही पथ दें।- अगर HTTPS चाहिए, तो
listen 443 ssl;
को अनकॉमेंट करें और जरूर सहीssl_certificate
तथाssl_certificate_key
पाथ दें। - जरूरत के अनुसार अन्य location ब्लॉक, रीराइट नियम, प्रॉक्सी सेटिंग्स आदि जोड़ें।
2. Caddy कस्टम कॉन्फ़िगरेशन
यदि आपने Caddy चुना है, तो ServBay एक Caddyfile फॉर्मेट में साइट डिफिनेशन टेम्प्लेट देगा।
टेम्प्लेट की संरचना और मुख्य निर्देश:
nginx
encode zstd gzip
import set-log myproject.servbay.demo # लॉग फाइल का नाम
import canonical-path
# वेबसाइट की रूट डायरेक्टरी (कृपया सुनिश्चित करें कि यह डायरेक्टरी मौजूद हो)
root * /Applications/ServBay/www/myproject.servbay.demo
# PHP अनुरोधों को प्रोसेस करना
route {
import php-rewrite-default 8.3 # PHP वर्शन 8.3
}
# TLS/SSL सेटिंग्स
# कृपया सर्टिफिकेट के पथ को सेट करें
# tls /Applications/ServBay/ssl/private/tls-certs/myproject.servbay.demo/myproject.servbay.demo.crt /Applications/ServBay/ssl/private/tls-certs/myproject.servbay.demo/myproject.servbay.demo.key
# फ़ाइल सर्वर सक्षम करें
file_server
# अन्य निर्देश, जैसे reverse_proxy, rewrite, header आदि
# ...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
एडिट करने के मुख्य बिंदु:
- सुनिश्चित करें कि शीर्ष स्तर का डोमेन
myproject.servbay.demo
सही है। root
निर्देश को अपने प्रोजेक्ट फोल्डर के सही पथ पर सेट करें।- SSL/TLS: Caddy सामान्यतया डोमेन के लिए HTTPS सर्टिफिकेट ऑटो-मैनेज करने की कोशिश करेगा।
.servbay.demo
जैसे लोकल डेवलपमेंट डोमेन के लिए यह प्रायः संभव नहीं है। अगर आपको HTTPS चाहिए, तोtls
निर्देश के साथ अपने मौजूदा सर्टिफिकेट और की की फाइल का पथ मैन्युअली सेट करने की दृढ़ता से सिफारिश है। सुनिश्चित करें कि फाइलें मौजूद हैं और पथ सही है। - अन्य ज़रूरत के निर्देश जोड़ें।
3. Apache कस्टम कॉन्फ़िगरेशन
यदि आपने Apache चुना है, तो ServBay एक <VirtualHost>
ब्लॉक टेम्प्लेट देगा।
टेम्प्लेट की संरचना और मुख्य निर्देश:
apache
ServerName myproject.servbay.demo
DocumentRoot "/Applications/ServBay/www/myproject.servbay.demo"
# SSL इंजन चालू करें
SSLEngine on
# SSL सर्टिफिकेट पथ
# 【महत्वपूर्ण】कृपया सुनिश्चित करें कि सर्टिफिकेट फाइलें मौजूद हैं और पथ सही है
SSLCertificateFile "/Applications/ServBay/ssl/private/tls-certs/myproject.servbay.demo/myproject.servbay.demo.crt"
SSLCertificateKeyFile "/Applications/ServBay/ssl/private/tls-certs/myproject.servbay.demo/myproject.servbay.demo.key"
# डायरेक्टरी परमिशन
<Directory "/Applications/ServBay/www/myproject.servbay.demo">
DirectoryIndex index.php index.html index.htm
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
# PHP-FPM कॉन्फ़िगरेशन (PHP 8.3)
Define PHP_VERSION 8.3
<FilesMatch \.php$>
SetHandler "proxy:unix:/Applications/ServBay/tmp/php-cgi-${PHP_VERSION}.sock|fcgi://localhost"
</FilesMatch>
# एरर और एक्सेस लॉग (वैकल्पिक)
ErrorLog "/Applications/ServBay/logs/apache/myproject.servbay.demo-ssl-error_log"
CustomLog "/Applications/ServBay/logs/apache/myproject.servbay.demo-ssl-access_log" common
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
एडिट करने के मुख्य बिंदु:
- सुनिश्चित करें कि
ServerName
आपके चुने हुए डोमेन से मेल खाता हो। DocumentRoot
को अपने प्रोजेक्ट फोल्डर के सही पथ पर सेट करें।<Directory>
ब्लॉक की परमिशन और विकल्प उचित तरह से सेट करें।- जरूरत के हिसाब से अन्य Apache निर्देश जैसे
RewriteEngine
,ProxyPass
आदि जोड़ें।
SSL सर्टिफिकेट प्रबंधन【महत्वपूर्ण】
जब आप कस्टम कॉन्फ़िगरेशन का उपयोग करते हैं, तो ServBay स्वचालित रूप से SSL सर्टिफिकेट जनरेट नहीं करेगा (जैसे कि खुद ही ServBay CA सर्टिफिकेट बनाए या ACME प्रोटोकॉल के जरिए Let's Encrypt सर्टिफिकेट प्राप्त करे)।
- आपको अपने SSL सर्टिफिकेट खुद प्राप्त या बनाना होगा, और उन्हें सर्वर द्वारा पहुँचे जाने योग्य लोकेशन पर रखना होगा।
- आप OpenSSL का उपयोग करके स्वयं-हस्ताक्षरित सर्टिफिकेट मैन्युअली बना सकते हैं, या ServBay द्वारा प्रदान किए गए CA (ServBay User CA या ServBay Public CA) से लोकल डेवलपमेंट सर्टिफिकेट साइन कर सकते हैं।
- Nginx, Caddy, या Apache की कस्टम कॉन्फ़िगरेशन में, जरूर
ssl_certificate
/ssl_certificate_key
(Nginx),tls
(Caddy), याSSLCertificateFile
/SSLCertificateKeyFile
(Apache) निर्देश का सही पथ दें जो आपके तैयार किए गए सर्टिफिकेट और प्राइवेट की फाइलों की ओर इशारा करे। - अगर कॉन्फ़िगरेशन फ़ाइल में SSL संबंधित निर्देश दिए गए हैं लेकिन संबंधित सर्टिफिकेट फ़ाइलें उपलब्ध नहीं हैं या पथ गलत है, तो वेब सर्वर शुरू या कॉन्फ़िगरेशन लोड नहीं कर सकेगा, जिससे वेबसाइट एक्सेस नहीं की जा सकेगी और संभवतः ServBay इंटरफ़ेस या सर्वर लॉग में एरर संदेश दिखाई देंगे।
लोकल डेवलपमेंट सर्टिफिकेट कैसे जनरेट और मैनेज करें, इसके लिए कृपया ServBay के SSL सर्टिफिकेट प्रबंधन दस्तावेज़ देखें।
वेब सर्वर बाइंडिंग
DANGER
एक महत्वपूर्ण बिंदु: जब आप किसी वेबसाइट के लिए कोई विशिष्ट वेब सर्वर (जैसे Nginx) चुनते हैं और कस्टम कॉन्फ़िगरेशन को सेव करते हैं, तो वह वेबसाइट उसी वेब सर्वर के साथ बंध जाती है।
- इसका अर्थ है कि सिर्फ तभी, जब ServBay में वर्तमान में एक्टिव Web Server सॉफ्टवेयर पैकेज वह चुना हुआ सर्वर हो (जैसे Nginx), तब ही वेबसाइट सही तरह से एक्सेस की जा सकती है।
- यदि आप ServBay में
सेवाएँ
→डिफ़ॉल्ट वेब सर्वर
में Apache या Caddy को स्विच कर देते हैं, तो Nginx कस्टम कॉन्फ़िगरेशन वाली वेबसाइट एक्सेस नहीं होगी, क्योंकि संबंधित Nginx कॉन्फ़िगरेशन लोड नहीं होगी। - उल्टा भी सच है: Caddy या Apache की कस्टम कॉन्फ़िगरेशन वेबसाइट्स भी केवल तभी काम करेंगी जब संबंधित सर्वर सॉफ्टवेयर पैकेज चालू होगा।
सेव और प्रभावी बनाएं
सभी सेटिंग्स एडिट करने के बाद, दाएँ निचले कोने में Save
बटन पर क्लिक करें। ServBay आपकी कस्टम कॉन्फ़िगरेशन सेव करेगा और चुने गए वेब सर्वर को पुनः लोड करने की कोशिश करेगा, ताकि बदलाव प्रभावी हो सकें।अगर कॉन्फ़िगरेशन में सिन्टेक्स एरर है तो सेविंग असफल हो सकती है या सर्वर का रीलोड फेल हो सकता है। कृपया समस्या के लिए ServBay की नोटिफिकेशन या संबंधित सर्वर की एरर लॉग (अमूमन /Applications/ServBay/logs/
के उप-फोल्डर में) देखें।
सारांश
कस्टम कॉन्फ़िगरेशन के साथ वेबसाइट जोड़ना ServBay यूजर्स को अत्यधिक लचीलापन देता है, जिससे वे हर साइट के वेब सर्वर व्यवहार को नियंत्रित कर सकते हैं। लेकिन, इससे यह अपेक्षा है कि डेवेलपर्स को संबंधित वेब सर्वर के कॉन्फ़िगरेशन का ज्ञान हो और वे इसकी शुद्धता, सुरक्षा और SSL सर्टिफिकेट प्रबंधन की जिम्मेदारी लें। टेम्प्लेट संरचना, SSL आवश्यकता और सर्वर बाइंडिंग मैकेनिज्म को अच्छी तरह समझना इस फ़ीचर का सफलतापूर्वक उपयोग करने के लिए बेहद ज़रूरी है।