शुरुआती लोगों के लिए अपाचे ट्यूटोरियल

अपाचे क्या है?

अपाचे एप्लीकेशन सॉफ्टवेयर का एक उल्लेखनीय टुकड़ा है। यह दुनिया में सबसे व्यापक रूप से इस्तेमाल किया जाने वाला वेब सर्वर एप्लीकेशन है, जिसकी वाणिज्यिक वेब सर्वर बाजार में 50% से अधिक हिस्सेदारी है। अपाचे यूनिक्स-जैसे ऑपरेटिंग सिस्टम में सबसे व्यापक रूप से इस्तेमाल किया जाने वाला वेब सर्वर एप्लीकेशन है, लेकिन इसका इस्तेमाल लगभग सभी प्लेटफॉर्म पर किया जा सकता है जैसे कि Windows, ओएस एक्स, ओएस/2, आदि। अपाचे शब्द मूल अमेरिकी जनजाति 'अपाचे' के नाम से लिया गया है, जो युद्ध कौशल और रणनीति बनाने के लिए प्रसिद्ध है।

यह एक मॉड्यूलर, प्रक्रिया-आधारित वेब सर्वर एप्लीकेशन है जो प्रत्येक एक साथ कनेक्शन के साथ एक नया थ्रेड बनाता है। यह कई विशेषताओं का समर्थन करता है; उनमें से कई अलग-अलग मॉड्यूल के रूप में संकलित हैं और इसकी मुख्य कार्यक्षमता का विस्तार करते हैं, और सर्वर साइड प्रोग्रामिंग भाषा समर्थन से लेकर प्रमाणीकरण तंत्र तक सब कुछ प्रदान कर सकते हैं। वर्चुअल होस्टिंग एक ऐसी सुविधा है जो एक एकल अपाचे वेब सर्वर को कई अलग-अलग वेबसाइटों की सेवा करने की अनुमति देती है।

अपाचे

अपाचे कैसे स्थापित करें?

पैकेज या एप्लिकेशन इंस्टॉल करने के कई तरीके हैं। नीचे सूचीबद्ध हैं -

  1. इस खुले मंच की एक विशेषता यह है कि स्रोत वेब अनुप्रयोग की विशेषता यह है कि कोई भी अपने स्वयं के वातावरण के अनुसार इंस्टॉलर बना सकता है। इसने विभिन्न विक्रेताओं जैसे डेबियन, रेड हैट, फ्रीबीएसडी, सूस आदि को अन्य स्थापित अनुप्रयोगों और बेस ओएस को ध्यान में रखते हुए अपाचे के फ़ाइल स्थान और कॉन्फ़िगरेशन को अनुकूलित करने की अनुमति दी है।
  2. इसे विक्रेता आधारित इंस्टॉलर से इंस्टॉल करने के अलावा, इसे सोर्स कोड से बनाने और इंस्टॉल करने का विकल्प हमेशा मौजूद रहता है। स्रोत फ़ाइल से अपाचे को इंस्टॉल करना प्लेटफ़ॉर्म से स्वतंत्र है और सभी OS के लिए काम करता है।

अपाचे वेब सर्वर एक मॉड्यूलर अनुप्रयोग है जहां व्यवस्थापक आवश्यक कार्यक्षमता का चयन कर सकता है और अपनी आवश्यकता के अनुसार विभिन्न मॉड्यूल स्थापित कर सकता है।

सभी मॉड्यूल को संकलित किया जा सकता है गतिशील साझा ऑब्जेक्ट (DSO एक ऑब्जेक्ट फ़ाइल है जिसे कई ऐप्स द्वारा निष्पादित करते समय साझा किया जा सकता है) जो मुख्य अपाचे फ़ाइल से अलग से मौजूद होती है। DSO दृष्टिकोण अत्यधिक अनुशंसित है, यह सर्वर कॉन्फ़िगरेशन से मॉड्यूल जोड़ने/हटाने/अपडेट करने के कार्य को बहुत सरल बनाता है।

अपाचे: लिनक्स प्लेटफॉर्म स्थापित करें

रेड हैट या आरपीएम आधारित सिस्टम पर

यदि आप rpm (RedHat पैकेज मैनेजर, Linux सिस्टम पर अनुप्रयोग स्थापित करने के लिए एक उपयोगिता है) आधारित Linux वितरण अर्थात Red Hat, Fedora, CentOs, Suse का उपयोग कर रहे हैं, तो आप इस अनुप्रयोग को विक्रेता विशिष्ट पैकेज मैनेजर द्वारा या उपलब्ध स्रोत टारबॉल से सीधे rpm फ़ाइल बनाकर स्थापित कर सकते हैं।

