ANÚNCIATE AQUÍ

Cómo instalar Browsershots en Ubuntu Server 7.10

Browsershots es un sistema mediante el cual puedes testear tus diseños web en varios navegadores. Es decir puedes hacerle una “foto” a tu web y ver como se vería en un navegador internet explorer 7, firefox, safari, etc.. Yo he tenido que instalar uno en mi empresa, y ya que me he topado con algunos inconvenientes, y debido a la poca documentación que existe en español por la red, me he decidido a aportar mi granito a la comunidad (la mayoría de la información ha sido extraída de la documentación oficial).

En browsershots entran en juego dos términos: servidor y fábrica. El servidor es el que se encarga de pedir las imágenes, mediante una web. La fábrica es la máquina que se encarga de capturar la imagen y mandarla al servidor. Cada fábrica usará los navegadores que le instalemos; con esto ponemos a disposición del servidor estos navegadores para realizar capturas.

Instalación del servidor

Primero preparamos nuestro sistema para tener todo actualizado:

manu@eeepc:~$ apt-get update
manu@eeepc:~$ apt-get upgrade

Instalamos subversion para descargar la última versión del código fuente:

manu@eeepc:~$ apt-get install subversion

Nos colocamos en la ruta donde vamos a trabajar, para tenerlo todo ordenado, y descargamos el código y lo instalamos:

manu@eeepc:~$ cd /usr/lib/python2.5/site-packages
manu@eeepc:~$ svn checkout http://code.djangoproject.com/svn/django/trunk django
manu@eeepc:~$ cd django
manu@eeepc:~$ sudo python setup.py install
manu@eeepc:~$ cd ..
manu@eeepc:~$ svn checkout http://svn.browsershots.org/trunk/shotserver
manu@eeepc:~$ cd shotserver
manu@eeepc:~$ sudo python setup.py install

Instalación de la base de datos

manu@eeepc:~$ sudo apt-get install postgresql-8.2 python-psycopg
manu@eeepc:~$ sudo su – postgres
manu@eeepc:~$ echo ‘CREATE USER “www-data” CREATEDB’ | psql template1
manu@eeepc:~$ exit
manu@eeepc:~$ su www-data
manu@eeepc:~$ echo CREATE DATABASE shotserver04 | psql template1
manu@eeepc:~$ cd /usr/lib/python2.5/site-packages/shotserver/shotserver04
manu@eeepc:~$ ./manage.py syncdb

Cuando os pida crear una cuenta de administrador, indicarle “yes”. Importante apuntar la contraseña; será la que usemos más adelante en otras tareas.

Creando la carpeta contenedora de imágenes

Podemos indicarle que guarde las imágenes en la carpeta que queramos (archivo settings.py) , pero yo voy a usar la ruta predefinida:

manu@eeepc:~$ sudo mkdir -p /var/www/v04.browsershots.org/png
manu@eeepc:~$ sudo chown www-data:www-data /var/www/v04.browsershots.org/png

Instalando Apache

Instalamos Apache; creamos el archivo de logs y activamos mod_rewrite:

manu@eeepc:~$ sudo apt-get install apache2 libapache2-mod-python
manu@eeepc:~$ sudo mkdir -p /var/log/apache2/v04.browsershots.org/
manu@eeepc:~$ sudo a2enmod rewrite

Ahora cambiamos el nombre de nuestra máquina, pulsa aquí si no sabes cómo. Debería quedar como:

browsershots.example.com

Ahora creamos el virtualhost de nuestro nuevo sitio:

manu@eeepc:~$ vim /etc/apache2/sites-available/v04.browsershots.org

y pegamos lo siguiente:

ExtendedStatus On

NameVirtualHost *:80

ServerName browsershots.example.com

ServerAlias browsershots # Local alias

ServerAdmin webmaster@example.com

ServerSignature On LogLevel warn

ErrorLog /var/log/apache2/v04.browsershots.org/error.log

CustomLog /var/log/apache2/v04.browsershots.org/access.log combined

DocumentRoot /var/www/v04.browsershots.org

Options -Indexes

RewriteEngine On

RewriteBase /

# Force canonical hostname.

RewriteCond %{HTTP_HOST} !^browsershots.example.com(|:80)$

