JesusCarrera.info http://www.jesuscarrera.info Desarrollo Web, Diseño y Multimedia Thu, 04 Oct 2007 17:42:06 +0000 http://wordpress.org/?v=2.0.5 en Actualizado Currículum y Portfolio http://www.jesuscarrera.info/2007/10/04/actualizado-curriculum-y-portfolio/ http://www.jesuscarrera.info/2007/10/04/actualizado-curriculum-y-portfolio/#comments Thu, 04 Oct 2007 17:42:06 +0000 Jesús Carrera Varios http://www.jesuscarrera.info/2007/10/04/actualizado-curriculum-y-portfolio/ Aprovechando que me voy a Londres acabo de actualizar mi currículum y mi portfolio, principalmente para tener el currículum en inglés. ]]> http://www.jesuscarrera.info/2007/10/04/actualizado-curriculum-y-portfolio/feed/ Instalar Drupal en OS X http://www.jesuscarrera.info/2007/10/02/instalar-drupal-en-os-x/ http://www.jesuscarrera.info/2007/10/02/instalar-drupal-en-os-x/#comments Tue, 02 Oct 2007 12:32:22 +0000 Jesús Carrera Web http://www.jesuscarrera.info/2007/10/02/instalar-drupal-en-os-x/ Una vez tenemos PHP hablilitado en el Mac, la instalación de cualquier CMS suele ser sencilla, aunque la de Drupal merece ser anotada:
  • Descargar Drupal.
  • Descomprimir y mover la carpeta drupal a /Library/WebServer/Documents
  • Dar permisos a sites/default/settings.php poniendo desde el terminal:
    cd /Library/WebServer/Documents/drupal
    chmod 777 sites/default/settings.php
  • Crear la base de datos llamada drupal:
    mysqladmin -u root create drupal
  • Desde el explorador ir a http://localhost/drupal/install.php y seguir las instrucciones.
  • Quitar permisos a settings.php
    chmod 444 sites/default/settings.php
  • Crear carpeta files y dar permisos
    mkdir files
    sudo chown www files
    sudo chgrp www files
    sudo chmod 744 files
  • Drupal necesita ejecutar el archivo cron.php periodicamente para algunas tareas de mantenimiento. En Mac OS X Tiger utilizaremos Lingon para ejecutar el comando wget -O - -q -t 1 http://localhost/drupal/cron.php cada hora. Creo que utilizando el asistente la manera de hacerlo es sencilla y no necesita mayor explicación.
  • Multisitios:

    Para habilitar multisitios para la misma instalación, basta con hacer para cada sitio:

  • Crearle una base de datos propia con:
    mysqladmin -r root create otrositio
  • Copiar la carpeta sites/default y renombrarla a localhost.otrositio
  • Editar sites/localhost.otrositio/config.php con la línea
  • Editar /private/etc/httpd/httpd.conf y añadir un alias para cada sitio:

    <VirtualHost *:80>
    # Alias for all php drupal sites
    Alias /otrositio /Library/WebServer/Documents/drupal
    </VirtualHost>
  • Reiniciar apache
    sudo apachectl restart
  • En el explorador poner http://localhost/otrositio/install.php
  • Ahora en http://localhost/drupal tendremos el sitio con los modules y themes generales, compartidos por el resto de sitios. En http://localhost/otrositio/ podemos tener modules y themes independientes, añadiendolos a sites/localhost.otrositio/modules/ o sites/localhost.otrositio/themes
  • Luego me di cuenta que para habilitar Clean Urls en los subsitios necesitaremos poner en el .htaccess

    RewriteBase /otrositio

    y modificar esta línea cada vez que cambiamos de sitio. No es muy elegante, y hay otras maneras de hacerlo que no he tenido ganas de intentar. Esta opción no es tan incómoda para desarrollo. ]]>

