jueves, 9 de diciembre de 2010

2/2 Autenticación basada en LDAP

http://www.isftic.mepsyd.es/formacion/materiales/85/cd/REDES_LINUX/openldap/Autentificacion_del_sistema_con_OpenLDAP.html


Introducción
Como ya hemos comentado anteriormente, una de las utilidades más importantes de un servidor LDAP es como servidor de autentificación. Autentificarse es necesario para entrar en un sistema linux. También para acceder a algunos servicios como un servidor FTP o a páginas privadas en un servidor web. En otros apartados veremos como utilizar un servidor LDAP para permitir el acceso a páginas web privadas y para autentificar a usuarios del servidor de ftp Proftpd. Aquí veremos las modificaciones que hay que realizar en un sistema Linux para que autentifique a los usuarios en un servidor LDAP en lugar de utilizar los clásicos archivos /etc/passwd, /etc/group y /etc/shadow. Para ello es necesario instalar y configurar los paquetes libpam-ldap y libnss-ldap.

Librerías de autentificación pam-ldap y nss-ldap
La librería pam-ldap permite que las aplicaciones que utilizan PAM para autentificarse, puedan hacerlo mediante un servidor LDAP. Para que el sistema linux se autentifique mediante un servidor LDAP es necesario instalar esta librería ya que utiliza PAM. El archivo de configuración de ésta librería es /etc/pam_ldap.conf. Hay otras aplicaciones o servicios que utilizan PAM para la autentificación y por tanto podrían, gracias a la librería pam-ldap, autentificarse ante un servidor LDAP.

Para especificar el modo de autentificación de cada servicio es necesario configurar los archivos que se encuentran en la carpeta /etc/pam.d/. Al final de este documento se indican los cambios necesarios en éstos archivos.

La librería nss-ldap permite que un servidor LDAP suplante a los archivos /etc/passwd, /etc/group y /etc/shadow como bases de datos del sistema. Su archivo de configuración se encuentra en /etc/libnss-ldap.conf. Posteriormente deberemos configurar el arhivo /etc/nsswitch.conf para que se utilice LDAP como base de datos del sistema en lugar de los archivos passwd, group y shadow.

La instalación de ambas librerías se puede realizar mediante apt-get.

Instalación y configuración de libpam-ldap
La instalación de la librería libpam-ldap se puede realizar ejecutando el comando:

// Instalación de la librería libpam-ldap

# apt-get install libpam-ldap


El archivo de configuración de la librería es el archivo /etc/pam_ldap.conf. Únicamente hay que configurar los siguientes parámetros:

1. Quién es el servidor LDAP (nombre o IP)
2. Cuál es la base de nuestro directorio LDAP (base DN)
3. Cuál es la versión de LDAP a utilizar
4. Quién es el administrador del directorio
5. En qué unidad organizativa se encuentran los usuarios (sustituto de /etc/passwd)
6. En qué unidad organizativa se encuentran las contraseñas (sustituto de /etc/shadow)
7. En qué unidad organizativa se encuentran los grupos (sustituto de /etc/group)

Para ello las líneas que hay que modificar en el archivo de configuración son las siguientes (el valor de los parámetros es un ejemplo):

// Configurar en /etc/pam_ldap.conf

host 192.168.1.239 //nombre o IP del servidor LDAP base dc=ieslapaloma,dc=com ldap_version 3 rootbinddn cn=admin,dc=ieslapaloma,dc=com nss_base_passwd ou=users,dc=ieslapaloma,dc=com?one nss_base_shadow ou=users,dc=ieslapaloma,dc=com?one nss_base_group ou=groups,dc=ieslapaloma,dc=com?one


Instalación y configuración de libnss-ldap
Para instalar la librería libnss-ldap debemos ejecutar el comando:

// Instalación de la librería libnss-ldap

# apt-get install libnss-ldap


Acto seguido se iniciará el asistente de configuración de dicha librería. Se puede lanzar dicho asistente más adelante mediante el comando:

// Lanzar asistente de configuración de libnss-ldap

# dpkg-reconfigure libnss-ldap


Dicho asistente modificará el archivo /etc/libnss-ldap.conf que es donde se almacena la configuración de la librería. Posteriormente tendremos que editar dicho archivo manualmente para introducir algún cambio que no realiza el asistente.

La primera pregunta que nos hace el asistente es quién es el servidor LDAP. Podemos poner la IP o el nombre:

Luego nos preguntará por la base del directorio LDAP (base DN):

Acto seguido tendremos que indicar la versión de LDAP a utilizar:

En el siguiente paso nos pregunta si necesitamos autentificarnos en el servidor LDAP o no. Como la librería únicamente va a realizar consultas, no es necesario autentificarse por lo tanto debemos responder 'No':

Posteriormente nos preguntará si el archivo /etc/libnss-ldap debe solamente tener permisos de lectura y escritura para el usuario (root que es quién instala) o no. Como en el paso anterior hemos indicado que no necesitamos autentificación, no se almacenarán contraseñas en el archivo de configuración, por tanto podemos responder 'No':

Finalmente nos advierte que debemos modificar el archivo /etc/nsswitch.conf para que el sistema utilice el directorio LDAP como base de datos del sistema, al igual que hace con los archivos passwd, group y shadow:

Con el asistente se habrá configurado casi todo lo necesario aunque para que nuestro sistema se autentifique por LDAP, aún hay que configurar dos parámetros más:

1. En qué unidad organizativa se encuentran los usuarios (sustituto de /etc/passwd - en nuestro caso ou=users)
2. En qué unidad organizativa se encuentran los grupos (sustituto de /etc/group - en nuestro caso ou=groups)

Para ello hay que modificar dos líneas en el archivo de configuración. Son las siguientes:

// Configurar en /etc/libnss-ldap.conf

nss_base_passwd ou=users,dc=ieslapaloma,dc=com nss_base_group ou=groups,dc=ieslapaloma,dc=com


Configuración de NSS
Para que el servidor LDAP actúe como si se tratara de los archivos passwd, group y shadow, además de instalar las dos librerías anteriores, debemos indicar que se utilice LDAP como alternativa para autentificar usuarios. Para ello hay que añadir en las líneas que hacen referencia a passwd, group y shadow en el archivo /etc/nsswitch.conf, la palabra 'ldap' tras la palabra 'files' quedando el archivo /etc/nsswitch.conf así:

// Archivo /etc/nsswitch.conf

# /etc/nsswitch.conf # # Example configuration of GNU Name Service Switch functionality. # If you have the `glibc-doc' and `info' packages installed, try: # `info libc "Name Service Switch"' for information about this file. passwd: files ldap group: files ldap shadow: files ldap hosts: files dns networks: files protocols: db files services: db files ethers: db files rpc: db files netgroup: nis


Configurar servicios PAM
Nuestro sistema ya estaría preparado para autentificarse por LDAP. Editando los archivos que hay en la carpeta /etc/pam.d, podemos configurar la forma en la que se autentifica cada uno de los servicios que requieren autentificación.

Para no tener que configurar de cada uno de los servicios, existen unos archivos comunes cuyo nombre empieza por common que afectan a la mayoría de ellos y sus archivos de configuración los referencian mediante una línea @include a los archivos comunes causando el mismo el efecto que si el contenido de los archivos comunes estuviera copiado en el lugar de la línea @include. Los archivos comunes son:

* /etc/pam.d/common-auth (para autentificarse)
* /etc/pam.d/common-account (para disponer de una cuenta)
* /etc/pam.d/common-session (para poder iniciar sesion)
* /etc/pam.d/common-password (para poder cambiar password)

Estos archivos contienen una línea que hace referencia a la librería pam_unix.so que corresponde a la autentificación contra los archivos UNIX. Para que los servicios de nuestro sistema utilicen primero las librerías pam_ldap.so para autentificar al usuario, debemos añadir la línea correspondiente a pam_ldap.so por encima de la línea correspondiente a la librería pam_unix.so en los archivos common. Así, auntentificará primero contra el servidor LDAP, y si la autentificación falla, probará despues con los archivos UNIX.

Configuración archivo common-auth
Para que los servicios de nuestro sistema utilicen las librerías pam-ldap para autentificar al usuario, debemos añadir en el archivo /etc/pam.d/common-auth la siguiente línea:

// Añadir en /etc/pam.d/common-auth encima de la línea pam_unix.so

auth sufficient pam_ldap.so


Configuración archivo common-account
Para permitir que los servicios de nuestro sistema comprueben la cuenta del usuario mediante las librerías pam-ldap, debemos añadir en el archivo /etc/pam.d/common-account la siguiente línea:

// Añadir en /etc/pam.d/common-account encima de la línea pam_unix.so

account sufficient pam_ldap.so


Configuración archivo common-session
Para permitir que los servicios de nuestro sistema obtengan los parámetros de la sesión de usuario mediante las librerías pam-ldap, debemos añadir en el archivo /etc/pam.d/common-session la siguiente línea:

// Añadir en /etc/pam.d/common-session encima de la línea pam_unix.so

session sufficient pam_ldap.so


Configuración archivo common-password
Para permitir que los servicios de nuestro sistema puedan modificar la contraseña del usuario mediante las librerías pam-ldap, debemos añadir en el archivo /etc/pam.d/common-password la siguiente línea:

// Añadir en /etc/pam.d/common-password encima de la línea pam_unix.so

password sufficient pam_ldap.so


Configuración particular para cada servicio
Si deseamos que algún servicio se autentifique de forma diferente, podemos editar el archivo del servicio (ej: /etc/pam.d/su, /etc/pam.d/ssh, /etc/pam.d/ftp, etc...), eliminar la línea que comienza por @include e introducir la configuración particular que deseemos.

Probar la autentificación
Nuestro servidor LDAP ya debería autentificar correctamente . Podemos probar la autentificación de los servicios mediante el comando pamtest que se encuentra en el paquete libpam-dotfile, por lo tanto debemos instalarlo:

// Instalación del comando pamtest

# apt-get install libpam-dotfile


Si deseamos probar que funciona el servicio passwd (cambiar contraseña) sobre un usuario del directorio LDAP (ejemplo jessica) , podemos ejecutar:

// Probando el cambio de contraseña

root@cnice-desktop:/etc/pam.d# pamtest passwd jessica Trying to authenticate for service . Password: // Introducimos el password de jessica Authentication successful. // La autentificación ha sido satisfactoria


También podemos utilizar el comando finger sobre usuarios que estén solamente en el directorio LDAP, por ejemplo joel:

// Probando finger

root@cnice-desktop:/etc/pam.d# finger joel Login: joel Name: Joel Javier Directory: /home/www/alumnos Shell: /bin/sh Last login Tue Sep 27 18:02 (CEST) on pts/3 from 192.168.0.213 No mail. No Plan.


Podemos por ejemplo, desde una consola de root, cambiar mediante el comando 'su' (su=Switch User - cambiar de usuario) a un usuario que esté en el directorio LDAP, para lo cuál no nos pedirá contraseña ya que root tiene permiso para cambiar a cualquier usuario. Si posteriormente cambiamos a otro usuario del directorio, ahora sí que nos pedirá contraseña. Deberemos introducir la contraseña que esté almacenada en el directorio LDAP para dicho usuario:

// Cambiando de usuario
root@cnice-desktop:/etc/pam.d# su joel // Somos root y cambiamos a joel
joel@cnice-desktop: // No nos pide password
joel@cnice-desktop:/etc/pam.d$ su jessica // Somos joel, y cambiamos a jessica
Password: // Nos pide password, le introducimos
jessica@cnice-desktop:/etc/pam.d$ // Ha cambiado correctamente

