Restablecer los permisos predeterminados en el directorio del virtualhost en Plesk

Síntomas

Algunos archivos y directorios del dominio han perdido sus permisos. Varios de ellos son propiedad del usuario “apache” o “root” de Apache.

Por ejemplo:

# ls -l /var/www/vhosts/blogofsysadmins.com/
total 48
drwx------ 5 apache     apache 4096 Mar 16 20:07 anon_ftp
drwx------ 2 root       psaserv 4096 Mar 16 20:07 bin
drwx------ 3 apache     apache 4096 Mar 16 20:07 cgi-bin
drwx------ 2 root       psaserv 4096 Aug  4 12:56 conf
drwx------ 2 root       psaserv 4096 Mar 16 20:07 error_docs
drwx------ 7 apache     apache 4096 Mar 16 20:07 httpdocs
drwx------ 7 apache     apache 4096 Mar 16 20:07 httpsdocs
drwx------ 2 root       psaserv 4096 Aug  4 12:56 pd
drwx------ 2 root       root    4096 Mar 16 20:07 private
dr-x------ 7 root       psaserv 4096 Mar 16 20:07 statistics
drwx------ 2 root       psaserv 4096 Mar 16 20:07 subdomains
drwx------ 2 root       psaserv 4096 Mar 16 20:07 web_users
~#

Cuando intento cargar archivos a través del Administrador de Archivos o de un cliente FTP, obtengo los errores «Permiso denegado» o «Acceso denegado«.

Resolución

Use la utilidad «vhostmng» para restablecer los permisos. El comando a ejecutar es el siguiente:

~# /usr/local/psa/admin/sbin/vhostmng --install-vhost --vhost-name=<domain name> --user-name=<username> --set-content-permissions

Donde <domain name> es el dominio donde deben restaurarse los permisos y <username> es el usuario FTP del dominio configurado en Parallels Plesk Panel en la página Dominios -> <domain name> -> Opciones de Alojamiento Web (versión 9.x) o Dominios -> <domain name> -> Configuración (versión 8.x).

El comando restaurará los permisos predeterminados en el directorio del virtualhost:

drwxr-x--- 5 ftp_user   psaserv 4096 Mar 16 20:07 anon_ftp
drwxr-xr-x 2 root       psaserv 4096 Mar 16 20:07 bin
drwxr-x--- 3 ftp_user   psaserv 4096 Mar 16 20:07 cgi-bin
drwxr-x--- 2 root       psaserv 4096 Aug  4 12:56 conf
drwxr-xr-x 2 root       psaserv 4096 Mar 16 20:07 error_docs
drwxr-x--- 7 ftp_user   psaserv 4096 Mar 16 20:07 httpdocs
drwxr-x--- 7 ftp_user   psaserv 4096 Mar 16 20:07 httpsdocs
drwxr-x--- 2 root       psaserv 4096 Aug  4 12:56 pd
drwx------ 2 ftp_user   root    4096 Mar 16 20:07 private
dr-xr-x--- 7 root       psaserv 4096 Mar 16 20:07 statistics
drwxr-xr-x 2 root       psaserv 4096 Mar 16 20:07 subdomains
drwxr-xr-x 2 root       psaserv 4096 Mar 16 20:07 web_users

Todo sobre Google Wave

Hoy en el Google I/O fue presentado Google Wave. Definirlo es complicado, pero de entrada hace obsoleto Gmail, Basecamp, Facebook, Office, Messenger, Flickr y los Wikis. Una «wave» es mitad conversación, mitad documento. Un email que se convierte en wiki, que se convierte en centro de conversación, que se convierte en un trabajo final, que hasta puede convertirse en un blogpost.

Lo que vimos es un preview para desarrolladores, pero de entrada podemos decir, sin dudas, que las tecnologías detrás de Google Wave cambiarán la web en el próximo año, de la misma manera que Gmail creó la Web 2.0.


Todo está basado en el navegador, HTML 5

Google está empujando MUY fuerte a HTML 5. Primero con la versión de Gmail para iPhone, luego con todas las novedades de Android y ahora con Google Wave.

Sin embargo, no son idiotas y saben que si quieren éxito, han de poder implementar esto en todos los navegadores. Por lo que desde ahora, todo navegador con el plugin Google Gears instalado obtendrá mágicamente las habilidades de HTML 5. Bases de datos offline, Canvas de dibujo vectorial (nada de SVG o SWF), videos nativos, etc.

Pero no se contentaron con HTML 5. Crearon una nueva tecnología para navegadores…

Drag and drop en el navegador

Imagina arrastrar una carpeta llena de fotos desde tu escritorio encima del navegador y subir automáticamente a Facebook o a Flickr todas esas fotos, son más clicks ni procesos que el arrastras y soltar. Eso es posible ya mismo en Google Wave. Es una de las capacidades que Gears incluirá para los navegadores, pero Google ya envió la proposición a W3C para ser incluido en el draft definitivo de HTML 5. Y ya vendrá implementado en las próximas versiones de Webkit, Google Chrome y Firefox.

Chat, edición y colaboración en tiempo real

