martes, 28 de febrero de 2012

HOW-TO: Como instalar Moodle en forma sencilla.

Que es Moodle?.
Moodle es un sistema de Gestión de Cursos de Código Abierto (Open Source Management System, CMS).
Moodle es un Ambiente Educativo Virtual, sistema de gestión de cursos, de distribución libre, que ayuda a los educadores a crear comunidades de aprendizaje en línea. Este tipo de plataformas tecnológicas también se conoce como LMS (Learning Management System).

Pagina Oficial de Moodle: http://moodle.org/

Pre-requisitos para ejecutar Moodle:
  • Espacio en dd de 160 MB como mínimo. En realidad, necesitaremos mucho más según las funcionalidades. 5 Gytes de espacio en dd es un número más real.
  • Memoria ram 256 Mbytes (recomendado 1Gbyte de ram).
  • Sistema Operativo Linux, Windows,  Solaris 10 (Sparc and x64), Mac OS X y Netware 6.  Linux según explicitas palabras del manual de instalación de Moodle "Linux is generally regarded to be the optimal platform" es la opción óptima para instalar.
  • Web server Apache o IIS.
  • PHP en versión mínima 5.3.2
  • Un DBMS. MySQL en versión mínima 5.0.25 y PostgreSQL 8.3 se presentan como las mejores opciones.
Como instalarlo:
Siguiendo estos sencillos pasos realizaremos la instalación de Moodle en nuestro servidor:

1. Descargar la versión (Ultima versión estable) en formato .zip o .tgz desde la url http://moodle.org/downloads
Seleccionamos la opción "Paquetes estándar de Moodle" y descargamos el paquete. Para el momento de la transcripción de este documento, la última versión estable es Moodle 2.2.1+ MOODLE_22_STABLE

2.Movemos el archivo descargado a nuestro "web server documents directory" en mi caso /var/www/:
sudo mv moodle-latest-22.zip /var/www/

3. Ingresamos al directorio donde movimos el archivo y lo descomprimimos:
cd /var/www
sudo unzip moodle-latest-22.zip

4. Agregamos algo de seguridad para el directorio moodle:
sudo chown -R root /var/www/moodle
sudo chmod -R 0755 /var/www/moodle

5. Ingresamos en nuestro navegador: http://localhost/moodle/install.php y seleccionamos nuestro idioma de instalación y pulsamos "siguiente":


6. Si no tenemos algunas extensiones habilitadas en nuestra configuración PHP se pedirá que las habilitemos:
En este caso, instalamos la librería curl:
sudo apt-get install php5-curl
sudo /etc/init.d/apache2 restart

6. En la próxima pantalla confirmamos las rutas de dirección web, directorio moodle y directorio de datos. Creemos entonces como root el directorio de datos en caso de que el instalador no pueda hacerlo Siguiente para continuar:

7. Si falla la instalación del idioma "es", descargarlo desde http://download.moodle.org/download.php/langpack/2.2/es.zip en el directorio de datos /lang (en mi caso /var/moodledata/lang) y descomprimirlo allí:

8. Seleccionamos en controlador de bd:

9. Indicamos los datos para la creación de la bd:

10. Creamos el config.php correspondiente a moodle:
cd /var/www/moodle
sudo touch config.php
sudo nano config.php

Y copiamos el siguiente contenido:
 
<?php  // Moodle configuration file

unset($CFG);
global $CFG;
$CFG = new stdClass();

$CFG->dbtype    = 'mysqli';
$CFG->dblibrary = 'native';
$CFG->dbhost    = 'localhost';
$CFG->dbname    = 'moodle';
$CFG->dbuser    = 'root';
$CFG->dbpass    = '123456';
$CFG->prefix    = 'mdl_';
$CFG->dboptions = array (
  'dbpersist' => 0,
  'dbsocket' => 0,
);

$CFG->wwwroot   = 'http://localhost/moodle';
$CFG->dataroot  = '/home/frankcho/moodledata';
$CFG->admin     = 'admin';

$CFG->directorypermissions = 0777;

$CFG->passwordsaltmain = 'q_UeKRPKy8JnD>z&Paz?EOnD?pB';

require_once(dirname(__FILE__) . '/lib/setup.php');

// There is no php closing tag in this file,
// it is intentional because it prevents trailing whitespace problems!



11. Aceptamos los términos y condiciones:

12. Resolvemos algún pendiente en la sección "Comprobaciones del servidor":
En mi caso, resuelvo las extensiones xmlrpc e intl instalándolas según lo mostrado:
sudo apt-get install php5-xmlrpc
sudo apt-get install php5-intl
sudo /etc/init.d/apache2 restart