आप Apache को सभी Red Hat आधारित वितरणों जैसे CentOs, Red Hat और Fedora पर उपलब्ध डिफ़ॉल्ट पैकेज मैनेजर के माध्यम से स्थापित कर सकते हैं।

[root@amsterdam ~]# yum install httpd

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

[root@amsterdam ~]# rpmbuild -tb httpd-2.4.x.tar.bz2

स्रोत से .rpm फ़ाइल बनाने के लिए आपके सर्वर पर -devel पैकेज स्थापित होना अनिवार्य है।

एक बार जब आप स्रोत फ़ाइल को rpm इंस्टॉलर में परिवर्तित कर लेते हैं, तो आप Apache को स्थापित करने के लिए निम्नलिखित कमांड का उपयोग कर सकते हैं।

[root@amsterdam ~]# rpm –ivh httpd-2.4.4-3.1.x86_64.rpm

स्थापना के बाद सर्वर स्वचालित रूप से शुरू नहीं होता है, सेवा शुरू करने के लिए, आपको Fedora, CentOs या Red Hat पर निम्न में से किसी भी कमांड का उपयोग करना होगा।

[root@amsterdam ~]# /usr/sbin/apachectl start

[root@amsterdam ~]# service httpd start

[root@amsterdam ~]# /etc/init.d/httpd start

स्रोत से अपाचे स्थापित करें

स्रोत से अपाचे स्थापित करने के लिए आपके सर्वर पर –devel पैकेज स्थापित होना आवश्यक है। आप अपाचे का नवीनतम उपलब्ध संस्करण पा सकते हैं, आप इसे डाउनलोड कर सकते हैं यहाँ उत्पन्न करें एक बार जब आप स्रोत फ़ाइल डाउनलोड कर लें तो उसे /usr/local/src फ़ोल्डर में ले जाएँ।

[root@amserversterdam ~] cd /usr/local/src

[root@amserversterdam ~] gzip -d httpd-2.2.26.tar.gz

[root@amserversterdam ~] tar xvf httpd-2.2.26.tar

[root@amserversterdam ~] httpd-2.2.26

अपाचे के लिए उपलब्ध सभी कॉन्फ़िगरेशन विकल्प देखने के लिए, आप ./configure –help विकल्प का उपयोग कर सकते हैं। सबसे आम कॉन्फ़िगरेशन विकल्प –prefix={install directory name} है।

[root@amserversterdam ~]./configure --help

[root@amserversterdam ~]./configure –prefix=/usr/local/apache –enable-so

[root@amserversterdam ~] make

[root@amserversterdam ~] make install

उपरोक्त उदाहरण DSO क्षमता के साथ /usr/local/apache निर्देशिका के भीतर Apache का संकलन दिखाता है। –enable-so विकल्प, DSO तंत्र के माध्यम से रन टाइम पर Apache में आवश्यक मॉड्यूल लोड कर सकता है, बजाय इसके कि उसे पुनः संकलन की आवश्यकता हो।

एक बार इंस्टॉलेशन पूरा हो जाने पर, आप अपने पसंदीदा ब्राउज़र से वेब सर्वर के डिफ़ॉल्ट पेज को ब्राउज़ कर सकते हैं। यदि आपके सर्वर पर फ़ायरवॉल सक्षम है, तो आपको अपने OS फ़ायरवॉल पर पोर्ट 80 के लिए अपवाद बनाना होगा। पोर्ट 80 को खोलने के लिए आप निम्न कमांड का उपयोग कर सकते हैं।

iptables -I INPUT -p tcp --dport 80 -j ACCEPT

सेवा iptables सहेजें

आप डिफ़ॉल्ट देख सकते हैं अपाचे2 स्वागत स्क्रीन आपके सर्वर आईपी पते को ब्राउज़ करके।

स्रोत से अपाचे स्थापित करें

वर्चुअल होस्ट क्या है?

एक अपाचे वेब सर्वर एक ही स्थान पर कई वेबसाइटों को होस्ट कर सकता है। वही सर्वर। आपको प्रत्येक वेबसाइट के लिए अलग सर्वर मशीन और अपाचे सॉफ्टवेयर की आवश्यकता नहीं है। यह अवधारणा का उपयोग करके प्राप्त किया जा सकता है वर्चुअल होस्ट or वीहोस्ट.