http://www.jesuscarrera.info/2007/10/02/instalar-drupal-en-os-x/feed/
Habilitar PHP en Mac OS X (round two) http://www.jesuscarrera.info/2007/10/01/habilitar-php-en-mac-os-x-round-two/ http://www.jesuscarrera.info/2007/10/01/habilitar-php-en-mac-os-x-round-two/#comments Mon, 01 Oct 2007 15:03:23 +0000 Jesús Carrera Web http://www.jesuscarrera.info/2007/10/01/habilitar-php-en-mac-os-x-round-two/ Resulta que el PHP que trae Mac OS X 10.4 trae por defectos deshabilitados muchos módulos, y algunos son ampliamente utilizados como pueden ser las librerías GD para tratamiento de imágenes. Para habilitarlos en teoría habría que instalar librerías y recompilar PHP, pero este fantástico pkg nos reduce el trabajo a “hacer doble click”, y nos instalará PHP 5.2.2 junto con un montón de módulos.

Si habíamos habilitado el PHP que trae Mac lo deberemos deshabilitar antes comentando las líneas:

#LoadModule php4_module
#AddModule mod_php4.c
#AddType application/x-httpd-php .php
#AddType application/x-httpd-php-source .phps

NOTA de Habilitar PHP en Mac OS X

Ahora en Library/WebServer/Documents podemos crear un documento phpinfo.php con lo siguiente:

Y poniendo en el explorador localhost/phpinfo.php nos debería aparecer información sobre nuestro PHP.

Para usar MySQL como base de datos lo más sencillo es instalar el .pkg de su web. Si queremos que arranque al principio también trae otro .pkg para eso, y por último trae un .prefsPane para controlar su arranque.

El PHP que trae Mac OS X 10.4 utiliza por defecto el socket para la conexión /var/mysql/mysql.sock, mientras que los binarios de mysql.com utilizan el socket /tmp/mysql.sock. Para que se conecte correctamente deberemos modificar la configuración por defecto:
mv /private/etc/php.ini.default /private/etc/php.ini

Y editar esta línea para que ponga:

mysql.default_socket = /tmp/mysql.sock

Reiniciamos apache parando e iniciando Web Sharing en Preferences
.

]]>
http://www.jesuscarrera.info/2007/10/01/habilitar-php-en-mac-os-x-round-two/feed/
Habilitar PHP en Mac OS X http://www.jesuscarrera.info/2007/10/01/habilitar-php-en-mac-os-x/ http://www.jesuscarrera.info/2007/10/01/habilitar-php-en-mac-os-x/#comments Mon, 01 Oct 2007 13:07:33 +0000 Jesús Carrera Web http://www.jesuscarrera.info/2007/10/01/habilitar-php-en-mac-os-x/ Sharing -> Personal Web Sharing [...]]]> Últimamente estoy haciendo unos desarrollos en Drupal, y como me estoy moviendo bastante se me está haciendo necesario poder desarrollar sin conexión a Dreamhost, así que he decidido habilitar PHP en mi Mac para trabajar localmente:

En /etc/httpd/httpd.conf descomentar las siguientes líneas:

LoadModule php4_module
AddModule mod_php4.c
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

Habilitar Apache: Preferences -> Sharing -> Personal Web Sharing -> Start

Ahora en Library/WebServer/Documents podemos crear un documento phpinfo.php con lo siguiente:

Y poniendo en el explorador localhost/phpinfo.php nos debería aparecer información sobre nuestro PHP.

Para usar MySQL como base de datos lo más sencillo es instalar el .pkg de su web. Si queremos que arranque al principio también trae otro .pkg para eso, y por último trae un .prefsPane para controlar su arranque.

El PHP que trae Mac OS X 10.4 utiliza por defecto el socket para la conexión /var/mysql/mysql.sock, mientras que los binarios de mysql.com utilizan el socket /tmp/mysql.sock. Para que se conecte correctamente deberemos modificar la configuración por defecto:
mv /private/etc/php.ini.default /private/etc/php.ini

