Error al correr cgi en python
aNgel rEsendiz g.
sonajadiabolica en gmail.com
Lun Oct 30 16:30:28 CET 2006
Intenta nuevamente, pero con http://localhost/cgi-bin/color.py.
Otra cosa es que probablemente cambiaste algo en la configuración de
apache que no recuerdas.
Escribe en la terminal "ps ax", y busca una linea que sea algo así:
/usr/sbin/apache2
si no la encuentras, escribe "sudo /etc/init.d/apache2 start" y nos
dices que mensaje obtienes.
De hecho, si obtienes algún mensaje de error, para facilitar las
cosas, puedes hacer esto:
sudo apt-get remove --purge apache2
sudo rm -rf /etc/apache2/
sudo apt-get install apache2
Despues vuelve a intentar con http://localhost/cgi-bin/color.py
Saludos
On 10/30/06, vicente villaveces <jvicentevilla en yahoo.es> wrote:
> Saludos.
> Agradecimiento a: aNgel rEsendiz g.
> He realizado lo que recomendazte hacer y al llamar el scrit: color.py desde mozilla con http://localhost/usr/lib/cgi-bin/color.py el navegador presenta un mensaje de alerta:
> "the file //localhost/usr/lib/cgi-bin/color.py cannot be found. Check the location and try again" ok. Gracias.
>
> "aNgel rEsendiz g." <sonajadiabolica en gmail.com> escribió: Que tal.
>
> A primera vista todo me parece correcto, vamos a ir descartando
> cosas, ahora guarda este script en /usr/lib/cgi-bin/color.py
>
> ----inicia código----
> #!/usr/bin/python
> import cgi
>
> print "Content-Type: text/html\n"
> form=cgi.FieldStorage()
> color=form.getvalue('color')
>
> print '''Seleccionar color
>
> [input] Negro
>
> [input] Rojo
>
> [input] green
>
> [input]
> '''
> if color:
> print 'El color de este texto es: %s '%(color,color)
> print ''
> ---fin del código---
>
> La primer linea es muy importante (#!/usr/bin/python). Despues cambia
> sus permisos "chmod 755 /usr/lib/cgi-bin/color.py".
>
> Si este ejemplo si te funciona, envia el codigo de tu script
> (hora.py) para tratar de resolver el problema, si no funciona, por
> favor envia los errores que obtengas, mira si hay alguno en
> /var/log/apache2/error.log
>
> Saludos.
>
> On 10/26/06, vicente villaveces wrote:
> > Saludos.
> > Mi agradecimiento a aNgel rSendiz g. He seguido tus indicaciones, he copiado un index.html y el script hora.py al directorio /var/www y los llamo desde el navegador, con http://localhost/index.html y se puede ver sin problema luego hago: http://localhost/hora.py y el navegador presenta un mensaje de alerta: "El archivo /localhost/var/www/hora.py no puede ser hallado por favor verifique la ubicaciòn e intente nuevamente " Okey.
> > Tambien tengo estos dos archivos en /usr/lib/cgi-bin y al ejecutarlos con http://localhost/cgi-bin/index.html o http://localhost/cgi-bin/hora.py presenta el mencionado anteriormente mensaje de alerta.
> > Anexo copia del archivo /etc/apache2/sites-enabled/default.
> >
> > NameVirtualHost *
> >
> > ServerAdmin webmaster en localhost
> >
> > DocumentRoot /var/www/
> >
> > Options FollowSymLinks
> > AllowOverride None
> >
> >
> > Options Indexes FollowSymLinks MultiViews
> > AllowOverride None
> > Order allow,deny
> > allow from all
> > # This directive allows us to have apache2's default start page
> > # in /apache2-default/, but still have / go to the right place
> > # Commented out for Ubuntu
> > #RedirectMatch ^/$ /apache2-default/
> >
> >
> > ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
> >
> > AllowOverride None
> > Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
> > Order allow,deny
> > Allow from all
> >
> >
> > ErrorLog /var/log/apache2/error.log
> >
> > # Possible values include: debug, info, notice, warn, error, crit,
> > # alert, emerg.
> > LogLevel warn
> >
> > CustomLog /var/log/apache2/access.log combined
> > ServerSignature On
> >
> > Alias /doc/ "/usr/share/doc/"
> >
> > Options Indexes MultiViews FollowSymLinks
> > AllowOverride None
> > Order deny,allow
> > Deny from all
> > Allow from 127.0.0.0/255.0.0.0 ::1/128
> >
> >
> >
> >
> > El 10/25/06
> > "aNgel rEsendiz g." escribió: Primero olvidate de el script de python, y escribe una pagina sencilla
> > en html, un index.html, ponlo en /var/www y dinos si puedes verlo, de
> > no ser así, el archivo que tienes que revisar es
> > /etc/apache2/sites-enabled/default. Recuerda que para entrar a tus
> > páginas/scripts, debes poner http://localhost/index.html, o
> > http://localhost/cgi-bin/hora.py en tu navegador.
> >
> > Saludos
> >
> > On 10/25/06, vicente villaveces wrote:
> > > Saludos.
> > > Estoy tratando de correr un cgi de prueba en python y el navegador me ppresenta el siguiente error: "Not Found The request URL /usr/lib/cgi-bin /hora.py was not found on this server"
> > > El directorio cgi-bin existe, el archivo hora.py, existe, fuè ejecutado en la consola de python sin error.
> > > Estoy trabajando en Ubuntu 5.04 con Apache2 version 2.0.53-5ubuntu5.6 y la libapache2-mod-python2.4.
> > > Agradezco de antemano cualquier ayuda que puedan darme,
> > > anexo copia de archivo apache.conf. y del archivo http.conf:
> > > Att. Jose Vicente Villaveces E.
> > > jvicentevilla en yahoo.es
> > > Archivo Apache.conf
> > > # Based upon the NCSA server configuration files originally by Rob McCool.
> > > # Changed extensively for the Debian package by Daniel Stone
> > > # and also by Thom May .
> > > # ServerRoot: The top of the directory tree under which the server's
> > > # configuration, error, and log files are kept.
> > > #
> > > # NOTE! If you intend to place this on an NFS (or otherwise network)
> > > # mounted filesystem then please read the LockFile documentation
> > > # (available at );
> > > # you will save yourself a lot of trouble.
> > > ServerRoot "/etc/apache2"
> > > # The LockFile directive sets the path to the lockfile used when Apache
> > > # is compiled with either USE_FCNTL_SERIALIZED_ACCEPT or
> > > # USE_FLOCK_SERIALIZED_ACCEPT. This directive should normally be left at
> > > # its default value. The main reason for changing it is if the logs
> > > # directory is NFS mounted, since the lockfile MUST BE STORED ON A LOCAL
> > > # DISK. The PID of the main server process is automatically appended to
> > > # the filename.
> > > LockFile /var/lock/apache2/accept.lock
> > > # PidFile: The file in which the server should record its process
> > > # identification number when it starts.
> > > PidFile /var/run/apache2.pid
> > > # Timeout: The number of seconds before receives and sends time out.
> > > Timeout 300
> > > # KeepAlive: Whether or not to allow persistent connections (more than
> > > # one request per connection). Set to "Off" to deactivate.
> > > KeepAlive On
> > > # MaxKeepAliveRequests: The maximum number of requests to allow
> > > # during a persistent connection. Set to 0 to allow an unlimited amount.
> > > # We recommend you leave this number high, for maximum performance.
> > > MaxKeepAliveRequests 100
> > > # KeepAliveTimeout: Number of seconds to wait for the next request from the
> > > # same client on the same connection.
> > > KeepAliveTimeout 15
> > > ##
> > > ## Server-Pool Size Regulation (MPM specific)
> > > ##
> > > # prefork MPM
> > > # StartServers ......... number of server processes to start
> > > # MinSpareServers ...... minimum number of server processes which are kept spare
> > > # MaxSpareServers ...... maximum number of server processes which are kept spare
> > > # MaxClients ........... maximum number of server processes allowed to start
> > > # MaxRequestsPerChild .. maximum number of requests a server process serves
> > > StartServers 5
> > > MinSpareServers 5
> > > MaxSpareServers 10
> > > MaxClients 20
> > > MaxRequestsPerChild 0
> > > # pthread MPM
> > > # StartServers ......... initial number of server processes to start
> > > # MaxClients ........... maximum number of server processes allowed to start
> > > # MinSpareThreads ...... minimum number of worker threads which are kept spare
> > > # MaxSpareThreads ...... maximum number of worker threads which are kept spare
> > > # ThreadsPerChild ...... constant number of worker threads in each server process
> > > # MaxRequestsPerChild .. maximum number of requests a server process serves
> > > StartServers 2
> > > MaxClients 150
> > > MinSpareThreads 25
> > > MaxSpareThreads 75
> > > ThreadsPerChild 25
> > > MaxRequestsPerChild 0
> > > # perchild MPM
> > > # NumServers ........... constant number of server processes
> > > # StartThreads ......... initial number of worker threads in each server process
> > > # MinSpareThreads ...... minimum number of worker threads which are kept spare
> > > # MaxSpareThreads ...... maximum number of worker threads which are kept spare
> > > # MaxThreadsPerChild ... maximum number of worker threads in each server process
> > > # MaxRequestsPerChild .. maximum number of connections per server process (then it dies)
> > > NumServers 5
> > > StartThreads 5
> > > MinSpareThreads 5
> > > MaxSpareThreads 10
> > > MaxThreadsPerChild 20
> > > MaxRequestsPerChild 0
> > > AcceptMutex fcntl
> > > User www-data
> > > Group www-data
> > > # The following directives define some format nicknames for use with
> > > # a CustomLog directive (see below).
> > > LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
> > > LogFormat "%h %l %u %t \"%r\" %>s %b" common
> > > LogFormat "%{Referer}i -> %U" referer
> > > LogFormat "%{User-agent}i" agent
> > > # Global error log.
> > > ErrorLog /var/log/apache2/error.log
> > > # Include module configuration:
> > > Include /etc/apache2/mods-enabled/*.load
> > > Include /etc/apache2/mods-enabled/*.conf
> > > # Include all the user configurations:
> > > Include /etc/apache2/httpd.conf
> > > # Include ports listing
> > > Include /etc/apache2/ports.conf
> > > # Include generic snippets of statements
> > > Include /etc/apache2/conf.d/[^.#]*
> > > #Let's have some Icons, shall we?
> > > Alias /icons/ "/usr/share/apache2/icons/"
> > > Options Indexes MultiViews
> > > AllowOverride None
> > > Order allow,deny
> > > Allow from all
> > > # Set up the default error docs.
> > > #
> > > # Customizable error responses come in three flavors:
> > > # 1) plain text 2) local redirects 3) external redirects
> > > #
> > > # Some examples:
> > > #ErrorDocument 500 "The server made a boo boo."
> > > #ErrorDocument 404 /missing.html
> > > #ErrorDocument 404 "/cgi-bin/missing_handler.pl"
> > > #ErrorDocument 402 http://www.example.com/subscription_info.html
> > > #
> > > #
> > > # Putting this all together, we can Internationalize error responses.
> > > #
> > > # We use Alias to redirect any /error/HTTP_.html.var response to
> > > # our collection of by-error message multi-language collections. We use
> > > # includes to substitute the appropriate text.
> > > #
> > > # You can modify the messages' appearance without changing any of the
> > > # default HTTP_.html.var files by adding the line;
> > > #
> > > # Alias /error/include/ "/your/include/path/"
> > > #
> > > # which allows you to create your own set of files by starting with the
> > > # /usr/local/apache2/error/include/ files and
> > > # copying them to /your/include/path/, even on a per-VirtualHost basis.
> > > #
> > > Alias /error/ "/usr/share/apache2/error/"
> > > AllowOverride None
> > > Options IncludesNoExec
> > > AddOutputFilter Includes html
> > > AddHandler type-map var
> > > Order allow,deny
> > > Allow from all
> > > LanguagePriority en es de fr
> > > ForceLanguagePriority Prefer Fallback
> > > ErrorDocument 400 /error/HTTP_BAD_REQUEST.html.var
> > > ErrorDocument 401 /error/HTTP_UNAUTHORIZED.html.var
> > > ErrorDocument 403 /error/HTTP_FORBIDDEN.html.var
> > > ErrorDocument 404 /error/HTTP_NOT_FOUND.html.var
> > > ErrorDocument 405 /error/HTTP_METHOD_NOT_ALLOWED.html.var
> > > ErrorDocument 408 /error/HTTP_REQUEST_TIME_OUT.html.var
> > > ErrorDocument 410 /error/HTTP_GONE.html.var
> > > ErrorDocument 411 /error/HTTP_LENGTH_REQUIRED.html.var
> > > ErrorDocument 412 /error/HTTP_PRECONDITION_FAILED.html.var
> > > ErrorDocument 413 /error/HTTP_REQUEST_ENTITY_TOO_LARGE.html.var
> > > ErrorDocument 414 /error/HTTP_REQUEST_URI_TOO_LARGE.html.var
> > > ErrorDocument 415 /error/HTTP_SERVICE_UNAVAILABLE.html.var
> > > ErrorDocument 500 /error/HTTP_INTERNAL_SERVER_ERROR.html.var
> > > ErrorDocument 501 /error/HTTP_NOT_IMPLEMENTED.html.var
> > > ErrorDocument 502 /error/HTTP_BAD_GATEWAY.html.var
> > > ErrorDocument 503 /error/HTTP_SERVICE_UNAVAILABLE.html.var
> > > ErrorDocument 506 /error/HTTP_VARIANT_ALSO_VARIES.html.var
> > > DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.py
> > > # UserDir is now a module
> > > #UserDir public_html
> > > #UserDir disabled root
> > > #
> > > # AllowOverride FileInfo AuthConfig Limit
> > > # Options Indexes SymLinksIfOwnerMatch IncludesNoExec
> > > #
> > > AccessFileName .htaccess
> > > Order allow,deny
> > > Deny from all
> > > UseCanonicalName Off
> > > TypesConfig /etc/mime.types
> > > DefaultType text/plain
> > > HostnameLookups Off
> > > IndexOptions FancyIndexing VersionSort
> > > AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip
> > > AddIconByType (TXT,/icons/text.gif) text/*
> > > AddIconByType (IMG,/icons/image2.gif) image/*
> > > AddIconByType (SND,/icons/sound2.gif) audio/*
> > > AddIconByType (VID,/icons/movie.gif) video/*
> > > # This really should be .jpg.
> > > AddIcon /icons/binary.gif .bin .exe
> > > AddIcon /icons/binhex.gif .hqx
> > > AddIcon /icons/tar.gif .tar
> > > AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv
> > > AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip
> > > AddIcon /icons/a.gif .ps .ai .eps
> > > AddIcon /icons/layout.gif .html .shtml .htm .pdf
> > > AddIcon /icons/text.gif .txt
> > > AddIcon /icons/c.gif .c
> > > AddIcon /icons/p.gif .pl .py
> > > AddIcon /icons/f.gif .for
> > > AddIcon /icons/dvi.gif .dvi
> > > AddIcon /icons/uuencoded.gif .uu
> > > AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl
> > > AddIcon /icons/tex.gif .tex
> > > AddIcon /icons/bomb.gif core
> > > AddIcon /icons/back.gif ..
> > > AddIcon /icons/hand.right.gif README
> > > AddIcon /icons/folder.gif ^^DIRECTORY^^
> > > AddIcon /icons/blank.gif ^^BLANKICON^^
> > > # This is from Matty J's patch. Anyone want to make the icons?
> > > #AddIcon /icons/dirsymlink.jpg ^^SYMDIR^^
> > > #AddIcon /icons/symlink.jpg ^^SYMLINK^^
> > > DefaultIcon /icons/unknown.gif
> > > ReadmeName README.html
> > > HeaderName HEADER.html
> > > IndexIgnore .??* *~ *# HEADER* RCS CVS *,t
> > > AddEncoding x-compress Z
> > > AddEncoding x-gzip gz tgz
> > > AddLanguage da .dk
> > > AddLanguage nl .nl
> > > AddLanguage en .en
> > > AddLanguage et .et
> > > AddLanguage fr .fr
> > > AddLanguage de .de
> > > AddLanguage el .el
> > > AddLanguage it .it
> > > AddLanguage ja .ja
> > > AddLanguage pl .po
> > > AddLanguage ko .ko
> > > AddLanguage pt .pt
> > > AddLanguage no .no
> > > AddLanguage pt-br .pt-br
> > > AddLanguage ltz .ltz
> > > AddLanguage ca .ca
> > > AddLanguage es .es
> > > AddLanguage sv .se
> > > AddLanguage cz .cz
> > > AddLanguage ru .ru
> > > AddLanguage tw .tw
> > > AddLanguage zh-tw .tw
> > > LanguagePriority en da nl et fr de el it ja ko no pl pt pt-br ltz ca es sv tw
> > > #AddDefaultCharset ISO-8859-1
> > > AddCharset ISO-8859-1 .iso8859-1 .latin1
> > > AddCharset ISO-8859-2 .iso8859-2 .latin2 .cen
> > > AddCharset ISO-8859-3 .iso8859-3 .latin3
> > > AddCharset ISO-8859-4 .iso8859-4 .latin4
> > > AddCharset ISO-8859-5 .iso8859-5 .latin5 .cyr .iso-ru
> > > AddCharset ISO-8859-6 .iso8859-6 .latin6 .arb
> > > AddCharset ISO-8859-7 .iso8859-7 .latin7 .grk
> > > AddCharset ISO-8859-8 .iso8859-8 .latin8 .heb
> > > AddCharset ISO-8859-9 .iso8859-9 .latin9 .trk
> > > AddCharset ISO-2022-JP .iso2022-jp .jis
> > > AddCharset ISO-2022-KR .iso2022-kr .kis
> > > AddCharset ISO-2022-CN .iso2022-cn .cis
> > > AddCharset Big5 .Big5 .big5
> > > # For russian, more than one charset is used (depends on client, mostly):
> > > AddCharset WINDOWS-1251 .cp-1251 .win-1251
> > > AddCharset CP866 .cp866
> > > AddCharset KOI8-r .koi8-r .koi8-ru
> > > AddCharset KOI8-ru .koi8-uk .ua
> > > AddCharset ISO-10646-UCS-2 .ucs2
> > > AddCharset ISO-10646-UCS-4 .ucs4
> > > AddCharset UTF-8 .utf8
> > > AddCharset GB2312 .gb2312 .gb
> > > AddCharset utf-7 .utf7
> > > AddCharset utf-8 .utf8
> > > AddCharset big5 .big5 .b5
> > > AddCharset EUC-TW .euc-tw
> > > AddCharset EUC-JP .euc-jp
> > > AddCharset EUC-KR .euc-kr
> > > AddCharset shift_jis .sjis
> > > #AddType application/x-httpd-php .php
> > > #AddType application/x-httpd-php-source .phps
> > > AddType application/x-tar .tgz
> > > # To use CGI scripts outside /cgi-bin/:
> > > #
> > > #AddHandler cgi-script .cgi
> > > Addhandler cgi-script .cgi .py
> > > # To use server-parsed HTML files
> > > #
> > > SetOutputFilter INCLUDES
> > > # If you wish to use server-parsed imagemap files, use
> > > #
> > > #AddHandler imap-file map
> > > BrowserMatch "Mozilla/2" nokeepalive
> > > BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0
> > > BrowserMatch "RealPlayer 4\.0" force-response-1.0
> > > BrowserMatch "Java/1\.0" force-response-1.0
> > > BrowserMatch "JDK/1\.0" force-response-1.0
> > > #
> > > # The following directive disables redirects on non-GET requests for
> > > # a directory that does not include the trailing slash. This fixes a
> > > # problem with Microsoft WebFolders which does not appropriately handle
> > > # redirects for folders with DAV methods.
> > > #
> > > BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully
> > > BrowserMatch "^WebDrive" redirect-carefully
> > > BrowserMatch "^gnome-vfs" redirect-carefully
> > > BrowserMatch "^WebDAVFS/1.[012]" redirect-carefully
> > > # Allow server status reports, with the URL of http://servername/server-status
> > > # Change the ".your_domain.com" to match your domain to enable.
> > > #
> > > #
> > > # SetHandler server-status
> > > # Order deny,allow
> > > # Deny from all
> > > # Allow from .your_domain.com
> > > #
> > > # Allow remote server configuration reports, with the URL of
> > > # http://servername/server-info (requires that mod_info.c be loaded).
> > > # Change the ".your_domain.com" to match your domain to enable.
> > > #
> > > #
> > > # SetHandler server-info
> > > # Order deny,allow
> > > # Deny from all
> > > # Allow from .your_domain.com
> > > #
> > > # Include the virtual host configurations:
> > > Include /etc/apache2/sites-enabled/[^.#]*
> > > # lineas añadidas
> > > LoadModule Python-module /usr/lib/apache2/modules/mod_python.so
> > > ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
> > > AllowOverride None
> > > Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
> > > Order allow,deny
> > > Allow from all
> > > DirectoryIndex /usr/cgi-bin/script.py
> > > Archivo http.conf
> > > # This is here for backwards compatability reasons and to support
> > > # installing 3rd party modules directly via apxs2, rather than
> > > # through the /etc/apache2/mods-{available,enabled} mechanism.
> > > #
> > > #LoadModule mod_placeholder /usr/lib/apache2/modules/mod_placeholder.so
> > > # linea añadida
> > >
> > >
> > > ---------------------------------
> > >
> > > LLama Gratis a cualquier PC del Mundo.
> > > Llamadas a fijos y móviles desde 1 céntimo por minuto.
> > > http://es.voice.yahoo.com
> > > _______________________________________________
> > > Python-es mailing list
> > > Python-es en aditel.org
> > > http://listas.aditel.org/listinfo/python-es
> > >
> >
> >
> > --
> > aNgel rEsendiz.!
> > _______________________________________________
> > Python-es mailing list
> > Python-es en aditel.org
> > http://listas.aditel.org/listinfo/python-es
> >
> >
> >
> > ---------------------------------
> >
> > LLama Gratis a cualquier PC del Mundo.
> > Llamadas a fijos y móviles desde 1 céntimo por minuto.
> > http://es.voice.yahoo.com
> >
> > ---------------------------------
> >
> > LLama Gratis a cualquier PC del Mundo.
> > Llamadas a fijos y móviles desde 1 céntimo por minuto.
> > http://es.voice.yahoo.com
> > _______________________________________________
> > Python-es mailing list
> > Python-es en aditel.org
> > http://listas.aditel.org/listinfo/python-es
> >
>
>
> --
> aNgel rEsendiz.!
> _______________________________________________
> Python-es mailing list
> Python-es en aditel.org
> http://listas.aditel.org/listinfo/python-es
>
>
>
> ---------------------------------
>
> LLama Gratis a cualquier PC del Mundo.
> Llamadas a fijos y móviles desde 1 céntimo por minuto.
> http://es.voice.yahoo.com
>
> ---------------------------------
>
> LLama Gratis a cualquier PC del Mundo.
> Llamadas a fijos y móviles desde 1 céntimo por minuto.
> http://es.voice.yahoo.com
> _______________________________________________
> Python-es mailing list
> Python-es en aditel.org
> http://listas.aditel.org/listinfo/python-es
>
--
aNgel rEsendiz.!
Más información sobre la lista de distribución Python-es