कोई भी डोमेन जिसे आप अपने वेब सर्वर पर होस्ट करना चाहते हैं, उसकी अपाचे कॉन्फ़िगरेशन फ़ाइल में एक अलग प्रविष्टि होगी।

वर्चुअल होस्ट

अपाचे वर्चुअलहोस्ट के प्रकार

  1. नाम-आधारित वर्चुअल होस्ट
  2. पता-आधारित या आईपी आधारित वर्चुअल होस्ट और.

नाम-आधारित वर्चुअल होस्ट

नाम आधारित वर्चुअल होस्टिंग का उपयोग एक ही आईपी पते पर एकाधिक वर्चुअल साइटों को होस्ट करने के लिए किया जाता है।

नाम-आधारित वर्चुअल होस्ट

नाम आधारित वर्चुअल होस्टिंग को कॉन्फ़िगर करने के लिए, आपको वह IP पता सेट करना होगा जिस पर आप सभी वांछित वेबसाइटों के लिए अपाचे अनुरोध प्राप्त करने जा रहे हैं। आप अपाचे कॉन्फ़िगरेशन के भीतर NameVirutalHost निर्देश द्वारा ऐसा कर सकते हैं। httpd.conf/apache2.conf फ़ाइल.

अपाचे वर्चुअल होस्ट उदाहरण:

NameVirtualHost *:80

<VirtualHost 192.168.0.108:80>

ServerAdmin webmaster@example1.com

DocumentRoot /var/www/html/example1.com      

ServerName www.example1.com

</VirtualHost>

<VirtualHost 192.168.0.108:80>

ServerAdmin admin@example2.com

DocumentRoot /var/www/html/example2.com

ServerName www.example2.com

</VirtualHost>

आप अपनी ज़रूरत के हिसाब से जितने चाहें उतने वर्चुअल होस्ट जोड़ सकते हैं। आप अपनी वेब कॉन्फ़िगरेशन फ़ाइलों की जाँच इस प्रकार कर सकते हैं:

[root@amsterdam ~]#httpd –t
Syntax OK

यदि कॉन्फ़िगरेशन फ़ाइल में कुछ गलत सिंटैक्स है, तो यह एक त्रुटि उत्पन्न करेगी

[root@115 conf.d]# httpd -t

Syntax error on line 978 of /etc/httpd/conf/httpd.conf:

Invalid command '*', perhaps misspelled or defined by a module not included in the server configuration

आईपी-आधारित वर्चुअल होस्ट

IP आधारित वर्चुअल होस्टिंग सेटअप करने के लिए, आपको अपने सर्वर पर एक से अधिक IP पते कॉन्फ़िगर करने की आवश्यकता होती है। इसलिए, vhost apache की संख्या आपके सर्वर पर कॉन्फ़िगर किए गए IP पते की संख्या पर निर्भर करेगी। यदि आपके सर्वर में 10 IP पते हैं, तो आप 10 IP आधारित वर्चुअल होस्ट बना सकते हैं।

आईपी-आधारित वर्चुअल होस्ट

उपरोक्त चित्र में दो वेबसाइट example1.com और example2.com को अलग-अलग IP आवंटित किए गए हैं और वे IP-आधारित वर्चुअल होस्टिंग का उपयोग कर रहे हैं।

Listen 192.168.0.100:80

<VirtualHost 192.168.10.108:80>

ServerAdmin webmaster@example1.com

DocumentRoot /var/www/html/example1.com      

ServerName www.example1.com

</VirtualHost>

<VirtualHost 192.168.10.109:80>

ServerAdmin admin@example2.com

DocumentRoot /var/www/html/example2.com

ServerName www.example2.com

</VirtualHost>

PHP फ़ाइल चलाने के लिए Apache को क्या चाहिए?

Apache पर PHP फ़ाइलें चलाने के लिए आवश्यक है mod_php आपके सर्वर पर सक्षम है। यह अपाचे को .Php फ़ाइलों की व्याख्या करने की अनुमति देता है। इसमें Php हैंडलर हैं जो अपाचे में PHP कोड की व्याख्या करते हैं और आपके वेब सर्वर पर HTML भेजते हैं।