Y editar esta línea para que ponga:

mysql.default_socket = /tmp/mysql.sock

Reiniciamos apache parando e iniciando Web Sharing en Preferences
.

Ver round two
]]>
http://www.jesuscarrera.info/2007/10/01/habilitar-php-en-mac-os-x/feed/
Los DJs del futuro? http://www.jesuscarrera.info/2007/09/22/los-djs-del-futuro/ http://www.jesuscarrera.info/2007/09/22/los-djs-del-futuro/#comments Sat, 22 Sep 2007 15:26:02 +0000 Jesús Carrera Varios http://www.jesuscarrera.info/2007/09/22/los-djs-del-futuro/ Es una investigación de la universidad Pompeu Fabra de Barcelona. Se llama Reactable, y el vídeo habla por sí mismo:

Van a hacer una presentación en La Noche en Blanco de Madrid, y me cuadra de estar ahí, así que a ver si lo veo en directo o incluso puedo probarlo!!

]]>
http://www.jesuscarrera.info/2007/09/22/los-djs-del-futuro/feed/
London Calling http://www.jesuscarrera.info/2007/09/20/london-calling/ http://www.jesuscarrera.info/2007/09/20/london-calling/#comments Thu, 20 Sep 2007 16:19:16 +0000 Jesús Carrera Personal http://www.jesuscarrera.info/2007/09/20/london-calling/ Big BenDefinitivamente, en unas semanas marcharé a Londres a trabajar durante una temporada. Aun no tengo claro cómo va a ser nada, lo único fijo es que tengo un sitio estupendo para quedarme y en el fucking center. Eso todo el mundo me dice que el sitio es lo más complicado de encontrar, porque trabajo de cualquier cosa se encuentra rápido. En un principio creo que buscaré trabajo de cualquier cosa, hasta que coja algo de soltura con el idioma, porque en las empresas me harán una entrevista y no me voy a enterar bien de lo que me dicen. Después ya buscaré algo más interesante. Pero igual sí que voy buscando cosas por internet por si acaso.

Además todavía estoy haciendo trabajos para AtiGalicia, y en principio podré seguir haciéndolos desde allá, y con un trabajo serio me quedaría sin tiempo para nada más. Así que con calma.

No me puedo creer la suerte que tuve con lo del piso. O quizá no sea cuestión de suerte. Un amigo argentino se quedaba tirado de piso unos meses, y le metí en mi casa. Luego resulta que tiene una prima allá y cuando se enteró de que yo estaba pensando en ir me dijo que no me lo pensara que el se ocupaba del sitio. En un par de semanas vamos los dos para allá, y luego el va a Argentina. Y yo me quedo en un pisazo!! No me lo quiero creer hasta que no esté dentro.

Moraleja: Siembra y recogerás.

]]>
http://www.jesuscarrera.info/2007/09/20/london-calling/feed/
Crear imágenes de disco ISO en OS X http://www.jesuscarrera.info/2007/09/06/crear-ima%cc%81genes-de-disco-iso-en-os-x/ http://www.jesuscarrera.info/2007/09/06/crear-ima%cc%81genes-de-disco-iso-en-os-x/#comments Thu, 06 Sep 2007 22:38:56 +0000 Jesús Carrera Tecnología http://www.jesuscarrera.info/2007/09/06/crear-ima%cc%81genes-de-disco-iso-en-os-x/ En OS X para crear imágenes de disco ISO (compatible con PC) podemos utilizar la herramienta Disk Utility.

Basta con insertar el CD/DVD, seleccionarlo en Disk Utility y darle a New Image. Entre las opciones seleccionamos DVD/CD master, y nos crea un archivo .cdr, al que le podemos cambiar la extensión a .iso directamente con el Finder.

New image

