Todos os meus aplicativos tiveram que ser colocados no DocumentRoot e todos eles funcionaram.
O que me desencorajou foi o fato de que 2 aplicativos que não estavam no DocumentRoot ainda funcionavam e eram acessíveis através do meu navegador.
Eu tenho o Ubuntu 14.04 instalado.
O DocumentRoot é /var/www/html
Quando eu digito meu endereço de URL, ele funciona bem: meu arquivo de teste é exibido. Quando eu tento um aplicativo que eu instalei em /app1
e /app2
, ambos funcionam bem também. ( /var/www/app1
e /var/www/app2
). Especificamente, no meu navegador, posso ir para o meu <ip address>/app1
e o aplicativo funciona, o mesmo com <ip address>/app2
.
Agora, instalei outro aplicativo em /app3
( /var/www/app3
) e quando tento acessá-lo no meu navegador, ele continua dizendo:
O url /app3
solicitado não pode ser encontrado.
Eu comparei permissões e propriedades a meus outros aplicativos e até mesmo excluí os arquivos app3 e coloquei meu próprio arquivo index.html e ele ainda diz que não pode ser encontrado.
No entanto, quando eu altero o DocumentRoot
para /var/www/app3
, o aplicativo funciona bem. /app3
é DokuWiki, btw. Eu postei lá, mas ninguém respondeu. E eu não quero que seja a minha raiz de documentos.
Por que isso? Como meus outros aplicativos (app1 e app2) funcionam bem e app3 não pode ser encontrado?
Esta é a aparência da estrutura em /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
Então, novamente, /app1
e /app2
funcionam no meu navegador. /app3
e /test
diz que não pode ser encontrado.
Por dentro de /test
, tem esta aparência:
-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
...
Eu já testei o grupo todos os www-data antes. Dentro dos diretórios que funcionam
$ 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
...
Isso funciona se eu acessar diretamente app.html
no meu navegador.
$ 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
apenas redireciona para index.php
$ ls -l html
-rw-rw---- 1 root www-data 119 May 21 13:00 index.html
Este é o resultado do comando 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
Todos os meus aplicativos tiveram que ser colocados no DocumentRoot e todos eles funcionaram.
O que me desencorajou foi o fato de que 2 aplicativos que não estavam no DocumentRoot ainda funcionavam e eram acessíveis através do meu navegador.
Parece que suas permissões podem estar cheias. Sugiro fazer isso
chown -R root:www-data app3 test
Isso mudará o proprietário e o grupo de todos os arquivos e pastas no app3 e testará para owner = root e group = www-data.
Espero que conserte isso para você.