अगर आपके सर्वर पर mod_php सक्षम है, तो आपके पास /etc/httpd/conf.d/ निर्देशिका में php.conf नाम की एक फ़ाइल होगी। आप इसे इस तरह से भी जाँच सकते हैं:

httpd -M | grep "php5_module"

आउटपुट कुछ इस प्रकार होगा:

PHP फ़ाइल चलाने के लिए Apache को क्या चाहिए

अपाचे में PHP हैंडलर्स

  • mod_php
  • सीजीआई
  • FastCGI
  • suPHP

mod_phpसबसे पुराना PHP हैंडलर है, यह PHP को अपाचे का हिस्सा बनाता है और किसी बाहरी PHP प्रक्रिया को कॉल नहीं करता है। यह मॉड्यूल हर लिनक्स वितरण रिपॉजिटरी में डिफ़ॉल्ट रूप से इंस्टॉल होता है, इसलिए इस मॉड्यूल को सक्षम/अक्षम करना बहुत आसान है।

आप उपयोग कर रहे हैं FastCGI अपने PHP हैंडलर के रूप में, आप अपने सर्वर पर विभिन्न खातों द्वारा उपयोग किए जाने हेतु PHP के एकाधिक संस्करण सेट कर सकते हैं।

फास्टसीजीआई यानी mod_fastcgi का विस्तार है mod_fcgid, जबकि mod_fcgid CGI यानी mod_cgi का एक उच्च प्रदर्शन विकल्प है। यह समवर्ती वेब अनुरोधों को संभालने के लिए CGI के पर्याप्त संख्या में इंस्टेंस शुरू करता है। यह PHP के अपने इंस्टेंस के साथ अलग-अलग उपयोगकर्ताओं का समर्थन करने के लिए suexec का भी उपयोग करता है और वेब सुरक्षा में सुधार करता है।

अपाचे पर रूबी फ़ाइलों को चलाने के लिए mod_ruby को सक्षम करने की आवश्यकता होती है। अपाचे FastCGI के माध्यम से भी रूबी फ़ाइलों को संभाल सकता है। mod_fcgid यानी FastCGI की मदद से रूबी के कई संस्करणों का उपयोग करना संभव है।

आप अपाचे पैसेंजर भी स्थापित कर सकते हैं और अपाचे को रूबी पेजों की सेवा के लिए उपयोग करने के लिए कॉन्फ़िगर कर सकते हैं।

(फ्यूज़न पैसेंजर को “ के नाम से भी जाना जाता हैयात्री” एक निःशुल्क वेब सर्वर मॉड्यूल है जिसे अपाचे और एनजीनिक्स के साथ एकीकृत करने के लिए डिज़ाइन किया गया है)

अपने सर्वर पर mod_ruby स्थापित करने के चरण –

cd /tmp

wget http://www.modruby.net/archive/mod_ruby-1.2.6.tar.gz

tar zxvf mod_ruby-1.2.6.tar.gz

cd mod_ruby-1.2.6/                    

./configure.rb --with-apr-includes=/usr/include/apr-1

make

make install

अपाचे के साथ रूबी कैसे चलाएं

हमें अपाचे कॉन्फ़िगरेशन अर्थात /etc/httpd/conf.d/ruby.conf में mod_ruby मॉड्यूल जोड़ना होगा और निम्न पंक्ति जोड़नी होगी।

लोडमॉड्यूल रूबी_मॉड्यूल मॉड्यूल/mod_ruby.so

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

अपाचे के साथ रूबी चलाएँ

अपाचे वेब सर्वर को सुरक्षित कैसे करें?

अपने वेब सर्वर को सुरक्षित रखना बहुत महत्वपूर्ण है, इसका अर्थ है दूसरों को केवल इच्छित जानकारी देखने की अनुमति देना और अपने डेटा की सुरक्षा करना तथा पहुंच को प्रतिबंधित करना।

ये सामान्य चीजें हैं जो आपके अपाचे वेब सर्वर की सुरक्षा को बढ़ाती हैं।

1) अपाचे संस्करण और ओएस जानकारी छिपाना:

अपाचे अपना संस्करण और ऑपरेटिंग सिस्टम का नाम त्रुटियों में प्रदर्शित करता है जैसा कि नीचे स्क्रीनशॉट में दिखाया गया है।

अपाचे संस्करण और OS जानकारी छिपाना

एक हैकर इस जानकारी का उपयोग सर्वर या ऑपरेटिंग सिस्टम के किसी विशेष संस्करण में सार्वजनिक रूप से उपलब्ध कमजोरियों का उपयोग करके हमला करने के लिए कर सकता है।