13. Visualizamos la instalación de todos los módulos. En este punto y si seguimos el paso a paso de esta guía, todos los módulos deben ser instalados correctamente. Pulsamos "Continuar":

14. Configuramos la cuenta de administrador principal:

15. Realizamos los ajustes de la página principal:

16. Listo, con esto concluimos, bienvenidos a la página inicial de moodle instalado en nuestro servidor:

lunes, 27 de febrero de 2012

HOW-TO: Como gestionar agenda y crear reuniones desde Thunderbird con Lightning.

Deseas gestionar tu agenda diaria desde dentro de Thunderbird. Con el programa "Lightning" puedes hacerlo.

Lightning es una extensión para el cliente de correo Mozilla Thunderbird que nos permite integrar al cliente de correo las funciones de Sunbird (agenda, lista de tareas y calendario con alarmas).

Como instalarlo, sigue estos sencillos pasos:

1. Cierra Thunderbird

2.Instalar el programa vía apt-get:
sudo apt-get install thunderbird-lightning

Nota: A su vez, se estará actualizando la versión de Thunderbird, es posible que necesites cargar nuevamente los complementos de diccionario e idioma para tu nueva versión de Thunderbird instalada.

3. Al abrir nuevamente Thunderbird se muestra la pantalla siguiente, que solicita confirmación para instalar Lightning 1.2 (en este caso). Pulsamos la casilla "Allow this installation" y presionamos el botón "Continue":
 


4. Se solicita reiniciar Thunderbird para instalar el complemento:

5. Al abrir nuevamente Thunderbird se muestra la pantalla siguiente, que solicita confirmación para instalar Timezone Definitions for Mozilla Calendar 1.2011n (en este caso). Pulsamos la casilla "Allow this installation" y presionamos el botón "Continue":


6. Se solicita reiniciar Thunderbird para instalar el complemento:

7. Al abrir nuevamente Thunderbird se muestra la pantalla siguiente, que solicita confirmación para instalar Provider for Google Calendar 0.11 (en este caso). Pulsamos la casilla "Allow this installation" y presionamos el botón "Continue":

8. Se solicita reiniciar Thunderbird para instalar el complemento:

Con estos pasos, queda instalado el complemento Lightning en nuestro Thunderbird.

Ahora, como utilizarlo:

1. En tu Thunderbird, seleccionamos el menú Events and Task (Eventos y tareas) --> New Event (Nuevo evento). Llenamos los datos solicitados con la información que deseamos agendar y pulsamos el botón "Invite Attendeers".

2. En la "Invite Attendeers" agregamos los emails de los invitados al evento (se puede utilizar acá también la lista de contactos de Thunderbird. Podemos modificar también la información del evento. Pulsamos para finalizar el botón "OK".

3. Volveremos a la pantalla "New Event" y pulsamos el botón "Save and Close":

4. Se nos solicita si deseamos enviar el evento agendado vía email, marcamos la opción "Support Outlook 2000 and Outlook 2002/XP" y presionamos "OK":


Listo, estará llegando a los destinatarios una invitación con el evento creado.

miércoles, 22 de febrero de 2012

HOW-TO: Como conectar php5 y MS SQL Server usando ODBC desde GNU/Linux Debian y/o Ubuntu.

Quieres realizar una conexión con php para visualizar, ejecutar y/o actualizar datos de una BD Microsoft SQL Server desde un servidor GNU/Linux Debian o Ubuntu, acá los pasos para realizarlo.

1. Instala vía apt-get o aptitude los siguientes programas:

1.1 sudo apt-get install php5-odbc
php5-odbc: Modulo ODBC para php5.

1.2 sudo apt-get install unixodbc unixodbc-dev freetds-dev sqsh tdsodbc
unixodbc: Biblioteca de herramientas ODBC.
unixodbc-dev: Bibliotecas ODBC para unix.
freetds-dev: MS SQL and Sybase client library (static libs and headers).
sqsh: cliente de SQL en línea de órdenes para servidores MS SQL y Sybase
tdsodbc: Controlador ODBC para conectar servidores MS SQL y Sybase

1.3 sudo aptitude install unixodbc-bin
unixodbc-bin: Herramientas gráficas para la gestión y navegación por ODBC.

Nota: Si por algún motivo te da error al descargar e instalar el paquete sqsh en tu equipo por "error al descargar el paquete "libct4", descargalo desde el repositorio de tu distribución GNU/Linux e instalalo 1ro de esta forma:
dpkg -i libct4_0.82-7_i386.deb. Luego, instala sqsh.

2. Al instalar todos los paquetes, agrega al final del archivo /etc/freetds/freetds.conf las siguientes lineas:

[sqlserver]
host = 192.168.1.1
port = 1433
tds version = 8.0

Donde, [sqlserver] es el nombre que le estás dando a la conexión freetds, host es la ip del servidor MS SQL Server, port es el puerto de comunicación MS SQL Server y tds version es la versión de tds usada. Para el caso de MS SQL Server 2005, el tds version corresponde a 8.0
ProductTDS VersionComment
Sybase before System 10, Microsoft SQL Server 6.x4.2Still works with all products, subject to its limitations.
Sybase System 10 and above5.0Still the most current protocol used by Sybase.
Sybase System SQL Anywhere5.0 only Originally Watcom SQL Server, a completely separate codebase. Our best information is that SQL Anywhere first supported TDS in version 5.5.03 using the OpenServer Gateway (OSG), and native TDS 5.0 support arrived with version 6.0.
Microsoft SQL Server 7.07.0Includes support for the extended datatypes in SQL Server 7.0 (such as char/varchar fields of more than 255 characters), and support for Unicode.
Microsoft SQL Server 20007.1Include support for bigint (64 bit integers), variant and collation on all fields. Collation is not widely used.
Microsoft SQL Server 20057.2Includes support for varchar(max), varbinary(max), xml datatypes and MARS[a].
Microsoft SQL Server 20087.2 (unchanged) 
Notes:

3). Prueba de conexión vía sqsh:
sqsh -S sqlserver -U el_usuarioBD -P el_passwordBD
sqsh -S 192.168.1.1 -U el_usuarioBD -P el_passwordBD



