GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Ubuntu:¿cómo configurar los permisos para permitir que Gedit, Apache y un Ide jueguen juntos?

Estoy usando Ubuntu Desktop 11.04 simple e instalé mi pila de lámparas usando el servidor de lámparas. Estoy tratando de usar Netbeans como mi IDE.

Actualmente, todos los hosts virtuales se ejecutan desde /var/www/vhostname — pero como no he configurado ningún grupo o permiso, si trato de abrir alguno de los archivos a través de Netbeans, no tiene permiso de escritura.

¿Cómo puedo configurar correctamente los permisos (o configurar Apache o Netbeans) para que:

  • Los archivos creados por un script php pueden ser rw por Netbeans
  • Los archivos creados por Netbeans pueden ser rw por Apache

Intenté chown todo a mi usuario/grupo que le dio permiso de escritura a Netbeans, pero luego Apache no tenía permiso de escritura.

Nota:Esto es puramente para una máquina de desarrollo, no se usa en producción, y soy el único usuario en esta caja.

ACTUALIZAR

Solía ​​usar el método en la respuesta que marqué como aceptada, pero ahora hago algo mucho más simple:

  1. Configuré Apache para que se ejecute como mi usuario y mi grupo (esto se hace en httpd.conf, apache2.conf o envvars dependiendo de su distribución)
  2. Choque /var/www a mi usuario y grupo

Voila, Apache tiene acceso de lectura/escritura y yo tengo acceso de lectura/escritura mientras trabajo en proyectos.

Respuesta aceptada:

Lo que recomiendo hacer se ha descrito principalmente en esta pregunta de Ask Ubuntu.

Para este caso particular, instalaría suPHP que, en resumen, le permite ejecutar scripts PHP como su usuario en Apache.

Haciendo lo siguiente:

sudo chown -R youruser:youruser /var/www
find /var/www/ -type d -exec chmod 0755 {} \;
find /var/www/ -type f -exec chmod 0644 {} \;

Instalar suphp-common y libapache2-mod-suphp de este ppa (¿Qué son los PPA y cómo los uso?)

Deshabilitar mod_php5 y habilite mod_suphp

sudo a2enmod suphp
sudo a2dismod php5

Actualice sus hosts virtuales para incluir esta línea en la parte inferior de ellos:

suPHP_UserGroup youruser youruser

Reemplazando youruser con el usuario que utiliza para editar archivos en el servidor. Reinicie Apache.

A partir de este momento, Apache ejecutará todos los scripts php que sean de su usuario, lo que significa que pueden ser propiedad de su usuario/grupo y no hay necesidad de usar permisos locos como 777. Dado que todo se ejecuta como su usuario, todos los archivos creados por php ¡los scripts también serán propiedad de su usuario! Hay muchas otras cosas geniales que puedes hacer con suPHP; sin embargo, por lo que parece, esto es todo lo que necesita para comenzar.

Relacionado:Ubuntu:¿problemas para descargar la lista de paquetes debido a un error de "falta de coincidencia en la suma de hash"?
Ubuntu
  1. Cómo instalar Apache ZooKeeper en Ubuntu

  2. Cómo instalar y configurar Nextcloud con Apache en Ubuntu 18.04

  3. Cómo instalar y proteger phpMyAdmin con Apache en Ubuntu 18.04

  4. Cómo instalar y configurar Squid 3 en Ubuntu

  5. Cómo instalar y configurar el servidor web Apache en Ubuntu 13.10

Cómo instalar y configurar Apache Tomcat 9 en Ubuntu 20.04 LTS

Cómo instalar y configurar Apache Hadoop en Ubuntu 20.04

Cómo instalar y configurar el módulo mod_pagespeed con Apache en Ubuntu 20.04 LTS

Cómo instalar y configurar Apache Kafka en Ubuntu 20.04

Cómo instalar y configurar Apache Spark en Ubuntu 20.04

Cómo instalar y configurar el servidor web Apache en Ubuntu