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
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}
# 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
# 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
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