Si tuviéramos otro tipo de imágen de disco, como .img o .dmg también podremos convertirla a .iso arrastrándola al Disk Utility y siguiendo el mismo procedimiento, pero en vez de New Image seleccionaremos Convert.

]]>
http://www.jesuscarrera.info/2007/09/06/crear-ima%cc%81genes-de-disco-iso-en-os-x/feed/
Tu habilidad para general poder es directamente proporcional a tu habilidad para relajarte http://www.jesuscarrera.info/2007/09/03/tu-habilidad-para-general-poder-es-directamente-proporcional-a-tu-habilidad-para-relajarte/ http://www.jesuscarrera.info/2007/09/03/tu-habilidad-para-general-poder-es-directamente-proporcional-a-tu-habilidad-para-relajarte/#comments Mon, 03 Sep 2007 17:25:05 +0000 Jesús Carrera Varios http://www.jesuscarrera.info/2007/09/03/tu-habilidad-para-general-poder-es-directamente-proporcional-a-tu-habilidad-para-relajarte/ Karate-chimp Es un dicho de karate, aunque yo me conozco a alguno que no se que hará con su habilidad para generar poder, porque utiliza todo el rato la de relajarse :) ]]> http://www.jesuscarrera.info/2007/09/03/tu-habilidad-para-general-poder-es-directamente-proporcional-a-tu-habilidad-para-relajarte/feed/ Usar Capistrano con DreamHost http://www.jesuscarrera.info/2007/08/23/usar-capistrano-con-dreamhost/ http://www.jesuscarrera.info/2007/08/23/usar-capistrano-con-dreamhost/#comments Thu, 23 Aug 2007 19:25:04 +0000 Jesús Carrera Web http://www.jesuscarrera.info/2007/08/23/usar-capistrano-con-dreamhost/ Estaba teniendo problemas con Capistrano 1.4 para hacerlo funcionar con Dreamhost y he tenido que actualizarlo a la nueva versión 2.0, que trae algunos cambios que me han desorientado al principio, más que nada porque en el manual mítico oficial no han actualizado nada. Luego descubrí que la nueva web oficial es otra, aunque apenas tiene documentación.

Los pasos que he seguido son:

Desde el panel de control de Dreamhost:

  1. Añadir un nuevo subdominio, como myapp.jesuscarrera.info, dándole soporte para FCGI, y añadiendo /current/public al directorio sugerido.

    Más tarde, en cuanto se propaguen las DNS y podamos acceder a http://myapp.jesuscarrera.info/current/public, y antes de ejecutar cap deploy, deberemos borrar manualmente estos dos directorios, porque cap deploy creará un symlink para que Capistrano y Subversion funcionen bien juntos.

  2. Añadimos la base de datos que vallamos a utilizar.
  3. Creamos el repositorio de Subversion. Yo tengo creado un subdominio para acceder a esos repositorios. Su URL quedaría así: http://svn.jesuscarrera.info/myapp

