it-swarm.asia

Apache2 virtualhost 403 ممنوع؟

أقوم بتشغيل أوبونتو 13.04 64 بت على سطح المكتب الخاص بي ، وقمت بتثبيت Apache2 و MySQL و PHP إلخ.

أردت أن يكون لدي جذر الويب الخاص بي في /home/afflicto/public_html بدلا من /var/www. لذلك ذهبت مع هذا الدليل:
http://www.maketecheasier.com/install-and-configure-Apache-in-ubuntu/2011/03/09
(فعلت كل شيء من "تكوين مواقع مختلفة") كما أحب الحل أكثر.

إليك ما فعلته:
تثبيت Apache2 ، الخلية وما إلى ذلك.
نسخ /etc/Apache2/sites-avaliable/default إلى /etc/Apache2/sites-available/afflicto. ثم حررها ، يبدو الآن كما يلي:

/الخ/Apache2/المواقع المتاحة/afflicto

<VirtualHost *:80>
ServerAdmin [email protected]

DocumentRoot /home/afflicto/public_html
<Directory />
    Options FollowSymLinks
    AllowOverride None
</Directory>
<Directory /home/afflicto/public_html/>
    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 None
    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
</VirtualHost>  

فعلت Sudo a2dissite default && Sudo a2ensite afflicto && Sudo service Apache2 restart

أنا خلقت index.php و index.html في /home/afflicto/public_html/test/
عند الوصول إلى localhost/test أو localhost/test/index.html الخ ، أحصل على 403 خطأ ممنوع.

ما الخطأ الذي افعله؟ شكرا مقدما.

التحديث 1
قمت بتعيين مالك دليل public_html على www-data.
أيضا Sudo chmod -R +x public_html && Sudo chmod -R 777 public_html
لا يزال خطأ 403 نفسه.

فيما يلي إخراج سجل أخطاء Apache:

[Sun Jul 14 06:10:32 2013] [error] [client 127.0.0.1] (13)Permission denied: access to / denied

[Sun Jul 14 06:10:32 2013] [error] [client 127.0.0.1] (13)Permission denied: access to /favicon.ico denied
42
Petter Thowsen

تبين أنني اضطررت إلى chmod ليس فقط /home/afflicto/public_html ولكن أيضا /home/afflicto/ الدليل كذلك.

عجيب.

20
Petter Thowsen

لقد واجهت هذه المشكلة. لكنني لم أحب فكرة تغيير مجموعة الدليل الرئيسي إلى بيانات www. يمكن حل هذه المشكلة ببساطة عن طريق تعديل ملف التكوين لـ virtualHost. ببساطة قم بتكوين علامة الدليل لتضمينها

<Directory "your directory here">
   Order allow,deny
   Allow from all
   Require all granted
</Directory>

ال Require all granted هي ميزة جديدة أعتقد ؛ وجود قيمة افتراضية denied.

انظر هذه الصفحة لمزيد من المعلومات: http://httpd.Apache.org/docs/current/mod/core.html#directory

105
Peter