server - अपाचे 2: 'एएच 01630: क्लाइंट सर्वर कॉन्फ़िगरेशन द्वारा अस्वीकार किया गया'




apache2 apache2.4 (9)

इसने मुझे डेढ़ दिन के लिए पूरी तरह से पागल कर दिया, लेकिन अगर मुझे अन्य सभी समाधानों की असफल कोशिश की गई तो मुझे समाधान मिला।

  • गतिविधि मॉनिटर पर जाएं (स्पॉटलाइट खोज: गतिविधि)
  • Httpd के लिए गतिविधि मॉनिटर खोज में अपाचे सेवा है
  • रूट से संबंधित एक का चयन करें और इसे बंद करने के लिए ऊपरी बाईं ओर एक्स क्लिक करें।

उस समय मैंने तुरंत 403 त्रुटियां प्राप्त करना बंद कर दिया और सबकुछ अपेक्षित रूप से काम करना शुरू कर दिया। अजीब बात यह है कि मुझे अपाचे को पुनरारंभ करने की भी आवश्यकता नहीं है, यह सिर्फ काम करता है, मुझे लगता है कि जब मैं अपने लोकहोस्ट में गया, तो मैं इसे फिर से शुरू कर दिया, मुझे ईमानदारी से पता नहीं है, लेकिन मुझे लगता है कि समस्या यह है कि अपाचे वास्तव में पुन: प्रारंभ नहीं हो रहा है, रुको या शुरू करो। उम्मीद है कि यह किसी की मदद करता है।

ब्राउज़र के माध्यम से लोकलहोस्ट तक पहुंचने का प्रयास करते समय मुझे यह त्रुटि मिलती है।

AH01630: client denied by server configuration

मैंने अपनी साइट फ़ोल्डर अनुमतियों का उपयोग करके जांच की:

sudo chmod 777 -R *

यहां मेरी कॉन्फ़िगरेशन फ़ाइल है:

<VirtualHost *:80>
ServerAdmin [email protected]

DocumentRoot /home/user-name/www/myproject
<Directory />
    Options FollowSymLinks
    AllowOverride all
    Allow from all
</Directory>

<Location />
  Allow from all
  Order Deny,Allow
</Location>

<Directory  /home/user-name/www/myproject/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride all
    Order allow,deny
    Allow from all
</Directory>

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
    AllowOverride all
    Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
    Order allow,deny
    Allow from all
</Directory>

ErrorLog ${APACHE_LOG_DIR}/error.log

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn

CustomLog ${APACHE_LOG_DIR}/access.log combined

Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
    Options Indexes MultiViews FollowSymLinks
    AllowOverride all
    Order deny,allow
    Deny from all
    Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>


क्या किसी ने उस वैंप सर्वर डिफ़ॉल्ट के बारे में सोचा है जिसमें httpd-vhosts.conf फ़ाइल शामिल नहीं है। मेरा दृष्टिकोण नीचे दिए गए नोट को हटाना है

 conf
  # Virtual hosts
  Include conf/extra/httpd-vhosts.conf

httpd.conf फ़ाइल में। बस इतना ही।


डबल चेक करें कि DocumentRoot पथ सही है। इससे यह त्रुटि हो सकती है।


मैंने कुछ घंटों खर्च करने के बाद अपना आत्म हल कर लिया।

मैंने योनेंट वीएम में कोकबुक के माध्यम से अपाचे / 2.4.7 (उबंटू) स्थापित किया।

/etc/apache2/apache2.conf फ़ाइल में डिफ़ॉल्ट रूप से <VirtualHost *:80> तत्व नहीं है।

मैंने इसे करने के लिए दो बदलाव किए

  1. जोड़ा गया <VirtualHost *:80>
  2. जोड़ा
    विकल्प इंडेक्स FollowSymLinks
    सभी को ओवरराइड करें
    सभी से अनुमति दें

तो आखिरकार मैंने बस वीएम बूट किया ..


यदि आप अपाचे 2.4 का उपयोग कर रहे हैं

आपको नियमों को अनुमति देने और इनकार करने की जांच करनी है

http://httpd.apache.org/docs/2.4/upgrading.html#access

2.2 में, क्लाइंट होस्टनाम, आईपी पता, और क्लाइंट अनुरोधों की अन्य विशेषताओं के आधार पर एक्सेस कंट्रोल निर्देश, अनुमति, अस्वीकार, और संतुष्ट निर्देशों का उपयोग करके किया गया था।

2.4 में, इस तरह के अभिगम नियंत्रण को अन्य मॉड्यूल mod_authz_host का उपयोग करके, अन्य प्राधिकरण जांच के समान ही किया जाता है।

नया निर्देश Require :

2.2 विन्यास:

Order allow,deny
Allow from all

2.4 विन्यास:

Require all granted

इन परिवर्तनों के बाद अपाचे सर्वर को पुनरारंभ करना भी न भूलें ( # service httpd restart )


यदि आप त्रुटि लॉग को पूंछते हैं और पृष्ठ को फिर से लोड करते हैं, तो आपको सटीक समस्या के रूप में कुछ और जानकारी देखना चाहिए।

पर्यावरण चर पकड़ो ताकि $ {APACHE_LOG_DIR} वास्तव में काम करेगा ...

source /etc/apache2/envvars

फिर पूंछ और घड़ी ...

tail -f ${APACHE_LOG_DIR}/error.log

यह मुझे पागल कर रहा था। आखिर में पता चला कि समस्या क्या थी: मैं त्रुटि लॉग के लिए सीधे पथ का उपयोग कर रहा था और वे गलत थे।

अपाचे एक अस्पष्ट (और गलत) त्रुटि संदेश क्यों देता है? इसके बजाय एक सही और उपयोगी त्रुटि संदेश का उपयोग करें जैसे: त्रुटि लॉग निर्देश के लिए पथ "/wrong/path/and/filename.log" अमान्य है।

वैसे भी, यह सुनिश्चित करने के लिए कि आपके त्रुटि लॉग निर्देश इस तरह कुछ दिखते हैं:

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

वैंप 3 (अपाचे 2.4) के लिए, अन्य उत्तरों में वर्णित सर्वर को ऑनलाइन रखने के अलावा, वर्चुअल होस्ट फ़ाइल में conf/extra/httpd-vhosts.conf
आपको प्रतिस्थापित करने की आवश्यकता हो सकती है

Require local

साथ में

Require all granted



यह लागू है अगर आपके पास httpd.conf है

Include conf/extra/httpd-vhosts.conf

समस्या वर्चुअलहोस्ट में है लेकिन संभवतः नहीं है

सभी अनुमोदित की आवश्यकता है

पुष्टि करें कि आपकी कॉन्फ़िगरेशन सही है, यहां सही नमूना है