Creando copias de seguridad de un sitio.

mayo 12, 2009

Cuando administramos un sitio web, por muy pequeño que sea debemos realizar un plan de contingencia, que nos permita recuperar el sitio ante una eventual contingencia: errores por programación, instalación de nuevos componentes, nueva programación, actualización de programas, instalación de parches…

1242125662_system-software-updateSi tenemos un sitio web hecho con Joomla podemos utilizar componentes que nos permitan automatizar todas estas tareas, y realizarlas diariamente.

También podemos crear algún cron en el servidor que nos ejecute de manera automatizada las copias de las bases de datos y los ficheros del sitio.

Esto nos permitirá que ante una eventual contingencia podamos recuperar el sitio en cuestión de horas o minutos (y evitar perder el trabajo de meses, ficheros actualizados, etc…)

Para crear una copia de seguridad de un sitio Joomla podemos hacerlo principalmente de dos maneras:

De manera manual:

  1. Copiar toda la estructura del sitio web. Volcar todo el sitio vía ftp, ficheros y directorios conservando la estructura original.

  2. Copiar la base de datos. Para ello podemos utilizar el gestor de base de datos y realizar la exportación de un fichero que contenga la estructura de nuestra base de datos.

    Para evitar problemas con el archivo de exportación generado por mysql, os recomiendo la siguiente configuración (estos dos parámetros dan error en la importación):

  • Deshabilitar revisión de llaves extranjeras.

  • Valor auto increment desactivado.

3. Importar el fichero sql a través del gestor de la base de datos utilizando importar.

joompackAutomatizadajoompack

Existen diferentes componentes que nos permiten realizar la copia completa de nuestros sitios web Joomla de una manera automatizada, entre todos los existentes mi favorito sin duda es JoomlaPack.

Joomlapack es una excelente herramienta para crear copias de seguridad del sitio, de las bases de datos, y para la creación de paquetes autoinstalables.

Crea un instalador joomla, que regenera nuestro sitio web sólo con descomprimir el paquete generado, y realizando una instalación Joomla “normal”.

Este componente nos permite copiar:

  • Todo el sitio

  • La(s) base(s) de dato(s)

  • Crear un paquete de instalación, este lanza un instalador joomla que recrea todo el sitio web.

  • Programar tareas de respaldo.

Es muy útil cuando tenemos un desarrollo en local y lo queremos instalar en un servidor de producción, ya que nos pedirá los datos de conexión a la base de datos y recreará nuestra estructura y esquema.

JoomlaPack dispone de dos versiones normal y especial, la versión especial permite realizar copias de seguridad con funciones avanzadas sobre las bases de datos, directorios, exclusiones, etc…

En general el 95% de los administradores de un sitio Joomla verán cubiertas sus necesidades con el componente en su versión normal.

Si os gusta y le sacáis rendimiento no olvidéis de hacerles una donación vía paypal (para que se tomen una caña)

http://www.joomlapack.net/

Instalando drupal

mayo 6, 2009

Alma Fernández me ha concedido  el honor de hacerme un hueco en webmasterlibre.com, este artículo es el primero de una serie que se publicarán en webmasterlibre. Espero que lo disfrutéis:

¿Qué es Drupal?

Drupal es un estable,  seguro y versátil Administrador de Gestión de Contenidos (CMS). Nos permite crear una infraestructura web a la que podremos ir añadiendo, nuevas funcionalidad mediante componentes y extensiones.  Para facilitar la instalación aquí os pongo un pequeño manual para realizar la instalación de drupal en un servidor web.

0. Requisitos mínimos para la instalación

  • Servidor Apache.
  • 1 base de datos MySql
  • PHP 5
  • Acceso ftp al servidor.

Leer artículo completo en webmasterlibre.com (va a webmasterlibre.com)

Herramientas LD para profesionales de las TI

abril 30, 2009

Tan importante para una web es tener una buena programación, un buen contenido y un buen diseño, como la máquina en la que se aloja, y la seguridad de nuestro sitio web.

Obviamente no podemos predecir si nuestra página tendrá dos usuarios o diez mil, pero si podemos preparar un plan de contingencia para ello, ya que una página visitada, es un caramelo para hacer spam y  ataques.

