GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Ejemplos simples de CGI y Apache en Ubuntu Linux

Introducción

CGI (Interfaz de puerta de enlace común) es una interfaz entre el cliente web y el servidor web que ejecuta su script/programa CGI. CGI es bastante antiguo y fue reemplazado en gran medida por diferentes lenguajes de programación como PHP, etc. Sin embargo, todavía puede encontrar su lugar en las manos del administrador del sistema Linux como una herramienta rápida para la supervisión y administración del sistema a través del navegador web. Este artículo describe paso a paso cómo ejecutar scripts CGI básicos con varios lenguajes de programación y scripts utilizando el servidor web Apache en Ubuntu Linux.

Instalar Apache

Primero necesitamos instalar el servidor web apache. Esta es una tarea bastante simple y se puede lograr con apt-get comando:

$ sudo apt-get install apache2

El comando anterior instalará el servidor web Apache 2 con un sitio predeterminado ubicado en:/etc/apache2/sites-disponible/default. Cuando abra este sitio de configuración predeterminado, verá que está configurado para ejecutar secuencias de comandos CGI desde /usr/lib/cgi-bin directorio con URL alias /cgi-bin/ :

 ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">

Opcionalmente, puede cambiar su configuración de DNS para que apunte a la dirección IP de su nuevo servidor web o simplemente editar su archivo local /etc/hosts. Por ejemplo:

10.1.1.61       cgi-example.local

Donde 10.1.1.61 es una IP de su servidor web que ejecuta apache y cgi-example.local es un nombre de dominio arbitrario.

Crear guión CGI

CGI funciona con varios idiomas, pero por ahora comenzamos con bash shell. Más adelante mostraremos ejemplos para otros idiomas. Aquí hay una versión simple del ejemplo CGI bash:

#!/bin/bash
echo "Content-type: text/html"
echo ''
echo 'CGI Bash Example'

Copie el código anterior y péguelo en un nuevo archivo en /usr/lib/cgi-bin/ llamado example-bash.sh. Una vez hecho esto, haga que el archivo sea ejecutable usando chmod comando:

$ sudo chmod 755 /usr/lib/cgi-bin/example-bash.sh

Ver guión CGI

Todo lo que queda es navegar con su navegador hasta el nombre de host o la dirección IP de su servidor web. En nuestro caso la URL será:http://cgi-example.local/cgi-bin/example-bash.sh

Puede editar este ejemplo para mostrar un uso de disco de la partición raíz del servidor "/". Solo estás limitado por tu imaginación:

#!/bin/bash
echo "Content-type: text/html"
echo ''
echo 'CGI Bash example<br>'
echo `df -h / | grep -v Filesystem`

El código anterior verificará si hay espacio libre en el disco para una partición raíz y producirá la siguiente página:

Más ejemplos CGI

Como prometí, aquí hay más ejemplos de CGI para algunos lenguajes de programación más para que comiences.

Perl

Cree y haga ejecutable el siguiente /usr/lib/cgi-bin/example-perl.pl con un contenido:

#!/usr/bin/perl

print "Content-type: text/html\n\n";
print <<htmlcode;
<html>
<head>
<title>CGI Perl Example</title>
</head>
<body>
<h1>CGI Perl Example</h1>
<p>CGI Perl Example</p>
</body>
htmlcode

Pitón

Cree y haga ejecutable el siguiente /usr/lib/cgi-bin/example-python.py con un contenido:

<html>
<head>
<title>CGI Python Example</title>
</head>
<body>
<h1>CGI Python Example</h1>
<p>CGI Python Example</p>
</body></html>
"""

C

Para que C y C++ funcionen, necesitaremos tener instalado un compilador. Primero, instale el compilador con:

$ sudo apt-get install build-essential

Una vez instalado crea un archivo ejemplo-c.c con el siguiente código:

#include <stdio.h>
int main(void)
{
printf("Content-Type: text/plain \n\n");
printf("CGI C Example \n");
}

guarde el contenido del archivo example-c.c y compílelo con el siguiente comando de Linux:

$ sudo gcc -o /usr/lib/cgi-bin/example-c example-c.c

ahora debería poder acceder a su script CGI compilado en C con:http://cgi-example.local/cgi-bin/example-c

C++

Para que C y C++ funcionen, necesitaremos tener instalado un compilador. Primero, instale el compilador con:

$ sudo apt-get install build-essential

Una vez instalado, cree un archivo ejemplo-cpp.c con el siguiente código:

#include <iostream>
using namespace std;

int main()
{
cout << "content-type: text/html" << endl << endl;
cout << "<h1>CGI C++ example</h1>" << endl;
return 0;
}

guarde el contenido del archivo example-cpp.c y compílelo con el siguiente comando de Linux:

$ sudo g++ -o /usr/lib/cgi-bin/example-cpp example-cpp.c

ahora debería poder acceder a su script CGI compilado en C con:http://cgi-example.local/cgi-bin/example-cpp

Conclusión

Como se mencionó anteriormente, el CGI es bastante antiguo y fue reemplazado en gran medida por diferentes lenguajes de programación como PHP, etc. Sin embargo, como puede ver, todavía es una herramienta relativamente simple de usar para automatizar sus tareas de administración de Linux, como un monitoreo remoto personalizado sus servidores Linux utilizando un navegador web.


Ubuntu
  1. Configuración básica de PHP 7 y Nginx en Ubuntu 16.04 Linux

  2. Cómo habilitar y deshabilitar el módulo PHP curl con Apache en Ubuntu Linux

  3. Cómo instalar Apache Cassandra en Ubuntu y otros Linux

  4. Cómo instalar Apache Maven en Ubuntu 18.04 y 16.04

  5. Instalar y configurar Apache y PHP con cgi en Ubuntu o Debian

Mostrar asteriscos al escribir la contraseña de Sudo en Linux (ejemplo de Ubuntu y CentOS)

Instalar Apache OpenOffice en Ubuntu y Linux Mint

Cómo instalar Apache Nifi en Ubuntu Linux

50 comandos de corte de Linux simples y útiles en Unix con ejemplos

50 ejemplos simples y útiles del comando Buscar en Linux

Cómo instalar LAMP en Ubuntu 15.10 (Linux, Apache, MySQL y PHP)