Apache Web Server का कॉन्फ़िगरेशन
ServBay आपको इनबिल्ट Apache Web Server सॉफ़्टवेयर पैकेज को आसानी से प्रबंधित और कॉन्फ़िगर करने की सुविधा देता है। ServBay के ग्राफिकल यूज़र इंटरफेस के माध्यम से, आप आसानी से Apache की कोर सेटिंग्स को अलग-अलग विकास परियोजनाओं की जरूरतों के अनुसार एडजस्ट कर सकते हैं।
Apache कॉन्फ़िगरेशन तक पहुँच
- ServBay ऐप्लिकेशन खोलें।
- बाईं ओर के नेविगेशन बार में,
Web Server
पर क्लिक करें। Apache
टैब चुनें।
आपके सामने Apache का कॉन्फ़िगरेशन इंटरफेस दिखाई देगा, जैसा नीचे चित्र में दिखाया गया है:
मुख्य कॉन्फ़िगरेशन सेटिंग्स का विवरण
निम्नलिखित Apache के सेटिंग इंटरफेस में अलग-अलग पैरामीटर्स का विस्तृत विवरण है:
बेसिक सेटिंग्स
- HTTP Port: Apache किस HTTP पोर्ट पर सुनता है, डिफ़ॉल्ट है
80
। - HTTPS Port: Apache किस HTTPS पोर्ट पर सुनता है, डिफ़ॉल्ट है
443
। - Server Name: सर्वर की पहचान के लिए इस्तेमाल किया जाने वाला नाम और पोर्ट। डिफ़ॉल्ट
127.0.0.1
आमतौर पर लोकल एक्सेस के लिए प्रयोग होता है। - Server Root: Apache पैकेज का इंस्टॉलेशन रूट डायरेक्टरी। नोट: यह आपकी वेबसाइट फाइल्स की डायरेक्टरी (वेबसाइट रूट) नहीं है; वेबसाइट रूट प्रत्येक साइट जोड़ते समय अलग से सेट होती है। Server Root Apache प्रोग्राम फाइल्स का लोकेशन है। डिफ़ॉल्ट =
/Applications/ServBay/package/apache/current
।
परफॉर्मेंस ट्यूनिंग (Performance Tuning)
- Timeout: सर्वर I/O ऑपरेशन छोड़ने से पहले कितने सेकंड तक प्रतीक्षा करेगा। डिफ़ॉल्ट
300
सेकंड। - Max KeepAlive Requests: एक स्थायी कनेक्शन पर अनुमति प्राप्त अधिकतम अनुरोधों की संख्या।
1000
अधिक अनुरोधों को एक ही कनेक्शन में अनुमति देता है,0
का अर्थ कोई सीमा नहीं। - KeepAlive Timeout: सर्वर अगले अनुरोध के आने से पहले एक स्थायी कनेक्शन को बंद करने के लिए अधिकतम कितने सेकंड तक प्रतीक्षा करेगा। डिफ़ॉल्ट
60
सेकंड। - Keep Alive: क्या HTTP स्थायी कनेक्शन (KeepAlive) सक्षम है। परफॉर्मेंस बढ़ाने के लिए
On
की सिफारिश की जाती है। - MPM StartServers: सर्वर स्टार्टअप पर बनने वाले सब-प्रोसेसेज़ की संख्या।
- MPM MaxSpareThreads: अधिकतम निष्क्रिय थ्रेड्स की संख्या। अचानक बढ़ी हुई डिमांड के लिए अतिरिक्त थ्रेड्स।
- MPM MaxConnectionsPerChild (पहले MaxRequestsPerChild): हर सब-प्रोसेस के जीवनकाल में अधिकतम कितने कनेक्शन की अनुमति है।
0
का अर्थ कोई सीमा नहीं। इससे मेमोरी लीक के लंबे अवधि के प्रभाव से बचा जा सकता है। - MPM MaxRequestWorkers (पहले MaxClients): एक साथ संसाधित किए जा सकने वाले अधिकतम अनुरोधों की संख्या (सभी सब-प्रोसेसेज़ मिलाकर)। यह Apache के परफॉर्मेंस के लिए एक महत्वपूर्ण सेटिंग है।
- MPM ThreadsPerChild: हर सब-प्रोसेस द्वारा बनाए गए स्थायी थ्रेड्स की संख्या (
worker
याevent
MPM के लिए लागू)।
फ़ीचर्स व विशेषताएँ (Features & Characteristics)
- Access File Name: डिस्ट्रीब्यूटेड कॉन्फ़िगरेशन फाइल के लिए इस्तेमाल किया गया नाम, आमतौर पर
.htaccess
।.htaccess
से मुख्य सर्वर कॉन्फ़िग को ओवरराइड करने की अनुमति या निषेध करता है। - Use Canonical Name: Apache अपने खुद के रेफरेंसिंग URL कैसे बनाता है, यह कंट्रोल करता है।
Off
अक्सर अधिक लचीला होता है। - Server Signature: सर्वर द्वारा जनरेट की गई पेजेस के बॉटम (जैसे एरर पेजेस) पर सर्वर वर्ज़न और वर्चुअल होस्ट का नाम दिखाता है। सुरक्षा कारणों से प्रोडक्शन में
Off
रहना चाहिए। - Hostname Lookups: क्या क्लाइंट IP एड्रेस के लिए DNS रिवर्स लुकअप सक्षम है।
Off
से परफॉर्मेंस बेहतर होती है, क्योंकि DNS क्वेरी स्लो हो सकती है। - Server Tokens: सर्वर रिस्पॉन्स हेडर (
Server:
) में कितनी जानकारी दिखेगी।Minor
(उदा. Apache/2.4)Full
(उदा. Apache/2.4.58 (Unix) PHP/8.3.1) से ज्यादा सुरक्षित है।Prod
सिर्फApache
दिखाता है।
एडमिन व लॉगिंग (Admin & Logging)
- Server Admin: सर्वर द्वारा क्लाइंट को भेजे जाने वाले एरर संदेशों में दिखाया जाने वाला एडमिन ईमेल एड्रेस।
- Log Level: एरर लॉग (
error_log
) में कितनी डिटेल/गंभीरता के संदेश रिकॉर्ड होंगे।warn
सामान्य स्तर है, जिसमें चेतावनियाँ और उससे अधिक गंभीर त्रुटियाँ रिकॉर्ड होती हैं। अन्य स्तर:debug
,info
,notice
,error
,crit
,alert
,emerg
।
मॉड्यूल्स (Modules)
इस सेक्शन में उपलब्ध Apache मॉड्यूल्स की सूची होती है। आप किसी मॉड्यूल को सक्षम या अक्षम करने के लिए चेकबॉक्स टिक या अनटिक कर सकते हैं। आम मॉड्यूल्स में शामिल हैं:
mod_rewrite
: URL री-राइटिंग के लिए।mod_ssl
: SSL/TLS (HTTPS) समर्थन हेतु।mod_deflate
: डाटा ट्रांसमिशन कंप्रेशन के लिए।mod_expires
: कैश कंट्रोल के लिए।mod_proxy
और संबंधित मॉड्यूल्स: रिवर्स प्रॉक्सी के लिए।mod_auth_basic
,mod_auth_digest
: बेसिक या डाइजेस्ट ऑथेंटिकेशन के लिए।
मॉड्यूल्स को ऑन/ऑफ करने के बाद, बदलावों को सेव करें और संभवतः Apache सेवा को रीस्टार्ट करें ताकि सेटिंग लागू हो जाए।
डायरेक्टरी इंडेक्स (Directory Index)
- Directory Index: जब अनुरोध की गई URL किसी डायरेक्टरी की ओर इशारा करती है, तो Apache उस डायरेक्टरी में कुछ खास फाइलें क्रम में खोजता है। पहली जो फाइल मिलती है, वही कंटेंट लौटाता है। डिफ़ॉल्ट:
index.html index.htm index.php
।
SSL/TLS सेटिंग्स
ये सेटिंग्स Apache के HTTPS फंक्शन को कॉन्फ़िगर करने के लिए हैं।
- SSLCipherSuite / TLSCipherSuite: सर्वर किन एन्क्रिप्शन सूट्स को अनुमति देता है, यह परिभाषित करें। सक्षम और सुरक्षा के लिए आधुनिक एन्क्रिप्शन सूट का प्रयोग आवश्यक है। ServBay द्वारा सिफारिश की गई डिफ़ॉल्ट वैल्यूज़ मिलती हैं।
- SSLProxyCipherSuite: जब Apache रिवर्स प्रॉक्सी के रूप में काम करता है, SSL कनेक्शन के लिए एन्क्रिप्शन सूट्स।
- SSLHonorCipherOrder:
On
रखने से सर्वर की पसंद को प्राथमिकता मिलती है, न कि क्लाइंट की। सुरक्षा के लिएOn
सुझावित। - SSLStrictSNIVHostCheck:
On
रखने से यदि क्लाइंट द्वारा अनुरोधित SNI होस्टनाम वर्चुअल होस्ट से मेल नहीं खाता, तो कनेक्शन रिजेक्ट होता है। इससे सुरक्षा बढ़ती है। - ProtocolHonorOrder:
SSLHonorCipherOrder
जैसा, लेकिन प्रोटोकॉल वर्शन पर लागू होता है। - SSLProtocol: उपयोग किए जा सकने वाले SSL/TLS प्रोटोकॉल वर्शन। उदाहरण:
all -SSLv2 -SSLv3
— सभी आधुनिक प्रोटोकॉल की अनुमति, केवल असुरक्षित SSLv2 और SSLv3 डिसेबल। - SSLProxyProtocol: रिवर्स प्रॉक्सी SSL कनेक्शन के लिए उपलब्ध प्रोटोकॉल वर्शन सेट करें।
- Protocols: समर्थित प्रोटोकॉल की प्राथमिकता, जैसे HTTP/2 सक्षम करना।
h2 h2c http/1.1
का अर्थ है पहले HTTP/2 (एनक्रिप्टेडh2
या ओपनh2c
), फिर HTTP/1.1।
सेव व रीसेट
- Reset: इस बटन को क्लिक करने से सारी Apache सेटिंग्स ServBay के डिफ़ॉल्ट पर लौट आती हैं।
- Save: इस बटन से आपके Apache सेटिंग्स में किए गए सभी बदलाव सेव हो जाएंगे। सेव करने के तुरंत बाद ServBay आमतौर पर ये बदलाव लागू कर देगा। यदि Apache सेवा चल रही है, तो यह संभव है कि कुछ सेकंड के लिए वह रिस्टार्ट हो, ताकि सभी बदलाव प्रभावी हो सकें।
महत्वपूर्ण नोट्स
- यहाँ की गई सेटिंग्स Apache की ग्लोबल कॉन्फ़िगरेशन हैं। किसी विशेष वेबसाइट (वर्चुअल होस्ट) की सेटिंग्स, जैसे
DocumentRoot
या खासRewriteRule
आदि, आमतौर पर वेबसाइट जोड़ते या संपादित करते समय सेट होती हैं। - अगर कॉन्फ़िगरेशन इंटरफेस के ऊपर "Service Apache is not enabled" जैसा संदेश दिख रहा हो, तो इसका मतलब Apache सेवा अभी चालू नहीं है। आप फिर भी अपनी सेटिंग्स बदल और सेव कर सकते हैं, लेकिन ये तब तक लागू नहीं होंगी जब तक आप अगली बार Apache सेवा शुरू नहीं करते। आप ServBay के मुख्य पैनल या
Packages
मेन्यू से Apache स्टार्ट कर सकते हैं।
सारांश
ServBay आपको Apache Web Server की कोर सेटिंग्स एक सहज और सरल इंटरफेस के माध्यम से प्रबंधित करने की ताकत देता है। इन विकल्पों को समझकर, आप Apache के व्यवहार, परफॉर्मेंस और सुरक्षा को अपनी डेवलपमेंट की जरूरतों के मुताबिक अनुकूलित कर सकते हैं — जिससे ServBay आपके लोकल डेवलपमेंट एनवायरनमेंट के तौर पर और भी बेहतर बन जाता है।