Copias de seguridad

En realidad este es un apartado de administradores de sistemas, pero y sino tenemos a este gran profesional en nuestro trabajo, la mayoría de las veces al que más sabe le toca buscar un programa apañado y realizar dicha copia de seguridad.

Cuando estás trabajando con un servidor decicado Windows, cualsea la versión, éste apartado debe ser crítico, puesto que es posible que los cracker encuentren algún fallo de seguridad de Windows y ataquen, con el daño que suele ocurrir con esto.

Si ese es tu caso, lo primero que debemos hacer es hacer una copia de seguridad de la MetaBase del IIS (Internet Information Server), para los que no sepáis qué es esto, la MetaBase del IIS es la información de todos los dominios que tienes instalado en el Servidor, así como la configuración de los FTPs (si es que usas el del IIS) y del correo (si es que usas el de IIS). Para hacer copia de seguridad de dicha metabase tendrás que ejecutar un programa o rutina en VisualBasic Script (lenguaje de consola de Windows por defecto). Yo utilizo estos ficheros.

Lo siguiente es buscar un software que haga las copias de seguridad por nosotros o programar una rutina en VisualBasic Script, que no es muy complicado, pero para este caso vamos a utilizar un software gratuito, pero no de código libre, Cobian Backup (al día de hoy en la versión 9, Amanit) [1]. Este programa nos permite hacer las copias de seguridad y subirlas a un FTP externo en un fichero ZIP y además nos permite ejecutar programas para hacer tareas que necesitemos. También nos permite hacer copias de seguridad de directorios separados, por ejemplo la base de datos y una web por separado.

Una vez que se ha instalado el programa, podremos encontrar en el SystemTry el siguiente icono:

cobian-01

Hacemos doble click sobre él y podremos acceder al programa.

Para crear una nueva tarea de realización de copia de seguridad debemos pulsar sobre el botón de Nueva Tarea

cobian-02

Yo recomiendo hacer una tarea por cada sitio web que tengamos en el servidor, de manera que si queremos recupera una copia de un sitio web siempre será más fácil que hacer una restauración de todo el servidor. En cuanto a la metabase ahí sí que hay que hacerla completa, de lo contrario deberás de modificar el fichero de la tarea de extracción de la MetaBase.

Una vez que hemos pulsado sobre éste botán nos aparecerá la siguiente ventana

cobian-03

Podremos cambiar de configuración pinchando en las distintas opciones que están en la columna izquierda. En esta pantalla lo que podemos hacer es dar un nombre a la tarea de seguridad y hacer la configuración de las copias de seguridad, como el tipo de copia de seguridad, en nuestro caso hemos seleccionado Completo.

En la zona de Ficheros lo que podemos hacer es seleccionar los ficheros o directorios sobre los que queremos hacer la copia de seguridad.

cobian-05cobian-06

En esta ventana también tenemos que seleccionar la salida de la copia de seguridad, en nuestro caso lo que queremos en mandarlo a otro servidor, para estas cosas, sino tienes otro servidor, lo suyo es contrartar un servicio de hosting que sea barato y con espacio iliminado y tráfico iliminato, como Powweb[2] o DreamHost[3].

cobian-08cobian-09

Tras configurar esto lo que hacemos es configurar la perioricidad con la que se van a realizar las copias de seguridad

cobian-10

En este caso está puesto a las 1:00 AM ya que a las 0:00 hago la copia de seguridad de la base de datos con el gestor de base de datos, en esta caso el MySQL Administrator que puedes encontrar en la web de MySQL [4]. Si utilizas Microfoft SQL-Server, en el cliente puede poner las copias de las bases de datos de forma automática. El dejar una hora entre la realización de la creación de la copia de la base de datos y la tarea es para tener tiempo de sobra, por si la base de datos ocupa mucho.

El siguiente apartado es el fichero que se genera en la copia de seguridad, lo normal es un único fichero ZIP que lo reconocen todos los sitemas operativos y que se puede descargar de una vez. Está la opción de trocear el ZIP en otros ZIPs más pequeños, pero yo no recomiendo esta opción, puesto que si se pierde un ZIP o se corrompe, pierdes la copia de seguridad.

cobian-11

También se le puede proteger con contraseña y encriptar el ZIP, pero yo no le pongo nada, puesto que con lo malo que soy para recordar las contraseñas llegue el día que hay que recuperar el fichero y no me acuerde o tenga a mano la contraseña, total yo lo voy a subir a mi FTP, para recuperar las copias hay que acceder al FTP y esa es la contraseña que nunca olvido, las tengo bien apuntadas.

