{"id":10589,"date":"2017-10-25T07:56:13","date_gmt":"2017-10-25T07:56:13","guid":{"rendered":"http:\/\/localhost\/datacraft2023\/internet-instalcgi\/"},"modified":"2022-08-18T07:30:03","modified_gmt":"2022-08-18T10:30:03","slug":"internet-instalcgi","status":"publish","type":"page","link":"http:\/\/localhost\/datacraft2023\/internet-instalcgi\/","title":{"rendered":"Internet: instalando CGIs en el servidor"},"content":{"rendered":"

\n

\u00a0Volver al Indice –\u00a0Internet y Tutoriales de Dise\u00f1o Web<\/a><\/h2>\n

\"Internet:<\/p>\n

Por Alejandro Franco –\u00a0cont\u00e1ctenos<\/a><\/h2>\n

Instalando y probando los CGI’s<\/h2>\n

Ante todo debes tener en cuenta que un CGI debe instalarse en el servidor ya que es un programa. Es decir que a diferencia de un documento HTML, no basta con pasarlo al servidor. Normalmente hay que dar cierta informaci\u00f3n al CGI sobre nuestro servidor Web, donde se localizan ciertos ficheros, etc. Un CGI que tomes de cualquier sitio dificilmente va a funcionar “tal cual”. Las diferencias entre las configuraciones de los servidores hacen algunas veces imposible “portar” un programa de un servidor a otro. Sobre todo la diferencia entre servidores Windows y Unix algunas veces es tremenda. En muchas ocasiones puede ser bastante complejo adaptar a sistemas Windows CGIs creados para sistemas UNIX (o viceversa). Mi recomendaci\u00f3n es que, siempre que sea posible, creeis los CGIs pensando en ambas plataformas. Si la portabilidad se ataca durante el periodo de creaci\u00f3n del CGI el ahorro de tiempo es considerable. Para hacer portables los CGIs creados en Perl entre ambas plataformas hay que tener en cuenta varias cosas. Entre ellas cabe destacar:<\/p>\n

El salto de l\u00ednea en sistemas Unix es diferente al del los sistemas Windows (en UNIX es n mientras que en sistemas Windows es rn)<\/p>\n

La trayectoria (“path”) de un fichero en sistemas UNIX es de la forma \/directorio\/subdirectorio\/fichero mientras que en sistemas Windows es de la forma X:directoriosubdirectoriofichero<\/p>\n

En UNIX existe el ejecutable de sistema “sendmail” que puede aprovecharse para que el CGI envie correos electr\u00f3nicos de forma sencilla. En sistemas Windows no existe sendmail (aunque en ocasiones el sistema puede tener instalados programas similares) por lo que el envio de correos electr\u00f3nicos debe hacerse generalmente estableciendo una comunicaci\u00f3n directa con un servidor de SMTP.<\/p>\n

As\u00ed pues, lo m\u00e1s indicado para probar CGIs en modo local (antes de pasarlos al servidor Web que aloja vuestras p\u00e1ginas) es instalar en vuestro ordenador el sistema operativo que tenga vuestro servidor, y a ser posible el mismo servidor Web (adem\u00e1s del interprete Perl). El servidor Web es imprescindible ya que un CGI no funciona fuera del mismo (a diferencia de un documento HTML que es legible por el navegador aunque no se encuentre en un servidor Web). No obstante, si se tienen claras las diferencias entre los sistemas UNIX y Windows es posible probar muchos de los CGIs en sistemas Windows y, tras los cambios pertinentes, pasarlos al servidor UNIX. Naturalmente, no todos estamos dispuestos a instalar un servidor Web en nuestro ordenador y a\u00fan somos menos los dispuestos a instalar LINUX para probar los CGIs por tanto la persona que s\u00f3lo instala CGIs de forma ocasional suele probar el mismo en el servidor Web que aloja sus p\u00e1ginas. Esta es una de las razones por las que Perl est\u00e1 tan extendido, ya que no se tiene que compilar el CGI cada vez que se haga una modificaci\u00f3n (normalmente porque no funciona el CGI). Por esta misma raz\u00f3n (la de no tener que compilar) es bueno el Perl. Por cierto: PERL (http:\/\/www.perl.com\/) esta disponible para (casi) todas las plataformas. En el caso de Windows es aconsejable usar ActivePerl<\/p>\n

\n

Entorno Linux<\/h2>\n

La mayor\u00eda de los servidores que albergan p\u00e1ginas web usan UNIX como sistema operativo. Linux es su clon para ordenadores personales que mantiene muchas de las caracter\u00edsticas de su “padre”. Una, la que nos interesa, la ejecuci\u00f3n en nuestra m\u00e1quina local de p\u00e1ginas web con todas las caracter\u00edsticas de un servidor UNIX.<\/p>\n

Linux puede ejecutar scripts Perl y shell de forma nativa, por lo que las p\u00e1ginas que usa \u00e9stos, se ven autom\u00e1ticamente sin ning\u00fan cambio en la configuraci\u00f3n del sistema operativo. Con s\u00f3lo usar un navegador para ver la p\u00e1gina, ya se ejecutar\u00e1n.
\nEl servidor Web Apache se instala por defecto al instalar Linux y por regla general los CGIs deben instalarse en el directorio \/home\/httpd\/cgi-bin, mientras que los documentos HTML deben estar en \/home\/httpd\/htdocs<\/p>\n

Acu\u00e9rdese de asignarle permisos 755 para que puedan ejecutarse. Muchos CGIs van acompa\u00f1ados de un archivo de entorno (fm.conf) en donde debe indicar en qu\u00e9 dominio se ejecuta el CGI \/ est\u00e1 habilitado para usar dicho CGI.<\/p>\n

Entorno Windows<\/h2>\n

Para ejecutar scripts Perl bajo Win32, debe instalar el programa ActivePerl que se encuentra en el Sitio de ActiveState: http:\/\/www.activestate.com\/<\/p>\n

Para instalarlo debe ejecutar el archivo ActivePerl y seguir las indicaciones del asistente, el cual lo guiar\u00e1 a trav\u00e9s de los distintos pasos. Perl es instalado por defecto en C:Perl<\/p>\n

Para poder ejecutar CGIs creados en Perl, adem\u00e1s deber\u00e1s instalar alg\u00fan servidor Web (como por ejemplo “Internet Information Server”). Tras esto hay que configurar el servidor Web para que permita la ejecuci\u00f3n de CGIs Dentro del programa de administraci\u00f3n del IIS, seleccionamos el sitio web que tenemos asignado, y elegimos propiedades. Despu\u00e9s vamos a la pesta\u00f1a directorio particular, y pulsamos el bot\u00f3n configuraci\u00f3n. De aqu\u00ed pasamos a una nueva ventana, donde elegimos la pesta\u00f1a asignaciones para la aplicaci\u00f3n. Esto se utiliza para que el servidor admita los archivos ‘.pl’ (en Windows muchas veces es necesario que los cgis creados en Perl tengan extensi\u00f3n .pl y no .cgi), y se hace agregando un nuevo elemento, y a\u00f1adiendo los siguientes datos:<\/p>\n

Ejecutable: c:perlbinperl.exe %s %s
\nExtensi\u00f3n: pl
\nM\u00e9todo exclusi\u00f3n: PUT, DELETE
\nMotor de secuencias de comandos (desactivado)
\nComprobar si el archivo existe (activado)<\/p>\n

Una vez realizadas estas modificaciones, solo nos queda poner en marcha los tres sitios que acabamos de definir, y ya est\u00e1 todo listo para activar tres ventanitas de navegador, un WordPad y comenzar a programar y a volcar nuestras creaciones sin problemas.<\/p>\n","protected":false},"excerpt":{"rendered":"

instalando y probando CGIs<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":[],"_links":{"self":[{"href":"http:\/\/localhost\/datacraft2023\/wp-json\/wp\/v2\/pages\/10589"}],"collection":[{"href":"http:\/\/localhost\/datacraft2023\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"http:\/\/localhost\/datacraft2023\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"http:\/\/localhost\/datacraft2023\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/localhost\/datacraft2023\/wp-json\/wp\/v2\/comments?post=10589"}],"version-history":[{"count":0,"href":"http:\/\/localhost\/datacraft2023\/wp-json\/wp\/v2\/pages\/10589\/revisions"}],"wp:attachment":[{"href":"http:\/\/localhost\/datacraft2023\/wp-json\/wp\/v2\/media?parent=10589"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}