3.1) Prueba de select (En el prompt de sqsh):
    sqsh-2.1 Copyright (C) 1995-2001 Scott C. Gray
This is free software with ABSOLUTELY NO WARRANTY
For more information type '\warranty'
1> select * from bd.dbo.tabla
2> go
 id_primer   descripcion                                   mensaje                                       es_fijo   
    passport                                    
 ----------- --------------------------------------------- --------------------------------------------- -----------
    ---------------------------------------------
           1 Mensaje Personalizado                         |s|                                                     0
    1                                           
           2 Mensaje fijo                                  Mensaje fijo                                            1
    1                                           
           3 Mensaje con 2 parametros                      Mensaje |s| y |s|                                       0
    1                                           

(3 rows affected)
1>

5). Agregar el siguiente contenido al archivo /etc/odbc.ini:
[datasourcename]
Driver = FreeTDS
Description  = ODBC connection via FreeTDS
Trace = No
Servername = sqlserver
Database = mb_sms

Donde "[datasourcename]" es el nombre de la entrada que se está configurando, "Servername" es el nombre de la entra freetds configurada en el archivo /etc/freetds/freetds.conf y "Database" es el nombre de la bd en MS SQL Server a la cual deseo realizar la conexión.

6). Agregar el siguiente contenido al archivo /etc/odbcinst.ini:
[FreeTDS]
Description = TDS driver (Sybase/MS SQL)
Driver = /usr/lib/odbc/libtdsodbc.so
Setup = /usr/lib/odbc/libtdsS.so
CPTimeout =
CPReuse =
FileUsage = 1

7). Realiza un test de conexion usando isql:
isql -v datasourcename el_usuarioBD el_passwordBD

+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+
SQL>

7.1) Prueba de select (En el prompt de isql):
    use bd
    select * from tabla

SQL> select * from tabla
+------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| id_primer  | descripcion                                                                                                                                                                         | mensaje                                                                                                                                                                             | es_fijo    | passport                                                                                                                                                                            |
+------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| 1          | Mensaje Personalizado                                                                                                                                                               | |s|                                                                                                                                                                                 | 0          | 1                                                                                                                                                                                   |
| 2          | Mensaje fijo                                                                                                                                                                        | Mensaje fijo                                                                                                                                                                        | 1          | 1                                                                                                                                                                                   |
| 3          | Mensaje con 2 parametros                                                                                                                                                            | Mensaje |s| y |s|                                                                                                                                                                   | 0          | 1                                                                                                                                                                                   |
+------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
SQLRowCount returns 3
3 rows fetched
SQL>

8). Por ultimo, ya puedes usar el origen de datos configurado [datasourcename] en PHP:
$connection = odbc_connect(‘datasourcename’, ‘username’, ‘password’);
if (!$connection) die(“Connection failed”);
else echo “works”;

lunes, 20 de febrero de 2012

HOW-TO: Instalar y configurar vsftp en Linux.

Instalar y configurar vsftp en Linux

vsftpd.beasts.org/