Las opciones de configuración de PAM son muy variadas. Para obtener más información se puede instalar el paquete libpam-doc que instala bastante documentación al respecto bajo la carpeta /usr/share/doc/libpam-doc/

1/2 Configuración de un cliente y servidor OpenLDAP para autentificación

http://cvirtual.filosofia.cu/almacen/cursos-y-manuales/linux-debian-y-ubuntu/openldap/configuracion-de-un-cliente-y-servidor-openldap-para-autentificacion

Configuración de un cliente y servidor OpenLDAP para autentificación

Muchas veces (como en este artículo) se usa LDAP para guardar información de los usuarios. Podemos guardar lo típico de login, UID, GID, contraseña, etc. y además añadirle una foto, teléfono de casa u otras informaciones qué queramos. Recalcar que en este artículo guardaremos la información necesaria para un servidor de autentificación; no para un servidor de ficheros. Si necesitamos un servidor de ficheros tendremos que usar NFS (o Coda, Intermezzo, etc.)
Configuración de un cliente y servidor OpenLDAP para autentificación

OpenLdap logo
Introducción

Usaremos la implementación OpenLDAP, que podemos encontrar en http://www.openldap.com (3). De todas formas aquí nos basaremos en los paquetes Debian (sid, pero es parecido a todas) para hacerlo.

Como nota general, no soy un experto de LDAP sinó que he tenido que instalarlo un par de veces y esos son mis apuntes para conseguirlo, espero que sean útiles a alguien.

Podemos ver a LDAP como una base de datos optimizada para hacer un número muy alto de lecturas y muy pocas escrituras o modificaciones. Además está organizado de modo jerárquico.

Recordar que LDAP es un "Directorio Ligero", que puede servir tanto para autentificar a los clientes como para recopilar otros tipos de información (desde colecciones de distribuciones Linux a resolver nombres).
Instalación del servidor

En el servidor necesitaremos los paquetes libldap2 slapd. Podemos instalar también el paquete ldap-utils que nos servirá para hacer ciertas pruebas.

Una vez instalado el servidor OpenLDAP iremos al directorio /etc/ldap y modificaremos el fichero slapd.conf. En este fichero modificaremos al menos el suffix poniendo por ejemplo nuestro dominio (no hace falta que esté registrado, es para referirnos a él desde LDAP). Lo pondremos con el formato suffix "dc=pinux,dc=info".

Añadiremos también:

rootdn "cn=admin,dc=pinux,dc=info" #para autentificar al administrador rootpw secret #la contraseña

(la contraseña la podemos encriptar, al final del documento vemos como)

En el resto del fichero de configuración sólo tendremos que cambiar el cn= y el dc=pinux,dc=info donde veamos que hace falta.

En este momento podremos hacer un /etc/init.d/slapd restartpara reiniciar el servidor LDAP.

Si ejecutamos slapcatnos tendría que dar información sobre nuestro LDAP (normalmente imprime por pantalla todoo el LDAP, de momentos sólo veremos algo de estructura).
Alta, búsqueda y eliminación de usuarios

Ahora lo que tendremos que hacer es dar de alta a algunos usuarios para después poder usarlos en la autentificación.

Antes de dar de alta a los usuarios y grupos, tendremos que dar de alta al administrador, un usuario para "buscar" la información sin privilegios y ya después algun usuario normal para verificar que nos funciona correctamente el sistema.

La forma de dar de alta a usuarios (o datos en general) en LDAP suele ser mediante ficheros .ldif. Un fichero .ldif es un fichero que contiene la información que vamos a añadir, para después añadirla a nuestro directorio.

antes de empezar a dar de alta a los usuarios crearemos la "estructura" mediante este fichero .ldif:

dn: ou=Group,dc=pinux,dc=info objectClass: top objectClass: organizationalUnit ou: Group

dn: ou=People,dc=pinux,dc=info objectClass: top objectClass: organizationalUnit ou: People

De esta forma tenemos a dos "Organization Units" que son los grupos (Groups) y los usuarios (People).

Vemos que estamos usando el objectClass: organizationalUnit, de esa forma LDAP ya sabe qué campos tendrás nuestros usuarios/grupos. Para decirle a LDAP que inserte los datos del fichero .ldif en la base de datos ejecutaremos:

ldapadd -x -D 'cn=admin,dc=pinux,dc=info' -w secret -f fichero.ldif

Notas:

* Con -x nos autentificamos de forma simple a LDAP sin usar SASL
* Al -D le decimos el Distinguised Name, el mismo que le pusimos en el fichero de configuración
* Al -w le pasaremos la contraseña. Con -W nos la pediría de forma interactiva
* Al -f sirve para pasarle el fichero de configuración

Seguidamente, daremos de alta un usuario. Seguiremos el mismo esquema que hasta ahora, haciendo un fichero .ldif y después ejecutando la utilidad ldapadd. El fichero .ldif para dar de alta a un usuario puede ser uno como este:

# # New Tester user # dn: uid=tester,ou=People,dc=pinux,dc=info objectClass: top objectClass: account objectClass: posixAccount uid: tester cn: Test User userPassword: hola gecos: Test User uidNumber: 2000 gidNumber: 2000 homeDirectory: /home/tester loginShell: /bin/bash

Y a continuación:

ldapadd -x -D 'cn=admin,dc=pinux,dc=info' -w secret -f fichero.ldif

Ahora sí que podemos ejecutar slapcaty ver si el usuario tester está correctamente listado.

Al hacer un slapcatél mismo nos está haciendo un listado en format .ldif (lo podriamos aprovechar para lo que haga falta).

Ya que estamos dando de alta a usuarios, aprovechamos y damos de alta a un grupo. Para hacerlo, crearemos un fichero .ldif con este contenido:

# # Testing Group# dn: cn=testing,ou=Group,dc=pinux,dc=info objectClass: top objectClass: posixGroup cn: testing gidNumber: 2000

Ahora ya tenemos a un grupo con GID 2000.

También podemos aprovechar para hacer búsuqedas:

ldapsearch -x -b 'uid=tester,ou=People,dc=pinux,dc=info'

Y por último, si queremos eliminar un usuario podemos hacerlo de esa forma:

ldapdelete -x -D 'cn=admin,dc=pinux,dc=info' -w secret\ 'cn=Local Root,ou=People,dc=pinux,dc=info'
Configurando un cliente LDAP

El objetivo de esta parte es poder hacer un slapcatdesde una máquina que no sea el servidor y funcione correctamente.

Para conseguir eso tendremos que intalar al menos los paquetes libldap2, ldap-utils.

Una vez instalados estos paquetes, editaremos el fichero /etc/ldap/ldap.conf. Este fichero es el de configuración del cliente LDAP, no lo tenemos que confundir confundir con el fichero slapd.conf, que es de la configuración del servidor.

El fichero podemos dejarlo así:

host 192.168.1.2 base dc=pinux,dc=info

De esa forma le decimos donde tiene que conectarse y el dc.

Ahora desde la máquina cliente podemos hacer uso del slapcatigual que antes. La configuración por defecto permite la lectura de varios campos por "todo el mundo", así que aunque no veremos la contraseña podremos ver otra información del usuario.
Configurando un cliente, parte nsswitch

Para esta parte necesitaremos instalar el paquete libnss-ldap.

Cuando trabajamos con el sistema (ls -l, p. ej.) normalmente vemos los nombres de los usuarios propietarios de los ficheros. En cambio guardado en el disco hay el "número" (UID) del usuario.

Para que los programas sepan el nombre que corresponde a los UID's (y otras cosas, como grupos, hosts, etc.) hacen unas llamadas a funciones de la librería GLIBC, y es esta quien "averigua" la relación.

Es en el fichero /etc/nsswitch.confdonde le decimos al sistema de donde averiguar el propietario sabiendo el UID. Normalmente contiene algo como:

passwd: compat group: compat shadow: compat

hosts: files dns networks: files

Lo que más nos interesa es la parte de passwd, group y shadow. Ahora lo dejaremos así:

passwd: compat ldap group: compat ldap shadow: compat ldap

Por tanto cuando un programa le pide a la GLIBC "dime el nombre del usuario 1005", la GLIBC primero mira en /etc/passwdy sinó hará la consula al servidor LDAP.

Para que el nsswitch pueda hacer las consultas en el LDAP tendremos el fichero /etc/libnss-ldap.confalgo como:

host 192.168.1.2 base dc=pinux,dc=info

Es decir, la información necesaria para llegar a nuestro servidor LDAP y lanzar la consulta. Si hacemos man libnss-ldap.confveremos las opciones que podemos ponerle (p. ej. port, ldap_versions, etc.)

Entre otras cosas, a veces necesitaremos que se haga una conexión autentificada contra el servidor. Para eso se usará la contraseña que encuentre en /etc/ldap.secret(tiene que estar con permisos 600, propietario y grupo root)
Configurando el cliente PAM

Para poder configurar el cliente PAM tendremos que instalar el paquete libpam-ldapHay varios programas que pueden usar (y usan por defecto) un método de autentificación "centralizado" y por módulos llamado PAM (Pluggable Authentication Modules). Eso son unas librerias que los programas pueden soportar que sirven de "interfaz" contra varios métodos de autentificación (p. ej. LDAP)

La configuración en Debian es en el directorio /etc/pam.d/y tenemos un fichero de configuración por cada servicio.

Si es necesario que la conexión sea con privilegios, se usará la contraseña que se encuentre en /etc/ldap.secret, y que estará con permisos 600 (como el punto anterior).

Tener la contraseña para autentificarse es necesario, con la configuración por defeto del slapd.conf, cuando el usuario root quiere cambiar la contraseña de otro usuario: si no es conexión autentificada, el servidor LDAP no le deja cambiarla. De otra forma cualquier usuario podría cambiar la contraseña de cualquier otro, solo lanzando la consulta al servidor LDAP.

Seguidamente, dejaremos el fichero /etc/pam_ldap.confde forma parecida:

host 192.168.1.2 base dc=pinux,dc=info ldap_version 3

rootbinddn cn=admin,dc=pinux,dc=info # don't forget /etc/ldap.secret

Ahora ya tenemos la configuración general de PAM para funcionar con LDAP. Pasemos a la parte específica de cada servicio (ssh, su, passwd, etc.). Estaremos tocando los ficheros de configuración del cliente para que se autentifique contra el servidor.

ssh

Tenemos que ir al fichero /etc/pam.d/sshy al menos añadir esas líneas:

auth sufficient pam_ldap.so account sufficient pam_ldap.so session sufficient pam_ldap.so password sufficient pam_ldap.so

al inicio del fichero.

En el caso del ssh tendremos seguramente que modificar en el fichero /etc/ssh/sshd_configel parámetro PAMAuthenticationViaKbdInta yes. De otra forma no autentificaría de forma correcta.

su

Sirve para poder ejecutar el sucon usuarios que están dados de alta en el LDAP.

En el fichero /etc/pam.d/sulo dejaremos parecido a:

auth sufficient pam_rootok.so auth sufficient pam_ldap.so auth required pam_unix.so use_first_pass

account sufficient pam_ldap.so account required pam_unix.so

session sufficient pam_ldap.so session required pam_unix.so
passwd

Este es para permitir cambiar las contraseñas de los usuarios. Lo podemos dejar así:

password sufficient pam_ldap.so password required pam_unix.so nullok obscure min=4 max=8

Es bastante útil dar de alta a los usuarios de forma normal y cambiarles la contraseña con el mismo passwd como root (si son pocos usuarios de pruebas, claro)
login