En nuestra aplicación (máquina local en desarrollo).

  1. Editar el config/database.yml para que en :production tenga los datos de Dreamhost.
  2. En config/environment.rb descomentar la línea:
  3. En public/dispatch.* cambiarle la primera línea por ésta:
  4. En public/.htaccess asegurarnos de que ésta línea tenga .fcgi y no .cgi
  5. Añadir después de RewriteEngine On lo siguiente, para que muestre una página de mantenimiento si existe (cuando ejecutamos cap deploy:web:disable).
  6. Instalar Capistrano 2.0
    sudo gem install capistrano
  7. Añadimos los archivos de Capistrano a nuestra app. Ejecutamos desde el directorio myapp:
    capify .

    Ésto crea dos archivos: Capfile y config/deploy.rb.

  8. Editamos config/deploy.rb para que quede algo así:

    A mi me ha funcionado sin estas últimas líneas, pero puede que en algunos casos sean necesarias:

    Recuerda que para que no pida las claves todo el rato podemos autorizar nuestro equipo para SSH.
  9. Realizamos nuestra primera importación al repositorio

    svn import myapp svn+ssh://[email protected]/home/jesuscarrera/svn/myapp -m “Initial import”

  10. Renombramos el original (o si eres valiente también lo puedes borrar), y nos descargamos la primera versión del repositorio:
    mv depot depot.imported
    svn co svn+ssh://[email protected]/home/jesuscarrera/svn/myapp myapp
  11. Preparamos el servidor para recibir nuestra app:
    cap deploy:setup
  12. Enviamos nuestra aplicación aplicando migraciones:
    cap deploy:cold
  13. A partir de ahora cada vez que realicemos cambios en nuestra máquina local en desarrollo deberemos en primer lugar enviarlos al repositorio, y luego actualizarla en producción:

    svn commit -m “Change description”
    cap deploy

    Si hemos añadido migraciones sería con:
    cap deploy:migrations

    Si algo va mal podemos volver a la anterior versión con:
    cap deploy:rollback

    Si vamos a realizar un mantenimiento importante podemos deshabilitar y habilitar la web con:
    cap deploy:web:disable
    cap deploy:web:enable

    Para ver otras tareas:
    cap -T

Yo lo he probado con la aplicación que te enseña a hacer el fantástico libro Agile Web Development With Rails. La podéis ver en depot.jesuscarrera.info/store. Ha funcionado tan bien y a la primera que hasta me ha sorprendido!

]]>
http://www.jesuscarrera.info/2007/08/23/usar-capistrano-con-dreamhost/feed/
Deployment con deprec http://www.jesuscarrera.info/2007/08/18/deployment-con-deprec/ http://www.jesuscarrera.info/2007/08/18/deployment-con-deprec/#comments Sat, 18 Aug 2007 15:38:55 +0000 Jesús Carrera Web http://www.jesuscarrera.info/2007/08/18/deployment-con-deprec/ Capistrano es una estupenda herramienta que nos simplifica y automatiza el despliegue de aplicaciones (deployment). Utiliza unos de archivos de configuración para realizar esas tareas, que podemos modificar dependiendo de nuestras necesidades. Lo que deprec hace es servirnos una serie de recetas precocinadas para Capistrano. En la actualidad (1.9) sólo funciona cuando el deployment es a un Ubuntu 6.06.1 Server LTS, pero en el futuro (2.0) el sistema operativo se servirá como un plugin. Éste screencast nos muestra como de rápido podríamos tener un servidor funcionando con todo lo necesario empezando desde cero.

El procedimiento sería el mismo en servidores remotos (sin utilizar Parallels), y sería resumiendo algo así:

Nota: he modificado algunas cosas que no aparecen el el vídeo, que me hicieron falta para que funcionase.

En el la máquina remota:

sudo apt-get install openssh-server

En la máquina local:

Cremos nuestras keys si no las tenemos
ssh-keygen -t rsa

Subimos las keys al servidor:
cap setup_ssh_keys
sudo gem install deprec -y
echo “require ‘deprec/recipes’” >> ~/.caprc

Para que recoja las llaves ssh y no nos pregunte todo el rato la clave:
echo ssh_options[:keys] = %{/Users/jesus/.ssh/id_rsa} >> ~/.caprc

Creamos la aplicación:
rails myapp

Le aplicamos deprec:
cd myapp
deprec --apply-to .

Configuramos config/deploy.rb
Modificamos el :domain, :application, :user.

Instalamos lo necesario para que funcione Rails (Apache, Ruby, etc.)
cap install_rails_stack

Instalamos la aplicación:
cap setup

Añadimos soporte para svn:
cap setup_scm

Actualizamos la aplicación con las migraciones:
cap deploy_with_migrations

Reiniciamos Apache:
cap restart_apache

Ahora en cada actualización utilizaremos:
cap deploy

Y si queremos volver a una versión anterior:
cap revert

]]>
http://www.jesuscarrera.info/2007/08/18/deployment-con-deprec/feed/