Tampoco deberíamos permitirnos el lujo de que el sitio se quede fuera de línea porque simple y llanamente no sea capaz de soportar un pico de tráfico,  por una reseña, o un buen posicionamiento google y entonces se dé lo que venimos en llamar “morir de éxito”. Para comprobar que nuestro servidor, programación y sitio están  en forma podemos utilizar las siguientes herramientas que ha recopilado la gente de kineo open source, para poder realizar una auditoría de seguridad y de calidad del código.

tools

Herramientas para comprobar los servidores, errores sobre las máquinas, pruebas sobre las bases de datos, pruebas de rendimiento, comprobación de enlaces, y otro tipo de pruebas.

Herramientas para verificar la programación dividas por lenguaje de programación.

Sin duda un recurso imprescindible que se merecía una entrada y no un simple enlace.

¿Qué tiene wordpress en contra de mover las imágenes? Va fatal la alineación. Si le pongo espacio horizontal y vertical, todavía es peor.

Utilizar el robot.txt para ocultar tu sitio web

abril 24, 2009

Aunque el entusiasta2.0 piense que esta es otra de mis campañas para demonizar a Google, sólo voy a explicar cómo ocultar una web utilizando el fichero robots.txt y utilizar el sitemap.xml para indicarle a Google las ramas de nuestro sitio que tiene permitido recorrer, por razones técnicas, de seguridad y de privacidad. Ya que Google aunque técnicamente hace productos muy buenos con sus políticas de privacidad (me corta todo el rollo) me crea una sensación un tanto contradictoria.

Obviamente si no aparecemos en Google no existimos, pero a veces nos puede interesar por ocultardeterminados motivos  que nuestro sitio no aparezca listado en Gran Hermano bien porque es un url de prueba, bien porque nos encontramos desarrollado el sitio o bien porque queremos esconderlo de miradas ajenas: por ejemplo un servicio de videovigilancia ip de un negocio privado, nunca debería aparecer listado en google.

Si queremos impedir  el acceso a google a determinadas zonas de nuestro sitio web, ya sea porque nos permite añadir un punto más de seguridad a nuestro sitio web ( ya que los spammer muchas veces se valen de google para planificar sus ataques), ya sea por otros motivos. Por seguridad en mis sitios webs, no me gusta mantener los directorios privados indexados por google (por ejemplo el acceso a la intranet, el gestor de correo, directorio de administración )

Por ejemplo en un sitio web tengo el siguiente escenario:

  • Utilizamos un gestor de contenidos Joomla (y es fácil que muchas carpetas se encuentren predeterminadas)
  • En la parte de pruebas tenía varios directorios con permisos de escritura (estaba realizando pruebas de componentes)
  • La administración de la versión 1.0.x de Joomla, tenía una vulnerabilidad que no había parcheado en inyección de sql.
  • El Gran Hermano estaba mostrando mis vergüenzas: Si hacía una búsqueda en Google devolvía la ruta al panel de administración (sólo haría falta un ataque de fuerza bruta), y la de pruebas, además eran de las más visitadas, sospecho que porque estaba migrando la página a 1.5.

¿Cómo atacan un sitio?

Generalmente el hacker de turno envía en primer lugar unos robots, que navegan por todos los enlaces visibles de la web buscando vulnerabilidades (autocompletado de formulario, directorios con permisos de escritura, directorios de administración), estos robots, o bien utilizan los motores de otros robots como google, yahoo, msn, para realizar ataques automatizados,  o infectan un conjunto de equipos a los que pone a navegar por internet (redes zombies), y a completar formularios, en busca de vulnerabilidades. ¿Porqué esta gente no dedicará su tiempo y esfuerzo a la computación distribuida o hacer un programa de libre distribución? “

¿Cómo evitar que Google enseñe mis vergüenzas?

Modificar el fichero robots.txt y crear un fichero sitemap.xml. Esto hará que el Gran Hermano evite el acceso a los sitios que indiquemos, pongo el ejemplo de un sitio que no quiero que muestre desde el raíz.

Para no permitir el acceso de cualquier robot al sitio web:

  • Prohibir el acceso a cualquier robot (esto previene los ataques):