RewriteRule ^(.*)$ http://browsershots.example.com/$1 [R,L]

# Static files at server root

RewriteRule ^(favicon.ico|robots.txt)$ static/$1 [L]

# Force HTTPS for secure pages (uncomment next line to enable)

# RewriteRule ^(admin|accounts)(/.*)$ https://browsershots.org/$1$2 [R,L]

SetHandler python-program

PythonHandler django.core.handlers.modpython

SetEnv DJANGO_SETTINGS_MODULE shotserver04.settings

PythonDebug Off

PythonAutoReload Off

SetHandler None

SetHandler None

SetHandler None

SetHandler server-status

# Local variables:

# mode: apache

# end:

Activamos el sitio y reiniciamos Apache:

manu@eeepc:~$ sudo a2dissite default
manu@eeepc:~$ sudo a2ensite v04.browsershots.org
manu@eeepc:~$ sudo apache2ctl restart

Por último creamos unos enlaces simbólicos para los estilos de la web y su gestión:

manu@eeepc:~$ cd /var/www/v04.browsershots.org/
manu@eeepc:~$ sudo ln -s /usr/lib/python2.5/site-packages/shotserver04/static
manu@eeepc:~$ sudo ln -s /usr/lib/python2.5/site-packages/django/contrib/admin/media

También debemos instalar las librerías que van a procesar las imágenes:

manu@eeepc:~$ apt-get install netpbm

Con esto ya tenemos nuestro servidor en funcionamiento. Cuando visitemos http://browsershots.example.com, nos debe de aparecer el mensaje “Fuera de servicio”, ya que no hay ninguna fábrica conectada.

Instalando la fábrica

Para la fábrica, he optado por usar un Windows XP Profesional con Firefox 2.0 e Internet Explorer 7.0. Una vez que tengamos los navegadores instalados, debemos de irnos a C:\Archivos de programa y buscar las carpetas de Firefox e Internet Explorer; copiarlas en C:\program files (si no exite esta carpeta hay que crearla), ya que esta es la ruta donde la fábrica busca los navegadores.

En el servidor debemos de añadir la fábrica que vamos a poner en funcionamiento:

http://browsershots.example.com/admin/factories/factory/add/

Aquí nos pedirá una contraseña; es la contraseña del usuario admin del servidor. El nombre de la fábrica es el que usaremos más adelante.

Ahora debemos debemos de visitar, primero desde Firefox 2.0 y después desde Explorer 7.0, http://browsershots.example.com; logarnos con la cuenta de administrador que creamos anteriormente, y añadir estos navegadores, para la fábrica que acabamos de crear.

Deberemos descarganos los ejecutables de:

http://download.browsershots.org/binaries/

Una vez decomprimidos los binarios en una carpeta (en mi caso se llama fábrica), y deberemos ejecutar el siguiente comando desde consola (Inicio>Ejecutar>cmd):

C:\fábrica\shotserver -p passworddelusuarioadmindelserver -s http://browsershots.example.com -f nombredelafábrica

Ajustes opcionales

En algunas ocasiones, cuando se hace la petición de alguna web, puede que no la resuelva el sistema, ya tiene diez segundos por defecto para esta tarea. Para aumentar el tiempo de timeout debemos de editar el fichero /usr/lib/python2.5/site-packages/shotserver04/websites/utils.py y cambiar el campo HTTP_TIMEOUT a un valor superior, como por ejemplo ciento veinte.

Si visitamos ahora http://browsershots.example.com, nos debe de aparecer el servidor en funcionamiento con los dos navegadores disponibles para nuestras capturas!.

POSTS RELACIONADOS:



Un comentario para “Cómo instalar Browsershots en Ubuntu Server 7.10”

  • Tio, como te curras los post no? No sabía que habias montado todo esto. Muy curiosa toda la información que pones. A ver si nos vemos algun dia que baje por ahí o subas tu por aqui. Un abrazo

Deja un comentario

 
Twitter

Facebook

RSS

Google Reader

EDITORES
Manuel Pérez | Twitter
Categorías
Suscríbete al blog

Todo el contendido publicado en ErdK durante el día lo recibirás en tu email