¿Apache requiere configuraciones especiales para ejecutar un comando?

1

Estoy intentando crear una imagen utilizando Bio :: Perl / Bio :: Graphics e implementarla en mi servidor web. Sin embargo, cuando intento ejecutar mis scripts en línea, la línea de comandos no responde para ejecutar mi script.

Uno de mis archivos del módulo Perl contiene este comando del sistema:

my $command = "perl Graphics.pl $start $end $attributes";
system($command);

Todos los valores se enrutan a este comando y todos los scripts funcionan perfectamente bien cuando se ejecutan manualmente a través de la línea de comandos. Apache no informa de los mensajes de error, excepto que el archivo que se suponía que debía crear en Graphics.pl no se ha creado:

> [Mon Dec 16 12:15:59 2013] [error] [client ::1] Cannot Open Output 59_15_12_16_11_113_1_349_0.png, referer: http://localhost/~User/cgi-bin/Home.pl

>[Mon Dec 16 12:15:59 2013] [error] [client ::1] File does not exist: /Users/User/Sites/cgi-bin/59_15_12_16_11_113_1_349_0.png, referer: http://localhost/~User/cgi-bin/Results.pl?start=1000&end=20000&chr=All&type=protein

¿Hay alguna configuración adicional que deba configurarse en la configuración de Apache para que pueda usar la línea de comandos?

Mis especificaciones son las siguientes:

  • Versión del servidor: Apache / 2.2.24 (Unix)
  • Perl 5, versión 16, subversión 2 (v5.16.2)
  • Mac OS 10.9 Mavericks

Cualquier ayuda sería muy apreciada.

    
pregunta fsimkovic 16.12.2013 - 13:25

1 respuesta

1

El problema ha sido resuelto. Básicamente, Apache no tenía permiso para escribir en la carpeta. Los pasos para resolver el problema incluyen:

  1. ls -la cgi-bin para verificar los permisos de mi carpeta cgi-bin .
  2. Proporcione a _www la propiedad del grupo de cgi-bin y otorgue al grupo permisos de escritura : chgrp -R _www cgi-bin && chmod g+w cgi-bin .
  3. Además, agregué mi usuario al grupo _www para no tener que autenticarme cada vez que agregué un archivo en la carpeta cgi-bin .
  4. sudo dseditgroup -o edit -a ikr -t user _www se usó para hacer el Paso 3 (ikr debe reemplazarse con el nombre de usuario que se agregará)
respondido por el fsimkovic 18.12.2013 - 16:07

Lea otras preguntas en las etiquetas