VSFTPD (Very Secure FTP Daemon) es un sustento lógico utilizado para implementar servidores de archivos a través del protocolo FTP. Se distingue principalmente porque sus valores por defecto son muy seguros y por su sencillez en la configuración, comparado con otras alternativas como Wu-ftpd. Actualmente se presume que VSFTPD es quizá el servidor FTP más seguro del mundo.

Acá los pasos:

1). Instalar paquete vsftp (Demonio FTP verdaderamente seguro)
apt-get install vsftpd

2). Editamos el archivo /etc/vsftpd.conf. Seteamos (entre un gran grupo) las siguientes directivas:
*******************************
anonymous_enable=NO (No permitir acceso anónimo al servidor).
local_enable=YES (permitimos acceso a los usuarios locales, excepto los que figuren en /etc/ftpusers).
write_enable=YES (Para permitir permisos de escritura a los usuarios).
chroot_local_user=YES (Impedir que los usuarios locales puedan salir de su directorio personal).
*******************************

3). Reiniciamos el servicio vsftpd
/etc/init.d/vsftpd

4). Creamos el grupo ftp al cual asociaremos los usuarios del servidor FTP.
groupadd ftp

5). Creamos los usuarios del servidor FTP (el shell /bin/false debe existir y figurar en /etc/shells):.
useradd -g ftp -d /var/www/directorio_ftp -c "Comentarios del usuario ftp" -s /bin/false nombre_usuario

6). Asignamos el password del usuario creado:
passwd nombre_usuario

Para finalizar, probaremos a conectarnos desde un cliente FTP (por ejemplo con un navegador, con ftp://<IP_del_servidor>). Introduciremos el usuario y su contraseña y comprobaremos que nos redirige al directorio de su web, que podemos subir (en caso que aplique) y bajar archivos al servidor y que no podemos subir de nivel en el árbol de directorios.

HOW-TO: Instalar JDownloader bajo Linux.

Que es JDownloader - www.jdownloader.org

Es una plataforma de código abierto escrita completamente en Java, diseñado para simplificar la descarga de archivos de servidores como Rapidshare.com o Megaupload.com, no solo para usuarios con cuenta Premium sino también para los de cuenta gratuita. 

JD ofrece descargas múltiples paralelas, reconocimiento de captcha, extracción automática de archivos, administración de contraseñas y mucho más. Adicionalmente, soporta muchos sitios de “encriptación de enlaces”, así que solo tendrá que pegar los enlaces “encriptados” y JD hará el resto. JD puede importar archivos DLC, CCF y RSDF.

Algunas características de JDownloader:
  • Plataforma independiente. (Windows, Linux, Mac, …)
  • Corre sobre Java v1.5 o posterior (Pre-requisito importantísimo a tener en cuenta.
  • Completo Código abierto (GPL)
  • Soporte técnico las 24h
  • Descarga varios archivos paralelamente
  • Descarga con múltiples conexiones
  • JD tiene un poderoso módulo OCR propio (JAntiCaptcha)
  • Desencripta RSDF, CCF y contenedores de archivos DLC
  • Plugins de desencriptación para muchos servicios. Ej. Sj.org, UCMS, WordPress, RLSLog…
  • Descarga video y Mp3: Youtube, Vimeo, clipfish
  • Extractor automático (incluye lista de búsqueda de contraseña) (archivos Rar)
  • Soporte de temas
  • Multilenguaje
  • Cerca de 110 servidores y más de 300 plugins desecriptadores
  • Re conexión con los Scripts JDLiveHeader: (1400 routers soportados)
  • Actualización Web
  • Administrador de paquetes integrado para los modulos adicionales (Ej. Interfaz Web, Apagar el S.O)
Como instarlo en Sistemas GNU/Linux.

Hay diversas maneras de instalar JDownloader (Descargando el instalador desde la página oficial, por ejemplo (
www.jdownloader.org/download/index), pero una de las maneras más sencillas de realizar esto es como a continuación detallo:

***INSTALAR JDOWNLOADER***

sudo add-apt-repository ppa:jd-team/jdownloader
sudo apt-get update
sudo apt-get install jdownloader
jdownloader &
**************************

Al ejecutar el programa con jdownloader & (tarda unos segundos en mostrar la pantalla de jdownloader), se abrirá la aplicación y se actualizará (a la ultima versión disponible) en forma automática: 

Seguido, se solicitará configurar el idioma y el directorio de descarga:


Decidir si queremos integrar JDownloader a Firefox:


Pana finalizar la instalación, se muestra la pantalla de actualización de JDownloader a la ultima versión:


Aplicación JDownloader: 

Listo. a disfrutar ahora de JDownloader.