Ayúdanos a seguir proporcionándote tutoriales gratuitos y de calidad desactivando tu bloqueador de anuncios. suscriptores a nuestro sitio.

Cómo iniciar scripts CGI en Apache2 en Ubuntu 16.04 - 17.04

27 feb 2021 2 min di lettura
Cómo iniciar scripts CGI en Apache2 en Ubuntu 16.04 - 17.04
Tabla de contenidos

Prerrequisitos

Instalación de Apache 2

Configuración de Apache 2

Después de instalar Apache2, lo primero que debe hacer es habilitar el módulo CGI para Apache2. Desde la terminal:

sudo a2enmod cgi

Luego reiniciamos Apache2:

sudo service apache2 restart

Creemos la carpeta cgi-bin:

sudo mkdir /var/www/cgi-bin

Ingresemos a la carpeta:

cd /var/www/cgi-bin

Abramos el archivo apache2.conf:

sudo nano /etc/apache2/apache2.conf

Agreguemos las siguientes líneas de código al final del archivo:

ServerName localhost
 ScriptAlias /cgi-bin//var/www/cgi-bin/Options +ExecCGI
 AddHandler cgi-script.cgi.pl.py

Guarde y cierre el archivo.

Ahora abra el archivo serve.cgi.bin.conf:

sudo nano /etc/apache2/conf-available/serve-cgi-bin.conf

Edite el archivo de esta manera:

<IfModule mod_alias.c>
 <IfModule mod_cgi.c>
 Define ENABLE_USR_LIB_CGI_BIN
 </IfModule>
 <IfModule mod_cgid.c>
 Define ENABLE_USR_LIB_CGI_BIN
 </IfModule>
 <IfDefine ENABLE_USR_LIB_CGI_BIN>
 #ScriptAlias /cgi-bin//usr/lib/cgi-bin/#<Directory "/usr/lib/cgi-bin">
 # AllowOverride None
 # Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
 # Require all granted
 #</Directory>
 ## cgi-bin config
 ScriptAlias /cgi-bin//var/www/cgi-bin/<Directory "/var/www/cgi-bin/">
 AllowOverride None
 Options +ExecCGI
 </Directory>
 </IfDefine>
 </IfModule>

Guarde y cierre el archivo.

Reiniciamos Apache2:

sudo service apache2 restart

Creemos un ejemplo de CGI Script para probar nuestra configuración: Ingresemos a la carpeta:

cd /var/www/cgi-bin

Creemos un archivo:

sudo touch hello.py

Cambiemos los permisos en el archivo recién creado:

sudo chmod o+x hello.py

Abramos el archivo:

sudo nano hello.py

Pegamos las siguientes líneas de código en el archivo:

#!/usr/bin/env python
 import cgitb
 cgitb.enable()
 print("Content-Type: text/html;charset=utf-8")
 print "Content-type:text/html\r\n\r\n"
 print '<html>'
 print '<head>'
 print '<title> Hello Word </title>'
 print '</head>'
 print '<body>'
 print '<h2>Hello Word </h2>'
 print '</body>'
 print '</html>'

Guarde y cierre el archivo.

Abrimos el navegador y nos conectamos al servidor local a través del nombre de dominio o dirección IP:

http://TUO_INDIRIZZO_IP/cgi-bin/hello.py

Si el script no funciona, busque errores en error.log.

sudo nano /var/log/apache2/error.log

Apóyenos si le gusta nuestro contenido. Gracias.

Buy me a coffeeBuy me a coffee

Únase a la conversación

Apóyenos con una donación.

Genial! A continuación, complete el pago para obtener acceso completo a Noviello.it.
Bienvenido de nuevo! Has iniciado sesión correctamente.
Te has suscrito correctamente a Noviello.it.
Éxito! Su cuenta está completamente activada, ahora tiene acceso a todo el contenido.
Éxito! Su información de facturación ha sido actualizada.
Su facturación no se actualizó.