Gentoo Logo

Cómo instalar Gorg

Contenido:

1.  Introducción

Gorg es un procesador back-end de XSLT para un sitio web basado en XML. Los ficheros fuente son transformados y servidos de una vez. Los ficheros de salida y sus dependencias se almacenan en una caché. Sus principales características son:

  • Trabaja con apache, lighttpd o webrick (el servidor propio de ruby)
  • Usa caché eficiente.
  • Genera cabeceras HTTP consistentes cuando varios nodos web sirven el mismo contenido.
  • Implementa su propia compresión (también llamada mod_gzip), esto es, no depende del servidor web para comprimir su salida.
  • Soporta caché en el cliente.
  • El XSL procesado puede aceptar y escribir cookies.
  • Proporciona su propio motor de búsqueda (el indexado del sitio será actualizado sustancialmente en una versión posterior)

Gorg le permite servir su propia copia local de http://www.gentoo.org. Puede usar un guión cgi o fastcgi con apache o lighttpd, o incluso usar su propio servidor web independiente. Su nombre es una contracción de Gentoo.org ya que fue creado con el sitio Gentoo en mente cuando se pensó que se necesitaba un sustituto de AxKit.

Gorg ha sido probado en x86, amd64, alpha, sparc, ppc, mips y hppa con los siguientes paquetes:

Listado de Código 1.1: Entorno de prueba.

>=net-www/apache-2.0.55
>=www-apache/mod_fcgid-1.0.8

>=dev-lang/ruby-1.8.4
>=dev-libs/fcgi-2.4.0
>=dev-ruby/ruby-fcgi-0.8.6
>=dev-libs/libxml2-2.6.23
>=dev-libs/libxslt-1.1.15
(En caso poco probable de que quiera trastear con el propio motot de búsqueda de gorg)
>=dev-db/mysql-4.0.26 (hasta la 5.* inclusive)
>=dev-ruby/ruby-dbi-0.0.21
>=dev-ruby/mysql-ruby

2.  Instalando Gorg

Defina sus ajustes USE para permitir que apache use o no mod_fcgi dependiendo como quiera usarlo. El ajuste USE mysql solo se requiere para el motor de búsqueda integrado.

Importante: Deberá ajustar las dependencias de su arquitectura usando palabras clave (keyword). Puede ajustar estar palabras clave en los paquetes necesarios o aceptar una arquitectura ajena. gorg ha sido instalado y probado en x86, amd64, alpha, sparc, ppc, mips y hppa.

Listado de Código 2.1: Haciendo emerge de gorg

(Compruebe que las dependencias están disponibles para su arquitectura)
# emerge -pv gorg

(Instale gorg)
# emerge gorg

3.  Configurando gorg

Configurando apache

Nota: Puede saltarse esta sección si no va a usar apache.

Si quiere usar fastcgi (cosa que debería hacer, sin duda), necesitará añadir -D FCGID a la variable APACHE2_OPTS en /etc/conf.d/apache2.

A continuación integre las directivas de configuración de apache, presentes del fichero de configuración ejemplo /etc/gorg/vhost.sample en sus propias configuraciones vhost, por ejemplo, /etc/apache2/vhosts.d/10_gorg.conf. Los comentarios en el fichero de configuración ejemplo le guiarán.

Finalmente, copie o cree un enlace simbólico a los guiones (c)cgi de /usr/lib/ruby/site_ruby/<ruby-version>/gorg/fcgi-bin/gorg.fcgi y /usr/lib/ruby/site_ruby/<ruby-version>/gorg/cgi-bin/{gorg,search}.cgi en los directorios (f)cgi de su sitio web y compruebe que son ejecutables. Deberá copiar search.cgi únicamente si va a usa el motor de búsqueda integrado.

Configurando gorg

