Alex Moreno


A Drupal Developer in London

Tutorial de Symfony2: instalacion

1. Descargamos symfony2: http://symfony.com/download

2. Descomprimimos y dejamos en un directorio dentro de nuestro apache, por ejemplo:

/var/www/symfonylabs/

3. Si entramos en /var/www/symfonylabs/web nos dará error. Tenemos que entrar a configurarlo primero: http://localhost/symlabs/web/config.php

Y seguimos los pasos para configurarlo

4. Seguramente no podamos escribir sobre el fichero parameters.ini, con lo que lo abrimos y pegamos el codigo que nos indicará el propio "wizard" o configurador que estamos siguiendo: http://localhost/symlabs/web/app_dev.php/

Listo, ya podemos acceder a nuestra nueva app:

http://localhost/symlabs/cruisehunter/web/app_dev.php/

Fácil, verdad? En el siguiente punto aprenderemos a crear la primera aplicación o librería (llamada Bundle en Symfony2) y a "picar" algo de código.

Recuperar o resetear una contraseña en Drupal 7

Le llaman la navaja suiza del Drupal. Y es verdad que una vez te acostumbras a usarlo no puedes dejar de hacerlo.

Lo mejor de todo es que te puede sacar de un apuro. Os pongo en situación. Drupal7 instalado en local, sendmail no funciona bien, y la password de administrador la he perdido. Mal momento para ponerme a buscar que le pasa al sendmail... solución? En drupal 6 es fácil, vamos a mysql o a phpmyadmin y ejecutamos:

UPDATE users SET pass = MD5('mynewpassword') WHERE uid = 1;

ahora bien, en Drupal7 la cosa no es tan sencilla.

Vamos a instalar Drushhttp://drupal.org/project/drush

muy sencillo, ejecutamos en consola:

  • pear channel-discover pear.drush.org
  • pear install drush/drush

 

Si no tenemos instalado pear, hacemos lo propio:

apt-get install pear-php

y, una vez todo en su sitio, sólo nos queda cambiar la password al usuario que queramos:

drush user-password USUARIO --password="NUEVAPASSWORD"

Obviamente cambiamos USUARIO por el nombre de usuario, y NUEVAPASSWORD por la password que queramos. A partir de aquí podemos volver a loguearnos en nuestra web con las password que acabamos de definir.

Otra opción, más rápida, sería especificar una password con mysql concreta para entrar con el usuario y cambiarla. Por ejemplo "password":

UPDATE users SET pass='$S$Cd059Vsxc8berFeg6hspaa7ejx2bSxyUisvCbT4h9o8XIgSUtPKz' WHERE uid=1;

Visto en: http://chillburn.com.au/blog/changing-resetting-the-admin-password-in-drupal-7/

Programadores vs Usuarios

Un poquito de humor para aguantar lo que queda de semana con una sonrisa ;-).

Visto en http://rafuru.blogspot.com

categorias: 

Actualizar comentarios en drupal desde mysql

Un pequeño truco. En un determinado momento me vi con el problema de varios cientos de nodos en Drupal publicados con los comentarios cerrados.

Solución? Muy sencilla:

 

UPDATE node SET comment = '2' WHERE type = 'tipo_contenido';