अपाचे वेबसर्वर को यह जानकारी प्रदर्शित करने से रोकने के लिए, हमें संशोधित करना होगा

अपाचे कॉन्फ़िगरेशन फ़ाइल में “सर्वर सिग्नेचर” विकल्प उपलब्ध है। डिफ़ॉल्ट रूप से, यह “चालू” है, हमें इसे “बंद” करना होगा।

vim /etc/httpd/conf/httpd.conf
ServerSignature Off

ServerTokens Prod

हमने "सर्वरटोकन प्रॉड" भी सेट किया है जो वेब सर्वर को केवल अपाचे लौटाने और ओएस के प्रमुख और मामूली संस्करण को दबाने के लिए कहता है

कॉन्फ़िगरेशन फ़ाइल को संशोधित करने के बाद, आपको इसे प्रभावी बनाने के लिए अपने अपाचे वेब सर्वर को पुनः आरंभ/पुनः लोड करना होगा।

service httpd restart

अपाचे संस्करण और OS जानकारी छिपाना

2) निर्देशिका सूची अक्षम करें

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

निर्देशिका सूची अक्षम करें

अपाचे कॉन्फ़िगरेशन फ़ाइल में उपलब्ध "विकल्प निर्देश" के माध्यम से किसी विशिष्ट निर्देशिका के लिए इस सुविधा को बंद किया जा सकता है।

<Directory /var/www/html>

    Options -Indexes

</Directory>

निर्देशिका सूची अक्षम करें

3) अनावश्यक मॉड्यूल को अक्षम करना

सभी अनावश्यक मॉड्यूल को अक्षम करना अच्छा अभ्यास है जो उपयोग में नहीं हैं। आप अपनी अपाचे कॉन्फ़िगरेशन फ़ाइल में उपलब्ध सक्षम मॉड्यूल की सूची देख सकते हैं –

[root@amsterdam ~]#httpd –M

perl_module (shared)

php5_module (shared)

proxy_ajp_module (shared)

python_module (shared)

ssl_module (shared)

सूचीबद्ध मॉड्यूलों में से कई को अक्षम किया जा सकता है, जैसे mod_imap, mod_include, mod_info, mod_userdir, mod_autoindex, क्योंकि उनका उपयोग किसी भी उत्पादन वेब सर्वर द्वारा शायद ही किया जाता है।

vi /etc/httpd/conf/httpd.conf

#LoadModule auth_digest_module modules/mod_auth_digest.so

एक बार जब आप मॉड्यूल पर टिप्पणी कर दें, तो फ़ाइल को सेव कर लें।

निम्नलिखित आदेश के साथ अपाचे सेवाओं को पुनः आरंभ करें।

/etc/init.d/httpd restart

4) वेब रूट निर्देशिका के बाहर फ़ाइलों तक पहुंच को प्रतिबंधित करना

यदि आप यह सुनिश्चित करना चाहते हैं कि वेब रूट निर्देशिका के बाहर की फ़ाइलें पहुँच योग्य नहीं हैं, तो आपको यह सुनिश्चित करना होगा कि आपकी वेब सर्वर कॉन्फ़िगरेशन फ़ाइल में निर्देशिका को “अनुमति दें” और “अस्वीकार विकल्प” के साथ प्रतिबंधित किया गया है।

<Directory/>

Options None

AllowOverride None

Order deny,allow

Deny from all

</Directory>

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

वेब रूट निर्देशिका के बाहर फ़ाइलों तक पहुंच को प्रतिबंधित करना

5) DoS हमले का खंडन करने के लिए mod_evasive का उपयोग करना

यदि आप अपने वेब सर्वर को Dos (यानी सेवा से इनकार) से बचाना चाहते हैं तो आपको mod_evasive मॉड्यूल को सक्षम करना होगा। यह एक थर्ड पार्टी मॉड्यूल है जो Dos हमले का पता लगाता है और हमले को उतना नुकसान पहुंचाने से रोकता है जितना कि अगर इसे अपने पाठ्यक्रम पर छोड़ दिया जाए। इसे यहाँ से डाउनलोड किया जा सकता है।

उपरोक्त फ़ाइल डाउनलोड करें

6) अपाचे सुरक्षा बढ़ाने के लिए mod_security का उपयोग करना

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

अपाचे सुरक्षा को बढ़ाने के लिए mod_security का उपयोग करना