Un nuevo protocolo de comunicación instantánea, aparentemente más veloz que lo que hemos visto en sistemas de mensajería como messenger o Google Talk, llamado Wave Protocol, está detrás de varias innovaciones de Google Wave.

Imagina ir respondiendo un mensaje en Messenger y ver letra por letra lo que escribe la otra persona. Luego extiendelo a la edición de un documento. Donde cuatro personas pueden estar trabajando sobre el mismo documento, al mismo tiempo, en tiempo real. O quizás retocando una fotografía y dando comentarios punto por punto en cada zona modificada.

Y todo centrado en un «wave», la visión de Google del futuro del email.

Publicación a blogs y otras plataformas de contenido

¿Cuantas veces una serie de emails se convierten en un post de blog? ¿Cuantas veces la cadena de correos que escribiste con el jefe se vuelven un comunicado de prensa o una carta para clientes? Google Wave toma todo este contenido, lo centraliza en un «wave» y tras terminar su edición (con colaboración en tiempo real), es posible publicarlo a un .doc, convertirlo a PDF, enviarlo por correo tradicional, ponerlo en blogger o en una multitud de plataformas, como quieras. Incluso exportarlo a HTML o a texto plano.

Además, el API de Google Wave permitirá que esta plataforma se conecte, virtualmente, a lo que te imagines.

Google Wave puede ser integrado en cualquier sitio web

Tomando una nota de Friendfeed, la capa de comentarios en tiempo real puede ser instalada en CUALQUIER sitio web, embebible. De modo que puedes poner comentarios realtime y colaboración en tu blog, foro o donde sea. Esta cosa tiene que cambiar la forma que usaremos internet y la centralización de las conversaciones.

Es posible hacer enlaces profundos entre emails y contenido o WaveLinks

¿Has imaginado poder hacer un link profundo a un email que enviaste antes para que todos los que lo leen tengan la referencia? Hasta ahora la unica forma era copypaste, pero Google Wave permite esto tan nativa e intuitivamente que es inevitable no hacerlo.

Un nuevo corrector ortográfico basado en la inteligencia artificial de Google Translator

Hace un año, Google analizó cientos de miles de libros escritos en varios idiomas, traducidos profesionalmente por humanos. Creo una serie de algoritmos que analizaran las conversaciones en esos libros y, usando este mapa de conocimiento, traducir cualquier tipo de conversación basada en el contexto.

Pues ahora los cabrones han tomado esta tecnología y han creado un corrector ortográfico que es capaz de analizar y entender el contexto de la conversación y corregir a un nivel que, honestamente, jamás se ha visto. Errores ortográficos, gramaticales o incluso de contexto.

Google Wave tiene gadgets colaborativos

Con el API abierto de Google Wave es posible crear aplicaciones para Wave. Las aplicaciones son básicamente widgets incrustables dentro de los «waves». Pero sumándole la colaboración realtime y el historial de modificaciones, se crean interesantes posibilidades.

Imagina incrustar un juego de ajedrez. Dos personas juegan, pero para Google, cada movimiento del juego es una edición a un documento. De modo que si quieres dar un replay a una jugada, vas a una linea de tiempo colaborativa, mueves para adelante y atrás y ves estos cambios volviendo a ocurrir.

Los gadgets están hechos en Javascript y HTML 5.

Mapas colaborativos y «grabables»

Toma lo que dije de los gadgets y aplicalo a un mapa. Puedes grabar con instrucciones detalladas y comentarios una ruta en un mapa de Google Maps, enviar el «wave» a tu madre y decirle cómo llegar a tu nuevo apartamento, paso a paso.

Encuestas, formularios y minería de datos a través de waves

Es posible enviar formularios en waves y permitirle a Google Wave recibir, indexar y analizar la información que los destinatarios del wave llenen. De modo que puedes enviar una encuesta de calidad a todos tus empleados y ver en tiempo real las respuestas de ellos, quien ha respondiendo, quien no.

Sumale Google Charts y puedes tener gráficos analiticos de los resultados recibidos. Por supuesto, en tiempo real.

Google Wave Server, Google Wave instalable en tu servidor

Google Wave Server es Open Source. Puedes descargarlo e instalarlo en el servidor de la oficina, reemplazar el correo con waves y tener todo en tu empresa. Puedes personalizarlo con los colores y logos de tu empresa, crear una intranet… lo que sea. Es open source. Sólo necesitas un server Linux (o quizás windows, si está hecho en Java).

Fuck… instalable en tu propio servidor, open source…

Traducción real-time de lo que escribes

¿Recuerdan el corrector ortográfico con inteligencia artificial. Ahora, si hablas ahora mismo con un japones al otro lado del mundo, puedes hablarle en español y decirle a Google Wave que traduzca en tiempo real la conversación a japones para él. Él, por supuesto, puede hacer lo mismo.

Va de nuevo: Conversación entre dos idiomas diferentes con traducción en tiempo real. Si esto funciona a un 80% de calidad y llega al mainstream, cambiará el comercio y la conectividad del mundo a un nivel doloroso.

¿Cuando está disponible esto?

