Redireccionando, de una web a otra

Cuando cambié de hosting y dominio para este blog, me encontré con el principal problema de hacer saber a la gente que entraba o había entrado en el antiguo, de que me había cambiado. Pensé que bastaría con un post donde comentaba que ahora se me podía encontrar en una nueva dirección, así cuando entrasen en el blog antiguo, leerían esa nota en portada y se vendrían para aquí. Pero claro, muchos visitantes llegan a una página desde un navegador o desde algún enlace en otro sitio y que lo llevan a un post concreto de tu página y no ven la página principal o no leen más a allá de ese post que los ha traído hacia ti.

El otro problema es la pérdida del Pagerank (cuán popular es tu sitio para Google) o de los backlinks (enlaces a contenidos de tu página desde otras páginas). Afortunadamente, estas cosas tienen solución (bendita informática :-P)

Vamos a hacer uso de uno de los estados del servidor web, concretamente el 301, que indica que la página web a la que estás accediendo ha sido movida a otro sitio. Esto es muy útil para los robots de los buscadores, que cuando rastrean nuestra página web, anotan que deben seguir la nueva dirección de la página. Muy bien, ¿y cómo hacemos esto? En PHP, basta con poner el siguiente código en la página principal de la página que queremos redireccionar:

<?php
     Header( "HTTP/1.1 301 Moved Permanently" );
     Header( "Location: http://www.direccion-nueva.com" );
?>

Bastará con cambiar la parte que pone Location, con el sitio al que queremos que redireccione.

Puede suceder (es lo que me ocurrió a mí) que el sitio donde tengas alojada tu página, no permita incluir código PHP en su contenido, así que tendremos que echar mano de una solución algo cutre, pero también efectiva. Entre las etiquetas <head> y </head>, ponemos:

<META HTTP-EQUIV="refresh" content="0;
          URL=http://www.direccion-nueva.com/">

Lo que hemos hecho es que la página que contiene ese código se actualice (refresh), a los 0 segundos de haber sido cargada, a la nueva página http://www.direccion-nueva.com. Podéis ver cómo funciona entrando en http://jab.blogia.com, donde estaba antes este weblog. Debería traeros aquí de nuevo.

Y nada de perder visitantes 😉

SPGM: una galería muy válida

Hoy en día hay un montón de generadores de galerías web. Tú sólo les das las fotos, y el script se encarga de crear la galería, sin tú tener que preocuparte de escribir código. Los hay muy buenos, pero hoy os voy a hablar de SPGM (Simple Picture Gallery Manager), por varias razones:

SPGM

  • Es código abierto
  • No usa bases de datos
  • No usa la librería GD
  • Está en español
  • Las galerías que genera son XHTML 1.0 Strict válidas.

Lo cierto es que la última opción fue la que me hizo decantarme por ella.

Instalación

Debemos tener instalada la versión 4 ó superior de PHP. Nos descargamos la última versión y lo descomprimimos en un directorio. Si lo subimos a nuestro espacio web, la dirección de la galería sería algo así: http://www.tuweb.com/spgm-xxx/index.php. spgm-xxx variará según la versión que te hayas descargado. Obviamente, puedes darle el nombre que quieras a ese directorio.

Pues la instalación era eso nada más. Ahora sólo queda meterle contenido 🙂

Creando galerías

Por defecto, sólo tenemos que crear directorios dentro de la carpeta gal. Así que, si queremos crear una galería llamada Fotos, tendremos que crear un directorio con ese nombre en gal, de tal forma que nos quedaría gal/Fotos/. Los nombres de las galerías (los directorios) no pueden contener espacios, pero podemos escribir en su lugar un guión bajo ‘_’ y el script lo interpretará como un espacio: gal/Fotos_de_coches.