7) अनुरोध का आकार सीमित करना

अपाचे में http अनुरोध के कुल आकार पर कोई प्रतिबंध नहीं है जो DoS हमले का कारण बन सकता है। आप डायरेक्टरी टैग के साथ अपाचे निर्देश “LimitRequestBody” के अनुरोध आकार को सीमित कर सकते हैं। मान को आपकी आवश्यकता के अनुसार 0 से 2 GB (यानी 2147483647 बाइट्स) तक कुछ भी सेट किया जा सकता है।

<Directory "/var/www/html/uploads">

   LimitRequestBody 512000

</Directory>

अपाचे लॉग प्रारूप

अपाचे लॉग विस्तृत जानकारी प्रदान करते हैं जो सर्वर के साथ सामान्य समस्याओं का पता लगाने में मदद करते हैं।

एक्सेस लॉग बनाने के लिए, mod_log_configmodule सक्षम होना चाहिए।

अपाचे कॉन्फ़िगरेशन फ़ाइल में तीन निर्देश उपलब्ध हैं अर्थात

  • TransferLog: लॉग फ़ाइल बनाना.
  • LogFormat : एक कस्टम प्रारूप निर्दिष्ट करना.
  • कस्टमलॉग : लॉग फ़ाइल बनाना और उसका प्रारूपण करना।

ट्रांसफरलॉग निर्देश अपाचे कॉन्फ़िगरेशन फ़ाइल में उपलब्ध है और यह निर्धारित मापदंडों के अनुसार वर्चुअल होस्ट लॉग फ़ाइलों को घुमाता है।

<VirtualHost www.example.com>

  ServerAdmin webmaster@example.com

  DocumentRoot /usr/www/example/httpd/htdocs/

  ServerName www.example.com

  ServerAlias example.com www.example

  ErrorLog /usr/www/example/httpd/logs/error_log

  TransferLog/usr/www/example/httpd/logs/accesslog

  CustomLog /usr/www/example/httpd/logs/accesslog combined

</VirtualHost>

अपाचे लॉग प्रारूप के दो प्रकार

  • सामान्य लॉग प्रारूप
  • संयुक्त लॉग प्रारूप.

आप अपाचे कॉन्फ़िगरेशन फ़ाइल यानी apache2.conf (Debian/ubuntu) या httpd.conf (rpm आधारित सिस्टम) फ़ाइल को संपादित करके उन्हें सक्षम कर सकते हैं

सामान्य लॉग प्रारूप

LogFormat "%h %l %u %t \"%r\" %>s %b" common

CustomLog logs/access_log common

अपाचे द्वारा उत्पन्न सामान्य लॉग

[Wed Oct 11 14:32:52 2000] [error] [client 127.0.0.1] client denied by server configuration: /export/home/live/ap/htdocs/test

संयुक्त लॉग प्रारूप

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" combined

CustomLog log/access_log combined

यहाँ,

  • %h दूरस्थ होस्ट है
  • %l उपयोगकर्ता की पहचान है जो identd द्वारा निर्धारित की जाती है
  • %u HTTP प्रमाणीकरण द्वारा निर्धारित उपयोगकर्ता नाम है
  • %t वह समय है जब सर्वर ने अनुरोध का प्रसंस्करण समाप्त कर दिया।
  • %r क्लाइंट से अनुरोध पंक्ति है। (“GET / HTTP/1.0”)
  • %>s सर्वर से क्लाइंट को भेजा गया स्टेटस कोड है (500, 404 आदि)
  • %b क्लाइंट को दी जाने वाली प्रतिक्रिया का आकार है (बाइट्स में)
  • रेफरर वह पृष्ठ है जो इस URL से लिंक है।
  • उपयोगकर्ता-एजेंट ब्राउज़र पहचान स्ट्रिंग है।

अपाचे द्वारा उत्पन्न संयुक्त लॉग:

199.187.122.91 - - [06/Mar/2014:04:22:58 +0100] "GET /robots.txt HTTP/1.1" 404 1228 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)"

कस्टम लॉग आपके सर्वर पर प्रत्येक वर्चुअल होस्ट के लिए अलग लॉग फ़ाइल बनाता है। इसे कॉन्फ़िगरेशन फ़ाइल के वर्चुअल होस्ट अनुभाग में निर्दिष्ट किया जाना चाहिए।