En la siguiente ventana tenemos una herramienta que puede sernos muy útil, puesto que nos permite ejecutar programas, yo por ejemplo en uno de los proyectos de tareas, donde tengo un portal web donde se administran pequeñas web y que son más de 400 dominios, hago una copia de seguridad de la MetaBase aquí y se la asocio a uno de los directorios de la copia de seguridad, para ello utilizo la opción ejecutar y esperar.

cobian-12

Por último tenemos una pantalla donde podemos cambiar el usuario con el que queremos ejecutar dicha copia de seguridad, yo como la ejecuto con el usuario Administrador no tengo problemas de permisos, pero si la estuvieses ejecutando con un usuario sin todos los privilegios podrían generarse errores, con lo que desde aquí podríamos cambiar a que la tarea la ejecute el Administrador.

Bueno, pues esto ya se a acabado, pulsamos sobre el boton OK y listo, nos aparecerá la siguiente pantalla donde podremos ejecutar la tarea de copia sin tener que esperar a las 1:00 para ver si todo se ha configurado correctamente.

cobian-13

Bueno espero que esto haya sido de ayuda

Enlaces:

[1] Cobian Backup: http://www.cobian.se

[2] Powweb: http://www.powweb.com (es el hosting que tengo para estas cosas y donde está alojado este blog).

[3] DreamHost: http://www.dreamhost.com (es sensiblemetne más caro que Powweb pero ofrece otros servicios de valor añadido que a lo mejor te compensan, como CVS, SVG, acceso directo a MySQL, Ruby OnRails, JSP, …)

[4] MySQL: www.mysql.com

Publicado en Desarrollos, Software, Windows | Etiquetado , , | Deja un comentario

Crear un tema para Moodle (y II)

Bueno una vez que ya en la anterior entreta vimos los principales ficheros del tema, en este tema nos ponemos manos a la obra.

Hay que decir que hay que tener cierta destreza con los CSS, para aquellos que no sepan CSS les recomiendo este manual de CSS [1].

Básicamente, para empezar a manipular los ficheros header.html y footer.html para que vaya quedando el sitio web tal y como queremos, además deberemos y manipulando los estilos (styles_layout.css, styles_color.css y styles_fonts.css). Aquellos que tengan más experiencia con los CSS además deberán tocar los ficheros que tienen estilos especí­ficos para Internet Explorer y Mozilla (si no los modificáis, eliminad dichos ficheros, que sino es posible que lo que estéis programando no se vea luego reflejado).

Si desear poner la imágnes de las carpetas, expandir o recoger de forma personalizada, verás que hay una carpeta llamada pix. Deberás poner ahí­ todas las imágens personalizadas, para ello debes copiarte la carpeta pix del raíz de moodle (donde están las imágenes por defecto), cambiar las que quieras (con el mismo nombre) y luego ir al fichero config.php del tema y cambiar $THEME->custompix = false (ponerlo a true).

Bueno lo que queda es ir probando colores y mirando bien las cosas que vas modificando. Si tengo tiempo intentará hacer un pequeño esquema de los CSS, de manera que explique qué hay que cambiar para cada cosa, aunque la verdad está explicado en un inglés muy sencillo, y si no dominas inglés no creo que haya problemas en la traducción si utilizas Google Traductor.

Enlaces:

[1] Manual de CSS muy didáctico y con muchos ejemplos: http://www.librosweb.es/css/index.html. En esta web también puedes encontrar otros libros muy útiles de AJAX, XHTML, …

Referencia de funcines de Moodle: http://xref.moodle.org/nav.html?_functions/index.html

Publicado en Diseño, LCMS, php, programación | Deja un comentario

Crear un tema para Moodle (I)

Una vez que ya se ha instalado el LCMS Moodle lo que debemos hacer es crear un tema para personalizar el Moodle a nuestro sitio web.

Hay que decir que en la Web de Moodle hay un directorio con muchos temas que pueden ser modificados libremente [1]. En esta serie de artí­culos vamos a ver como hacer un tema utilizando como base otro ya existente. Para ello lo que debemos hacer duplicar el tema `standard` y ponerle el nombre que deseemos, en mi caso será `plf`. Utilizamos el tema standard puesto que nos aseguraremos que va a funcionar correctamente, puesto que tendrá todos los ficheros necesarios del tema.

