Eliminar www de la url con .htaccess y Mod_rewrite

En algún momento del desarrollo de un nuevo sitio web, deberemos decidir si queremos la url con www o sin ellas. Una vez decidido, lo podemos llevar a cabo a través del fichero .htaccess.

Para eliminarlas:

# Quitar el www del nombre de dominio
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www\.midominio\.com$ [NC]
RewriteRule ^(.*)$ http://midominio.com/$1 [R=301,QSA,L]
</IfModule>

Si lo que queremos es que se agregen siempre las www al nombre del dominio, entonces aplicamos lo siguiente en el archivo .htaccess:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
# Redirigir el dominio sin www a www
RewriteCond %{HTTP_HOST} ^midominio\.com$ [NC]
RewriteRule ^(.*)$ http://www.midominio.com/$1 [R=301,QSA,L]
</IfModule>

Si quereis un editor Online de .htaccess con muchas opciones lo teneis aqui http://htaccess-online.blogofsysadmins.com/

Problema con la libreta de direcciones en Horde al actualizar a Plesk a la versión 9.5.1

El problema que os comento me ha pasado con Horde (webmail por defecto en Plesk) por actualizar Plesk de la versión 9.3.0 a 9.5.1.

El problema estaba bien claro, al intentar acceder a la libreta de direcciones que Horde guarda, Horde daba el siguiente error:

DBError: field

y el log de Horde daba el siguiente error:

error log : Apr 20 18:05:16 HORDE [error] [kronolith] DB Error: no such  field:
SELECT event_id, event_uid, event_description, event_location,  event_private, event_status,
event_attendees, event_keywords,  event_title, event_category, event_recurcount, event_recurtype,
 event_recurenddate, event_recurinterval, event_recurdays, event_start,  event_end, event_alarm,
event_modified, event_exceptions,  event_creator_id FROM kronolith_events WHERE calendar_id =  'email@domain.com'
AND event_alarm > 0 AND ((event_end >=  '2010-04-20 00:00:00') OR (event_recurenddate >=
'2010-04-20  00:00:00' AND event_recurtype <> 0))
[nativecode=1054 ** Unknown  column 'event_private' in 'field list'] [pid 26294 on line 323 of  "/usr/share/psa-horde/kronolith/lib/Driver/sql.php"]
 Apr 20 18:05:16 HORDE [error] [turba] DB Error: no such field: SELECT  object_id, owner_id,
 object_type, object_members, object_uid,  object_firstname, object_lastname, object_middlenames,
 object_nameprefix, object_namesuffix, object_alias, object_bday,  object_homestreet,
object_homepob, object_homecity, object_homeprovince,  object_homepostalcode, object_homecountry,
 object_workstreet,  object_workpob, object_workcity, object_workprovince,  object_workpostalcode,
object_workcountry, object_tz, object_email,  object_homephone, object_workphone, object_cellphone,
object_fax,  object_pager, object_title, object_role, object_company,  object_category, object_notes,
object_url, object_freebusyurl,  object_pgppublickey, object_smimepublickey FROM turba_objects WHERE
 (object_type = 'Group' AND owner_id = 'email@domain.com')  [nativecode=1054 ** Unknown column
'object_firstname' in 'field list']  [pid 26294 on line 173 of  "/usr/share/psa-horde/turba/lib/Driver/sql.php"]

Vale pues despues de tantos errores aqui os digo la solución que mas o menos daban en los foros de parallels y que yo le aplique al dichoso error.

El error es debido a que Plesk al actualizar a la versión 9.5.1 instala la versión de psa-turba 2.3.3 que es la que crea el complemento de la libreta de direcciones en Horde, pues desinstalamos ese rpm que Plesk instalo:

rpm -e –nodeps psa-turba-2.3.3

Ahora nos vamos a bajar el anterior paquete rpm de la versión de psa-turba que es el 2.1.7 y posteriormente lo instalamos y listo.