आप नीचे उल्लिखित वर्चुअल होस्ट कॉन्फ़िगरेशन देख सकते हैं, उत्पन्न लॉग उस वर्चुअल होस्ट के लिए कस्टम होगा और प्रारूप संयुक्त होगा।

अपाचे द्वारा उत्पन्न संयुक्त लॉग

अपना पहला प्रोडक्शन वेब सर्वर कॉन्फ़िगर करें

1. एक चालू उत्पादन वेब सर्वर के लिए, आपको एक समर्पित की आवश्यकता है नोड (भौतिक/वर्चुअल या क्लाउड इंस्टेंस) लिनक्स/यूनिक्स चला रहा है, Windows, मैकओएस आदि।

2. वेब सर्वर में होना चाहिए प्रत्यक्ष नेटवर्क कनेक्शन और एक स्टेटिकआईपी पता इस पर कॉन्फ़िगर किया गया.

3. इसमें सभी चीजें होनी चाहिए मॉड्यूल वेब पेज चलाने के लिए आवश्यक है। यदि कोई वेब सर्वर PHP पेजों को प्रोसेस करता है, तो उसे PHP मॉड्यूल सक्षम करने की आवश्यकता होती है।

उत्पादन वेब सर्वर कॉन्फ़िगर करें

  1. इसके लिए एक अच्छा वातावरण भी होना चाहिए एंटीवायरस वेब सर्वर को मैलवेयर या वायरस के हमलों से सुरक्षित रखने के लिए कॉन्फ़िगर और चालू किया गया एप्लिकेशन। आपको इसके लिए तंत्र की भी आवश्यकता है अद्यतन उनसे अधिकतम लाभ प्राप्त करने के लिए, बिना किसी मैन्युअल हस्तक्षेप के नियमित आधार पर कॉन्फ़िगर किए गए एंटीवायरस/एंटी मैलवेयर एप्लिकेशन का उपयोग करें।
  2. यदि आपके वेब सर्वर पर सैकड़ों डोमेन होस्ट किए जाने हैं, तो आपको इन्हें लागू करना होगा प्रत्येक डोमेन के लिए फ़ाइल सिस्टम कोटा की सीमाएं, प्रत्येक डोमेन द्वारा बनाए जा सकने वाले डेटाबेस की संख्या, प्रति डोमेन ईमेल खातों की संख्या आदि।
  3. यदि आपका वेब सर्वर इसके लिए सेटअप किया गया है साझा होस्टिंग सेवाओं के लिए, आपके वेब सर्वर पर उपयोगकर्ताओं को प्रतिबंधित किया जाना चाहिएएक साझा होस्टिंग उपयोगकर्ता के पास कम से कम उपयोगकर्ता विशेषाधिकार होना चाहिए ताकि वह महत्वपूर्ण फ़ाइलों को नुकसान न पहुंचाए और पूरे सर्वर को नुकसान न पहुंचाए। अपाचे ऐसी कोई कार्यक्षमता प्रदान नहीं करता है और इसे प्राप्त करने के लिए विभिन्न तृतीय पक्ष अनुप्रयोगों, ओएस के अनुकूलन की आवश्यकता होती है।
  4. यदि आप कोई जोड़ रहे हैं नया डोमेन आपके वेब सर्वर पर, जोड़े गए डोमेन के लिए सभी सुविधाओं को सक्षम करने के लिए सैकड़ों कॉन्फ़िगरेशन फ़ाइलों को संपादित करने की आवश्यकता होती है।
  5. यदि होस्ट किए गए डोमेन में से किसी एक को आवश्यकता है अलग PHP सेटिंग बाकी डोमेन की तुलना में, कोर अपाचे वेब सर्वर में इसे लागू करना बहुत जटिल है और इसके लिए आपके वेब सर्वर को काफी हद तक अनुकूलित करने की आवश्यकता होती है।
  6. एक उत्पादन वेब सर्वर की जरूरत है फ़ायरवॉल अवांछित ट्रैफ़िक को ब्लॉक करने के लिए जो आपके सर्वर पर उच्च लोड का कारण बन सकता है। आईपीटेबल कमांड लाइन के साथ नियम बहुत जटिल हैं। अवांछित ट्रैफ़िक को रोकने के लिए प्रभावी फ़ायरवॉल नियम लिखने के लिए कोर लिनक्स/यूनिक्स वातावरण की विशेषज्ञता की आवश्यकता होती है। IPTABLE नेटफ़िल्टर मॉड्यूल पर आधारित है; यह एक OS स्तर का फ़ायरवॉल है जो व्यवस्थापक को सर्वर पर आने वाले/जाने वाले ट्रैफ़िक के लिए नियम बनाने की अनुमति देता है।
  7. एक प्रोडक्शन वेब सर्वर को कई अलग-अलग अनुप्रयोगों की आवश्यकता होती है जैसे ईमेल, FTP फ़ाइल अपलोड के लिए, क्षेत्र नाम प्रणाली पार्क किए गए डोमेन के लिए। कोर लिनक्स/यूनिक्स सिस्टम पर इन सभी अनुप्रयोगों को प्रबंधित करने के लिए संबंधित प्रौद्योगिकियों पर विशेषज्ञता की आवश्यकता होती है।

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