Lo dejaremos parecido a este:

auth required pam_nologin.so auth sufficient pam_ldap.so auth sufficient pam_unix.so shadow use_first_pass auth required pam_deny.so

Hay otras maneras de dejarlo, pero tenemos que ir con cuidado con el use_first_pass: si no lo ponemos los usuarios que estan dados de alta en LDAP se les pediría dos veces la contraseña (una validaría con /etc/passwd, y al no encontrar el usuario se lo pediría otra vez para validarlo contra LDAP.

Con los ejemplos vistos hasta ahora sería fácil hacer lo mismo en otros servicios (p. ej. proftpd, xlock, etc.)

También es relativamente fácil modificar los ficheros common-account common-auth common-password common-sessionpara no tener que tocar el fichero de cada servicio, a costa de tener menos "personalización" por servicio.

lunes, 6 de diciembre de 2010

Apagar remotamente Windows desde Linux

http://sliceoflinux.com/2009/06/03/apagar-remotamente-windows-desde-linux/

Si tenemos que administrar una red en la que contamos con numerosos equipos con Windows, sería bastante cómodo poder apagar algunos de estos equipos sin tener que levantarnos de nuestro puesto de trabajo o incluso hacer un script para que se apaguen todos los equipos a una hora determinada. Y como, por supuesto, en nuestro equipo sólo disponemos de Linux, la pregunta que surge es ¿cómo podemos hacerlo?

EASYIDS.

Es un sistema de Detección de Intrusos basado en Snort, el cual integra varias herramientas de monitoreo y administración bajo una interfaz web facil de manejar. Easyids esta montado sobre el Sistema Operativo CentOs 5.4 y fue diseñado principalmente para soluciones bajo Linux.



http://jonhatan.wordpress.com/2010/10/

martes, 30 de noviembre de 2010

ZIMBRA

http://www.scribd.com/doc/8764123/Instalacion-y-Configuracion-de-Zimbra-en-Debian-Ecth#

martes, 9 de noviembre de 2010

TOMCAT HOWTO

Este tutorial se basa en el que podeis encontrar en ubuntulife, con algunas modificaciones que tuve que realizar. Vamos por partes…

¿Qué es tomcat?

Tomcat es un servidor web desarrollado por la peña de Apache, que tiene soporte para servlets y JSP, bastante útil si quieres programar en Java.

¿Qué es un servlet?

Un servlet es un programa escrito en java que se ejecuta en un servidor y que normalmente se utiliza para generar contenido html dinámico.

¿Qué es JSP?

JSP se parece más a php que un servlet, porque al igual que con php, podemos tener trozos de html y de JSP mezclados, el servidor tiene que interpretar JSP de la misma manera en la que interpreta PHP.

Instalar Tomcat 6 en Ubuntu

Bien, ya que hemos hecho las presentaciones oportunas, empecemos con el tutorial…

Vamos a ver qué hay en los repositorios relacionado con Tomcat:

$ apt-cache search tomcat

Nos devuelve algo tipo…

libtomcat6-java – Servlet and JSP engine — core libraries
tomcat6 – Servlet and JSP engine
tomcat6-admin – Servlet and JSP engine — admin web applications
tomcat6-common – Servlet and JSP engine — common files
tomcat6-docs – Servlet and JSP engine — example web applications
tomcat6-examples – Servlet and JSP engine — example web applications
tomcat6-user – Servlet and JSP engine — tools to create user instances

Bien, vamos a instalar tomcat6 y tomcat6-admin, al menos de momento.

$ sudo apt-get install tomcat6 tomcat6-admin

Listo, ya hemos instalado tomcat6 en Ubuntu ¿difícil? xD

Los ficheros de configuración de Tomcat están en /etc/tomcat6 el directorio principal de Tomcat en /usr/share/tomcat6

Para reiniciar Tomcat, debemos usar:

$ sudo /etc/init.d/tomcat6 restart

Ahora tenemos que configurar la seguridad, como vamos a tener un servidor de desarrollo, el nombre de usuario y contraseña que voy a poner es “tomcat”. Editamos el fichero de usuarios de tomcat:

$ sudo gedit /etc/tomcat6/tomcat-users.xml

Tiene que quedar así:







Reiniciamos tomcat6 para que se apliquen los cambios:

$ sudo /etc/init.d/tomcat6 restart

Para probar que todo va bien, podemos ir a cualquier navegador web y escribir en la barra de direcciones:

http://localhost:8080/manager/html

lunes, 8 de noviembre de 2010

TOMCAT

How to install Tomcat 6 on Ubuntu 10.04/Debian
Filed Under: java by Automater — Leave a comment
July 23, 2010

Apache Tomcat is a free and open source software implementation for JavaServlets, providing support for Java Server Pages (JSP). Many popular web-based applications use servlets. You may choose to run Tomcat with either Sun’s Java implementation or the OpenJDK implementation of Java.

Because Tomcat version 6 was included in Ubuntu 10.04, installing a working Tomcat server is reasonably straightforward. However, before we can start installing Tomcat itself, we must first install Java.

First Install Sun Java in ubuntu 10.04

Install tomcat 6 in ubuntu 9.04

sudo apt-get install tomcat6 tomcat6-admin tomcat6-common tomcat6-user tomcat6-docs tomcat6-examples

Start tomcat server

sudo /etc/init.d/tomcat6 start

Stop tomcat server

sudo /etc/init.d/tomcat6 stop

Restart tomcat server

sudo /etc/init.d/tomcat6 restart

Get tomcat server status

sudo /etc/init.d/tomcat6 status

After installation type http://localhost:8080 or http://serverip:8080/examples/servlets/ in your browser.Now you should see tomcat welcome page

* To enable admin web based features add the following lines to your /etc/tomcat6/tomcat-user.xml





* you should be able to see your manage page here http://your_ip_goes_here:8080/manager/html

* log in with the name and password you just set in /etc/tomcat6/tomcat-users.xml

* ls /var/lib/tomcat6 directory.

* you should see these directories conf, logs, webapps, work

* webapps is where your servlets will go ( or at least a xml file that points to them )

* as a test download this war file http://simple.souther.us/SimpleServlet.war

* then use the tomcat management page and select war file to deploy ( in the deploy section) to upload this file to your server

* optionally just wget http://simple.souther.us/SimpleServlet.war directly to the webapps folder

* tomcat should recognize the war file and expand it with everything you need

* browse to http://serverip:8080/SimpleServlet/

Change tomcat server to run on port 80

If you want to Change tomcat server to run on port 80 follow this procedure

You need to edit the /etc/tomcat6/server.xml file

nano /etc/tomcat6/server.xml

Now replace the part that says Connector port=”8080? with Connector port=”80?

Save and exit the file

Restart tomcat server with the following command

sudo /etc/init.d/tomcat6 restart

miércoles, 20 de octubre de 2010

Multiples dominios .com.ar desde tu casa

Me puse a investigar lo de tener tus dominios desde tu casa y la cosa es asi..

primero bueno te abris una cuenta en http://freedns.afraid.org
recopilas los datos necesarios para despues
Ir a la nic registrarte los dominios que quieras y usas el dns de freedns.
Luego configuras tus dominios en freedns en donde a todo le pones la ip que tenes actualmente en tu proveedor y no importa que cambie porque tiene un servicio freedns que corriendo un script en nuestro linux hace que se entere freedns que nuestra ip cambio asi que se pueden olvidar de usar dyndns o noip.

el script lo sacan del menu donde dice Dynamic dns y ahi van a tener una lista de todos los dominios que tiene configurados y van a encontar un boton que dice wget script que les va abajar el script.
ej:
rem @.restauracion.com.ar
wget -q --read-timeout=0.0 --waitretry=5 --tries=400 --background http://freedns.afraid.org/dynamic/update.php?U2JVTDgwZkFRekp0YVFxbHFxY1A6NDU3MjE2NQ==

la idea e sponerlo en el crontab asi cada tanto se ejecuta..


by Rondan Rino

sábado, 16 de octubre de 2010

Crea un repositorio local de Debian/Ubuntu con apt-mirror

Instalación

Éste programa se encarga de descargar el repositorio entero para que puedas usarlo localmente. Además necesitarás Apache para acceder a él. En primer lugar hay que instalarlo:

sudo aptitude install apt-mirror apache2

Una vez hecho esto, hay que editar el archivo /etc/apt/mirror.list con

alt-f2>gksudo gedit /etc/apt/mirror.list

Recomiendo comentar (agregando # delante) todo lo que emieze con deb-src, ya que ésto es el código fuente y no se suele usar. Ahora explicaré los repositorios en Ubuntu:

Repositorio principal. No es modificado nunca despues de el lanzamiento. Peso: ~20GB:
deb http://archive.ubuntu.com/ubuntu intrepid main restricted universe multiverse

Actualizaciones. Se modifica constantemente. Suele contener copias de los paquetes en intrepid-security y algunos paquetes más. Peso: ~2GB:
deb http://archive.ubuntu.com/ubuntu intrepid-updates main restricted universe multiverse

Actualizaciones no soportadas. Tienen la última versión de todos los programas, pero no fueron revisadas en búsqueda de bugs por el equipo de seguridad de Ubuntu. Peso: ~1GB:
deb http://archive.ubuntu.com/ubuntu intrepid-backports main restricted universe multiverse

Actualizaciones de seguridad. Siempre que sea posible, activarlo. Peso: <1GB
deb http://archive.ubuntu.com/ubuntu intrepid-security main restricted universe multiverse

Actualizaciones aún no publicadas. Pasan a intrepid-updates después de un tiempo de pruebas. Peso: <1GB
deb http://archive.ubuntu.com/ubuntu intrepid-proposed main restricted universe multiverse

Si usan otra distribucion que no sea intrepid, como hardy, jaunty o karmic, reemplazar por el nombre correspondiente.

Si lo que quieren es tener un espejo de actualizaciones (lo que la mayoría de la gente va a querer) basta con dejar sólo sin comentar intrepid-updates y intrepid-security. Si ademas quieren tener todos los paquetes disponibles, activen intrepid. Pueden agregar también todos los repositorios que quieran, como los del /etc/apt/sources.list .
Puesta en marcha
Pantallazo de apt-mirror

Pantallazo de apt-mirror

Una vez configurado, hay que ponerlo en marcha con:

sudo su apt-mirror -c apt-mirror

¿Por qué no sudo apt-mirror nada mas? Porque el programa apt-mirror debe ejecutarse como el usuario de mismo nombre, o sino las actualizaciones porgramadas van a fallar.
Automatización

Mientras se descargan todos los paquetes puedes configurar apt-mirror para que se ejecute automáticamente. Para eso:

alt-f2>gksudo gedit /etc/cron.d/apt-mirror

Ahí quitan el # a la última línea. Con eso queda configurado a las 4 de la mañana, o, en caso del que PC no esté encendido a esa hora, un rato despues del inicio del sistema. Pueden modificar ese comportamiento editando la última línea con este formato:

apt-mirror /usr/bin/apt-mirror > /var/spool/apt-mirror/var/cron.log

Puedes especificar todos los valores con *

Puedes especificar varios valores separándolos por comas. Ej: 2,6,12,17,22

También puedes especificar varios valores consecutivos con guiones. Ej: 2-10,17,22-23

Y podés especificar que el intervalo sea diferente a 1 agregando /n. Ejemplo:2-10/3,14,19-23/2 Ej2: */3

+ info: man 5 crontab

Uso

Una vez que hayas terminado de descargar hay que ponerlo en el servidor apache de la siguiente forma:

sudo ln -s /var/spool/apt-mirror/mirror/archive.ubuntu.com/ubuntu /var/www/

Y cargarlo al sources.list de las otras máquinas de la siguiente manera:

En primer lugar hay que conocer la dirección IP de a máquina. ejecuta ifconfig y revisa “inet dirección” en “eth0″.

Luego en las máquinas conectadas a la red:

alt-f2>gksudo gedit /etc/apt/sources.list

O si eres cómodo y tienes un servidor ssh:

ssh usuario@ip
sudo nano/etc/apt/sources.list

Ahí copias todo lo que no está # comentado en el /etc/apt/mirror.list local en el principio del archivo, y cambias archive.ubuntu.com por la dirección IP de la máquina.

viernes, 15 de octubre de 2010

Instalacion por red sin CD ( PXE - TFTP ) con una imagen de (K)Ubuntu (un .iso).

Instalacion por red sin CD ( PXE - TFTP ) con una imagen de (K)Ubuntu (un .iso).

Bueno aquí le sindico como hacer una instalación a un PC que no contenga CD-ROM, usando booteo por PXE:

-Primero instalar los siguientes paquetes:

$ sudo apt-get install dhcp3-server atftpd apache2

-luego configurar atftpd:

$ sudo dpkg-reconfigure atftpd

aquí dejan todas las opciones por defecto, debe haber estar archivo luego /etc/default/atftpd con el siguiente contenido:
###########3
USE_INETD=false
OPTIONS="--daemon --port 69 --retry-timeout 5 --mcast-port 1758 --mcast-ttl 1 --maxthread 100 --verbose=5 /tftpboot"
############

- configurar dhcp
se debe contar con la dirección de la MAC del PC a instalarle el SO

ent. debe estar este archivo /etc/dhcp3/dhcpd.conf similar a esto:

###
ddns-update-style none;

# aca va el dominio que esten utilizando, no prescindible
option domain-name "redcasa.com";

#por defecto
default-lease-time 600;
max-lease-time 7200;

#por defecto
log-facility local7;

#definición de nuestra subnet, tiene que cambiarlo a sus datos
#en este caso el servidor dhcp/tftp no es el mismo que la puerta de enlace
#y además restringimos el arranque por pxe a un grupo específico
# Red: 192.168.1.0/24
# Puerta de enlace: 192.168.1.1
# Servidor (el PC k sirve de instalador, es decir su IP): 192.168.1.10

#configuración común y corriente
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.20 192.168.1.49;
option domain-name-servers 192.168.1.1;
option routers 192.168.1.1;
option broadcast-address 192.168.1.255;
}

#la configuración para que los equipos específicos arranquen con pxe

# importante, la dirección del servidor tftp
# en este caso la misma máquina con dhcpd (mi PC) en next-server
# nuestro hosts que usaran pxe (aqui ponemos la MAC del PC a instalar
host laptop {
hardware ethernet 00:05:A8:BE:54:HF;
fixed-address 192.168.1.100;
next-server 192.168.1.10;
filename "/tftpboot/pxelinux.0";
}
### FIN

- habilitación de servicios
$ sudo /etc/init.d/atftpd restart
$ sudo /etc/init.d/dhcp3-server restart

- debemos configurar la imagen y el instalador de red:
entonces montamos al servidor apache la imagen encontrada en nuestro disco duro
$ cd /var/www/
$ sudo mkdir kubuntu
$ sudo mount -o loop /home/usuario/kubuntu-6.10-alternate-i386.iso /var/www/kubuntu/

podemos probar si nuestra imagen esta en el servidor entrando a este, en el navegador ponga su IP de red, debe haber una carpeta llamada kubuntu con los archivos en su interior.

- bajar e instalar el netboot
$ wget images/netboot/netboot.tar.gz...
#tambien se podria hacer enlaces simbólicos a los archivos en /var/www/kubuntu/install/netboot/
$ sudo mkdir /tftpboot
$ sudo tar -zxvf netboot.tar.gz -C /tftpboot

- Bueno creo k tengo todo listo asi k booteamos con PXE (lease por red o NIC) el PC al cual se le instalará el SO.
nos saldrá el instalador de Ubuntu, por lo k presionamos enter y comenzamos la instalación.

############ Aquí viene el uso de la imagen ##############

cuando pide bajar la imagen de un servidor (una lista de países) hay k ir arriba (lo primero en la lista) y elegir ingresar parámetros manualmente, aquí pedirá el servidor en nuestro caso la IP, (aqui fue 192.168.1.10) y la carpeta /kubuntu/, luego presionar ENTER, aquí continua la instalación casi normalmente, digo casi por k pregunta + adelante para instalar kubuntu desktop, sino, no lo instalará, por lo k hay k presionar la barra espaciadora y luego ENTER.

jueves, 7 de octubre de 2010

Dokuwiki

DokuWiki es compatible con los estándares, fácil de usar Wiki , principalmente destinadas a la creación de documentación de cualquier tipo. It is targeted at developer teams, workgroups and small companies. Está dirigido a equipos de desarrolladores, grupos de trabajo y las pequeñas empresas. It has a simple but powerful syntax which makes sure the datafiles remain readable outside the Wiki and eases the creation of structured texts. Cuenta con una sencilla pero potente sintaxis que hace que los archivos de datos siguen siendo legibles por fuera de la Wiki y facilita la creación de textos estructurados. All data is stored in plain text files – no database is required. Todos los datos se almacenan en archivos de texto sin formato - ninguna base de datos se requiere.

martes, 5 de octubre de 2010

compiz-fusion

sudo apt-get install compizconfig-settings-manager compiz-fusion-plugins-extra compiz-fusion-plugins-main compiz-plugins emerald

jueves, 30 de septiembre de 2010

Instalar MintMenu en Ubuntu 10.04

Lo primero será añadir el repositorio PPA, para lo que puedes abrir una ventana de Consola (Aplicaciones > Accesorios > Terminal) y escribir (o copiar) la siguiente línea:

sudo add-apt-repository ppa:webupd8team/mintmenu && sudo apt-get update

A continuación, para instalar MintMenu, sólo tendrás que escribir esto:

sudo apt-get install mintmenu

lunes, 20 de septiembre de 2010

Preparando Host-to-Host OpenVpn

Preparando Host-to-Host OpenVpn



*.Vamos a ver como realizar una conexion host to host con openvpn.*

Antes que nada instalar openvpn en ambos equipos.

Luego tenemos que generar la llave en el servidor.

openvpn –genkey –secret secret.key

Luego copiarla en /etc/openvpn o si lo ejecutamos ahi , ya esta :)
Proximo paso copiarla al cliente por medio de scp.
scp secret.key root@clientex:/etc/openvpn

