martes, 1 de mayo de 2012

02 Configurar Apache para ejecutar script realizados en Gambas

Configurar Apache para poder ejecutar script realizados en Gambas

0) Tenemos que tener instalado el componente gambas2-script (o gambas3-script)
Si no lo tenemos instalado, lo instalamos con
$sudo su apt-get install gambas2-script


1) Crear enlaces simbólicos y carpetas

Debes de crear un enlace símbolico al programa gbs2 (o gbs3)

Nota:
Si no sabes donde esta el archivo gbs2 (o gbs3 para gambas3), lo puedes buscar con el comando whereis
$whereis gbs2

Que te devolverá las rutas donde este el programa.

Dependiendo como lo hayas instalado (con paguete .deb, repositorio oficial, o compuilandolo), estas rutas podrán variar.

Imaginamos que se haya instalado en /usr/bin, ahora vamos a crear el enlace:

Para Gambas2
sudo ln -s /usr/local/bin/gbs2 /usr/local/bin/gbw2


(si lo hemos compilado a mano, se instala en /usr/local)

Nota:
Si instalas gambas desde paquete .deb, la ruta sera:
sudo ln -s /usr/bin/gbs2 /usr/bin/gbw2


Para Gambas3
sudo ln -s /usr/local/bin/gbs3 /usr/local/bin/gbw3

Nota:
Si instalas gambas desde paquete .deb, la ruta sera:
sudo ln -s /usr/bin/gbs3 /usr/bin/gbw3


Ahora tendras que crear una carpeta donde vayas a alojar los archivos de script.
Por ejemplo la puedes crear en /usr/bin/cgi-bin

Con permiso de ejecución para todos los usuarios:
sudo chmod 705 /usr/bin/cgi-bin

Es esta carpeta, es donde alojarás tus script realizados en gambas. sudo chmod 705 miscript.cgi



2)Editar el archivo de configuración de apache2 (/etc/apache2/sites-available/default)

sustituir:

ScriptAlias /cgi-bin/ “/usr/lib/cgi-bin/”
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>

y por:

ScriptAlias /cgi-bin/ /var/www/cgi-bin/

<Directory "/var/www/cgi-bin/">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
Addhandler cgi-script .cgi .pl .gb
</Directory>


3) Y reiniciar apache
sudo /etc/init.d/apache2 restart



Ya esta tu servidor apache preparado para ejecutar scripts CGI en gambas....!!

Nota:
Si te aparece este error:

apache2: bad user name ${APACHE_RUN_USER}

En esta dirección explica como arreglarlo: http://guerratopia.com/error-apache2-bad-user-name-apache_run_user

Básicamente esta es la solución:
Abrimos una terminal y ponemos lo siguiente:
sudo gedit /etc/apache2/apache2.conf
Dentro buscamos estas lineas:
# These need to be set in /etc/apache2/envvars
User ${APACHE_RUN_USER}
Group ${APACHE_RUN_GROUP}
Y las sustituimos la parte de ${APACHE_RUN_USER} y de ${APACHE_RUN_GROUP} por www-data, quedara algo asi:
# These need to be set in /etc/apache2/envvars
User www-data
Group www-data
Después guardamos y cerramos y reiniciamos apache.
sudo /etc/init.d/apache2 restart


Para ver el fichero de log con los errores que se hayan producido en apache2:
cat /var/log/apache2/error.log

No hay comentarios:

Publicar un comentario