instalar descargar configurar como linux apache

linux - descargar - instalar apache en debian



Configurando la umask del usuario Apache (9)

Agregar a la respuesta de Luoti / Spider Man para CentOS7: en lugar de "iniciar" después del cambio, estos comandos se pueden utilizar:

systemctl daemon-reload service httpd restart

Estoy configurando un servidor LAMP y me gustaría establecer la configuración umask de Apache en 002 para que todos los archivos creados por Apache tengan el conjunto de permisos de escritura de grupo (para que los miembros del mismo grupo puedan sobrescribir los archivos).

¿Alguien sabe como hacer esto? Sé que en Ubuntu, puede usar el archivo / etc / apache2 / envvars para configurar umask, pero el servidor ejecuta CentOS.

Actualización Esta pregunta está relacionada con otra que hice hace un tiempo ( usuarios de Linux y grupos para un servidor LAMP ). Si lo prefiere, actualice esta otra pregunta con cuál es la mejor configuración para usar para tener un usuario desarrollador en un servidor que pueda editar archivos creados por el usuario de apache.


Agregar un comando umask a /etc/apache2/envvars no me parece una buena idea, no solo por el nombre del archivo (mencionando solo variables) sino también basado en este comentario encontrado en ese archivo:

# Since there is no sane way to get the parsed apache2 config in scripts, some # settings are defined via environment variables and then used in apache2ctl, # /etc/init.d/apache2, /etc/logrotate.d/apache2, etc.

Esto sugiere que /etc/apache2/envvars podría tener su origen en cualquier script que realice tareas relacionadas con Apache, y cambiar la umask de esos (desconocidos de antemano) scripts es bastante peligroso.

Por otro lado, en caso de que la idea de cambiar el umask de los objetivos Apache mod_dav los permisos de los archivos creados por mod_dav , debe considerar que el repositorio DAV se considera privado para Apache y permitir que otros procesos accedan a esos archivos puede generar varios isses ( incluida la corrupción) .


Apache hereda su umask de su proceso principal (es decir, el proceso que inicia Apache); esto debería ser típicamente el script /etc/init.d/ . Así que pon un comando umask en ese script.


En Debian, otro lugar para configurar umask para Apache es / etc / default / apache2. Solo esta línea al final de este archivo: umask 0002


Este fue el primer resultado en los resultados de búsqueda de Google para "CentOS 7 apache umask", por lo que compartiré lo que tenía que hacer para que esto funcione con CentOS 7.

Con CentOS 7 el echo "umask 002" >> /etc/sysconfig/httpd -method no funcionó para mí.

Sobreescribí el archivo de inicio del sistema creando una carpeta /etc/systemd/system/httpd.service.d y allí creé un archivo umask.conf con líneas:

[Service] UMask=0007

Arrancado y funcionó para mí.


Lo que puede hacer es establecer el bit de los bits pegajosos ( SetGID ) en el directorio con el que está trabajando su CGI:

chgrp mygroup dir chmod g+s dir

Cuando lo haga, asegúrese de que el (usuario) apache esté en el grupo mygroup (en /etc/group ), por lo que tendrá permisos.

Esto lo hará para que cualquier archivo creado bajo este directorio sea propiedad del mismo grupo que el directorio.

Este es un enfoque más seguro que establecer una umask global para CADA script cgi que apache pueda ejecutar.

(Así es como git-http-backend generalmente se ejecuta desde Apache).


Para CentOS y otras distribuciones de Red Hat, agregue la configuración umask a / etc / sysconfig / httpd y reinicie Apache.

[root ~]$ echo "umask 002" >> /etc/sysconfig/httpd [root ~]$ service httpd restart

Más información: Apache2 umask | MDLog: / sysadmin

Para los sistemas Debian y Ubuntu, también editaría /etc/apache2/envvars .


Para Ubuntu hay una herramienta svnwrap

  1. Instalar sudo apt-get install subversion-tools
  2. Ajustar svn y svnserve con svnwrap:
    sudo ln -s /usr/bin/svnwrap /usr/local/bin/svn
    sudo ln -s /usr/bin/svnwrap /usr/local/bin/svnserve

Después de esto, todas las operaciones de svn que usan los protocolos file: //, svn + ssh: // y http: // se realizarán con umask 002


Por lo general, no se recomienda alejarse del "modo apache probado y verdadero". Se ha dedicado mucho tiempo y se ha ganado una dura experiencia en la selección de tales cosas.