Configuracion del servidor.
vi /etc/openvpn/server.conf

# dispositivo de tunel
dev tun

# usamos: ifconfig ipdelserver ipdelcliente (virtuales)
ifconfig 10.8.0.1 10.8.0.2

# Clave del servidor
secret /etc/openvpn/secret.key

#puerto
port 1194

#usuario bajo el cual ejecutaremos
user nobody
group nobody

# opciones, comprimir con lzo, ping cada 15 segs, verbose 1 (bajo)
comp-lzo
ping 15
verb 4

Ahora la configuracion del cliente:

# IP publica del servidor, poner IP real de su servidor!
remote 200.100.50.25

# puerto
port 1194

# dispositivo tunel
dev tun

# usamos ifconfig ipdelcliente ipdelservidor
tun-mtu 1500
ifconfig 10.8.0.2 10.8.0.1

# clave privada, client1.key para éste ejemplo, recuerde cada usuario debe
#tener su propia .key generada. El ejemplo de win esta comentado.
#secret "c:\program files\company branded vpn\config\key.txt"
secret /etc/openvpn/secret.key

# ping cada 10 segs
ping 10

# compresión lzo
comp-lzo

# verbose moderado, callar mas de 10 mensajes iguales
verb 4
mute 10

Ahi ya tenemos configuradas ambas partes, ahora resta iniciar el demonio en ambas partes.
clientex:/etc/openvpn# nohup openvpn –config server.conf &
[1] 6648
nohup: ignoring input and appending output to `nohup.out’
clientex:/etc/openvpn#

Vemos nuestra placa configurada.

tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:10.8.0.1 P-t-P:10.8.0.2 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

clientex:/etc/openvpn#

Ahora el otro equipo:

stationx:/etc/openvpn# nohup openvpn –config client.conf &
nohup: ignoring input and appending output to `nohup.out’
[1] 3945
stationx:/etc/openvpn#

un0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:10.8.0.2 P-t-P:10.8.0.1 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

stationx:/etc/openvpn#

Como vemos son accesibles:

stationx:/etc/openvpn# ping 10.8.0.1
PING 10.8.0.1 (10.8.0.1) 56(84) bytes of data.
64 bytes from 10.8.0.1: icmp_seq=1 ttl=64 time=2.03 ms
^C
— 10.8.0.1 ping statistics —
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 2.037/2.037/2.037/0.000 ms
stationx:/etc/openvpn#

Esto es todo por ahora:

miércoles, 11 de agosto de 2010

martes, 27 de julio de 2010

Salamander Raid Software Grafica

Salamander es un instalador alternativo para Ubuntu Linux que proporciona una interfaz simplificada y más eficaz para la configuración de RAID por software.

CensorNet Professional - Filtrado web squid-

CensorNet Professional es una herramienta de filtrado de Web y gestión de Internet que está diseñado para proteger, controlar y controlar a las personas el acceso a recursos de Internet en una red de área local. Cuenta con la capacidad de controlar los usuarios y máquinas, las directivas de grupo, las cuotas de tiempo, filtros de contenido en tiempo real (por extensión de archivo o una imagen, tipo MIME), módulos de información completo con pistas de auditoría e informes de gestión, los horarios de acceso, y las limitaciones de ancho de banda. autentificación transparente con Active Directory está disponible para la facilidad de despliegue. Administración puede sido realizada utilizando un interfaz Web.

Proyectos GNU

http://freshmeat.net

miércoles, 14 de julio de 2010

Back in Time-BAckup Ubuntu

http://backintime.le-web.org/

Shutter, captura tu escritorio en Linux

[Descarga del día] Shutter, captura tu escritorio en Linux
Por Federico Erostarbe el 18 de Marzo de 2010, 12:06 en Software Libre.
Avisos Google

* Escritorio Remoto
Controle a cada escritorio remoto. Sencillo y rápido. Prueba gratuita! www.TeamViewer.com

Shutter es una de las aplicaciones capturadoras de screenshots que más ha crecido en el último tiempo y si eres blogger y utilizas Linux su uso, si no indispensable, sin lugar a dudas te facilitará el trabajo

Hay muchas aplicaciones que permiten tomar una captura del escritorio, pero pocas tienen tantas capacidades como Shutter, programa escrito en Perl con el que podemos tomar el screenshot del escritorio completo, una ventana o un área en particular pero también por ejemplo de un menú en concreto.

Incluye además un editor en el que podemos modificar las capturas, añadirles texto, señalar o resaltar alguna parte, aplicarle filtros, etc y al finalizar podemos, tanto exportar la imagen a servicios como Imageshack.us como enviarla por e-mail o a un contacto mediante un cliente de mensajería instantánea.

Pero una de las características más atractivas es reciente y por ahora se encuentra presente únicamente en la rama experimental de la aplicación: se trata de la posibilidad de realizar un “redo last capture”, volver a hacer la última captura, gracias a lo cual ya no es necesario volver a elegir una determinada sección del escritorio varias veces, simplificando la vida a diseñadores y bloggers; simplemente elegimos la mencionada opción y Shutter se encarga de todo

