2017-01-29 6 views
0

У меня есть файл index.html в \var\www\htmlApache2 404 ошибка для index.html

Мой /etc/apache2/sites-available/000-default.conf является:

<VirtualHost *:80> 

     Servername <redacted> 

     ServerAdmin [email protected] 
     DocumentRoot /var/www/html 

     ErrorLog ${APACHE_LOG_DIR}/error.log 
     CustomLog ${APACHE_LOG_DIR}/access.log 
    <Directory /var/www/html> 
      AllowOverride All 
    </Directory> 

    <Location /alpha> 
    AuthType Basic 
    AuthName "Restricted Access - Authenticate" 
    AuthUserFile /etc/httpd/htpasswd.users 
    Require valid-user 
    </Location> 

    <Location /UserControl> 
     AuthType Basic 
     AuthName "Restricted Access - Authenticate" 
     AuthUserFile /etc/httpd/htpasswd.users 
     Require valid-user 
    </Location> 

    Redirect /alpha /alpha/ 
    ProxyPass /alpha/ http://127.0.0.1:3838/alpha/ 
    ProxyPassReverse /alpha/ http://127.0.0.1:3838/alpha/ 


    WSGIDaemonProcess UserControl user=ubuntu group=ubuntu threads=5 
    WSGIScriptAlias//home/ubuntu/FlaskApps/UserControl/UserControl.wsgi 

    <Directory /home/ubuntu/FlaskApps/UserControl> 
      WSGIProcessGroup UserControl 
      WSGIApplicationGroup %{GLOBAL} 
      WSGIScriptReloading On 
      Order deny,allow 
      #Allow from all 
      Require all Granted 
    </Directory> 

</VirtualHost> 

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet 

Однако, когда Я иду на http://servername все, что я получаю, это ошибка 404. Страница не найдена. Я начал с этого какое-то время и понятия не имею, почему.

Для чего это стоит, как http://myservername/alpha, так и http://myservername/UserControl оба работают так, что apache правильно работает.

Любая помощь будет высоко оценена.

+0

У вас есть файл /var/www/html/index.html? – ivanivan

+0

Да, и я скопировал самый базовый демо-файл, который я смог найти, чтобы не было ошибок. Я даже пробовал chmod 777, но не исправил. Вероятно, нет разрешения, поскольку он дает 404 не найденным, а не 403-запрещеннымZ – user1357015

ответ

2

Try:

<Directory /var/www/html> 
    AllowOverride All 
    Require all granted # required in Apache 2.4 
</Directory> 

Есть index.html Фактически указано как DirectoryIndex где-нибудь? Добавьте его в свою конфигурацию vhost.

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

<VirtualHost *:80> 
    Servername <redacted> 
    ServerAdmin [email protected] 
    DocumentRoot "/var/www/html"   # try quoting 
    DirectoryIndex index.html    # just in case 
    ErrorLog /full/path/to/error.log  # fully specified 
    CustomLog /full/path/to/access.log  # fully specified 
    <Directory "/var/www/html">    # quoted 
     AllowOverride All 
     Require all granted     # required in Apache 2.4 
    </Directory> 
</VirtualHost> 

Кроме того, я заметил, у вас есть это:

Order deny,allow 
#Allow from all 
Require all Granted 

Во-первых, the docs рекомендуют не смешивать старый и новый формат контроля доступа, так что вы, вероятно, хотите, чтобы избавиться от Order deny,allow. Во-вторых, я думаю, Granted должен быть в нижнем регистре, granted.

1

После сравнения файла с одним из моих, и игнорируя ваши биты аутентификации и проксирование, вы, кажется, не хватаете строфу, относящейся к корню документа ...

Вот соответствующая часть моей рабочей конфиги - изменить /var/www-example.com каталог на то, что вы хотите использовать для http://site/ корня ...

DocumentRoot /var/www-example.com 
<Directory /> 
    Options FollowSymLinks 
    AllowOverride None 
</Directory> 
<Directory /var/www-example.com/> 
    Options Indexes FollowSymLinks MultiViews 
    AllowOverride None 
    Order allow,deny 
    allow from all 
</Directory>