У меня установлена Ubuntu 14.04.
DocumentRoot имеет значение /var/www/html
Когда я набираю свой URL-адрес, он работает нормально: у меня появляется тестовый файл. Когда я пытаюсь установить приложение, установленное в /app1
и /app2
, они оба работают нормально. (/var/www/app1
и /var/www/app2
). В частности, в моем браузере я могу перейти к своему <ip address>/app1
, и приложение работает так же, как с <ip address>/app2
.
Теперь я установил другое приложение в /app3
(/var/www/app3
), и когда я пытаюсь получить к нему доступ в своем браузере, оно продолжает говорить: запрошенный URL /app3
не может быть найден.
Я сравнил разрешения и права собственности с моими другими приложениями и даже удалил файлы app3 и просто поместил в свой собственный файл index.html, и он все еще говорит, что не может быть найден.
Однако, когда я изменяю DocumentRoot
на /var/www/app3
, приложение работает нормально. /app3
это DokuWiki, кстати. Я отправил туда, но никто не ответил. И я не хочу, чтобы это был мой корень документа.
Так выглядит структура в /var/www
:
drwxr-x--x 10 root www-data 4096 May 23 07:40 app1
drwxrwxr-x 7 root root 4096 Mar 19 15:29 app3
drwxrwx--x 2 root www-data 4096 May 21 16:45 html
drwxr-x--- 13 root www-data 4096 May 17 10:00 app2
drwxr-xr-x 2 root www-data 4096 May 23 07:47 test
Итак, еще раз, /app1
и /app2
работает в моем браузере. /app3
и /test
говорят, что это не может быть найдено.
Внутри /test
это выглядит следующим образом:
-rw-r--r-- 1 www-data root 108 May 23 07:47 index.html
$ ls -l app3
drwxrwxr-x 2 root root 4096 Mar 19 15:29 bin
drwxrwxr-x 2 root root 4096 Mar 19 15:29 conf
-rw-rw-r-- 1 root root 18092 Mar 19 15:29 COPYING
drwxrwxr-x 12 root root 4096 Mar 19 15:29 data
-rw-rw-r-- 1 root root 182 Mar 19 15:29 index.php
...
Я уже пробовал группировать все www-данные. Внутри каталогов, которые работают
$ ls -l app1
drwx------ 22 root www-data 4096 May 20 17:11 addons
-rw-r--r-- 1 root root 639533 May 23 07:40 app.html
drwx------ 6 root www-data 4096 May 20 17:11 css
drwx------ 4 root www-data 4096 May 20 17:12 images
...
Это работает, если у меня есть прямой доступ к app.html
в моем браузере.
$ ls -l app2
drwxr-x--- 21 root www-data 4096 May 17 09:59 3rdparty
drwxr-x--- 21 www-data www-data 4096 May 17 09:59 apps
drwxr-x--- 2 root www-data 4096 May 6 14:34 assets
-rw-r----- 1 root www-data 477 Apr 23 15:57 AUTHORS
drwxr-x--- 2 www-data www-data 4096 May 17 10:12 config
-rw-r----- 1 root www-data 1941 Apr 23 15:57 console.php
-rw-r----- 1 root www-data 34520 Apr 23 15:57 COPYING-AGPL
drwxr-x--- 19 root www-data 4096 May 17 10:00 core
-rw-r----- 1 root www-data 4170 Apr 23 15:57 cron.php
drwxr-x--- 4 www-data www-data 4096 May 17 21:21 data
-rw-r----- 1 root www-data 23751 Apr 23 15:57 db_structure.xml
-rw-r----- 1 root www-data 179 Apr 23 15:57 index.html
-rw-r----- 1 root www-data 1792 Apr 23 15:57 index.php
...
index.html
просто перенаправляет на index.php
$ ls -l html
-rw-rw---- 1 root www-data 119 May 21 13:00 index.html
Это результат команды grep -R app /etc/apache2/{sites,conf}-enabled
:
/etc/apache2/sites-enabled/000-default.conf: # specifies what hostname must appear in the request's Host: header to
/etc/apache2/sites-enabled/default-ssl.conf: # when the CA certificates are directly appended to the server
/etc/apache2/sites-enabled/default-ssl.conf: # approach is that mod_ssl sends the close notify alert but doesn't wait for
/etc/apache2/sites-enabled/default-ssl.conf: # approach you can use one of the following variables:
/etc/apache2/sites-enabled/default-ssl.conf: # this when you receive I/O errors because of the standard approach where
/etc/apache2/conf-enabled/localized-error-pages.conf:# includes to substitute the appropriate text.
/etc/apache2/conf-enabled/localized-error-pages.conf:# You can modify the messages' appearance without changing any of the
/etc/apache2/conf-enabled/security.conf:# This currently breaks the configurations that come with some web application
/etc/apache2/conf-enabled/phpmyadmin.conf: AddType application/x-httpd-php .php
Все мои приложения должны были быть помещены в DocumentRoot, и затем они все работали.
то, Что отбросило меня, было тем, что 2 приложения, которые не были в DocumentRoot все еще, работали и были доступны через мой браузер.
Похож на Ваши полномочия, может быть наполнен. Я предлагаю сделать это
chown -R root:www-data app3 test
, Это изменит владельца и группу всех файлов и папок в app3 и тесте владельцу = корень и группа = www-данные.
Hope, которая фиксирует его для Вас.