Autor
|
Tema: Apache linux y DocumentRoot (Leído 5,834 veces)
|
Becerra
Desconectado
Mensajes: 97
Siempre aprendiendo
|
Hola
Tengo instalado Apache en una distribución Manjaro, por defecto la capeta DocumentRoot apunta a /srv/http, en la cual no tengo permisos de escritura.
Estaba tratando de configurar un VirtualHost hacia una carpeta en mi home, pero al tratar de acceder al contenido, apache me tira un error de acceso denegado. Supongo que algún tema de permisos. Creo haber leído por ahí que la carpeta en la que esté el proyecto y sus carpetas padres tienen que tener permisos 755, también puedo cambiar los permisos de la carpeta /srv/http y así tener acceso y poder escribir en ella.
Ahora bien, ¿que es lo correcto hacer? No quiero cambiar permisos "indiscriminadamente" no vaya a ser que tenga problemas por otro lado. No sé si hay otra solución más adecuada.
Un saludo
|
|
|
En línea
|
Buenas preguntas obtienen mejores respuestas
|
|
|
MinusFour
|
750 es mejor así no expones tu directorio a los demás usuarios. Lo que la gente hace es cambiar el grupo del directorio al grupo que usa tu usuario de apache (www-data por ejemplo). También usan el SETGID al document root, de esa forma todos los archivos que creas acaban siendo parte del grupo de apache (que mientras tengan r-x no deberían tener problemas accediéndolo).
Hay muchas maneras de trabajar los permisos, dependiendo de la situación que estés trabajando.
|
|
« Última modificación: 8 Noviembre 2021, 05:47 am por MinusFour »
|
En línea
|
|
|
|
Becerra
Desconectado
Mensajes: 97
Siempre aprendiendo
|
Hola Soy muy torpe con la terminal de linux y me pierdo mucho. Si no me equivoco, creo que el problema es que la carpeta de usuario tiene permisos 700, por lo tanto, nadie puede acceder. Creo que lo que voy a hacer es cambiar los permisos a /srv/http para que yo pueda acceder, así no toco mi carpeta de usuario que me da más miedo. EDITO: al final lo hice de otra forma, creé un nuevo usuario, añadí mi usuario y apache a su grupo, modifiqué los permisos de las carpetas de ese usuario y ahora sí, ya puedo acceder. No sé si será la forma correcta, pero de momento me vale, así no toco los permisos de mi home ni de la carpeta /srv/http. No puedo creer que me haya costado tanto esto Un saludo
|
|
« Última modificación: 9 Noviembre 2021, 00:21 am por Becerra »
|
En línea
|
Buenas preguntas obtienen mejores respuestas
|
|
|
MinusFour
|
EDITO: al final lo hice de otra forma, creé un nuevo usuario, añadí mi usuario y apache a su grupo, modifiqué los permisos de las carpetas de ese usuario y ahora sí, ya puedo acceder. No sé si será la forma correcta, pero de momento me vale, así no toco los permisos de mi home ni de la carpeta /srv/http. No puedo creer que me haya costado tanto esto Un saludo Eh, personalmente yo no lo haría. Yo no quisiera que un servidor tuviera acceso a todo mi home. En primer lugar porque no lo necesita. En segundo lugar porque no debe poder leer mis otros archivos (por ejemplo, mis llaves ssh). Encima, mi home es 700, así que ni siquiera el grupo del directorio tiene acceso a mi home.
|
|
|
En línea
|
|
|
|
Becerra
Desconectado
Mensajes: 97
Siempre aprendiendo
|
Hola Esto es más complicado de lo que debería ser Vale que para un proyecto terminado y en funcionamiento haya un mínimo de seguridad, pero para entornos de desarrollo, como es mi caso, es un engorro todo esto. Eh, personalmente yo no lo haría. Yo no quisiera que un servidor tuviera acceso a todo mi home. En primer lugar porque no lo necesita.
Realmente no es mi home, es el home de un usuario nuevo que creé y tan solo contiene una carpeta en la que alojar los archivos .php El DocumentRoot del servidor lo apunté a /home/nuevo_usuario/proyecto, pero yo lo hago todo desde mi usuario normal. En segundo lugar porque no debe poder leer mis otros archivos (por ejemplo, mis llaves ssh).
Pues eso no lo pensé (ni comprobé, de momento solo tuve tiempo para llamar a phpinfo() ), la verdad que el proyecto accederá a una base de datos (PostgreSQL) no sé si habrá algún problema, tengo que comprobarlo. Menudo lío.... me veo siguiendo con el proyecto en el otro ordenador que tengo con windows.... Un saludo
|
|
|
En línea
|
Buenas preguntas obtienen mejores respuestas
|
|
|
MinusFour
|
Realmente en muchos hostings compartidos eso es lo que se hacia. Cada usuario tiene su directorio home y ahí iba todo el código de cada quien. Apache se configura para correr los archivos bajo diferentes usuarios (de forma que un usuario A no tenga acceso a los archivos del usuario B).
Si tienes un entorno de producción y solo usas tu carpeta home para mantener los archivos del servidor pues no pasa nada. Pero en desarrollo o testing, donde probablemente estés usando un usuario que tenga otros archivos (documentos, fotos, llaves, etc) pues yo no le daría permiso a un servidor web para que pudiera ver todo esto. Simplemente no es necesario. Igual le puedes poner 777 a todo tu home y quizás no pase nada pero nuevamente, no es necesario.
|
|
|
En línea
|
|
|
|
Becerra
Desconectado
Mensajes: 97
Siempre aprendiendo
|
Hola ... en desarrollo o testing, donde probablemente estés usando un usuario que tenga otros archivos (documentos, fotos, llaves, etc) pues yo no le daría permiso a un servidor web para que pudiera ver todo esto....
Entonces, ¿cómo harías? Teniendo en cuenta que es una instalación solo para desarrollo, cuando esté terminado irá a un servidor en una pequeña red local. Un saludo
|
|
|
En línea
|
Buenas preguntas obtienen mejores respuestas
|
|
|
MinusFour
|
Yo usaría ese directorio de /srv/http. Añadiría un nuevo subdirectorio para el sitio (e.g. desarrollo/localhost/dev, etc) y cambiaría el dueño del directorio por mi usuario. cd /srv/http sudo mkdir dev sudo chown tuusuario dev chgrp grupoDeApache dev # e.g. www-data chmod 750 dev chmod g+s dev
Y listo, el servidor ahora puede leer los archivos que tu creas sin ningún problema y tu directorio home está a salvo (tienes que quitar al usuario de apache del grupo de tu usuario).
|
|
|
En línea
|
|
|
|
Becerra
Desconectado
Mensajes: 97
Siempre aprendiendo
|
Hola
Pues me ha gustado más esta forma, muchas gracias.
Un saludo
|
|
|
En línea
|
Buenas preguntas obtienen mejores respuestas
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Instalar Apache. PHP, MySQL en Linux + Configuración Avanzada
Tutoriales - Documentación
|
el-brujo
|
1
|
200,115
|
5 Septiembre 2009, 23:05 pm
por Hadess_inf
|
|
|
POR QUE APACHE 1.3.33 Y NO APACHE 2?
Sugerencias y dudas sobre el Foro
|
Nabucodonosor
|
1
|
2,332
|
30 Marzo 2005, 03:41 am
por el-brujo
|
|
|
Las webs basadas en Linux, Apache, MySQL y PHP son las principales dianas del...
Noticias
|
wolfbcn
|
1
|
2,115
|
10 Junio 2011, 18:34 pm
por [u]nsigned
|
|
|
Distribución linux con Apache y MYSQL
GNU/Linux
|
OssoH
|
6
|
4,742
|
13 Octubre 2011, 16:21 pm
por OssoH
|
|
|
Servidor apache local Kali Linux | Solucionado
Hacking
|
Catapun
|
0
|
1,889
|
20 Enero 2019, 15:47 pm
por Catapun
|
|