Dentro de la carpeta nos encontramos una serie de archivos:

  • config.php: Fichero de configuración del tema.
  • docstyles.php: Fichero encargado de cargar los CSS, este fichero también puede contener sintaxis CSS.
  • favicon.ico: Icono que queremos que se vea en nuestro navegador. El que viene por defecto es el logotipo de Moodle. Si quieres crear un favicon a partir de una imagen te recomiendo que lo hagas desde Dynamic Drive [2].
  • footer.html: Fichero que contiene la platilla html del pie del sitio web.
  • gradient.jpg: Este fichero contiene el degradado del tema standar. En mi caso no lo voy a utilizar y lo borraré.
  • header.html: Fichero que contiene la plantilla html de la cabecera del sitio web.
  • meta.php: Fichero en el que se pueden insertar tags metas para al cabecera.
  • README.html: Fichero de información del tema.
  • rtl.css: Fichero para estilo cuando la dirección del texto es de derecha a izquierda.
  • screenshot.jpg: Fichero con un pantallazo del tema (Este fichero se cambiará al final de terminar el tema).
  • styles.php: Fichero de configuración de los estilos.
  • styles_color.css: Fichero para poner los colores de los estilos.
  • styles_fonts.css: Ficheros para poner las fuentes de los estilos.
  • styles_ie6.css: Ficheros para las cosas especí­ficas de Internet Explorer 6.0.
  • styles_ie7.css: Ficheros para las cosas especí­ficas de Internet Explorer 7.0.
  • styles_layout.css: Fichero de definición de los estilos.
  • styles_moz.css: Fichero para las cosas especí­ficas de Mozilla Fire Fox.

Manos a la obra

Lo perimero que tenemos que hacer es cambiar el fichero README.html, para poner el nombre de nuestro tema y la información que nos apetezca.

Lo segundo que haremos será modificar el favicon.ico (si es que querremos).

Bueno, ahora entramos en el Moodle y cambiamos el tema, para ello una vez que entramos como administrador de Moodle y nos dirigimos a Apariencia -> Temas -> Selector de Temas y seleccionamos nuestro tema. Como solo hemos cambiado el fichero README.html (para ver su contenido en el selector de temas podremos ver el enlace información) y favicon.ico, con lo que la apariencia será la misma que la del tema standard. Lo seleccionamos y empezaremos a cambiar las cosas.

En el siguiente artí­culo veremos cómo ir modificando los demás ficheros.

Enlaces.

[1] Temas de Moodle: http://moodle.org/mod/data/view.php?id=6552

[2] Dynamic Drive favicon generator: http://tools.dynamicdrive.com/favicon/

Publicado en Diseño, LCMS, php, programación | Etiquetado , , , , , | 1 comentario

e-Learning

Hace unos meses que me pidieron que realizase una plataforma de educación a distancia (e-Learning) para una de las empresas a las que les hago unos trabajos de vez en cuando.

Indudablemente le dije que iba a utilizar un sistema de software libre, puesto que desarrollar una era muy complicado y que una persona sola es imposible (en una empresa en la que trabajé, Neoinnova S.L., montamos un sistema e-Learning llamado Neoeduca, ya caido).

La verdad es que me he llevado navegando por ahí mucho tiempo y la verdad es que no me han gustado casi ninguno de los que he probado, si quieres hacer búsquedas en internet sobre sistemas de gestión de educación a distancia pon en google LCMS (Learning Content Management System).

Moodle [1]

Es posiblemente uno de los más expandidos LCMS que existen. Es muy fácil de instalar y no requiere un servidor muy potente, aunque en mi opinión es un poco lento.

Los temas son muy fáciles de crear, aunque se pueden complicar mucho, la ventaja es que hay cientos de temas gratuitos por internet, que son bastante buenos, y que solo necesitan hacer pequeños cambios para que se adecúen a nuestro gusto.

Como la mayoría de los sistemas LCMS admite el estándar SCROM para la importación y exportación de cursos.

Las mejores cosas que le veo es que está muy documentada y que los foros de moodle.org están muy bien, se actualizan rápido y siempre hay alguien que te puede sacar de un apuro.

Lo peor para mi es que es muy fea y la administración es muy poco usable, no es nada intuitiva, tienes que saber lo que estás haciendo para hacer lo que quieres.

ATutor [2]

Este LCMS es mucho más sencillo de manejar, más rápido y más intuitivo.

La creación de temas es bastante sencilla, además en la web de ATutor podemos encontrar temas gratuitos para la descarga.