martes, 13 de julio de 2010

APLICACIONES GNU EMPRESAS

http://www.aplicacionesempresariales.com/soft/administracion/page/2

Openfilter

¿Qué es Openfiler?

Openfiler es un sistema operativo para almacenamiento en red, que utiliza una interfaz web para su gestión. Con las funciones incorporadas en Openfiler, es posible tener las ventajas de un servidor NAS (Network Attached Storage) basado en sistemas de archivos y de un servidor SAN (Storage Area Networking) basado en bloques, todo dentro del mismo sistema operativo.
Openfiler


Principales características

* Almacenamiento unificado: NAS/SAN
* Destinos y fuentes iSCSI
* Protocolos CIFS, NFS, HTTP, FTP,
* Soporte RAID 0,1,5,6,10
* Instalación en físico o virtual
* Sistemas de archivos 8TB+ Journaled
* Listas de control de acceso al sistema de archivos
* Gestor dinámico de volúmenes
* Replicación a nivel de bloques
* Cluster de alta disponibilidad


http://www.bujarra.com/ProcedimientoOpenfiler.html

miércoles, 7 de julio de 2010

Certificacion LPI

Certificacion LPI

como les va gente, estuve notando que estan teniendo dudas con la certificacion de LPI, bueno hace unos meses que yo pude certificar en ella y les voy a contar como tienen que hacer:

primero tienen que entrar a la pagina de LPI (www.lpi.org)y registrarse como usuario (este paso es gratuito), con ello tendran un ID con la cual registraran el examen.

Luego tienen que ir a la pagina para abonar la certificacion (http://www.pearsonvue.com/ o http://www.prometric.com/default.htm), la misma consta de dos examenes para LPIC-1 (101 y 102) cada uno cuesta 160 U$S, lo hacen por tarjeta o pago electronico. Aqui mismo tienen que indicar el lugar donde van a rendir (aparace una lista de opciones que podran elegir, ej: centraltech, itcollege,proydesa, etc) tambien el dia y la hora para certificar

El examen consta de 60 preguntas en 90 minutos, donde hay multiples choise, elecciones multipliples, completar o tipear un comando. se aprueba con mas de 70 puntos.

una vez aprobado se recibira al otro dia un mail donde acredita la aprobacion, pero solo se obtendra el codigo de validacion de certificacion del LPIC-1 si se aprueban los dos examenes, ademas me parece que para rendir un examen y otro no se pueden pasar mas de 60 dias, tengan cuidado con eso.

una vez que rinden ambos examenes tendran una URL (https://cs.lpi.org/caf/Xamman/certification) y una clave que se puede colocar en el Curriculum para que puedan verificar que realmente son LPI-1,

Hay que tener en cuenta que la certificacion solo dura 5 años, luego caduca y tendran que rendirlo nuevamente, a no ser que antes que se cumpla el plazo rindan el LPIC-2, entonces nuevamente tendremos otros 5 años desde cero, y luego claro el LPIC-3

como dato adicional, tambien esta la certificacion de Ubuntu, esta es nueva y requiere ser LPIC-1 para rendirla (basicamente uno puede rendir cualquier examen pero si no lo hacen en orden no seran certificados)

recomiendo que estudien, hay muchas preguntas tramposas aunque la tercera parte del examen es muy simple, son cosas basicas. La otra tercera parte requiere leer un poco mas y la otra tercera parte realmente hace falta saber.

no importa mucho el puntaje, si bien uno sabe cuanto saco, esto no figura en la validacion ni tampoco los intentos, solo la fecha que se rindio y la fecha de caducidad como claro el nombre y apellido del evaluado.

vale mencionar que LPI hace referencia a Debian, pero hay algunas cositas sobre Red Hat tambien. Por otra parte recomiendo que estudien los dos examenes para rendir el 101, dado que hay algunas cosas basicas del 102 que preguntan en el 101, ojo!!

por otra parte, no crean que podran copiarse, antes de entrar a rendir no pueden llevar celular, libros, apuntes o lapiceras. solo van a tenes un carton plastificado con un fibron que podran hacer anotaciones. tampoco tendran block de notas ni acceso a internet, en realidad no podran hacer nada de nada, solo responder las preguntas y en caso de copiarse el evaluador esta autorizado a hacer que dejen de rendir y el examen se da por desaprobado. Por favor esto no es la secundaria.

esta fue mi experencia y es lo que le puedo contar, yo antes de rendir no sabia que me esperaba y busque por internet cualquier foro que me diga algo, no encontre mucho, por eso que les doy una explicacion lo mas abarcativa posible para que no tengan sorpresas.


Extraido de http://drupal.cafelug.org.ar/tema-del-foro/certificacion-lpi

martes, 6 de julio de 2010

XEN




Durante mucho tiempo he probado muchas técnicas diferentes de virtualización, Xen , VMWare , Microsoft y VM. Until now I'm able to conclude that all of them are usable on my desktop machine, but both VMWare and Microsoft's VM are more sluggish that Xen . Hasta ahora estoy en condiciones de concluir que todos ellos se pueden usar en mi máquina de escritorio, pero ambos VMWare y la máquina virtual de Microsoft son más lentos que Xen . This weekend I deployed my first server based on the upcoming Ubuntu and Xen . Este fin de semana he desplegado mi primer servidor basado en la próxima Ubuntu y Xen . Everything worked out of the box Todo salió de la caja ;)

Here is what I did to install Xen on Ubuntu : Aquí está lo que hice para instalar Xen en Ubuntu :

sudo aptitude install ubuntu-xen-desktop bridge-utils

Boot into the newly installed Xen enabled Ubuntu Linux kernel Inicio del recién instalado Ubuntu Xen habilitado kernel de Linux

sudo reboot

Then adjusted the network settings in /etc/xen/xend-config.sxp. Luego ajustar la configuración de red en / etc / xen / xend-config.sxp. Enabling the network bridge: Habilitación del puente de red:

(network-script network-bridge)

Install xen-tools: Instale xen-tools:

apt-get install xen-tools

Xen tools is a collection package containing different tools related to Xen, a virtual machine creator etc. herramientas de Xen es un paquete de colección que contiene diferentes herramientas relacionadas con Xen, un creador de la máquina virtual, etc

Edit adjust the kernel and initrd parameters in /etc/xen-tools/xen-tools.conf to match the ones on your system: Editar ajustar el kernel y los parámetros initrd en / etc / xen-tools / xen-tools.conf para que coincida con los de su sistema:

Find out what the kernel image and initrd is named by: Averigüe cuál es la imagen del núcleo y el initrd es nombrado por:

ls /boot/vmlinuz*
/boot/vmlinuz-2.6.19-4-generic

and y

ls /boot/initrd* ls / boot / initrd *
/boot/initrd.img-2.6.19-4-generic / Boot/initrd.img-2.6.19-4-generic

Adjust the lines Ajuste las líneas

#
# Default kernel and ramdisk to use for the virtual servers
#
kernel = /boot/vmlinuz-2.6.19-4-generic
initrd = /boot/initrd.img-2.6.19-4-generic

Further adjust the xen-tools.conf to this settings: Más ajustar el xen-tools.conf a esta configuración:

dir = /home/xen
debootstrap = 1
size = 4Gb # Disk image size.
memory = 128Mb # Memory size
swap = 128Mb # Swap size
fs = ext3 # use the EXT3 filesystem for the disk image.
dist = edgy # Default distribution to install.
image = sparse # Specify sparse vs. full disk images.

Create a home for all the coming virtual Xen guests: Crear un hogar para todos los próximos virtuales Xen:

mkdir /home/xen
mkdir /home/xen/domains

Y entonces estará listo para crear una máquina virtual - resultados, simplemente por:

xen-create-image -hostname=mailserver -ip=10.0.0.21 -netmask=255.255.255.0 -gateway=10.0.0.1 -passwd

Afterwards I was able to fire up the newly created virtual machine with: Después tuve la oportunidad de arrancar la máquina virtual creado recientemente con:

xm create mailserver.cfg

If an error like this shows up Si un error como este se presenta

Error: Device 0 (vif) could not be connected. Backend device not found.

You should check your that you have enabled the network bridge, “(network-script network-bridge)”, in /etc/xen/xend-config.sxp and restarted the xen deamon by /etc/init.d/xend restart Usted debe verificar su que ha habilitado el puente de red "(red de redes-script-puente)", en / etc / xen / xend-config.sxp y reiniciar el demonio xen por / etc / init.d / xend reiniciar

When up and running either “xm list” or “xentop” can be used to get an overview of what instance are currently running Cuando en marcha cualquiera de las listas xm "o" xentop "se puede utilizar para obtener una visión general de lo que instancia se está ejecutando

ray:# sudo xm list Radiografía de tórax: # sudo lista xm
Name ID Mem(MiB) VCPUs State Time(s) Nombre ID Mem (MiB) Tiempo VCPU Estado (s)
Domain-0 0 874 1 r----- 657.9 Domain-0 0 874 1 r ----- 657,9
mailserver 3 128 1 -b---- 8.0 servidor de correo 3 128 1-b ---- 8,0

lunes, 5 de julio de 2010

AWSTATS

Primero descargamos e instalamos el programa:
$ sudo aptitude update
$ sudo aptitude install awstats
Luego ejecutamos el script de configuración:
$ cd /usr/share/doc/awstats/examples/
$ sudo perl awstats_configure.pl
Editamos el archivo de configuracion del AWStats para indicarle la verdadera ruta del access.log de Apache2:
$ sudo vi /etc/awstats/awstats.conf.local
Agregamos las siguientes lí­neas:
#Indicamos la ruta del access.log para el Apache2
LogFile="/var/log/apache2/access.log"
#Para que muestre detalles como los de browser, os, etc.
LogFormat=1
#Colocamos el nombre de la maquina o del dominio
SiteDomain=nombre_maquina
$ sudo /usr/lib/cgi-bin/awstats.pl -config=localhost -update
Update for config "/etc/awstats/awstats.conf"
With data in log file "/var/log/apache2/access.log"...
Phase 1 : First bypass old records, searching new record...
Searching new records from beginning of log file...
Phase 2 : Now process new records (Flush history on disk after 20000 hosts)...
Jumped lines in file: 0
Parsed lines in file: 5288
Found 0 dropped records,
Found 0 corrupted records,
Found 0 old records,
Found 5288 new qualified records.

Links

http://www.debian-administration.org/articles/277


http://localhost/cgi-bin/awstats.pl?config=barracuda

miércoles, 23 de junio de 2010

GNUPanel

http://gnupanel.org/archives/57

Installation

Follow these steps in order to activate a GNUPanel LAMP server:

1) Once the OS is installed please check that packages “locales” and “locales-all” are in the system, then run:
dpkg-reconfigure locales

All locales are generated, choose “en_US” as default.

2) Now you should execute the following commands:
apt-get update
apt-get dist-upgrade
mkdir /directorio
tar -xjvf fichero.tar.bz2 -C /directorio
cd /directorio

3) The installation process consist of 3 scripts, the first one should be the right one for your distribution:
./install-debian-dep.sh (Debian)
./install-ubuntu-hardy-dep.sh (Ubuntu Hardy Heron)
./install-ubuntu-intrepid-dep.sh (Ubuntu Intrepid Ibex)

Then:
./gnupanel-install.sh
gnupanel-config.sh

4) When configuration finish admin interface can be located here:
http://ip-publica/admin

5) Log into GNUPanel and add all IP addresses to be used in this server. You can do it from:
Main –> Add IP