Ahora metemos las fotos en esos directorios. Y nos falta un último paso, debemos crear nosotros las miniaturas (thumbnails) de las fotos. Sí esto puede ser algo engorroso, pero es la desventaja de no usar la librería GD para la manipulación de imágenes. Sin embargo, dentro de la carpeta tools nos incluyen un script tanto para Windows (genthumb.bat) como para Linux (genthumb.sh) que nos facilitarán el proceso, haciendo automáticamente las miniaturas de las fotos. De todos modos, por si os sirve, yo hice un script bastante más sencillo (para Linux):

#!/bin/bash
for image in `ls *.jpg`
do
        convert $image -resize 150x113 _thb_$image
done

Es necesario tener instalado el paquete imagemagick. Lo que hace el script es que para todas las imágenes (en este caso, .jpg) que haya en el directorio donde se ejecute el script, las reduce a un tamaño de 150 píxels de ancho y 113 de alto, y les da un nuevo nombre (no borra las originales) de la forma _thb_nombre_de_la_imagen_original.jpg.

Para usar el script, primero copiáis las líneas de arriba en un fichero, lo llamáis como queráis (mejor algo descriptivo, claro) y le dais permisos de ejecución (en consola es tempwin@linux:~$ chmod +x nombre_script). Y lo ejecutáis tal que así: tempwin@linux:~$ ./nombre_script 🙂

Venga, y ya tenéis la galería creada 🙂 Pongámonos ahora con la configuración/personalización.

Archivos y directorios

Así está estructurado SPGM junto con sus archivos importantes:

  • contrib/ – Donde está una librería javascript que usa SPGM para mostrar información EXIF.
  • css/ – La hoja de estilo del aspecto superficial de la galería.
  • flavors/ – Carpeta de temas, para modificar el aspecto de la galería.
  • gal/ – Por defecto es el directorio donde se almacenarán los álbumes que queramos añadir a la galería.
  • gal/spgm.conf – Archivo de configuración de la galería, para editar algunos aspectos de la misma.
  • lang/ – Carpeta con los archivos de lenguaje, para traducir la galería.
  • tools/ – Herramientas para la creación automática de miniaturas.
  • spgm.php – Es el script que se encarga de crear la galería.

Idioma

