Cómo encontrar la URL de cgi-bin

Linux

El modo CGI es uno de los tres modos en los que se suele ejecutar PHP. CGI es el acrónimo de Common Gateway Interface. Es un estándar para la interfaz con aplicaciones externas en servidores web Apache. Cuando un programa o un script se ejecuta en modo CGI, se ejecuta en tiempo real, de modo que pueda generar información dinámica. Estos scripts se pueden escribir en PHP, Perl, Bash, C, C++ y muchos  otros lenguajes de programación.

Los scripts que se ejecutan en modo CGI puro, están aislados del servidor web, por lo que la URL de los scripts para el acceso externo no será la misma que la que utilizamos para acceder a los archivos HTML o PHP de nuestro servidor, que habitualmente están en el directorio «/var/www/». Los archivos .php a los que accedes dentro de este directorio, suelen ser scripts ejecutados en modo mod_php o en modo FastCGI, pero no en modo CGI.

Encontrar el directorio cgi-bin

El servidor web Apache utiliza la directiva ScriptAlias ​​para definir el directorio cgi-bin, que contendrá los scripts del servidor. Si en tu servidor web existe un directorio llamado public_html, entonces, el directorio cgi-bin seguramente esté en su interior. Este caso se da cuando utilizas algún panel de hosting como CPanel o VestaCP. Una vez hayas encontrado el directorio cgi-bin, podrás utilizarlo.

En caso de no usar un panel de hosting o no encontrar el archivo, puedes buscarlo abriendo el archivo de configuración del servidor web Apache, utilizando un editor de texto como vi o nano. Una vez abierto, busca la directiva ScriptAlias.

Vamos a ver las diferentes localizaciones en las que se encontrará el archivo httpd.conf, que es el archivo de configuración de Apache. Estos son los comandos para editar el archivo:

Editar el archivo httpd.conf en Debian:

$ vi /etc/apache-perl/httpd.conf

Editar el archivo httpd.conf en Red Hat, CentOS y Fedora:

$ vi /etc/httpd/conf/httpd.conf

Editar el archivo httpd.conf en FreeBSD:

$ vi /usr/local/etc/httpd.conf

Si lo prefieres, también puedes utilizar el comando grep del siguiente modo para encontrar el directorio cgi-bin de un modo más directo:

$ grep 'ScriptAlias' /etc/httpd/conf/httpd.conf
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/

En el ejemplo anterior, el directorio cgi-bin es el «/usr/lib/cgi-bin/».

Localización por defecto del directorio cgi-bin

Localización por defecto de los directorios cgi-bin en servidores Linux:

  • Red Hat: /var/www/cgi-bin/
  • Centos: /var/www/cgi-bin/
  • Fedora: /var/www/cgi-bin/
  • Debian: /usr/lib/cgi-bin/
  • Ubuntu: /usr/lib/cgi-bin/
  • FreeBSD: /usr/local/www/cgi-bin/

Encontrar la URL de los scripts cgi-bin

Finalmente, la URL de estos scripts dependerá de la localización de este directorio. Puedes utilizar http://tu-ip/cgi-bin o http://tu-ip/~tu-nombre/cgi-bin para acceder a los scripts con tu navegador. Debes reemplazar tu-ip con tu nombre de dominio o con la IP del servidor y tu-nombre, con tu nombre de usuario.


Avatar de Edu Lazaro

Edu Lázaro: Ingeniero técnico en informática, actualmente trabajo como desarrollador web y programador de videojuegos.

👋 Hola! Soy Edu, me encanta crear cosas y he redactado esta guía. Si te ha resultado útil, el mayor favor que me podrías hacer es el de compatirla en Twitter 😊

Si quieres conocer mis proyectos, sígueme en Twitter.

1 comentario en “Cómo encontrar la URL de cgi-bin

  1. Hola buenas tardes Edu no se si esto que te oreguntare es normal pero tengo muchos comandis en. I celular y si me puedes ayudar con eso estaría de lujo solo para saber de donde omprobienen ya que son cosas que nunca instale de antemano gracias

Deja una respuesta

“- Hey, Doc. No tenemos suficiente carretera para ir a 140/h km. - ¿Carretera? A donde vamos, no necesitaremos carreteras.”