¿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!
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 ;)
Ho estic intentant instal·lar a dudle.guifibages.net però em dona l’error 500 i no sé veure perquè.
Alguna idea?
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
bzr -Ossl.cert_reqs=none branch https://dudle.inf.tu-dresden.de/ dudle
actualizar el código
cd $YOUR_DUDLE_DIR
bzr pull
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
Pingback: Instalar dudle con debian 12 - Blackhold