Lo bueno, ya lo he dicho, que es muy sencilla de manejar, instalar, …

Lo malo, yo he encontrado poca documentación fuera de la web de ATutor, y toda la que he encontrado en Inglés.

Dokeos [3]

Este es un gran LCMS, tiene muchas cosas buenas, para empezar hay una empresa que está detrás del desarrollo, esto hace que haya posibilidad de soporte de calidad, aunque sea pagando. La creación de temas también es muy sencilla y no me causó ningún problema. El instalador es muy sencillo.

Lo malo de este LCMS es que necesita un servidor dedicado para instalarlo bien, puesto que lo suyo es que funcione en modo multi base de datos (una base de datos para cada curso), puesto que de lo contrario nos inserta 100 tablas por cada curso en la base de datos, si tenemos 5 cursos, tendremos cerca de 600 tablas en la base de datos.

Por otro lado al tener el servido dedicado podemos tener otros servicios añadidos de forma gratuita, como poder conectar el LCMS con OpenOffice y así poder subir documentos de texto y que los pase directamente a contenidos visibles como html que son muy parecidos al documento de texto (como por ejemplo un documento de Microsoft Word).

Este proyecto de LCMS es un producto derivado de otro LCMS (caroline [4]).

Conclusión

Al final me he decantado por Moodle, puesto que tengo más ayuda con el soporte técnico, pero voy a hacer un seguimiento bastante fuerte de ATutor, puesto que para mi gusto es mucho más fácil de gestionar y es más bonita.

Enlaces

[1] Moodle: http://www.moodle.org

[2] ATutor: http://www.atutor.ca

[3] Dokeos: http://www.dokeos.com

[4] Caroline: http://www.claroline.net/

Publicado en Desarrollos, LCMS, php, Sin categorí­a | Etiquetado , , , , | Deja un comentario

html2pdf

De las librerías que se vieron en el anterior post, esta librería es la que me parece más fácil de utilizar.

Lo primero que tenmos que hacer es descargarnos el fichero dese la web de la librería [1]. El sitio está en Francés, por lo que voy a poner el enlace directo de la descarga de la versión actual a día de hoy es la 3.13 [2].

Una vez que ya está descargado descomprimimos el contenido en un directorio.

Nos encontramos con 4 directorios y 6 archivos, de aquí solo nos quedaremos con 3 directorios (_fpdf, _mypdf y languages) y con 3 ficheros (html2pdf.class.php, parsingHTML.class.php y styleHTML.class.php). Yo te recomiendo que guardes todo esto en un directorio dentro del directorio donde guardes los includes en tus proyectos, en mi caso es includes.

En este artículo voy a enseñar 3 ejemplos que son bastante censillos.

Ejemplo 1:

Este ejemplo es muy sencillo, no es más que poner un texto y generar un PDF con dicho texto.

Lo primero que vamos a ver en este ejemplo son los tags especiales. Hay 3:

  • page: con este tag delimitamos el contenido de una página. En este indicamos el tipo de documento y los margenes left y top, el bottom y right no se pueden poner.
    <page backtop="10mm" backbottom="10mm" backleft="10mm"> ... </page>

    El contenido que hay dentro de este tag es lo que se muestra en la página del PDF.
    Cuando insertes el código HTML recuerda que las propiedades las debes poner en el parametro style, como por ejemplo en una tabla, deberías poner <table style=”width: 100%px; color: black;”>

  • page_footer: Pie de página. Esta etiquieta debe estar dentro de la etiqueta page y su contenido puede ser un html.
  • page_header: cabecera. Esta etiquieta debe estar dentro de la etiqueta page y su contenido puede ser un html.

Aquí puedes ver el fichero pdf generado en este primer ejemplo.

Ejemplo 2:

En este caso el contenido de lo que vamos a mostrar lo vamos a recoger de una plantilla y sustituimos datos de dicha plantilla desde el código.

Aquí puedes ver el fichero pdf generado en este primer ejemplo.

Ejemplo 3:

En este último ejemplo lo que vamos a ver los distintos códigos de barras que puede sacar la librería html2pdf.

Aquí puedes ver el fichero pdf generado en este primer ejemplo.

Documentos del artículo.

Desde aquí te puedes descargar todos los ficheros del artículo.

Enlaces:

[1] http://html2pdf.spipu.net/

[2] http://prgm.spipu.net/?id=29&download

Publicado en programación | Etiquetado , , , | 1 comentario