dudle: alternativa opensource a doodle

¿Cuantas veces has estado usando el doodle, esta magnífica herramienta pero te ha jodido a lo grande que fuese cerrada? ¡pues de la mano de Benjamin Kellermann, aquí llega dudle! el programa de encuestas que hace lo mismo que doodle y totalmente personalizable e instalable en tu servidor!

Dudle es un software desarrollado en ruby y su instalación es un poco distinta a la que estamos acostumbrados en un PHP+MySQL, además de que dudle no usa ninguna base de datos relacional, simplemente crea un directorio con un fichero de texto llamado data.yaml con todas las opciones.


Para descargar la ultima versión necesitaremos instalar bazaar:

# apt-get install bzr

También necesitaremos instalar git para que funcione history.cgi

# apt-get install git

Luego escogemos un directorio víctima donde vamos a poner el dudle y nos lo descargamos:

# cd /var/www/
# bzr branch https://dudle.inf.tu-dresden.de/ dudle

Entraremos al directorio del dudle y copiaremos el fichero de configuración por defecto config_sample.rb a config.rb

# cd dudle
# cp config_sample.rb config.rb

Como las distintas encuestras de dudle se crean dentro del directorio dudle será necesario darle permisos de escritura al usuario apache en este directorio:

# cd /var/www
# chown -R www-data:www-data dudle

Una vez hecho esto necesitaremos instalar algunos paquetes:

# apt-get install libgettext-ruby1.8 potool make
para darle el soporte de traducción a dudle (sin esto, el servidor nos da un error 500 porque no sabe como iniciar las traducciones)

además activamos el módulo de apache auth_digest y reiniciamos apache

# a2enmod auth_digest
# service apache2 restart

A continuación tenemos que añadir el directorio de dudle como un directorio de ejecución cgi. En el caso de a continuación aprovecho para asignarlo a un subdominio fácil de recordar y accesible:

# vi /etc/apache2/sites-available/dudle.marsupi.org

        ServerName      dudle.marsupi.org
        ServerAlias     *.dudle.marsupi.org
        ServerAdmin     marsupi@marsupi.org
        DocumentRoot    /var/www/dudle/

        #DirectoryIndex  index.cgi

        ErrorLog        /var/log/apache2/dudle.marsupi.org-error.log
        CustomLog       /var/log/apache2/dudle.marsupi.org-access.log combined

        
                Options +ExecCGI
                AllowOverride All
                Order allow,deny
                Allow from all
        

Activamos el sitio y recargamos la configuración de apache:

# a2ensite dudle.marsupi.org
# a2enmod rewrite
# service apache2 reload

Y ya podemos acceder a nuestro dudle!

http://dudle.marsupi.org

Para modificar la apariencia de dudle simplemente creamos nuestro css basado en default.css o classic.css al directorio css y lo llamamos desde el fichero config.rb, una vez cargado podemos usar todos los templates disponibles.

# vi config.rb
$conf.default_css = "css/marsupi.css"

Para el tema de las traducciones, si nos fijamos dentro el directorio locales están los distintos idiomas separados por directorios (podemos modificar los que queramos que se muestren desde el fichero dudle.rb). Dentro de cada directorio está el .po el fichero plano de la traducción, pero tenemos que generar el .mo, para ello es necesario instalar otro paquete y ejecutar make desde la raiz de dudle.

# apt-get install libgettext-rails-ruby 
# cd /var/www/dudle
# make

otra alternativa para no tener que compilar los .po podemos ejecutar lo siguiente:

# cd /var/www/dudle/
for i in locale/??; do
 wget -O $i/dudle.mo https://dudle.inf.tu-dresden.de/locale/`basename $i`/dudle.mo
done

Muchas gracias a Benjamin Kellermann para las aclaraciones y pequeños hacks de la aplicación, a ver si pronto vemos nuevos cambios y algunos feature request ;)

6 Comments

  1. Ho estic intentant instal·lar a dudle.guifibages.net però em dona l’error 500 i no sé veure perquè.
    Alguna idea?

    Respon
    • Hola Blackhold. Muchas gracias por el tutorial.
      Te quería preguntar si sabes si el proyecto dudle sigue en marcha o no. Veo muy poca información por internet.
      Estoy tratando de instalarlo en un miniservidor local, y al llegar a “bzr branch https://dudle.inf.tu-dresden.de/ dudle” me da el error “bzr: ERROR: Certificate error: no appropriate commonName or subjectAltName fields were found”.
      ¿Sabes si podría solventar ese error, y cómo?

      Muchas gracias.

      SAlu2

      Roberto

      Respon
    • Ojo al instalar en Wheezy o con nuevas versiones de Ruby. En versiones de ruby >= 1.9.x se han cargado algo de las rutas relativas y puede que no funcione. En el README explica como solucionar esto añadiendo una variable en el .htaccess

      Respon
  2. Pingback: Instalar dudle con debian 12 - Blackhold

Respon a none Cancel·la les respostes

L'adreça electrònica no es publicarà. Els camps necessaris estan marcats amb *

Aquest lloc utilitza Akismet per reduir els comentaris brossa. Apreneu com es processen les dades dels comentaris.