"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > वर्चुअल होस्ट के साथ PHP Apache प्रोजेक्ट

वर्चुअल होस्ट के साथ PHP Apache प्रोजेक्ट

2024-11-09 को प्रकाशित
ब्राउज़ करें:198

PHP Apache project with Virtual Host

प्रोजेक्ट निर्देशिका बनाएँ

सबसे पहले, अपने प्रोजेक्ट के लिए एक निर्देशिका बनाएं। उदाहरण के लिए, आइए php:

नामक एक निर्देशिका बनाएं

sudo mkdir /var/www/html/php


एक PHP टेस्ट फ़ाइल बनाएँ

अपनी प्रोजेक्ट निर्देशिका में एक Index.php फ़ाइल बनाएं:


echo "

निर्देशिका अनुमतियाँ सेट करें

उचित अनुमतियां सेट करें ताकि अपाचे निर्देशिका तक पहुंच सके:


sudo chown -R www-data:www-data /var/www/html/php 
sudo chmod -R 755 /var/www/html/php


कमांड sudo chown -R www-data:www-data /var/www/html/php निम्नलिखित क्रियाएं करता है:

  1. -R: यह विकल्प इंगित करता है कि ऑपरेशन पुनरावर्ती रूप से किया जाना चाहिए, यानी न केवल निर्दिष्ट निर्देशिका पर, बल्कि इसकी सभी उपनिर्देशिकाओं और फ़ाइलों पर भी।

  2. www-data:www-data: निर्दिष्ट करता है कि उपयोगकर्ता और समूह जो फ़ाइलों के नए मालिक बनेंगे, दोनों www-data हैं। यह Linux सिस्टम पर एक सामान्य उपयोगकर्ता और समूह है जो Apache और Nginx जैसे वेब सर्वर के लिए डिफ़ॉल्ट उपयोगकर्ता के रूप में कार्य करता है।

  3. /var/www/php: यह उस निर्देशिका का पथ है जिसके गुण बदले जा रहे हैं।

कमांड sudo chmod -R 755 /var/www/html/php निम्नलिखित क्रियाएं करता है:

755: यह एक अनुमति मोड है:

  1. पहला नंबर (7) फ़ाइल (या निर्देशिका) के मालिक को कुल 7 के लिए पढ़ने (4), लिखने (2) और निष्पादित (1) अनुमति देता है।

  2. दूसरा नंबर (5) समूह को कुल 5 के लिए पढ़ने (4) और निष्पादित (1) अनुमतियां देता है, लेकिन लिखने की अनुमति नहीं देता है।

  3. तीसरा नंबर (5) अन्य उपयोगकर्ताओं को कुल 5 के लिए पढ़ने (4) और निष्पादित (1) अनुमतियां देता है, लेकिन लिखने की अनुमति नहीं देता है।

संक्षेप में, यह कमांड /var/www/html/php के भीतर सभी फ़ाइलों और निर्देशिकाओं की अनुमतियों को बदल देता है, जिससे मालिक को पूर्ण नियंत्रण (पढ़ने, लिखने और निष्पादित करने) की अनुमति मिलती है, जबकि समूह और अन्य उपयोगकर्ता केवल पढ़ते हैं और अनुमतियाँ निष्पादित करें। यह वेब सर्वर वातावरण में आम बात है ताकि यह सुनिश्चित किया जा सके कि सर्वर सुरक्षा से समझौता किए बिना आवश्यक फ़ाइलों तक पहुंच सके।

वर्चुअल होस्ट कॉन्फ़िगरेशन फ़ाइल बनाएँ

अपने वर्चुअल होस्ट के लिए एक नई कॉन्फ़िगरेशन फ़ाइल बनाएं। फ़ाइल का नाम php प्रोजेक्ट के समान होना चाहिए:


sudo your_editor /etc/apache2/sites-available/php.conf


वर्चुअल होस्ट कॉन्फ़िगरेशन जोड़ें

फ़ाइल में निम्न कॉन्फ़िगरेशन जोड़ें:



    ServerAdmin webmaster@localhost
    ServerName php.info
    DocumentRoot /var/www/html/php

    
        AllowOverride All
        Require all granted
    

    ErrorLog ${APACHE_LOG_DIR}/php_error.log
    CustomLog ${APACHE_LOG_DIR}/php_access.log combined

