sábado, 8 de septiembre de 2018

Establecer permisos a la carpeta HTDOCS en XAMPP Linux


Al instalar XAMPP en Fedora, viene con permisos preestablecidos, dichos permisos son para el correcto funcionamiento, y sólo se asigna el permiso que corresponde, ya que los demonios lanzados para el servidor apache, requiere de acceso a algunas funciones del SO, por lo tanto no es recomendable asignarle permisos más de los que necesita.


Sin embargo, si en el usuario en el que se esté modificando un desarrollo web, no tiene los permisos correctos, no es posible guardar los cambios, crear directorios, etc., en pocas palabras, es necesario asignarle ciertos permisos al directorio htdocs.

El directorio htdocs almacena los desarrollos que creados por uno mismo, y es en esta carpeta donde se deben colocar dichos archivos.

En mi caso particular, me gusta crear un enlace de la carpeta htdocs, que se instala en /opt/lampp/htdocs/ y en mi carpeta personal con el nombre de www 

Con el siguiente comando se realiza lo siguiente:

sudo ln -s /opt/lampp/htdocs /home/linuxitos/www

**linuxitos: es el nombre del usuario de ejemplo en este post, reemplazarlo por su nombre de usuario

Listo, ahora ya se tiene un enlace al directorio htdocs, ésto facilita porque no es necesario ir /opt/lamp/htdocs, para realizar alguna modificación.

1.- Es recomendable asignar los permisos requeridos por cada proyecto desarrollado, y no asignar los permisos directamente sobre todo el directorio de www (recordar que www es un enlace a htdocs).

2.- Los permisos deben asignarse por defecto al grupo y al usuario, para que sea posible crear directorios desde el desarrollo, en caso de ser necesario, o si se requiere subir archivos.

Por default, el grupo y usuario de xampp al instalarlo es daemon, por lo tanto, se asignaría de la siguiente manera:

Entrar a www

cd ~/www
Asignar el grupo y usuario que puedan modificar el directorio del proyecto.

sudo chown -R daemon:linuxitos developer_dir

Asignar los permisos al directorio del desarrollo:

sudo chmod -R 775 developer_dir

Con esos permisos se podrá modificar los archivos, crear directorios, y sub directorios que sean necesarios.

De éste modo, es posible editar los archivos desde algún editor de texto el contenido del desarrollo, sin ningún problema.

En caso de que no se le asignen éstos permisos, u algún otro permiso, al querer guardar los cambios realizados sobre algún archivo del proyecto, siempre pedirá la contraseña del usuario para guardar los cambios (ver imagen de abajo):




Alguno podrán decir que es más fácil asignar permisos 777 y ya, pero las buenas prácticas siempre son bienvenidas.

Además, no quiero imaginar lo que pasaría si al servidor en producción se suben archivos con permisos de ejecución o cosas por el estilo.


Cualquier comentario o corrección son bienvenidos, como siempre he dicho, "en gustos se rompen géneros".

Algunas fuentes revisadas:

4 comentarios:

  1. pero puedo preguntar en el apartado de asignar el grupo y el usuario linuxitos es el nombre de la carpeta que esta dentro de home pero developer_dir que es ?, en mi caso soy el unico usuario y solo dentro de home esta mi carpeta de usuario =? ahi que ?

    ResponderBorrar
    Respuestas
    1. Sí, es el nombre del usuario, en este caso, lo reemplazas por tu nombre de usuario

      Borrar
  2. Hola... gracias ante todo por compartir el conocimiento; ya he creado el enlace simbolico, con el nombre "webprojects" la cual apunta a "htdocs"; el problema es que no me deja copiar las carpetas del o los proyectos deseo ejecutar en Xampp

    ResponderBorrar
    Respuestas
    1. Dentro de la carpeta de XAMPP, crea otro directorio que se llama no sé, devs por ejemplo, éste directorio debe tener permisos de escritura, y además debe ser dueño daemon y tu usuario: usa éstos dos comandos:

      sudo chown -R daemon:blip ~/www/devs
      sudo chmod 775 -R ~/www/devs

      Borrar