wget http://autoinstall.plesk.com/PSA_9.3.0/dist-rpm-CentOS-5-x86_64/opt/horde/psa-turba-2.1.7-cos5.build93091230.06.noarch.rpm

rpm -i psa-turba-2.1.7-cos5.build93091230.06.noarch.rpm

Y listo¡¡¡ ya tenemos la libreta de direcciones que guarda Horde y no hemos perdido ningún contacto porque no hemos tocado la base de datos ni las tablas que usa Horde.

Script para después de instalar Ubuntu Lucid Lynx 10.04

Una vez instalado Ubuntu 10.04 Lucid Lynx, con la ejecución del siguiente script, podréis poner al día vuestro sistema de una forma automática, ahorrando el proceso de consola ( aunque tampoco es que hacer el tipico copy&paste, que todos hacemos es que sea mucho trabajo, pero lo cierto es que con el script las siguientes tareas descritas se realizaran de forma automática:

  • Agrega repositorios (Medibuntu, getdeb, etc).
  • Descarga e instala las últimas actualizaciones.
  • Instala Ubuntu Tweak.
  • Instala codecs, plugins del navegador web (Java, Flash), un apoyo adicional para los archivos (RAR, 7-Zip) y fuentes adicionales, instala el más reciente reproductor de Flash para Ubuntu 10,04 Lucid Lynx 64 del sitio de Adobe.
  • Ajustes GConf: mueve los botones de nuevo a la derecha, desactiva el sonido de entrada GDM, se fija el comportamiento del gestor de actualización para mostrar siempre las actualizaciones y permite los iconos de los menús y botones.
  • Instala GIMP (que se ha eliminado de Ubuntu 10,04).
  • Instala VLC.
  • Instala el cliente de correo electrónico Thunderbird.
  • Instale el navegador web Chromium.
  • Instala Google Chrome – la última versión dev (se descarga la versión de 32 bits o 64 de forma automática – dependiendo de la arquitectura de su sistema).
  • Instala WINE.
  • Instala MPlayer.
  • Establece la codificación de caracteres de MPlayer y Totem  a Central / Europa del Este (Windows-1250), pueden desactivar esto quitando líneas: 64 y 69,70,71,72,73,74,75, o desde la configuración manual en el menú del script.
  • Instala el cliente de mensajería instantánea Pidgin.
  • Tiene con una interfaz gráfica de usuario – bueno, casi, lo único que tienen que hacer es marcar algunas cajas de verificación y la secuencia de comandos hará el resto.
  • Se añadió la instalación de Dropbox (incluyendo el repositorio de Dropbox que es paraKarmic  por ahora, pero funciona en Lucid también – los desarroladores prometen que usará el repositorio para Lucid cuando Dropbox lo de a conocer).
  • Instala las herramientas de desarrollo (de build-essential a Subversion y GIT).
  • Añadido gnome-do.
  • Elimina iconos de unidad del escritorio.
  • Arregla el problema de lentitud del repositorio de Google Chrome para el comando “apt-get update”.
  • Permite desactivar en la pantalla de entrada GDM la lista de usuarios.
  • Añade repositorios: Ubuntu Restricted Extras, Medibuntu, getdeb, Dropbox (sólo si se selecciona para instalar Dropbox)
  • Se instala desde los repositorios: The GIMP, Pidgin, el vino, navegador de cromo, Gnome Do, Guake, VLC media player, Mplayer, SMPlayer, Thunderbird, Dropbox, codecs (multimedia, java, flash), el apoyo archivos adicionales, soporte para DVD y las fuentes, Ubuntu Tweak, Deluge Torrent, CompizConfig Administrador de configuración, herramientas de desarrollo.
  • Descarga e instala los siguientes: navegador de Google Chrome (se descarga la construcción de 32 o 64 bits, dependiendo de su versión de Ubuntu), los emoticones oficiales de Pidgin (para todos los protocolos), la más reciente de Flash Player para 64 bits a través de la web de Adobe, Skype (32 o 64 bits, dependiendo de su versión de Ubuntu).
  • Tweaks:

Mueve los botones de ventana a la derecha (estilo Karmic).
Cambia el comportamiento del Administrador de actualizaciones.
Quita los iconos de las unidades montadas en el escritorio.
Deshabilita el sonido entrada GDM.
Habilita los iconos de los menús y botones.
Deshabilita en el inicio de sesión GDM la lista de usuarios.
Quita el paquete ubuntu-docs (libera 252MB).
Cambia en Gnome Calendar el primer día de la semana de domingo a lunes.
Descarga (o instala) y configura fuentes.
Arregla el “apt-get update” para evitar demoras en el repositorio de Google
Automáticamente monta unidades NTFS en el arranque.

  • Automáticamente acepta la licencia de JAVA.
  • La nueva versión también corrige un montón de errores de la versión anterior.

Tener en cuenta que, antes de ejecutar el script estén corriendo el script como root; que ni Synaptic ni apt-get ni dpkg ni centro de software está en ejecución; comprueben la conexión a Internet para asegurarse de que realmente se pueden instalar los paquetes, etc.

Para ejecutarlo deben pegar las siguientes líneas en la consola:

sudo apt-get install zenity

wget http://launchpad.net/ubuntustart/trunk/0.4.2/+download/ubuntu-10.04-script

chmod +x ubuntu-10.04-script

sudo ./ubuntu-10.04-script

También lo pueden bajar desde aquí: https://launchpad.net/ubuntustart/+download

Espero que les sirva. Yo lo probé y me dio buenos resultados este script para Ubuntu 10.04 .

Y tu, ¿ te animas a crear o mejorar un script mejor que este ?, si lo haces espero lo compartas con nosotros, y lo publiques en tu blog para difundirlo.
Bueno gente, espero que les sea útil, que no tengan problemas para instalarlo y que mejor sustancialmente su experiencia en Ubuntu 10.04.

Cambiar la codificación de archivos de ISO-8859-1 a UTF-8

Hace un rato he tenido que cambiar la codificación de un buen número de programas de un cliente que tenía hechos en PHP con codificación ISO-8859-1 a codificación UTF-8. En entornos Linux se dispone de un comando muy útil para estas tareas, iconv.

El siguiente ejemplo muestra cómo cambiar la codificación del archivo oldfile.htm de ISO-8859-1 a UTF-8, dejando el archivo resultante con el nombre newfile.html.

iconv --from-code=ISO-8859-1 --to-code=UTF-8 ./oldfile.htm &gt; ./newfile.html

Si lo que necesitamos es cambiar la codificación de varios archivos sustituyendo los archivos originales, podemos utilizar la instrucción for de Bash

for i in *.php; do iconv --from-code=ISO-8859-1 --to-code=UTF-8 $i -o $i.utf8; mv $i.utf8 $i; done

El Archivo Zip de la muerte – 42.zip

42.zip es un archivo zip de 42.374 bytes, contiene 16 archivos zips que a su vez contienen otros 16 zips y así hasta 6 veces. Los 16 últimos zips contienen un archivo de 4,3 Gb cada uno. Si descomprimimos el archivo 42.zip de 42.374 bytes obtendriamos 4.5 Pb de datos descomprimidos.

  • 16 x 4294967295 = 68.719.476.720 (68GB)
  • 16 x 68719476720 = 1.099.511.627.520 (1TB)
  • 16 x 1099511627520 = 17.592.186.040.320 (17TB)
  • 16 x 17592186040320 = 281.474.976.645.120 (281TB)
  • 16 x 281474976645120 = 4.503.599.626.321.920 (4,5PB)

Este tipo de archivos se denominan Zips de la muerte o Zips bomba y suelen usarse como herramienta para ataques DoS.

PD:  hay que ver como una cosa tan pequeña te puede joder el servidor enterito 😀 , así que pequeños sysadmins tener muy definidas las reglas de cuotas de disco con sus respectivas alertas a vuestro email 😀
raiola manda y no el panda