Haga una copia del fichero de configuración ejemplo /etc/gorg/gorg.conf.sample a /etc/gorg/gorg.conf y edítelo. Los comentarios le ayudarán a definir sus propios parámetros. Necesitará definir por lo menos el directorio raíz de sus documentos web.

Si no quiere usar el fichero de configuración por defecto /etc/gorg/gorg.conf, necesitará definir una variable de entorno llamada GORG_CONF que apunte al fichero de configuración.

Importante: Si usa caché, y es recomendable que lo haga, deberá asegurarse de que el directorio caché definido en su fichero de configuración tiene los permisos adecuados. Si usa apache, el usuario apache necesita acceso total a ese directorio.

Obteniendo los ficheros que faltan

Asumiendo que va a servir una copia local de CVS, o una copia o enlace simbólico a ella, necesitará algunos ficheros del directorio dyn.

Listado de Código 3.1: Obtener los ficheros que faltan

(Vaya a su directorio htdocs)
$ cd /camino/a/su/raíz/de/documentos
/htdocs $ cd dyn
/htdocs $ wget -O news-index.xml http://www.gentoo.org/dyn/news-index.xml?passthru=1
/htdocs $ cd ..
(Haga los mismo para cualquier otro dato que necesite del directorio /dyn)

Necesitará también hacer las imágenes disponibles para su navegador. El directorio images está un nivel por encima de htdocs. Simplemente defina un enlace simbólico a éste y estará preparado.

Listado de Código 3.2: Cree un enlace simbólico a las imágenes

/htdocs $ ln -si ../images images

(Debería tener este aspecto:)
/htdocs $ ls -l
drwxr-xr-x   3 neysx users  128 Sep 14 17:45 css
drwxr-xr-x  31 neysx users  744 Oct 26 00:03 doc
drwxr-xr-x   3 neysx users  544 Nov  2 16:53 dtd
drwxr-xr-x   3 neysx users  168 Nov  3 16:24 dyn
-rw-r--r--   1 neysx users 1406 Jun  7  2003 favicon.ico
lrwxrwxrwx   1 neysx users   10 Oct 21 22:29 images -> ../images/
-rw-r--r--   1 neysx users  190 Nov  9  2002 index.xml
drwxr-xr-x  16 neysx users  384 Apr  1  2004 main
drwxr-xr-x  17 neysx users 6960 Nov  3 15:34 news
drwxr-xr-x   8 neysx users  192 Oct 23 14:52 proj
drwxr-xr-x   4 neysx users   96 Sep 17 14:05 security
drwxr-xr-x   3 neysx users  736 Nov  2 16:40 xsl

Su CVS local probablemente muestre algunas entradas más, pero al menos las mencionadas arriba deberían estar disponibles y puestas al día. También recuerde mantener su directorio images actualizado.

4.  Corriendo Gorg

El servidor web independiente

La forma más sencilla de probarlo, es correr gorg. Debería mostrar algo como esto:

Listado de Código 4.1: Correr gorg

$ gorg

Starting the Gorg web server on port 8008

Hit Ctrl-C or type "kill 31479" to stop it

Apunte su navegador a http://localhost:8008 y debería ver su sitio favorito.

Con apache

Reinicie apache (/etc/init.d/apache2 restart) y visite http://localhost asumiendo que ha instalado su propia estación de trabajo.

Si usó servidores fastcgi estáticos, debería verlos con top -u apache.

Si esto no funciona, pruebe con el servidor web independiente (teclee gorg). Si esto tampoco funciona, compruebe su fichero de configuración /etc/gorg/gorg.conf. Si esto funciona, compruebe sus ficheros de configuración de apache y sus ficheros de log.



Imprimir

Página actualizada 7 de mayo, 2012

Sumario: Esta guía describe cómo instalar y configurar gorg.

Xavier Neys
Autor

Joshua Saddler
Editor

José María Alonso
Traductor

Donate to support our development efforts.

Copyright 2001-2014 Gentoo Foundation, Inc. Questions, Comments? Contact us.