Cpanel या समान सॉफ्टवेयर का उपयोग करके समाधान

सीपैनल आपके वेब सर्वर को प्रबंधित करने का एक ग्राफिकल तरीका प्रदान करता हैइसका उद्देश्य बड़े पैमाने पर होस्टिंग सेवाएँ प्रदान करना है जो उपयोग और कॉन्फ़िगर करने में आसान हैं। cPanel ने होस्टिंग और वेब सर्वर प्रबंधन में प्रवेश के लिए तकनीकी बाधाओं को कम कर दिया है। यह जटिल कार्य को आसान बनाता है, यह कई उपयोगी और उपयोग में आसान वेब इंटरफेस प्रदान करता है जो वेब सर्वर को संचालित करने के लिए आवश्यक सामान्य सिस्टम प्रशासन कार्य करते हैं।

Cpanel या समान सॉफ्टवेयर का उपयोग करके समाधान

cPanel सॉफ्टवेयर का अपना संस्करण संकलित करता है।

यदि आपको अपने वेब सर्वर यानी अपाचे को सामान्य लिनक्स प्लेटफॉर्म पर पुनः संकलित करना है, तो आपको आवश्यक मॉड्यूल को मैन्युअल रूप से चुनना/खोजना होगा। cPanel Easyapache कार्यक्षमता प्रदान करता है जो एक स्क्रिप्ट आधारित वेब सर्वर संकलन विधि है।

Cpanel या समान सॉफ्टवेयर का उपयोग करके समाधान

यह न केवल आपको वेब सेवाएं प्रदान करता है बल्कि Mail, डीएनएस, एफ़टीपी और कई अन्य सेवाएं जो आपके वेब एप्लिकेशन के लिए आवश्यक हैं।

ऐसे कार्य जिसके लिए कोर लिनक्स/यूनिक्स आधारित होस्टिंग पर विशेषज्ञता की आवश्यकता होती है, जैसे SSL स्थापित करना, विभिन्न PHP मॉड्यूल के साथ अपाचे को पुनः संकलित करना, वेब सुरक्षा को अद्यतन करना, प्रभावी IPTABLE नियमों को कॉन्फ़िगर करना, FTP उपयोगकर्ताओं को जोड़ना, प्रत्येक डोमेन के लिए मेल खाते बनाना, एंटीवायरस के साथ अपने दस्तावेज़ रूट को स्कैन करना और डेटाबेस बनाना, cPanel के साथ आसानी से पूरा किया जा सकता है।

यह बहुत सारी स्क्रिप्ट प्रदान करता है जो सामान्य प्रशासनिक कार्यों को ठीक करता है, इंस्टॉल करता है और समस्या निवारण करता है।

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

यह मजबूत दस्तावेजीकरण भी प्रदान करता है, तथा इसमें उपयोगकर्ताओं का एक बहुत बड़ा समुदाय है जहां आप चर्चा कर सकते हैं और अपने मुद्दों का समाधान पा सकते हैं।

अतः हम कह सकते हैं कि cPanel यह आपके वेब सर्वर को आवश्यक सुविधाओं के साथ प्रबंधित करने के लिए एक बेहतरीन एप्लीकेशन है। यह आपको अपने डोमेन को प्रबंधित करने के लिए उपयोग में आसान इंटरफ़ेस और कोर वेब सर्वर को प्रबंधित करने की जटिलता से बचने के लिए एक तंत्र प्रदान करता है।

सीपैनल के कई प्रतिस्पर्धी उत्पाद हैं जैसे कि प्लेस, आईएसपीकॉन्फिग, अजेंटी, क्लॉक्सो, ओपन पैनल, ज़पैनल आदि।