Add any secondary server too.

6) Configure the first reseller plan and first reseller that will be associated to the main domain. The user level for this domain is configured automatically.

7) Now you can access all GNUPanel levels:
https://gnupanel.main_domain/admin
https://gnupanel.main_domain/reseller
https://gnupanel.main_domain/usuarios
https://gnupanel.main_domain/mail

Note for Ubuntu Hardy Heron: Once installation finish, edit /etc/proftpd/modules.conf and comment the line:
#LoadModule mod_dynmasq.c

Finally restart proftpd
/etc/init.d/proftpd restart

miércoles, 26 de mayo de 2010

Material para LPI





Material para la Certificacion de Linux:

* En Ingles:

http://www.ibm.com/developerworks/linux/lpi/

* En Español:

http://www.ibm.com/developerworks/ssa/linux/edu/lpi/index.html

viernes, 14 de mayo de 2010

du

El comando du

Este comando informa al usuario de la cantidad de almacenamiento utilizado por los archivos especificados, posee varias opciones, su sintaxis es la siguiente:

du [opciones] [archivo...]

Sus opciones más significativas son:

-s

Muestra únicamente los tamaños de los archivos especificados en la línea de comandos.
-h

Muestra los tamaños de archivo en un formato más legible.
-c

Muestra en pantalla el espacio total ocupado por los archivos especificados.
-x

Omite en el conteo aquellos directorios que pertenezcan a otro sistema de archivos.

Ejemplo 8. Uso administrativo del comando du

El administrador de un servidor necesita saber el espacio en disco ocupado por los distintos directorios del sistema, para hacer limpieza. Para esto, se tiene en cuenta que no se deberán contar aquellos directorios que estén en su propio sistema de archivos, entonces se puede ejecutar de esta forma:

# du -sxh /*
6.8M /bin
6.7M /boot
351k /dev
34M /etc
2.8G /home
43M /lib
3.0k /mnt
0 /proc
15M /root
7.3M /sbin
512 /swap
281k /tmp
5.3G /usr
758M /var

Crontab

Columnas del crontab
m minutos 0-59
h horas 0-23
dom dia del mes 1-31
mon mes 1-12 (o nombre del mes en ingles, como jan, feb, etc)
dow dia de la semana 0-6 siendo 6 el dia domingo
command El comando que sera ejecutado


Como ejemplo podemos pensar en:

0 1 24 5 0 /scripts/comando.sh



La linea anterior correra el comando a la 1:00AM, el dia lunes 24 de Mayo. Que es lo mismo si lo escribimos asi:

0 1 24 may mon /scripts/comando.sh



Ahora bien, que pasa si queremos correr un comando cada hora sin importar la fecha? Un asterisco * es interpretado por el cron como ejecutar el comando especificado toda vez que sea posible segun la columna. Asi que para correr un comando automaticamente via cron cada hora, escribimos en el crontab lo siguiente:

0 * * * * /scripts/comando.sh



Lo cual sera ejecutado todos los dias, cada hora en el minuto 0, en otras palabras a la hora en punto.

Esto permite especificar una variacion de los campos. Digamos que necesitamos ejecutar un comando cada dos horas, para esto escribimos en el campo de hora */2, lo cual sera ejecutado a las 2, 4, 6, 8 etc.

Tambien es posible la utilizacion de comas para indicar la ejecucion mas de una vez. Digamos que queremos ejecutar el comando treinta minutos despues de la hora en punto, y luego cuarenta y cinco minutos despues. Especificamos en el campo minuto asi: 30,45.

Si se escribe un gion – entre dos valores, esto incluira todos los valores en ese intervalo de tiempo. Como ejemplo podemos imaginar correr un comando la primera semana del mes. Con este fin en el dia del mes escribimos: 1-7.

Asi que para correr el comando cada 2 horas, treinta minutos despues de la hora en punto y quince minutos antes de la siguiente hora en punto durante los 7 primeros dias del mes, escribimos en el crontab:

30,45 */2 1-7 * * /scripts/comando.sh



Para guardar la salida del comando en un archivo de texto, podemos escribirlo asi en el crontab:

0 * * * * /scripts/comando.sh >> /home/user/crontab.log



Por default, la salida es enviada por correo a la cuenta del administrador del sistema, para evitarnos esto agregamos lo siguiente al comando:

0 * * * * /scripts/comando.sh >> /home/user/crontab.log 2>&1



Igualmente, si no se requiere ninguna salida del comando, esta puede ser redirigida a /www.null:

0 * * * * /scripts/comando.sh >> /www.null 2>&1



Obviamente la idea del cron es tener alguna informacion de lo que ha ejecutado, de lo contrario es bastante inutil. Pero a veces esta de mas tener guardada la misma informacion.

Creo que se me habia olvidado mencionar la forma de usar crontab para hacer que crond ejecute nuestros comandos. Para crear o editar las entradas del cron, utilizamos el comando crontab -e, lo cual abrira un editor de texto en el cual podemos agregar las entradas al cron, una por linea.

El comando crontab -e ejecuta vi por default. Si se quiere utilizar otro editor de texto se puede cambiar la variable de entorno VISUAL.

deathbian:~# export VISUAL='pico -w'



Para ver todas las entradas creadas en el cron tecleamos el siguiente comando:

deathbian:~# crontab -l



Si queremos borrar todas las entradas al crontab de un usuario tecleamos crontab -r, con el usuario que deseamos borrar sus entradas en el cron.
Nota: El superusuario root puede editar los crontabs de otros usuarios tecleando: crontab -e -u usuario

jueves, 13 de mayo de 2010

Instalar y Configurar Nginx, FastCGI, PHP5 y MySQL




Primer punto: Instalar NGINX en Ubuntu de cero.

La verdad es que su instalación es relativamente fácil, solamente con un sudo aptitude install nginx ya se instala. Pero nos aseguramos si realmente los repositorios que tenemos agregados en nuestro Karmic Koala contienen Nginx:


sudo aptitude search nginx

#Salida de la ejecución del comando
p nginx - small, but very powerful and efficient web server and mail proxy


Después de cerciorarnos que tenemos disponible el paquete nginx pasamos a su instalación, por lo tanto:


sudo aptitude install nginx

#Tendría que aparece algo similar a esto:
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias
Leyendo la información de estado... Hecho
Leyendo la información de estado extendido
Inicializando el estado de los paquetes... Hecho
Se instalarán los siguiente paquetes NUEVOS:
nginx
0 paquetes actualizados, 1 nuevos instalados, 0 para eliminar y 160 sin actualizar.
Necesito descargar 329kB de ficheros. Después de desempaquetar se usarán 803kB.
Escribiendo información de estado extendido... Hecho
Des:1 http://es.archive.ubuntu.com karmic/universe nginx 0.7.62-4ubuntu1 [329kB]
Descargados 329kB en 1s (313kB/s).
Seleccionando el paquete nginx previamente no seleccionado.
(Leyendo la base de datos ... 00%
126264 ficheros y directorios instalados actualmente.)
Desempaquetando nginx (de .../nginx_0.7.62-4ubuntu1_i386.deb) ...
Procesando disparadores para man-db ...
Procesando disparadores para ufw ...
Procesando disparadores para sreadahead ...
Configurando nginx (0.7.62-4ubuntu1) ...

Leyendo lista de paquetes... Hecho
Creando árbol de dependencias
Leyendo la información de estado... Hecho
Leyendo la información de estado extendido
Inicializando el estado de los paquetes... Hecho
Escribiendo información de estado extendido... Hecho


En fin, hemos tardado ¿3 -5 minutos? No está mal. Para arrancar el server o pararlo, es parecido al servidor apache, pero cambiando el nombre del script:


sudo /etc/init.d/nginx start

#Salida en pantalla tras la ejecución del script
Starting nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
configuration file /etc/nginx/nginx.conf test is successful
nginx.


IMPORTANTE: este servidor utiliza por defecto el puerto 80, al igual que Apache2. No podemos pretender tener configurado el servidor apache en el puerto 80 y querer también el Nginx, por lo tanto, hay que cambiar el puerto del Apache, desinstalarlo, … eso ya va a vuestro gusto :P
Segundo punto: Instalación de PHP5 y los paquetes adicionales

Os pongo todos los paquetes que se deben instalar, algunos porque son dependecias u otros porque son plugins… en fin que se deben instalar. El comando completo es:


sudo aptitude install php5-cgi php5-mysql php5-curl php5-gd php5-idn php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-mhash php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl php5-json

Se descargarán bastantes kbytes de información.

Justo después de esto, debemos modificar el php.ini incluyendo el siguiente texto al final del fichero:
ACTUALIZACIÓN = el php.ini lo encontramos en /etc/php5/cgi/php.ini

cgi.fix_pathinfo = 1

Esta línea es necesaria para que el PHP funcione correctamente como CGI.
Tercer punto: Instalación del FastCGI

En la instalación de este paquete tenemos un grave problema. En Ubuntu no tenemos ningún paquete explícito para instalar FastCGI, para ello necesitaremos instalar el lighttpd.
Debemos tener en cuenta que el lighttpd también es un servidor web y en su configuración está especificado que el puerto de escucha es el 80. Upss, pero el puerto 80 ya esta siendo utilizado, por lo tanto, fijáos bien en la salida por pantalla de la ejecución del siguiente comando:


sudo aptitude install lighttpd

#Salida de la instalación
........
Se instalarán los siguiente paquetes NUEVOS:
libterm-readline-perl-perl{a} lighttpd
0 paquetes actualizados, 2 nuevos instalados, 0 para eliminar y 160 sin actualizar.
Necesito descargar 371kB de ficheros. Después de desempaquetar se usarán 1245kB.
¿Quiere continuar? [Y/n/?] y
Escribiendo información de estado extendido... Hecho
Des:1 http://es.archive.ubuntu.com karmic/universe libterm-readline-perl-perl 1.0302-1 [52,0kB]
Des:2 http://es.archive.ubuntu.com karmic/universe lighttpd 1.4.22-1ubuntu4 [319kB]
Descargados 371kB en 1s (326kB/s).
Seleccionando el paquete libterm-readline-perl-perl previamente no seleccionado.
(Leyendo la base de datos ... 00%
126682 ficheros y directorios instalados actualmente.)
Desempaquetando libterm-readline-perl-perl (de .../libterm-readline-perl-perl_1.0302-1_all.deb) ...
Seleccionando el paquete lighttpd previamente no seleccionado.
Desempaquetando lighttpd (de .../lighttpd_1.4.22-1ubuntu4_i386.deb) ...
........
update-alternatives: usar /usr/bin/spawn-fcgi.lighttpd para proporcionar /usr/bin/spawn-fcgi (spawn-fcgi) en modo automático
Syntax OK
* Starting web server lighttpd
lighttpd
2010-02-27 10:50:38: (network.c.300) can't bind to port: 80 Address already in use
[fail]
invoke-rc.d: initscript lighttpd, action "start" failed.

.......


He señalado dos frases importantes:

* La primera: la he remarcado por la siguiente palabra, spawn-fcgi, que es lo que utilizaremos como el fast-CGI
* La segunda: importante porque nos indica que el puerto 80 ya está en uso :P

Para utilizar el spawn-cgi antes deberemos eliminar del fichero de arranque el lighttpd, que realmente no utilizaremos. Entonces, ejecutamos el comando:


sudo update-rc.d -f lighttpd remove

