Una vez que ya tengamos instalado WSL, el siguiente proceso a realizar que os recomiendo es instalar el servidor web de Apache. Esto nos permitirá ejecutar los CGIs creados con Xailer de forma instantánea desde nuestro propio entorno de desarrollo. Os recuerdo que el IDE de Xailer aún no es capaz de depurar aplicaciones tipo Linux y por lo tanto sólo nos servirá para comprobar su funcionamiento como usuario final.
Como ya hicimos con la instalación de WSL, el primer paso es actualizar el sistema operativo, para ello escribiremos: sudo apt-get update
y a continuación, deberá ejecutar: sudo apt-get upgrade
Recuerde que el comando 'sudo' le va ha solicitar la contraseña de 'root'.
Para instalar Apache2 ejecutaremos la siguiente instrucción: sudo apt-get install apache2
y esperar a que se descargue e instale en nuestro equipo. Después comprobaremos el status de Apache2 y para ello haremos: sudo systemctl status apache2
(intro). Si nos aparece el siguiente mensaje de error:
Daremos los siguientes pasos (en caso contrario, la instalación será correcta y saltaremos al apartado Habilitar la ejecución de archivos tipo CGI):
wsl -l -v
(intro).
Si aparece 1 bajo VERSION, hemos de actualizarla a la versión 2 de WSL. Para ello, utilizaremos la instrucción: wsl –set-version <ubuntu_name> 2
(intro). Sustituiremos <ubuntu_name> por el nombre que corresponda. Por ejemplo, wsl –set-version Ubuntu-20.04 2
(intro). Si volvemos a ejecutar la instrucción wsl -l -v
(intro), deberá aparecer 2 bajo VERSION.
Para ello, deberemos habilitar el módulo CGI en Apache. En Ubuntu la forma correcta de hacerlo es crear un enlace simbólico para provocar su carga de la siguiente forma:
cd /etc/apache2/mods-enabled
(intro)
sudo ln -s ../mods-available/cgi.load
(intro)
sudo service apache2 reload
(intro)
Y vamos a comprobar que se ha cargado correctamente y para ello haremos: sudo apachectl -M
(intro)
Y nos saldrá la lista de módulos cargados por Apache. El módulo cgi_module debe de estar incluido.
A continuación haremos una pequeña prueba de funcionamiento: Los archivos tipo CGI deben de ubicarse en el directorio /usr/lib/cgi-bin
(Ubuntu). Ese es el directorio donde Apache espera encontrarlos. Vamos a crear un pequeño archivo 'bash' para comprobar que funciona correctamente:
sudo nano /usr/lib/cgi-bin/test.sh
(intro)
Y escribimos el siguiente código:
#!/bin/bash
echo 'Content-type: text/html'
echo ““
echo '<html>'
echo '<head>'
echo '<meta http-equiv=“Content-Type” content=“text/html; charset=UTF-8”>'
echo '<title>Hello World</title>'
echo '</head>'
echo '<body>'
echo 'Hello World'
echo '</body>'
echo '</html>'
exit 0
Grabamos el archivo pulsando 'Ctrl+X' y a continuación 'y'.
Es necesario indicar que el archivo se puede ejecutar y para ello haremos:
sudo chmod +x /usr/lib/cgi-bin/test.sh
(intro)
Por último sólo nos queda comprobar que funciona en nuestro navegador. Escribimos en él mismo:
http://localhost/cgi-bin/test.sh
(intro)
Si todo es correcto, debería poder ver el texto 'Hello World' en su navegador
El último paso es conseguir que nuestros CGIs creados con Xailer se ejecuten sin problemas utilizando el servidor Apache alojado en nuestro WSL y para ello sólo deberemos indicar como 'fichero de salida' en nuestros proyectos el camino (path) en WSL de la siguiente forma:
/usr/lib/cgi-bin/($nombre).cgi
Donde ($nombre) es el texto que usted desee.
Para que no sea necesario que el IDE conozca su contraseña 'root' es necesario que cambie los permisos del directorio usr/lib/cgi-bin
y permita el uso público del mismo con esta instrucción, que sólo deberá ejecutar una única vez:
sudo chmod 777 /usr/lib/cgi-bin
(intro)
Para ejecutar nuestro CGI en el navegador, escribiremos:
http://localhost/cgi-bin/fichero_salida.cgi
La actual versión de Xailer (9.1) lanza de forma automática el CGI en su navegador al pulsar el botón de 'Ejecutar'.
sudo service apache2 start
(intro)