Permisos de archivos incorrectos para LAMP [cerrado]

-1

He instalado Apache 2.4.6 en mi servidor y tengo la siguiente configuración de host virtual:

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName foobar1.com
    DocumentRoot /home/john/foobar1/foobar1.com
    <Directory /home/john/foobar1/foobar1.com>
        Options -Indexes +FollowSymLinks +MultiViews
        Require local
        AllowOverride All
        Order allow,deny
        allow from all
    </Directory>
    ErrorLog /home/john/foobar1/logfiles/error.log
    LogLevel warn
    CustomLog /home/john/foobar1/logfiles/access.log combined
</VirtualHost>

Cada vez que intento ver enlace (he agregado 127.0.0.1 foobar1.com a mi archivo de hosts) obtengo el siguiente error: [core:error] [pid 23238] (13)Permission denied: [client 127.0.0.1:49853] AH00035: access to / denied (filesystem path '/home/john/foobar1/foobar1.com') because search permissions are missing on a component of the path

El archivo pertenece al usuario "john" y también está en el grupo "john". Los permisos que utilicé son: chmod -R go-rwx (para la raíz del documento) chmod -R g + rw (para la raíz del documento) chmod -R o + r (para la raíz del documento)

Solo puedo ver mi sitio cuando configuro los permisos de archivo en 777 ... algo que sé es una debilidad importante en la seguridad. ¿Por qué solo puedo ver mi sitio con la configuración 777?

    
pregunta John Crawford 01.09.2013 - 12:04
fuente

1 respuesta

1

Esto se debe a que el daemon de Apache no se está ejecutando como usuario john . El demonio de Apache, al menos en los sistemas RHEL / Fedora, se ejecuta como el usuario apache .

Para leer realmente los archivos en su directorio DocumentRoot , los permisos de directorio de DocumentRoot deben ser drwxr-xr-x. .

Además, tenga en cuenta que si su servidor tiene Selinux habilitado, su directorio DocumentRoot probablemente tenga el contexto de Selinux incorrecto que bloqueará el acceso de Apache al directorio. Es una buena práctica mantener todos sus directorios DocumentRoot bajo /var/www (para las distribuciones basadas en RHEL, otras distribuciones pueden tener diferentes raíces web). Una alternativa será cambiar el contexto Selinux del directorio DocumentRoot con chcon -R -t httpd_sys_content_t /home/john/foobar1/foobar1.com .

    
respondido por el Ayrx 01.09.2013 - 12:11
fuente

Lea otras preguntas en las etiquetas