(cambiar tipo_contenido por el contenido correspondiente, que además suele coincidir tipo_contenido con el nombre del contenido que hayamos creado en Drupal.

 

categorias: 

Añadir una marca de agua a varias imagenes

El otro día hablábamos sobre redimensionar una o varias imágenes (tantas como tengamos en un directorio o localización, puesto que podemos automatizarlo), y cambiar su calidad para poder subirla a la web.

Hoy vamos a ver un truco para, además, añadir una marca de agua a las imágenes. Además, al tratarse de un proceso automatizado no vamos a perder más que unos segundos, incluso aunque tengamos varios cientos de imágenes por tratar. 

Veamos una primera aproximación:

convert IMG_3476.JPG IMG_3493.JPG -font Helvetica -pointsize 120 -draw "gravity center fill black text 20,12 'http://www.ViajarenCruceros.com' fill white text 11,11 'http://www.ViajarenCruceros.com'" nieuw-amsterdam.jpg

Lo que hacemos aquí es añadir la marca de agua "ViajarenCruceros.com" a la imagen nieuw-amsterdam.jpg.

Ahora vamos a desplazar un poco hacia abajo esa marca de agua:

convert IMG_3476.JPG -font Helvetica -pointsize 120 -draw "gravity center fill black text 120,400 'http://www.ViajarenCruceros.com' fill white text 130,410 'http://www.ViajarenCruceros.com' " nieuw-amsterdam.jpg

Y ahora la centraremos un poco:

convert IMG_3476.JPG  -font Helvetica -pointsize 120 -draw "gravity center rgba(255,0,0,0.80)  'http://www.ViajarenCruceros.com' fill white text 11,11 'http://www.ViajarenCruceros.com' " nieuw-amsterdam.jpg

Y, para terminar, la solución que uso yo:

convert  IMG_3561.JPG -font Helvetica -pointsize 80 -draw "gravity south fill black text 120,400 'www.ViajarenCruceros.com' fill white text 126,404 'www.ViajarenCruceros.com' " nieuw-amsterdam.jpg

Redimensionar varias imagenes con imagemagick

Has hecho un lote de fotos de tus vacaciones, o les has hecho un book a un cliente y quieres subirlo a la web. Si tienes que ir una a una redimensionando cada una de las imágenes te pueden dar las uvas, como se suele decir vulgarmente.

Un pequeño truco es usar imagemagick y mogrify, un pequeño software que puede instalarte en linux y que te permite:

redimensionar varias imágenes a, por ejemplo, un porcentaje concreto:

mogrify -resize 40% *.JPG

En mi caso pasaron de ocupuar unos 1,5MB, demasiado para subirlas a una web, a pesar unos 300kb. Lo bueno de mogrify es que, si intentamos redimensionar en base a un tamaño determinado, mogrify intentará mantener las proporciones originales de la imagen:

mogrify -resize 800x600 *.jpg

Si queremos forzar a que se cambien las dimesiones podemos usar el !:

mogrify -resize 320x240! *.jpg

También podemos modificar la calidad de la imagen, algo típico en jpg:

convert -resize 750×500 -quality 80% *.jpg

categorias: 

Cambiar la configuracion en un vps o servidor dedicado sin reiniciar apache

Este es un pequeño truco que uso a veces cuando hago cambios en alguna configuración de alguno de mis sitios con Drupal. Imaginemos que configuramos un nuevo dominio en drupal, usando multisite para que apunte a un único directorio raiz, por ejemplo:

/var/www/vhosts/dominio.com/directorio-fuente-drupal

El fichero vhost será algo así (en /var/www/vhosts/dominioorigen.com/conf/vhost.conf):

 

        ServerAlias  *.crucerista.org
        ServerAdmin  "[email protected]"
        DocumentRoot /var/www/vhosts/crucerista.net/httpdocs/crucerista/

        <Directory /var/www/vhosts/crucerista.net/httpdocs>
        <IfModule mod_php5.c>
                php_admin_flag engine on
                php_admin_flag safe_mode off
                php_admin_value open_basedir "/var/www/vhosts/crucerista.net/httpdocs:/tmp"
        </IfModule>
                Options +Includes -ExecCGI
        </Directory>
        <Directory /var/www/vhosts/crucerista.net/web_users>
        <IfModule sapi_apache2.c>
                php_admin_flag engine off
        </IfModule>
        <IfModule mod_php5.c>
                php_admin_flag engine off
        </IfModule>
        </Directory>

 

Y aquí viene el truco. Tras añadir el nuevo vhost no necesitamos ejecutar un apache restart, sino que valdrá con este comando:

/usr/local/psa/admin/bin/websrvmng --reconfigure-all

El truco está hecho sobre Drupal 6 y en un dedicado o un vps sobre Debian. Cualquier configuración alternativa de Drupal o distribución linux sería igualmente válida.

De nada ;-)

categorias: 

No puedo hacer login en Drupal después de cambiar de servidor

error tonto donde los haya, pero como todos, si es la primera vez que te ocurre puedes volverte loco hasta encontrarlo.

El problema, después de migrar un drupal funcionando a un servidor nuevo, el login parece no funcionar. Simplemente haces login y no da ningún mensaje adicional, error ni nada parecido, pero no estás "logueado".

Problema? Pues simplemente la variable cookies en settings.php:

$cookie_domain = '.dominio.com';

comentándola con una # al principio de la linea o bien simplemente cambiando el dominio al nuevo dominio debería ser suficiente para que volviera todo a funcinar correctamente :-).

categorias: 

backup y restore (volcar) una base de datos mysql

Cambiar de servidor una base de datos? Ningún problema

el primer paso, sencillo, hacer el backup:

mysqldump -a -u admin -p DATABASE > FILENAME.mysql

--default-character-set=latin1 table >

(esta última linea es opcional)

1.Drop the database

mysqladmin -u admin -p drop DATABASE

(idem, si queremos eliminarla estupendo, pero por seguridad yo la dejaría en su sitio)

2.Recreate the database

mysqladmin -u admin -p create DATABASE

-esto lo hacemos ya en el nuevo servidor

3.Import the backup data

mysql -u USER -p PASSWORD DATABASE < FILENAME.mysql

mysql -u admin -p < .mysql

 

Otras notas:

Hacer backup de varias bases de datos:

mysqldump -u username -ppassword –databases db_name1 [db_name2 ...] > dump.sql

 

TODAS LAS BASES DE DATOS:

mysqldump -u username -ppassword –all-databases > dump.sql

 

categorias: 

tutorial ssh-keygen en 2 pasos

ssh-keygen es un metodo que nos facilita el poder ejecutar determinados comandos desde nuestra máquina en una remota, sin la necesidad de tener que introducir la password en cada conexión. Es muy útil, por ejemplo, para sencillamente conectarnos con el servidor desde el ordenador con el que siempre trabajamos (siempre que sea un puesto seguro claro) o por ejemplo para ejecutar determinados scripts periódicos desde nuestro escritorio y sin necesidad de que estemos nosotros delante.

La mayoría de tutoriales que he encontrado son algo liosos, aunque en realidad una vez has comprendido la teoría es tremendamente sencillo. En dos pasos:

  • generamos una llave pública en nuestro ordenador: ssh-keygen -t rsa (le damos a enter a todo)
  • pegamos esa clave al fichero .ssh/authorized_keys de la máquina remota

Listos, ya podemos hacer ssh desde la máquina donde hemos hecho el ssh-keygen hacia la que hemos pegado dicho fichero en el authorized_keys.... quedó muy lioso?

categorias: