403 Запрещено после изменения каталога DocumentRoot Apache 2.4.6 [дубликат]

На этот вопрос уже есть ответ:

Итак Я только что установил виртуальную машину с Ubuntu 13.10. Я хотел поиграть с apache 2.4.6 перед обновлением серверов ubuntu 12.04. Я хочу, чтобы корень моего документа находился в моей домашней папке, поэтому я изменил его в etc / apache2 / sites-available / 000-default.conf

. Когда я это сделал, я просто получил запрещенное сообщение. Я установил права доступа к новой папке на 777, но все равно получаю запрет. Я даже поместил файл index.html в новый каталог, который просто говорит привет, мир, но ничего. Вот мой файл 000-default.conf.

<VirtualHost *:80>
# The ServerName directive sets the request scheme, hostname and port that
# the server uses to identify itself. This is used when creating
# redirection URLs. In the context of virtual hosts, the ServerName
# specifies what hostname must appear in the request's Host: header to
# match this virtual host. For the default virtual host (this file) this
# value is not decisive as it is used as a last resort host regardless.
# However, you must set it for any further virtual host explicitly.
#ServerName www.example.com

ServerAdmin webmaster@localhost
DocumentRoot /home/everett/webroot

<Directory /home/everett/webroot>
    Options FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    allow from all
</Directory>


# Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
# error, crit, alert, emerg.
# It is also possible to configure the loglevel for particular
# modules, e.g.
#LogLevel info ssl:warn

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

# For most configuration files from conf-available/, which are
# enabled or disabled at a global level, it is possible to
# include a line for only one particular virtual host. For example the
# following line enables the CGI configuration for this host only
# after it has been globally disabled with "a2disconf".
#Include conf-available/serve-cgi-bin.conf
</VirtualHost>

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
28
задан 9 February 2014 в 00:17

2 ответа

У меня была точно такая же проблема, и я решил ее так:

Сначала; Я выполнил действия, описанные на страницах руководства по Ubuntu Server

  1. Перейдите на терминал и скопируйте конфигурацию виртуального хоста по умолчанию в новую (sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/mynewsite.conf)
  2. Отредактируйте этот новый файл (sudo gedit /etc/apache2/sites-available/mynewsite.conf) и замените DocumentRoot на свой собственный (сохранить и закрыть ..)
  3. Включить Этот новый файл конфигурации (sudo a2ensite mynewsite.conf) и может быть удален по умолчанию (sudo a2dissite 000-default.conf)
  4. Отредактируйте apache2.conf (sudo gedit /etc/apache2/apache2.conf) и измените раздел по умолчанию на этот: <Directory [write_your_dir_here]> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory> (сохранить и закрыть ..)
  5. Перезапустить Apache2 (sudo service apache2 restart)

Если это уже работает: отлично!


Если нет, то вы должны проверить, требует ли каждый именованный базис <VirtualHost *:80> отдельного набора ServerName, включая 000-default.conf, если он существует. Вы можете запустить apachectl -S в терминале, чтобы увидеть краткий список всего.


Если он все еще не работает, вам следует проверить, имеет ли ваш каталог (и полный путь к нему!) права на чтение и выполнение - (r-x).

  1. Перейдите к своему корню (cd /) и выполните ls -l, где вы можете увидеть что-то вроде drwxr-xr-x 14 root root 4096 mei 1 01:24 [your_directory].
  2. Все ваши каталоги, ведущие к папке www, должны иметь разрешения «drwxr-xr-x», если вы не можете изменить их, используя sudo chmod -R a+rx [your_directory]

Если вы все еще не могу заставить его работать, вы должны проверить журнал ошибок apache (sudo gedit /var/log/apache2/error.log) и копать дальше ...

Удачи!

0
ответ дан 9 February 2014 в 00:17

Уважаемый, я хотел сообщить вам, что вы меняете конфигурацию Apache по умолчанию.

Удалите эти строки из вашего файла 000-default.conf.

<Directory /home/everett/webroot>
Options FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
Require all granted
</Directory>

Откройте свой файл apache.conf (/etc/apache2/apache.conf) и найдите каталог или перейдите к строке №. 172. Где вы найдете «directory / var / www /« Определите свой каталог »/ home / everett / webroot», сохраните и перезапустите ваш apache и обновите веб-страницу.

0
ответ дан 9 February 2014 в 00:17

Другие вопросы по тегам:

Похожие вопросы: