Назад | Перейти на главную страницу

403 запрещено apache2

Я знаю, что этот вопрос задают много, но ни один из ответов не решил мою проблему. У меня такая же конфигурация на моем рабочем компьютере, но дома она не работает!

Сначала я вытащил из своего репозитория git в ~ / proto-spa. Затем я установил apache2. Я отключил сайт по умолчанию, а затем скопировал /etc/apache2/sites-available/default дословно и свалил это в /etc/apache2/sites-available/proto-spa. Я изменил это, чтобы указать на /var/www/proto-spa. Я сменил каталоги на var/www и привязан к моей локальной копии с помощью ln -s ~/proto-spa. Затем я перезапустил apache2.

Я все время получаю 403. В моем журнале apache говорится:

[Thu Apr 26 08:53:02 2012] [error] [client 127.0.0.1] Symbolic link not allowed or link target not accessible: /var/www/proto-spa

Я следовал советам на разных постах, в том числе chmod -R 755 ~/proto-spaи т.д., но ничего не работает.

Хорошо, это та часть, где вы просите увидеть мою конфигурацию.

<VirtualHost *:80>
  ServerAdmin webmaster@localhost

  DocumentRoot /var/www/proto-spa
  <Directory />
    Options FollowSymLinks
    AllowOverride None
  </Directory>
  <Directory /var/www/proto-spa/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    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

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

</VirtualHost>

И вот часть, где вы запрашиваете разрешения:

sam@sam-central:~$ ls -l /var/www/proto-spa
lrwxrwxrwx 1 root root 20 2012-04-26 08:34 /var/www/proto-spa -> /home/sam/proto-spa/
sam@sam-central:~$ ls -l ~/proto-spa/
total 44
drwxr-xr-x 3 sam sam 4096 2012-04-26 08:32 css
-rwxr-xr-x 1 sam sam  838 2012-04-26 08:32 folders.html
-rwxr-xr-x 1 sam sam  139 2012-04-26 08:32 index.html
drwxr-xr-x 2 sam sam 4096 2012-04-26 08:32 js
-rwxr-xr-x 1 sam sam  608 2012-04-26 08:32 styles.css

Сообщите мне, будет ли полезна какая-либо другая информация, и заранее благодарим за вашу помощь!

Разрешения целевой символической ссылки хорошо иметь, но это еще не вся картина.

Пользователю Apache нужны права на просмотр каталога, которых, я готов поспорить, у него нет.

Проверить разрешения на каталоги /home/sam и /home/sam/proto-spa - в x бит должен присутствовать для обхода.

Также - какая у вас ОС? SELinux или AppArmor могут вас укусить.

И есть ли причина, по которой вам действительно нужно использовать эту символическую ссылку в домашний каталог? Вы не должны хранить там веб-контент.