आइए कोड के प्रत्येक भाग का विश्लेषण करें:

    • यह वर्चुअल होस्ट के लिए कॉन्फ़िगरेशन ब्लॉक की शुरुआत है जो पोर्ट 80 पर सुनता है, जो HTTP के लिए डिफ़ॉल्ट पोर्ट है। तारांकन चिह्न (*) इंगित करता है कि वर्चुअल होस्ट किसी भी आईपी पते से कनेक्शन स्वीकार करेगा।
  1. सर्वरएडमिन वेबमास्टर@लोकलहोस्ट

    • सर्वर व्यवस्थापक के ई-मेल पते को परिभाषित करता है। इस ई-मेल पते का उपयोग त्रुटि संदेशों में या जब उपयोगकर्ता को व्यवस्थापक से संपर्क करने की आवश्यकता हो, तब किया जा सकता है।
  2. सर्वरनाम php.info

    • उस सर्वर का नाम निर्दिष्ट करता है जिस पर यह सेटिंग लागू होती है। इस स्थिति में, वर्चुअल होस्ट php.info के अनुरोधों का जवाब देगा। यह महत्वपूर्ण है कि यह नाम सर्वर के आईपी (आमतौर पर /etc/hosts फ़ाइल या DNS में कॉन्फ़िगर किया गया) पर सही ढंग से सेट हो।
  3. डॉक्यूमेंटरूट /var/www/html/php

    • उस निर्देशिका को परिभाषित करता है जिसमें वे फ़ाइलें शामिल होती हैं जो तब प्रदर्शित की जाएंगी जब कोई सर्वर नाम (इस मामले में, php.info) तक पहुंचता है। इस उदाहरण में, फ़ाइलें /var/www/html/php में स्थित हैं।
    • यह ब्लॉक संकेतित निर्देशिका के लिए विशिष्ट सेटिंग्स निर्दिष्ट करता है। इस ब्लॉक के भीतर की सेटिंग्स उस विशिष्ट निर्देशिका के लिए अपाचे के व्यवहार को प्रभावित करती हैं।

सभी को ओवरराइड करने की अनुमति दें

  • यह अपाचे की सेटिंग्स को ओवरराइड करने के लिए /var/www/html/php/ निर्देशिका के अंदर .htaccess फ़ाइलों की अनुमति देता है। इसका मतलब यह है कि डेवलपर्स मुख्य अपाचे कॉन्फ़िगरेशन फ़ाइल को संपादित किए बिना रीडायरेक्ट या एक्सेस कंट्रोल जैसे नियमों को कॉन्फ़िगर करने के लिए .htaccess फ़ाइलों का उपयोग कर सकते हैं।

सभी स्वीकृत की आवश्यकता है

  • सभी उपयोगकर्ताओं को निर्देशिका तक पहुंच की अनुमति देता है। इसका मतलब यह है कि कोई भी व्यक्ति /var/www/html/php/ के अंदर की फ़ाइलों तक बिना किसी प्रतिबंध के पहुंच सकता है।
  1. ErrorLog ${APACHE_LOG_DIR}/php_error.log
  2. इस वर्चुअल होस्ट के लिए अपाचे त्रुटि लॉग फ़ाइल का पथ निर्दिष्ट करता है। ${APACHE_LOG_DIR} एक वेरिएबल है जो आमतौर पर मुख्य अपाचे कॉन्फ़िगरेशन फ़ाइल में सेट किया जाता है, जो उस निर्देशिका की ओर इशारा करता है जहां लॉग संग्रहीत हैं। यहां, इस वर्चुअल होस्ट से संबंधित त्रुटियां php_error.log फ़ाइल में दर्ज की जाएंगी।

  3. CustomLog ${APACHE_LOG_DIR}/php_access.log संयुक्त

  4. इस वर्चुअल होस्ट के लिए अपाचे एक्सेस लॉग फ़ाइल के पथ को परिभाषित करता है। ErrorLog की तरह, यह भी ${APACHE_LOG_DIR} वेरिएबल का उपयोग करता है। संयुक्त प्रारूप अनुरोधों के बारे में जानकारी रिकॉर्ड करता है, जिसमें ग्राहक का आईपी पता, अनुरोध का समय, HTTP विधि, अनुरोधित यूआरएल, स्थिति कोड और उपयोगकर्ता एजेंट शामिल हैं।

वर्चुअल होस्ट सक्षम करें

आदेश के साथ नए वर्चुअल होस्ट को सक्षम करें:


sudo a2ensite php.conf


पुनर्लेखन मॉड्यूल सक्रिय करें (यदि आवश्यक हो)

यदि आपको .htaccess या URL रीराइट का उपयोग करने की आवश्यकता है, तो Apache रीराइट मॉड्यूल सक्रिय करें:


sudo a2enmod rewrite


होस्ट्स में सर्वर नाम जोड़ें

आपके द्वारा परिभाषित सर्वर नाम (php.info) का उपयोग करके अपने प्रोजेक्ट तक पहुंचने के लिए, /etc/hosts फ़ाइल में एक प्रविष्टि जोड़ें:


sudo your_editor /etc/hosts


फ़ाइल के अंत में निम्न पंक्ति जोड़ें:


127.0.0.1 php.info




अपाचे को पुनरारंभ करें

परिवर्तनों को प्रभावी करने के लिए अपाचे को पुनरारंभ करें:


sudo systemctl restart apache2




परियोजना तक पहुँचना

अब आप http://php.info टाइप करके ब्राउज़र में अपने प्रोजेक्ट तक पहुंच सकते हैं।

विज्ञप्ति वक्तव्य यह लेख यहां पुन: प्रस्तुत किया गया है: https://dev.to/xxzeroxx/php-apache-project-with-virtual-host-2npk?1 यदि कोई उल्लंघन है, तो कृपया इसे हटाने के लिए स्टडी_गोलंग@163.com से संपर्क करें।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3