User-Agent: *

Disallow: /

    • Para prohibir el acceso a un directorio:Disallow: /correo

    Disallow: /administrator
    Disallow: /pruebas
    Disallow: /intranet

      • Para prohibir la indexación de un fichero:

      Disallow: /cuentas_correo.html

      • Con etiquetas META

      <html>
      <head>
      <meta name=”googlebot” content=”noindex”>

      • Otra sintáxis admitida:

      <META name=”robots” content=”NOINDEX,NOFOLLOW,NOARCHIVE,NOODP,NOSNIPPET, NOOPD, NOYDIR”>

      Esto no permitiría realizar búsquedas, ni seguir un enlace, ni mirar un archivo, ni aparecer en el directorio, ni aparecer en yahoo.

      • Enlaces relacionados:

      Controlando como los robots de búsqueda indexan tu sitio (Herramientas de Google para webmasters artículo en Inglés)

      El Planeta Friki cambia de Sistema Solar

      abril 19, 2009

      Y va más allá de la vía láctea. Traducido al humano: Me he mudado y me encontraréis en.
      http://patripe.com/
      patripe

      Gestores de proyectos de desarrollo colaborativos

      abril 16, 2009

      Cuando estamos creando un proyecto entre varias personas, se hace imprescindible montar un entorno colaborativo.

      Existen excelentes programas de libre distribución que nos permiten hacer esto vía web (CMS de gestores de proyectos), de todas las alternativas posibles dependerá el uso que le vamos a dar, mis favoritos:

      Gestores de proyectos con controlador de versión de código, y aplicación de tecnologías de programación extremas y/o ágiles como SCRUM, XP, y que nos permiten tanto gestionar los diferentes usuarios, tareas, proyectos, etc…como controlar los cambios realizados en el código, de modo que todos los desarrolladores trabajen sobre el mismo código, y generar un informe sobre quién ha hecho cada cambio, y la posibilidad de recuperar versiones anteriores de ficheros.

      logo_collabnetCollabnet svn: Collabnet Subversion.  Integración del ciclo de vida del software, binarios certificados de subversion (asegura que todos los desarrolladores trabajan con la misma versión que la de subversion). Repositorio centralizado de código fuente. Versión para escritorio y multiplataforma.

      firstlogofveFVE Project Manager: Integración de tecnologías ágiles y de programación extrema como SCRUMP, XP…Es una versión modificada de dotnet hecha en españa! Incluye también subversion.

      Gestores de proyectos vía web sin control de versiones: En esta categoría se encuentran los gestores de proyectos enfocados a la gestión de soporte técnico, y/o herramienta de comunicación con el usuario, y la mayoría disponen de un sistema de incidencias. Todos disponen de creación de grupos, asignación de tareas, creación de roles, control del estado del proyecto, generadores de informes, envío de solicitud de asistencia (ticket…)

      phprojekt_logo2

      Sobran los comentarios para este sistema. Excepcional, aunque el estilo no está completamente cuidado es fácil modificarlo utilizando plantillas.

      phpeasyproject

      PhpEasyProject: Sin duda uno de los más prometedores. Múltiples funcionalidad y sobre todo, facilidad de uso, para quienes necesitan un gestor de proyectos, fácil de instalar y de gestionar.

      Utiliza el motor de plantillas Smarty, y entre otras cosas permite la exportación de datos a otras aplicaciones mediante xml.

      Prueba tus servidores

      marzo 19, 2009

      Una parte muy importante en un sitio web y que se tiene muy poco en cuenta son las pruebas sobre el sitio web, tanto si tenemos un servidor dedicado, o un alojamiento compartido, deberemos comprobar que nuestro sitio aguanta repuntes de visitas, está bien programado, y responde de una manera rápida.

      Para hacer pruebas sobre un servidor web, habrá que diferenciar dos partes fundamentales:

      • El rendimiento de la máquina

      Para ello tendremos los controladores siempre actualizados con las versiones estables.

      Pruebas sobre el procesador, rendimiento de la tarjeta gráfica, tarjeta de red, chequeo de disco duro.

      • El rendimiento de los aplicativos web.

      Para ello deberemos hacer pruebas sobre el envío de todos los formularios, comprobación de programación redundante, cierre correcto de las conexiones a la base de datos, eliminación de las variables de sesión transcurrido un tiempo x desde la primera conexión.

      Actualización y parcheado del sistema operativo,  software y aplicaciones de terceros.

      • La velocidad de la red.

      Debemos asegurarnos un caudal constante, fluido y adecuado al tráfico de nuestro sitio web.

      Para ello podemos realizar pruebas, realizando peticiones simultáneas con múltiples usuarios que realicen peticiones constantes al servidor, en diferentes formularios. Esto además de ayudarnos a comprobar la solidez de nuestros aplicativos, comprobará la velocidad de respuesta de la base de datos, carga de memoria, balanceo de aplicaciones…

      Estos programas nos ayudan a realizar todo tipo de pruebas automatizadas, son de libre distribución :

      Funkload Emula un navegador web (monohilo), con comprobación envío de formularios, funcionamiento de aplicativos web, monitorización de serviedores… Sólo Linux

      testmakerTestMaker Test de escalabilidad, funcionalidad y mejora. Se crean agentes que nos permiten emular pruebas inteligentes, como si fuerámos un usuario navegando (multihilo). Buen centro de soporte. Todas las plataformas.

      pro_box_med_whiteJblitz Puede hacer pruebas sobre scripts ASP, scripts JSP, Servlets, CGI scripts etc. (Multihilo). Hecho en java, funciona sobre windows. Todas las plataformas, buen entorno gráfico.

      Migración

      febrero 25, 2009

      En este momento no tengo mucho tiempo de escribir, y espero que la próxima entrada que se publique sea ya desde el nuevo sitio. Actualmente me encuentro ajustando algunos detalles del tema, y espero tenerlo todo completado como muy tarde a finales de esta semana.

      Liberad a Windows II [Programas Imprescindibles de LD]

      febrero 5, 2009

      Pues el objetivo de esta serie de entradas [liberad a windows], no es otro que liberar a los usuarios que utilizan programas propietarios como Windows. Uno de los aciertos de la comunidad para acercar linux a los humanos, ha sido el lema de si no puedes con el enemigo alíate con él.

      De esta premisa nacen un buen número de programas nativos (o no) de linux, para Windows. Uno de los grandes éxitos de la comunidad ha sido tener esa visión, ir promoviendo el uso de programas de libre distribución en entornos propietarios (la mayoría también existen para Mac). Entre estos programas hay una serie de imprescindibles que no deben faltar en cualquier pc que se precie.

      openofficeorg2OpenOffice. (Excelente Paquete ofimático, total compatibilidad con documentos .doc, xls, ppt, es decir Microsoft Officce, facilidad de creación de PDF, etc…)

      emuleEmule. El cliente para intercambio de ficheros más popular.

      vlcVLC. Reproductor multimedia, con un montón de códecs, y que hace que funcionen casi todos los formatos conocidos.

      pidginPidgin. Programa de mensajería instántanea que nos permite conectar varias cuentas simultáneamente (yahoo, hotmail, icq, jabber…)

      Evolution. Gestor de correo electrónico, a mí me gusta más que Thunderbird, por la gestión del calendario y un montón de extras. La versión windows, todavía es inestable, dicen, pero funciona bastante bien.

      Thunderbird. Otro gestor de correo de la FUNDACIÓN (Mozilla) que funciona perfectamente con Windows, en contra, que para tener un buen gestor de calendario, deberás utilizar otro programa de la fundación SunBird.

      Firefox. El NAVEGADOR por excelencia, con múltiples extensiones, y totalmente estándar. Aunque el soporte para microformatos todavía no está 100% logrado, un día lo harán.

      garland_logoScribus. Editor de folletos, trípticos, con múltiples plantillas para facilitar su funcionamiento, su equivalente más similar en software privativo (o propietario) sería Microsoft Publisher.

      7zg17zip. Compresor / Descompresor de ficheros. Permite comprimir y descomprimir entre otros ZIP y RAR, además de permitirnos comprimir en el formato nativo 7zip, generar ejecutables, y mejorar los ratios de compresión tanto de Winzip como de WinRAR.

      Gimp

      GIMP. Editor Gráfico. Su equivalente en software privativo sería Adobe Photoshop. Qué se puede decir de este editor que no se haya dicho ya.

      ico-kmpzrKompozer (debido a que el desarrollo oficial de NVU se abandonó, algunos frikanders siguieron con su desarrollo). Editor Gráfico de páginas HTML

      cobianbackup7Cobian. Permite crear copias de seguridad de nuestro(s) disco(s), permite la programación, etc…

      filezilla3Fillezilla. Cliente FTP.

      cdburnerCdBurnerXP*. Programa para Grabar Cd´s, maneja las imágenes iso mucho mejor, que el injustamente aclamado Nero de Ahead.

      Avast Antivirus. *Excelente antivirus, con soporte para detección de troyanos, malware, y todas esas mierdas, que acaban haciendo que no vaya nada en nuestro ordenador. Sólo hay que descargar la versión HOME y solicitar una licencia de uso, no envían publicidad, ni nada parecido.

      Estos son sólo algunos de los ejemplos que tenéis disponibles de programas de libre distribución. En condiciones de uso normal, un usuario medio no necesitará instalar muchos programas más, pero también podéis buscar aquí muchos más.

      • Para buscar equivalencias de un determinado programa de software privativo:

      http://www.osalt.com/

      • Para buscar programas de Libre Distribución en cualquier idioma de españa (euskera, catalán, gallego, aragonés, astur…y castellano). Un trabajo de recopilación sobresaliente, actualizado semanalmente.

      http://www.cdlibre.org/

      • Una interesante recopilación de equivalencias en programas para LINUX:

      http://es.wikibooks.org/wiki/Introducci%C3%B3n_a_Linux/Equivalencias_Windows_en_Linux

      • Un listado simple de programas de libre distribución para Windows

      http://www.opensourcewindows.org/

      Y por supuesto. Todos el proyecto NAVE.

      http://www.proyectonave.es/productos/descargas

      *Estos no son programas estrictamente de software de libre distribución, pero para mí sí, ya que ofrece una versión completamente funcional (aunque no sea modificable por el usuario, ni el código fuente se encuentre disponible), su distribución es gratuita y en torno al 99% de los usuarios no se van a sentir en la necesidad de modificar el programa ni de ver el código fuente, que una es pureta pero no para tanto…Y su calidad justifica que se encuentren en esta lista.

      Liberad a Windows Parte I [o cómo leer particiones linux en windows]

      enero 29, 2009

      En esta primera parte nos centraremos en aquellos usuarios que han decidido instalar en un pc un windows con virtualbox y linux, o un arranque dual con linux y windows.

      Se puede hacer que un pc tenga varios sistemas operativos instalados y con lilo (Linux) o PQBoot (BootMagic para Windows) arrancar uno u otro, si este es nuestro caso nos habremos percatado que si bien las extensiones NTFS (ntfs-3g) son fácilmente accesibles desde linux, y mucho más fáciles las FAT y FAT32, no ocurre lo mismo desde Windows para acceder a nuestra partición linux.

      Ext2 IFS para Windows

      Ext2 IFS para Windows

      Para ello podemos utilizar programas como Partition Magic, que nos permitirá ver las particiones pero no su contenido. Si accedemos desde Mi PC veremos que Windows ni siquiera reconoce esas particiones, y el tamaño de nuestro disco sólo muestra las particiones reconocidas por Windows (NTFS, FAT, FAT32, y las EXT entran en un agujero negro de la informática)

      Para eso existe el maravilloso EXT2 IFS para Windows, un programa que nos permite acceder a nuestras particiones linux desde windows tanto en modo solo lectura, como en modo lectura y escritura, en fin otra pequeña maravilla de la libre distribución, que facilita el modo de trabajo dual con ambos sistemas operativos, así como el intercambio de ficheros, sin problemas. Sin duda un programa imprescindible para los que queráis aventuraros en el mundo linux sin “renunciar” a Windows.

      http://www.fs-driver.org/


      Seguir

      Recibe cada nueva publicación en tu buzón de correo electrónico.