Dentro de la carpeta lang tienes bastantes idiomas para elegir. Por defecto, viene en inglés. Si queremos cambiar el idioma, tenemos que editar el archivo spgm.conf, que está dentro de la carpeta gal. Casi al final podemos ver una línea que pone $cfg['conf']['language'] = 'en';, por defecto, está comentada (con un # delante). Borramos el # y le ponemos el idioma, es para el Español.

Número de miniaturas

Otro aspecto que nos interesará, será el número de miniaturas que queremos que se muestre en cada página de nuestra galería. Lo podemos definir también en el mismo archivo que antes. En la línea $cfg['conf']['thumbnailsPerRow'] = 4;, le indicamos que queremos que aparezcan cuatro miniaturas por fila. Y en $cfg['conf']['thumbnailsPerPage'] = 12;, decimos que queremos 12 miniaturas por página.

Modificando el aspecto

Podemos cambiar la apariencia de la galería mediante unos estilos o sabores (flavors, como dicen ellos). Hay algunos disponibles en su página web. Tan sólo los descargamos, los metemos en la carpeta flavors, extramos el contenido, y en el fichero (¿a ver si lo adivinas?) spgm.conf le decimos el nombre del tema que queremos usar en la línea $cfg['conf']['theme'] = 'clean';. Para este ejemplo, es el tema clean (debes poner el nombre que tenga la carpeta del tema).

Sólo te hace falta saber algo de CSS y XHTML para hacer tus propios temas o modificar el aspecto de la galería a tu gusto.

Alternativas

Ah, por cierto, mi galería está funcionando con SPGM 😉

Ejecutando PHP como módulo del Apache. Así, sí.

Esto que escribo lo hago principalmente para los usuarios de DreamHost (como nuevo miembro que soy), ya que me he estado fijando en que los scripts en PHP los ejecuta como CGI por defecto y esto es algo que nunca debería permitirse, por dos razones fundamentales:

  • Ejecutar PHP como CGI es muy inseguro
  • Consume muchos más recursos porque se ejecuta como un programa

No es mi objetivo meterme aquí en explicaciones técnicas sobre una cosa o la otra, la idea es que PHP como CGI es malo.

Cómo saber si PHP se está ejecutando como módulo del Apache o como CGI

Si tenéis la duda, podéis crear un archivo, por ejemplo informacion.php con el siguiente contenido:

<?php phpinfo(); ?>

Lo subís a donde tengáis vuestra web y ponéis en el navegador: http://vuestraweb.com/informacion.php

En la parte que pone Server API, pondrá CGI (si PHP se ejecuta así) o Apache Handler si se ejecuta como módulo del servidor Apache.

Ejecutando PHP como módulo del Apache

Tenemos la opción de ejecutar PHP como módulo del Apache (el servidor web) que es como deberíamos tenerlo ya desde un principio. Para hacer eso, tendremos que crear (si no lo tenemos) un archivo .htaccess (nótese el punto delante del nombre, así es como en los sistemas UNIX se nombra a los archivos ocultos) con el siguiente texto:

AddHandler application/x-httpd-php .php

Y ahora lo subiremos al directorio raíz de nuestro espacio web. Podemos ejecutar otra vez el archivo informacion.php en el navegador para ver cómo se ha cambiado.

Aunque, como dije al principio, esto lo escriba para usuarios de DreamHost, vale para todos los que tengais alguna web en algún hosting o en el servidor de casa.

Por cierto, aunque no sepáis de qué va esto del PHP, seguro que sí conocéis herramientas como WordPress, phpBB, MediaWiki, Gallery… Pues usan PHP.

Sólo para usuarios de DreamHost: al activar PHP como módulo del Apache, no tendremos disponible la versión 5 del PHP, sino la 4.4.2. Si veis que usáis alguna herramienta o habéis hecho algún script que usa alguna función nueva de la versión 5 de PHP o no existía en versiones anteriores, tendréis que volver a poner PHP como CGI, y allá vosotros 😛

¿200GB de alojamiento y 2TB de ancho de banda por menos de 30 euros? Como lo oyes

A ver qué tal os suena esto:

  • 200GB (doscientos mil megas) de espacio (más 160MB a mayores cada semana).
  • 2TB (dos mil gigas) de ancho de banda mensual (más 8GB a mayores cada semana).
  • 3000 cuentas de e-mail.
  • 75 cuentas shell y FTP.
  • Bases de datos SQL ilimitadas.
  • Redirección de dominios ilimitada.
  • Subdominios ilimitados.
  • Soporte PHP4, PHP5, Ruby on Rails.
  • Repositorio CVS y SVN.
  • Instalación automática de sistemas como WordPress, phpBB, MediaWiki, Joomla, Gallery, WebCalendar…

¿Cuánto creeis que cuesta? Si os digo que menos de 30 euros por un año, ¿diríais que no es posible? Pues lo es. La responsable de todo esto es la empresa DreamHost.

Hace casi un par de semanas que me decidí a comprar un plan de alojamiento para mí, para alojar el weblog y algunas cosas más que vaya haciendo. El principal problema al buscar empresas de hosting es que si quieres tener bastante ancho de banda, tienes que pagar mucho dinero, sobre todo si son empresas españolas. 3GB al mes no llega si tienes un weblog o página algo popular, y ya no hablemos de si transfieres archivos. Pero entonces conocí DreamHost, llevaba años oyendo hablar de ella, pero en principio me echaba atrás lo del idioma (inglés), si sería difícil o sencillamente el tema de pagar. Pero hace poco me enteré de sus códigos de promoción (promo codes). Se trata de una forma de premiar a los usuarios de DreamHost que recomiendan su servicio a otros. Así, al contratar un servicio con DreamHost y darle el código de promoción de un ya usuario de esta compañía, puedes tener un descuento de hasta 97 euros. Así que, con el código de Mundo Geek me animé 🙂

Sobre el plan de alojamiento

Antes de nada, el descuento con mi promo code es para el Crazy Domain Insane! que tiene las características que comenté al principio del post. Como podeis ver en la tabla, cuesta 9 euros al mes, o 119.40 al año. Introduciendo el promo code, os saldrá a 27.40 euros por un año, lo que sería poco más de 2 euros al mes. Otra cosa interesante es que DreamHost nos da la posibilidad de probar su servicio durante 97 días. Si antes de que pase este tiempo no estamos contentos por cualquier motivo, DreamHost se compromete a devolvernos nuestro dinero.

Lo mejor, creo yo, es contratar el plan sencillo por un año con el descuento, valorar qué nos ha parecido y según eso, decidir si seguir otro año más o no pero a precio ya normal.

Los códigos de promoción

Los promo codes permiten que un nuevo usuario de DreamHost tenga un descuento en la contratación de un plan de alojamiento (ojo, sólo los nuevos usuarios). DreamHost da a sus usuarios 97 euros por cada nuevo cliente que tengan gracias a su recomendación. Es decir, si alguien compra un plan de DreamHost y les dice que Fulanito (que ya es usuario) me lo recomendó, entonces Fulanito se embolsará 97 euros por cada nuevo usuario. Pero lo bueno del tema es que estos 97 euros podemos usarlos como queramos. En mi caso, no quiero los 97 euros, prefiero usarlos para que los nuevos usuarios tengan un descuento.

Cuál es el código de promoción

Mi código de promoción es RUSSFORMARIO. Lo tenéis que introducir al final de la página en la que se os pide rellenar los datos:

Código de promoción

Automáticamente, se os aplicará un descuento de 92 euros sobre los 119.40, pasando a costar nada más que 27.40 euros 🙂

¿Qué ganas con todo esto?

Ahí me habéis pillado. Os habréis dado cuenta de que no hago el descuento total, es decir, 97 euros. Me quedo con 5 euros que usaré para costearme el alojamiento. Así que, si os lo montáis bien, podéis costearos el hosting a base de códigos promocionales 😉

¿Es complicado moverse por el panel de control?

En DreamHost, como en la mayoría de empresas de hosting, la administración de nuestro sitio se hace vía web. Éste es el aspecto del panel de administración de DreamHost:

Web panel - Dreamhost

Desde el cual podremos hacer todo tipo de acciones (operaciones con archivos, creación de bases de datos, subdominios, creación de cuentas FTP, shell o de e-mail…) a base de clics.

Actualizado [ 19/11/2006 ]

Como bien avisa bl4st3r en los comentarios, ahora ofrecen mucho mucho más de espacio (ver principio del post) por el mismo precio. He editado el título 🙂

¿Más dudas con DreamHost?

Statcounter y Google Maps

Statcounter es un servicio gratuito para registrar las visitas de tu weblog o página web. Claro que hay cientos de servicios que ofrencen contadores, pero difícilmente encontrarás uno más completo que Statcounter. Una vez nos hemos registrado, podremos añadir contadores a tantas webs como queramos. Tan sólo tenemos que elegir unas pocas cosas antes como si queremos un contador visible o no, hacer públicas nuestras estadísticas para que cualquiera pueda ver lo popular (o no) que es nuestra web, etc. Después sólo tenemos que incluir el código que nos proporcionan en nuestra web. A partir de ahí, mediante un panel de control, podemos acceder ver cuáles son las páginas más visitadas, desde dónde vienen nuestros visitantes, el navegador que usan, el sistema operativo, la resolución de pantalla… En fin, que es la mejor solución para tener estadísticas de tu sitio. Lo único malo es que está en inglés.

Bueno, me estoy enrollando y lo que quería decir es que desde hace un par de días, podemos ver desde dónde nos visitan mediante Google Maps:

Statcounter + Google Maps

Qué queréis que os diga, de esta manera hace más ilusión 🙂