URL personalizada de un bucket en amazon s3
En este tutorial os enseñaré como cambiar las urls de los backets de s3 por uno con nuestro dominio, por ejemplo:
http://d36orqcp1am75j.cloudfront.net/ por http://images.brucut.com/
Yo para administrar los buckets de s3 uso la aplicación Bucket explorer, así que os enseñaré como hacerlo con este aun que al final todos los programas son parecidos, incluso hay una extensión para firefox llamada s3fox.
Reflexión
Todavía no sé que utilidad puede tener más el cambio de la URL a parte del estetico, puede que mejore el seo pero no estoy muy seguro, pueden debatirlo dejando un comentario.
Pasos para configurar la URL con bucket explorer
- Pulsa el botón “Distribution” que econtrarás encima del listado de buckets.
- Se abrirá una ventana con los buckets, selecciona el que deseas y pulsa el botón “Update”.
- Donde pone CNAME, introduce el subdominio donde quieres apuntar al bucket, por ejemplo: images.brucut.com o le puedes llamar cdn.dominio.com
- Este paso va a ser el más complicado al menos para mi, entra en el panel de control de tu dominio y busca el modo de editar las entradas DNS y añade la siguiente regla:
images IN CNAME d36orqcp1am75j.cloudfront.net.
donde pone images es el subdominio que deseas, luego d36orqcp1am75j.cloudfront.net es la URL del bucket, importante fijate que hay un punto al final. - Espera unas horas para que los cambios tengan efecto.
13 técnicas para acelerar la carga de tu web
- Comprime tu javascript con packer
- Agrupa los javascripts y css para limitar el numero de llamadas al servidor
- Si tu site tiene publicidad carga los banners al final
- Carga el javascript de las estadísticas web google analytics asincronamente
- Carga todos los javascripts que puedas antes de cerrar la etiqueta HTML
- Agrupa las imagenes en sprites con CSS
- Reduce el número de lineas de tu hoja de estilos CSS agrupando propiedades
- Comprime el código CSS
- Indica las dimensiones de las imagenes
- Comprime los ficheros estáticos javascript y CSS en GZIP
- Aloja los ficheros CSS, javascript e imagenes en amazon s3 y cloudfront
- Cambia el servidor web a nginx
- Instala un acelerador de PHP
- Comprime las imagenes
También recomiendo utilizar la extensión Pagespeed para firebug de firefox
Crear branch en svn y hacer un merge de los cambios al trunk
A modo de recordatorio escribo este tutorial por si más adelante tengo que hacer otro branch.
Crear branch
- Hacemos una copia del trunk:
svn copy http://svn.dominio.com/proyecto/trunk/ http://svn.dominio.com/proyecto/branches/nuevo_branch/ - Copiamos los ficheros del branch a nuestro entorno de desarrollo:
svn co http://svn.dominio.com/proyecto/branches/nuevo_branch/ nuevo_branch
Subir cambios de nuestra copia de desarrollo al branch
- Revisamos los ficheros nuevos, marcados con un interrogante (?):
svn diff - Añadimos los ficheros nuevos, por ejemplo:
svn add prueba/index.php - Commiteamos los cambios:
svn ci nuevo_branch -m “cambios del branch”
Subir cambios del branch al trunk
- Hacemos una nueva copia del trunk a nuestro entorno de desarrollo:
svn co http://svn.dominio.com/proyecto/trunk copia_trunk - Consulta la última revisión del branch:
cd nuevo_branch
svn log –stop-on-copy - Nos situamos dentro del directorio de la copia del trunk:
cd copia_trunk - Unimos los cambios de nuestra copia de desarrollo del branch y el trunk:
svn merge -r 2343:HEAD http://svn.dominio.com/proyecto/branches/nuevo_branch/
Nota: donde pone “2343″ tienes que poner el número del último commit del branch. - Revisamos si hay conflictos antes de subir el merge al trunk:
svn st - Si todo es correcto, hacemos commit de todo:
cd ..
svn ci copia_trunk -m “cambios del branch”
Enlaces de interés
SVN para novatos
Todavía me considero novato con el SVN, recientemente hice mi primer branch.. pero puedo guiar a los que no estén familiarizados con el sistema.
A mi me han enseñado a usar SVN con comandos desde terminal y así es como os lo voy a enseñar.
Definiciones
- svn: (version control system), es un sistema de control de revisiones que permite gestionar los cambios de los ficheros que componen un proyecto, facilitando el trabajo en equipo al controlar el acceso y actualización del código fuente.
- trunk: rama principal de desarrollo, podríamos llamarlo producción.
- branch: rama independiente, una copia del trunk.
Comandos
Los siguientes comandos vienen acompañados al principio por un svn, ej. svn ci index.php.
Hay más comandos pero estos son los que más utilizo:
- commit: para enviar los cambios al svn.
- checkout: para descargar los ficheros del svn de un branch o trunk a tu entorno de desarrollo.
- add: para añadir ficheros al svn y posteriormente enviarlos al trunk con un commit.
- diff: para ver las modificaciones de un fichero con respecto al trunk.
- st: para ver los ficheros modificados (M), nuevos (?), con conflictos (C).
- merge: para unificar los cambios de una copia de desarrollo con un branch o trunk.
Enlaces de interés
Configurar wildcard subdomains para tener subdominios dinámicos
Tener subdominios dinamicos es mucho más barato que tener varios dominios ya que solo necesitas uno y puede ser muy útil en tu web por ejemplo si vas a:
- internacionalizar el sitio: http://es.dominio.com, http://en.dominio.com
- para que cada usuario tenga su propio subdominio: http://gafeman.dominio.com
- para anuncios clasificados en una ciudad: http://madrid.dominio.com
Que sepa sólo se puede hacer en servidores dedicados, como por ejemplo hetzner.
Requisitos:
- Poder administrar el fichero de entradas DNS de tu dominio
- Tener apache y mod_rewrite en tu servidor
- tener permisos para conectarte al servidor via SSH
Pasos:
1. Editar entradas DNS del dominio, es un fichero con un contenido parecido a este:
www IN A ip
ftp IN CNAME www
imap IN CNAME www
loopback IN CNAME localhost
pop IN CNAME www
relay IN CNAME www
smtp IN CNAME www
@ IN MX 10 mail
añade la siguiente linea debajo de la linea que empieza por www:
* IN A www
2. Edita la configuración del dominio apache, tienes que añadir la siguiente linea en negrita para que acepte los subdominios:
ServerName dominio.com
ServerAlias *.dominio.com
ServerAdmin webmaster@localhost
3. Crea un fichero .htaccess en la raiz de tu servidor
Options -Indexes
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
4. Reinicia el apache, en la terminal y conectado por SSH a tu servidor ejecuta el siguiente comando:
/etc/init.d/apache2 reload
5. Obtiene el subdominio con PHP
$subdominio = current( explode( ‘.’, $_SERVER['HTTP_HOST'] ) );
Por ejemplo con el dominio http://madrid.dominio.com, $subdominio tendría el valor madrid.
Ejemplos:
Enlaces de interés:

