На этот вопрос уже есть ответ:
Итак Я только что установил виртуальную машину с 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
У меня была точно такая же проблема, и я решил ее так:
Сначала; Я выполнил действия, описанные на страницах руководства по Ubuntu Server
sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/mynewsite.conf
) sudo gedit /etc/apache2/sites-available/mynewsite.conf
) и замените DocumentRoot на свой собственный (сохранить и закрыть ..) sudo a2ensite mynewsite.conf
) и может быть удален по умолчанию (sudo a2dissite 000-default.conf
) sudo gedit /etc/apache2/apache2.conf
) и измените раздел по умолчанию на этот:
<Directory [write_your_dir_here]>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
(сохранить и закрыть ..) sudo service apache2 restart
) Если это уже работает: отлично!
Если нет, то вы должны проверить, требует ли каждый именованный базис <VirtualHost *:80>
отдельного набора ServerName
, включая 000-default.conf
, если он существует. Вы можете запустить apachectl -S
в терминале, чтобы увидеть краткий список всего.
Если он все еще не работает, вам следует проверить, имеет ли ваш каталог (и полный путь к нему!) права на чтение и выполнение - (r-x).
cd /
) и выполните ls -l
, где вы можете увидеть что-то вроде drwxr-xr-x 14 root root 4096 mei 1 01:24 [your_directory]
. sudo chmod -R a+rx [your_directory]
Если вы все еще не могу заставить его работать, вы должны проверить журнал ошибок apache (sudo gedit /var/log/apache2/error.log
) и копать дальше ...
Удачи!
Уважаемый, я хотел сообщить вам, что вы меняете конфигурацию 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 и обновите веб-страницу.