#Salida por pantalla
Removing any system startup links for /etc/init.d/lighttpd ...
/etc/rc0.d/K09lighttpd
/etc/rc1.d/K09lighttpd
/etc/rc2.d/S91lighttpd
/etc/rc3.d/S91lighttpd
/etc/rc4.d/S91lighttpd
/etc/rc5.d/S91lighttpd
/etc/rc6.d/K09lighttpd

Con la ejecución de este último comando, el cual necesita permisos de superusuario, elimina del inicio del sistema, el arranque del lighttpd.
Cuarto paso: Configuración del FastCGI (concretamente Spawn-cgi)

Principalmente este paso es importante porque tenemos que modificar scripts, crear de nuevos, etc.

1. Para que el funcionamiento del PHP FastCGI sea correcta necesitaremos indicar: puerto de escucha, usuario y grupo. Se puede realizar mediante la siguiente línea de código:


/usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -u www-data -g www-data -f /usr/bin/php5-cgi -P /var/run/fastcgi-php.pid

2. Pero esto TIENE UN PROBLEMA, cada vez que reiniciamos el servidor o mejor dicho el PC, necesitaremos ejecutar la línea anterior. Por ello, lo que haremos será modificar el fichero de administración local, llamado rc.local, incluyendo en el fichero la línea anterior. Esto nos permitirá no tener que añadir esta misma línea cada vez.
El fichero lo encontraremos en: /etc/rc.local, y tendría que quedar una cosa así:


.......
/usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -u www-data -g www-data -f /usr/bin/php5-cgi -P /var/run/fastcgi-php.pid

exit 0

3. Ahora tenemos que crear un script con el nombre php-fastcgi en el siguiente directorio:


/etc/init.d/php-fastcgi

4. Contenido del fichero deber ser el siguiente:


1 #! /bin/sh
2 ### BEGIN INIT INFO
3 # Provides: php-fastcgi
4 # Required-Start: $all
5 # Required-Stop: $all
6 # Default-Start: 2 3 4 5
7 # Default-Stop: 0 1 6
8 # Short-Description: Start and stop php-cgi in external FASTCGI mode
9 # Description: Start and stop php-cgi in external FASTCGI mode
10 ### END INIT INFO
11
12 # Author: Kurt Zankl <[EMAIL PROTECTED]>
13
14 # Do NOT "set -e"
15
16 PATH=/sbin:/usr/sbin:/bin:/usr/bin
17 DESC="php-cgi in external FASTCGI mode"
18 NAME=php-fastcgi
19 DAEMON=/usr/bin/php-cgi
20 PIDFILE=/var/run/$NAME.pid
21 SCRIPTNAME=/etc/init.d/$NAME
22 PHP_CONFIG_FILE=/etc/php5/cgi/php.ini
23
24 # Exit if the package is not installed
25 [ -x "$DAEMON" ] || exit 0
26
27 # Read configuration variable file if it is present
28 [ -r /etc/default/$NAME ] && . /etc/default/$NAME
29
30 # Load the VERBOSE setting and other rcS variables
31 . /lib/init/vars.sh
32
33 # Define LSB log_* functions.
34 # Depend on lsb-base (>= 3.0-6) to ensure that this file is present.

Puedes descargar el fichero php-fastcgi.
El fichero tiene la extensión .txt para que el Wordpress no lo detectase como corrupto, por ello, cuando copiéis el fichero en la ruta /etc/init.d/ debéis eliminar la extensión .txt
5. Necesitamos que este script tenga permisos de ejecutable, por lo tanto, la ejecución del siguiente comando nos permitirá que lo sea:


chmod +x /etc/init.d/php-fastcgi

Quinto paso: Configuración de Nginx para que funcione con FastCGI

Ahora le toca a Nginx…debemos configurar a este servidor web, para que los ficheros php los pueda servir mediante FasfCGI. Pasemos entonces a configurar el virtualhost default de ngnix:


sudo vim /etc/nginx/sites-available/default

#Necesitamos añadir el texto siguente:
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/nginx-default$fastcgi_script_name;
include fastcgi_params;
}

Con todo esto ya tenemos instalado nginx – php5 – FastCGI, como prueba podríamos crear un fichero info.php en el directorio raix de nginx, que según el ejemplo y el virtualhost, lo encontraremos en: /var/www/nginx-default/

Samba Recurso compartido de Linux a Windows

En el archivo smb.conf

Crear lo siguiente:


[Nombre_del_recurso_compartido]
comment = Site de xxxxxxxxxxxxxxxxx
path = /var/www/xxxxxxxxxxx
public = yes
browseable = yes
writable = yes
read only = no
valid users = Nombre_del_usuario_creado
create mask = 0777
directory mask = 0777
# valid users = %S
# guest only = yes

Autentica , crear usuario y password correspondientes

Verificar modulos cargados de PHP





Guardar esto como testphp.php luego browsearlo

Sugar CRM

Preparing your system

Install all the required packages using the following commands

sudo apt-get install libapache2-mod-php5 libapache2-mod-perl2

sudo apt-get install php5 php5-cli php5-common php5-curl php5-dev php5-gd php5-imap php5-ldap unzip

sudo apt-get install php5-mhash php5-mysql php5-odbc curl libwww-perl imagemagick

Creating SugarCRM Database

$ mysql -u root -p

mysql> create database sugarcrm;

mysql> exit

Installing SugarCRM

Now you need to go to your webserver document root directory (default location is /var/www)

cd /var/www