Hay invitaciones para la beta privada de Google Wave. Por lo que hemos escuchado en la rueda de prensa, aun es un trabajo en proceso y faltan muchas cosas, cómo ¿Cómo se borra un wave? ¿Quien es el dueño de un wave? Pero a medida que estas cosas terminen, seguro empezará a estar disponible para el público pronto.

Sospecho que en un año tendremos versión definitiva instalable en nuestros servers para todos.

Instalar Gnome Shell en Ubuntu

Gnome Shell vendra en las proximas versiones de Ubuntu e introduce una nueva interacción con el escritorio Gnome a través de nuevas formas de lanzar aplicaciones, acceder a los documentos y organizar las ventanas abiertas, reemplazando el clasico menu (Aplicaciones-Lugares-Sistema) por uno único llamado Actividades. Si deseas probarlo ya, sigue estas sencillas instrucciones:

Para instalar Gnome Shell en Ubuntu 8.10

sudo apt-get install build-essential automake gnome-common flex bison curl git-core subversion gtk-doc-tools mesa-common-dev xulrunner-1.9-dev libdbus-glib-1-dev libffi-dev libgconf2-dev libgtk2.0-dev libgl1-mesa-dev libgstreamer-plugins-base0.10-dev python2.5-dev.

Para instalar Gnome Shell en Ubuntu 9.04

sudo apt-get install build-essential automake gnome-common flex bison curl git-core subversion gtk-doc-tools mesa-common-dev xulrunner-1.9-dev libdbus-glib-1-dev libffi-dev libgconf2-dev libgtk2.0-dev libgl1-mesa-dev libgstreamer-plugins-base0.10-dev python2.6-dev.

Una ves terminamos de instalar todos esos paquetes, el siguiente paso es meter los siguientes codigos uno por uno, en el terminal.

wget http://git.gnome.org/cgit/gnome-shell/plain/tools/build/gnome-shell-build-setup.sh

bash gnome-shell-build-setup.sh

~/bin/jhbuild build

Ahora para poder correr Gnome-Shell simplemente metemos las siguientes lineas en el terminal, por cierto antes de probar Gnome Shell, se debe desactivar Compiz, es decir tenemos que usar el comando

metacity --replace
cd ~/gnome-shell/source/gnome-shell/src

./gnome-shell

./gnome-shell --replace

Y listo finalmente con todo este tenemos Gnome-Shell instalado en Ubuntu Jaunty o Ubuntu Intrepid, si alguien tiene algún error adicional, puede agregar un comentario y le colaboro con la instalacion.

Recuperar contraseña de administrador en Windows XP

He descubierto un servicio estupendo para recuperar las contraseñas de una maquina que corra XP, incluida la contraseña de administrador.

Hay una versión para diskette/USB y otra para CD-ROM.

  1. vas a www.loginrecovery.com
  2. Descargas el exe a tu disco duro
  3. Metes un diskette/USB y ejecutas el exe
  4. Metes el diskete en el ordenador en el que quieras recuperar contraeñas (también te coge la de administrador)
  5. Reinicias el ordenador con el diskette dentro. Ves que se ejecuta en texto y en un minuto mas o menos te dice que ya cogió las contraseñas y que saques el diskete y reinicies normal
  6. Vas a la página www.loginrecovery.com, en la sección upload pones tu email y coges con «examinar» el archivo upload.txt del disekette
  7. Le das a aceptar y esperas a que te confirme que ya lo subió (es casi instantaneo)
  8. Vas a la sección resultados de la web, introduces tu email y verás el progreso
  9. Cuando te diga que ya ha identificado las passwords (tarda entre 10 minutos y una hora) puedes elegir entre esperar 72 horas para que se vuelvan visibles entrando a esa misma página de resultados o pagar 20 euros y verlas en el momento.

Un buen servicio 😀

Convertir un servidor slave en master en MySQL

A veces ocurre… que el servidor maestro MySQL se nos ha corrompido o por X motivos, ya no se puede utilizar, y la única opción que nos queda es enviar el curriculum a otra empresa, o bien si hicimos los deberes correctamente, deberíamos de tener un servidor slave dónde hay una réplica más o menos reciente de los datos del antiguo maestro, apartir de ahí, estamos de suerte, ya que en algún caso en concreto, nos interesará poder convertir esa base de datos esclava en maestra para que nuestras aplicaciones la puedan utilizar y volver a crear slaves apartir de esta.

Para convertir un servidor slave a master en MySQL, solo tendremos que realizar estos sencillos pasos.

(Todos estos pasos los realizamos en nuestro slave)

# mysql> STOP slave;
# mysql> RESET slave;

# Borramos en el fichero my.cf toda la configuración que teniamos de nuestro slave y añadimos log-bin para que actue como maestro
# Reiniciamos MySQL
# Indicamos a nuestras aplicaciones la nueva ubicación del nuevo maestro, y apartir de ahora, ya se podrían crear esclavos apartir de este nuevo maestro

Y voila¡¡¡¡¡¡¡¡ ya hemos convertido el servidor mysql slave en servidor master¡¡¡