Download SugarCRM community edition from here or using the following command (at the time of writing this article sugarCRM Community edition 5.1.0b

wget http://www.sugarforge.org/frs/download.php/4742/SugarCE-5.1.0b.zip

Now you should be having SugarCE-5.1.0b.zip file and unzip using the following command

unzip SugarCE-5.1.0b.zip

Move all the contents from SugarCE-5.1.0b directory to sugarcrm

sudo mv SugarCE-5.1.0b sugarcrm

Give Apache Ownership Over SugarCRM Files (apache-user: www-data)

sudo chown www-data -vR /var/www/sugarcrm

Give Write Permitions for Apache on Some of SugarCRM Files

cd /var/www/sugarcrm

sudo chmod 766 config.php

sudo chmod 766 custom

sudo chmod -R 766 data

sudo chmod -R 766 cache

sudo chmod -R 766 modules

Configuring php.ini file

You need to edit the php.ini file using the following command

sudo gedit /etc/php5/apache2/php.ini

Change

;memory_limit = 16M

to

memory_limit = 50M

Change

;upload_max_filesize = 2M

to

upload_max_filesize = 10M

Restart apache server using the following command

sudo /etc/init.d/apache2 restart

Configure sugarCRM

Now open your webbrowser and enter the following address

http://serverip/sugarcrm/install.php

Follow the on-screen instructions and Enjoy your sugarcrm.

miércoles, 12 de mayo de 2010

Gufw firewall sencillo para Ubuntu

Gufw es un front-end para ufw (uncomplicated firewall), el firewall que trae por defecto ubuntu, basicamente permite interactuar con el firewall de manera muy sencilla, podemos optar por bloquear/permitir un puerto, un servicio, o un rango de IP's y puertos.

WIFI Configuracion a mano

Para una IP Estatica

auto wlan0 or your wifi device
iface wlan0 inet static
wireless-essid NOMBRE_DE_LA_RED
wireless-key CLAVE
address IP_PRIVADA
netmask MASCARA_DE_RED
gateway PUERTA_DE_ENLACE
nameserver SERVIDORES DE NOMBRES

Para una IP Dinamica

auto wlan0 or your WIFI device
iface wlan0 inet dhcp
wireless-essid NOMBRE_DE_LA_RED
wireless-key CLAVE
wireless-mode managed

Acabando esto se reinicia la red

sudo /etc/init.d/networking restart

GTALK UBUNTU......

En el siguiente link encontraran a gtalk para ubuntu se encuentra en etapa de prueba , pero bue habra que verlo.

http://sites.google.com/site/jozsefbekes/Home/gtalx

Download Videos de Youtube

aptitude install youtube-dl


1. Para descargar un vídeo cuya dirección es http://www.youtube.com/watch?v=wr9MvcQ9p7A&NR=1 con una calidad normal y con el nombre del archivo de salida video1.flv hacemos lo siguiente:
$youtube-dl -o video1.flv http://www.youtube.com/watch?v=wr9MvcQ9p7A&NR=1

2. A veces Youtube ofrece vídeos en una calidad superior a la habitual apareciendo un enlace que pone . En este caso podemos poner la opción -b y se descargará el vídeo en formato MP4 en lugar de FLV. Por ejemplo:
$youtube-dl -b -o '%(title)s.%(ext)s' http://www.youtube.com/watch?v=sua0alORXGI&feature=dir
descargaría un vídeo con el título que tenga en Youtube y la extensión mp4




Bajar video

youtube-dl -o ubuntu9_10_instalacion http://www.youtube.com/watch?v=NUhy8W-mgAM

martes, 11 de mayo de 2010

openvpn

Instalación:

Bueno la instalación es bastante simple:

apt-get install openvpn openssl

Una vez instalado se deben generar las claves de servidor y de los clientes, pero antes se deben organiza los scripts de generación de estas llaves lo cuales en Debian se encuentran en:

/usr/share/doc/openvpn/examples/easy-rsa

En lo personal recomiendo copiar estas llaves a una hubicación de mas fácil acceso:

cp -r /usr/share/doc/openvpn/examples/easy-rsa/ /etc/openvpn/

Luego:

cd /etc/openvpn/easy-rsa/

Vamos a editar el archivo var, esto para personalizar la futura generación de certificados y de identificar nuestra VPN. En si lo que vamos a editar son los últimos cinco datos:

export KEY_COUNTRY=nuestro_pais
export KEY_PROVINCE=nuestra_provincia
export KEY_CITY=nuestra_ciudad
export KEY_ORG="Nuestr_Organización"
export KEY_EMAIL="email_de_contacto

Luego de esto vamos a generar las claves del servidor:

. ./vars
./clean-all
./build_ca

Se nos haran varias preguntas, en al que hay que manternet la misma respuesta es en:

Common Name (eg, your name or your server's hostname)


Ahora vamos a crear un certificado de servidor firmado con la CA recien creada:

./build-key-server server

Se nos haran unas preguntas, recordando mantener Common Name como lo hemos hecho desde el principio y a las demas preguntas deberemos responder "y"

Ahora generaremos los parámetros Deffie Hellman, utilizados en el tunel SSL y únicos para nuestro servidor:

./build-dh

Una vez terminado este proceso los archivos generados estaran en:

/etc/openvpn/easy-rsa/keys

Ahora lo que sigue es configurar el tunel en si, esto se hace editando el archivo server.conf que en debian en un principio esta hubicado en:

cd /usr/share/doc/openvpn/examples/sample-config-files

Se encuentra comprimido asi que :

gunzip server.conf.gz

Lo ponemos en su debida hubicación y nos preparamos a editarlo:

cp server.conf /etc/openvpn/

luego

cd /etc/openvpn/

luego

vim server.conf

Los valores signifcativos son, la mayoria ya estan como los necesitamos, pero si debemos especificar la hubicación de los certificados, en este caso seria:

/etc/openvpn/easy-rsa/keys

La sentencia push según este link dice:

Provocará que el cliente cuando se conecte agregue una ruta adecuada para alcanzar la red de la oficina



Y la sentencia route:

Agregará una ruta del lado del servidor para alcanzar la red de la casa



En nuestro caso lo dejemos comentado.

Para habilitar que cliente de ambas redes se "vean" entre si, y no solamente al servidor, debemos descomentar la siguiente sentencia:

client-to-client

A las demas sentencias no hay necesidad de hacerles cambios.

Ahora lo que resta es crear los usuarios que se van a conectar a nuestro servidor:

cd /etc/openvpn/easy-rsa/

. ./vars

./build-key-pass usuario1

Igual que antes, se nos haran varias preguntas de las cuales recomiendo mantener Common Name, como se ha hecho desde el pricipio.

Luego en cada uno de nuestros clientes, en caso de ser Windows, desda aca podemos bajar el cliente VPN.

Una vez instalado este software en un cliente windows deberemos copiar en ej: c:/Archivos de Programa/OpenVpn/config los siguientes archivos

ca.crt
usuario1.crt
usuario1.key

Además de estos archivos el GUI trae unos archivos de ejemplo de los cuales debemos extrar el de cliente y editarlo de manera que apunte a la dirección IP de nuestro server, ademas de que apunte al nombre y hubicación correctos de los archivos ca,usuario1.crt y usuario1.key.


Luengo abajo al lado dercho del escritorio de Windows se nos creará un icono de OpenVPN, le damos "conectar" y todo debiria andar bien.
Haciendo ping hacia 10.8.0.1 podemod probar la conectividad con el servidor.

WordPress




http://es.wordpress.org/

Backup Bases

http://ilmaistro.com/hacer-backups-automaticos-base-datos-wordpress/

lunes, 10 de mayo de 2010

Recuperando el password de root para mysql

Cambiar el password de root en mysql

Paramos mysql
#>/etc/init.d/mysql stop
Entramos en mysqld_safe… sin password
#>/usr/bin/mysqld_safe --skip-grant-tables &
#>mysql
Cambiamos a la base de datos mysql
mysql>use mysql;
Ponemos un nuevo password
mysql>update user set password = PASSWORD("nuevo_pass") where User = "root";
mysql>quit
y reiniciamos mysql
#>killall mysqld
#>/etc/init.d/mysql start

instalando DNS, Bind 9. Chroot

Por fin me he decido a gestionar yo mismo el dns de los dominios que tengo. Los servicios de dns que usado, aunque normalmente no me han dado demasiados problemas, son un poco engorrosos y no te dan la libertad que tienes al hacerlo tú mismo.

El primer problema que nos encontramos al gestionar un servicio que ofreceremos a internet es el de la seguridad y Bind y el DNS es un servicio con comunes problemas de seguridad con lo que hay que tener el máximo cuidado posible. La instalación de Bind en un chroot no es complicada una vez conoces los pasos adecuados y la gestión es idéntica a su instalación normal. Así que por el mismo precio lo instalamos en una jaula.

No voy a explorar el tema de bind y el firewall, quizás para otra ocasión.

El primer paso es instalar los paquetes de nuestra distribución Debian .

nahia:~# aptitude install bind9 bind9-doc dnsutils

Esto habrá instalado la última versión disponible en nuestro sistema, pararemos el servicio de dns para poder cer los cambios y crear el chroot.

nahia:~# /etc/init.d/bind9 stop

Crearemos la estructura de directorios del chroot y haremos al usuario bind dueño de estos directorios.

nahia:~#mkdir -p /var/chroot/bind9/{etc,dev,var/cache/bind,var/run/bind/run}
nahia:~# chown -R bind:bind /var/chroot/bind9/var/*

Con mknod crearemos los devices que necesitaremos y le daremos los permisos adecuados:

nahia:~# mknod /var/chroot/bind9/dev/null c 1 3
nahia:~# mknod /var/chroot/bind9/dev/random c 1 8
nahia:~# chmod 666 /var/chroot/bind9/dev/{null,random}

Ahora copiaremos la configuración previa (si la teníamos) a la estructura del chroot:

nahia:~# mv /etc/bind /var/chroot/bind9/etc
nahia:~# ln -s /var/chroot/bind9/etc/bind /etc/bind

De esta manera podremos seguir configurando bind como lo hacíamos hasta ahora.

Nos toca crear la parte de configuración de log. En mi caso, estoy usando Debian Lenny, la versión testing de Debian en el momento de escribir estas notas. Debian ha cambiado syslogd por rsyslog.
Nota: en el sistema donde hice la instalación, una debian testing “dist-upgradeada” desde la stable “etch” tuve que instalar rsyslog a mano.

Crearemos el siguiente fichero:

nahia:~# vi /etc/rsyslog.d/bind-chroot.conf

con el siguiente contenido:

$AddUnixListenSocket /var/chroot/bind9/dev/log

Ahora sólo nos queda indicarle al arranque de bind cómo arrancar:

Dejaremos el fichero /etc/default/bind9 así:

OPTIONS=”-u bind -t /var/chroot/bind9″
# Set RESOLVCONF=no to not run resolvconf
RESOLVCONF=yes

Con esto le estamos diciendo que arranque bind con el usuario (-u) bind con pocos privilegios y (-t) el directorio del chroot. Si el nombre del group al que pertenece bind es diferente del usuario -u bind tendremos que especificarlo también con (-g).

Ya podemos arrancar el servicio y veremos si todo ha ido bien:

nahia:~# /etc/init.d/bind9 start
Starting domain name service…: bind9.

nahia:~# ps -ef | grep named
bind 8577 1 0 19:15 ? 00:00:00 /usr/sbin/named -u bind -t /var/chroot/bind

Ya está, ya tenemos instalado bind9 en un entorno chroot. La configur
ación de las zonas y de los esclavos lo dejo para otros artículos.

Ve la TV en tu Gnu/Linux Ubuntu



DESPUES DE QUE MI PROGRAMA FAVORITO PARA VER TV EN GNU/LINUX Y GÜINDOWS, ZATTOO SE VOLVIERA DE PAGO, HE ENCONTRADO ESTE OTRO QUE ESTA BASTANTE BIEN, EL PROGRAMA SE LLAMA LIVESTATION:

LA INSTALACION ES SENCILLA Y LA DETALLO A CONTINUACION:

http://www.livestation.com/downloads DESCARGAMOS LA VERSION DE LINUX DE SU PAGINA

ABRIMOS UN TERMINAL

VAMOS AL DIRECTORIO DONDE LO HALLAMOS DESCARGADO: cd Escritorio

LE DAMOS PERMISOS DE EJECUCION: chmod +x Livestation-2.3.0.run

Y LO EJECUTAMOS: dpkg -i Livestation-2.3.0.run


PARA EJECUTAR EL PROGRAMA PONER livestation EN UN TERMINAL, O CREAR UN LANZADOR DE APLICACION CON EL COMANDO livestation

NOTA: PARA BUSCAR LOS CANALES EN ESPAÑOL, ME FUI A SEARCH Y PUSE spanish Y LE DI A BUSCAR Y LOS AGREGE EN FAVORITOS

Salvapantallas en consola estilo Matrix




Esta tarde se me ocurrio buscar, ya sabia que habia desde hace años un salvapantallas de Matrix disponible en Ubuntu / Debian y tengo la consola o terminal con los colores de matrix (verde sobre negro), pero mi pregunta era?

Habrá algo parecido a un salvapantallas para la terminal / consola?

Pues despues de unos minutos investigando, la respuesta es si (hay gente mas friki que yo), ademas esta en los repositorios, para instalar:

sudo apt-get install cmatrix

Para ejecutarlo, en un terminal o mejor en una sesion sin entorno grafico (ctrl+alt+F1) (ctrl+alt+F7 para volver a gnome):

cmatrix

Para ver las opciones:

cmatrix -man

recomiendo:

cmatrix -l -b

La -l utiliza las fuentes de matrix (me funciona solamente fuera de gnome) y la -b resalta algunas fuentes como en la peli.

( Para cerrar la aplicacion CTRL + C )

viernes, 7 de mayo de 2010

Comando netstat en Linux

El comando netstat (Network status) nos informa sobre la configuración y actividad de la red. Veamos las principales opciones de este comando:

* configuración de las interfaces de red: la opción -i nos mostrará la configuración de las interfaces de red activas y con la opción -e obtendremos información extendida (obtendremos la misma salida que con el comando ifconfig):

$ netstat -ie
eth0 Link encap:Ethernet HWaddr 00:4F:49:01:E9:91
inet addr:192.168.0.2 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::24f:49ff:fe01:e991/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:141 errors:0 dropped:0 overruns:0 frame:0
TX packets:71 errors:96 dropped:0 overruns:0 carrier:192
collisions:1632 txqueuelen:1000
RX bytes:17043 (16.6 KiB) TX bytes:10292 (10.0 KiB)
Interrupt:10 Base address:0xe000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:244 errors:0 dropped:0 overruns:0 frame:0
TX packets:244 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:16432 (16.0 KiB) TX bytes:16432 (16.0 KiB)

Si tenemos activa una conexión PPP (modem), veremos la interfaz ppp0:

ppp0 Link encap:Point-to-Point Protocol
inet addr:80.103.4.222 P-t-P:62.36.214.19 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:10 errors:0 dropped:0 overruns:0 frame:0
TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:2151 (2.1 KiB) TX bytes:63 (63.0 b)

Si añadimos la opción -a mostrará también las interfaces que no estén up.
* enrutamiento: la opción -r nos mostrará la tabla de enrutamiento (obtendremos la misma salida que con el comando route):

$ netstat -r
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
localnet * 255.255.255.0 U 0 0 0 eth0
default 192.168.0.1 0.0.0.0 UG 0 0 0 eth0

Vemos que netstat usa el mecanismo de resolución de nombres: en vez de la IP de red 192.168.1.0 usa localnet, el nombre que figura en /etc/networks. El contenido de /etc/networks es:

localnet 192.168.0.0

Para evitar el mecanismo de resolución de nombres y ver el enrutamiento con las direcciones IP añadiremos la opción -n:

$ netstat -rn
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 eth0

* conexiones activas: para ver las conexiones activas TCP (-t) y UDP (-u) haremos:

$ netstat -tu
Active Internet Connections (servers)
Proto R S Local Address Foreign Address State
tcp 0 0 pc450.fransbern:50053 212.23.37.8:www ESTABLISHED
tcp 0 0 pc450.fransbern:46854 uned.es:https ESTABLISHED
tcp 0 0 pc450.fransberns.com:1024 192.168.0.3:telnet ESTABLISHED

Por ejemplo, vemos que tenemos una conexión Telnet activa con origen en nuestra máquina y destino la máquina 198.168.0.3. Vemos también que netstat usa los nombres de puertos que figuran en /etc/services. Para evitarlo y ver el número de puerto usaremos la opción -n:

$ netstat -tun
Active Internet Connections (w/o servers)
Proto R S Local Address Foreign Address State
tcp 0 0 192.168.0.2:50053 212.23.37.8:80 ESTABLISHED
tcp 0 0 192.168.0.2:46854 62.204.192.164:443 ESTABLISHED
tcp 0 0 192.168.0.2:1024 192.168.0.3:23 ESTABLISHED

* puertos que están escuchando: para ver los puertos TCP y UDP que están esperando una conexión (escuchando), usaremos la opción -l:

$ netstat -tul
Active Internet connections (only servers)
Proto R S Local Address Foreign Address State
tcp 0 0 *:npmp-gui *:* LISTEN
tcp 0 0 *:sunrpc *:* LISTEN
tcp 0 0 *:auth *:* LISTEN
tcp 0 0 localhost.localdom:smtp *:* LISTEN
tcp6 0 0 *:ssh *:* LISTEN
tcp6 0 0 *:ipp *:* LISTEN
udp 0 0 *:netbios-ns *:*
udp 0 0 *:netbios-dgm *:*
udp 0 0 *:ipp *:*
udp 0 0 *:xdmcp *:*