Detectar un intruso en tu red wifi

Es más habitual de lo que creéis que algún cabroncete se cuele en vuestra red wifi. A fin de cuentas cualquier hijo de vecino se puede hacer con el Wifiway y un manual, y si su tarjeta  de red se lo permite en cuestión de minutos, u horas, se te cuela. Si notáis que la red empezó a ir más lenta desde hace una temporada, es un buen indicador de que puede que os estén jodiendo la wifi.

Hoy he probado dos aplicaciones: Zamzom Wireless Network Tool y Wireless Network Watcher.

El primero os lo podéis bajar desde su página oficial pero es de pago, por lo que la versión gratuita no tiene todas las funcionalidades. En todo caso lo básico sobre quién está conectado a la red te lo dará (IP y MAC), pero por ejemplo no te deja ver el nombre del equipo. 

En el caso del segundo, que puedes descargar aquí, la interfaz es más fea, si lo quieres en castellano te tienes que bajar un fichero con la traducción aparte y da la impresión de ir un poquitín más lento (realmente no, lo que pasa es que este no tiene análisis rápido como el Zamzom, por defecto hace siempre el análisis en profundidad). Ventajas: este te da toda la información sobre quién está conectado, por lo que es mucho más útil. Para instalar el idioma que quieras basta con descargarse el archivo de traducciones que hay en la misma página de descargas y copiarlo dentro de la carpeta donde tengáis el .exe guardado.

Hay una tercera opción: AirSnare que lleva sin actualizaciones desde 2006 pero que dicen que da buen rendimiento. En este caso sólo está disponible en alemán o en inglés.

Ok, y una vez detectado el intruso ¿qué? ¿Cómo echar a un intruso de la red wifi?. Pues toca cambiar la contraseña del router y, de paso, comprobad que esté usando una encriptación fuerte, porque si usa wep estáis jodidos, con Wifiway es cuestión de minutos entrar. Para cambiar de wep a un tipo de encriptación más fuerte, aquí tienes un tutorial de cómo hacerlo.
En fin, a ver si no tenéis muchos intrusos pateando vuestra red, jeje. Suerte con la caza.

Instalar PostgreSQL en Ubuntu / Debian / Linux Mint

PostgreSQL mola por muchos motivos: es libre (licencia BSD), es estable, puede usarse en aplicaciones comerciales, es muy escalable y tiene un elefante como logo (y todo el mundo que no es Borbón ama a los elefantes).

La instalación de PostgreSQL en tu linux (ya sea Debian, Ubuntu o Mint) es sencillita. Empezaré con Ubuntu/Mint, y tras esto, Debian.

Empezamos con el clásico:

sudo apt-get install postgresql  libpq-dev

En Debian la cosa sería prácticamente igual pero con aptitude en lugar de apt-get.

Luego toca lanzar una instancia del servidor de bases de datos y cambiar la

su -n postgres

psql -d postgres -U 

##ahora estaréis en la una instancia de Postgres, ya.
postgres=#
postgres=# alter user postgres with password 'El que toque' 
postgres=# q

Obviamente en vez de ‘El que toque» ponéis un password decente, uno que creáis seguro (nunca menos de 12 dígitos, con letras, número y símbolos)

Y tras esto sólo os queda instalar el entorno gráfico del servidor de la base de datos. Para esto basta un simple:

sudo apt-get install pgadmin3

PostgresAdmin es un cómodo y liviano entorno gráfico que os facilitará mucho la vida.

Ok ¿y en Debian? Similar y sencillito. Ya no explico los pasos, porque son los mismos, lo meto todo en un mismo bloque de texto:

aptitude install postgresql

##Cambiamos la contraseña

su postgres

psql

alter user postgres with password 'nuevopassword';

##Instalamos PostgresAdmin

aptitude install pgadmin3

Ya lo ves, clavadico en Debian.

En fin, es tarde y mañana tengo un examen de certificación de Oracle así que os dejo con esto. Estos días estoy menos activo porque he estado chapando para estas cosas y administrando y gestionando la página de WP del festival Pardiñas Rock.

Instalar ICECAST2 en Ubuntu o Debian

¿Quieres instalar un servidor de radio en tu Ubuntu o Debian? Icecast2 es una buena solución para esto, un servidor de streaming libre, para linux, con soporte para .ogg y .mp3. Irá todo hecho por línea de comandos, porque si quieres montar un servidor de verdad lo más probable es que uses una distribución sin entorno gráfico.

El servidor icecast requiere de un cliente que le provea los contenidos, que pueden ser archivos ubicados en una carpeta en el PC, un reproductor de CD, un micrófono conectado a la tarjeta de sonido. En este ejemplo utilizaremos Ices2.

El primer paso será instalar icecast con el siguiente comando:

sudo apt-get install icecast2 ices2 vorbis-tools

Una vez instalado el servidor seguimos con la configuración del mismo. Empieza por editar el xml con la configuración:

sudo gedit /etc/icecast2/icecast.xml

Dentro te tocará definir los password para las fuentes y del administrador, así como el nombre del servidor. Busca la siguiente sección y rellena entre las etiquetas con los datos que correspondan:

<authentication>
<!-- Sources log in with username 'source' -->
<source-password>PASSWORD_FUENTE</source-password>
<!-- Relays log in username 'relay' -->
<relay-password>PASSWORD_RELAY</relay-password>

<!-- Admin logs in with the username given below -->
<admin-user>ADMINISTRADOR</admin-user>
   <admin-password>PASSWORD_ADMINISTRADOR</admin-password>
</authentication>

Y tras poner esto tal cual busca la siguiente línea para indicar el nombre del servidor que vamos a utilizar. Si emitimos desde nuestro equipo en local ponemos localhost

<!-- This is the hostname other people will use to connect to your server.
It affects mainly the urls generated by Icecast for playlists and yp
listings. -->
<hostname>www.miservidor.com</hostname>

También puedes modificar el listen socket para elegir el puerto, pero si va a ser desde tu equipo local deja por defecto el 8000

Ahora te toca habilitar el servicio, que por defecto viene deshabilitado para obligarte a cambiar la contraseña y el administrador.

sudo gedit /etc/default/icecast2

Ahí encontrarás esta línea, donde el valor estará a false y debes dejarlo a true como en el ejemplo:

# Edit /etc/icecast2/icecast.xml and change at least the passwords.
 # Change this to true when done to enable the init.d script
 ENABLE=true

Una vez habilitado, lo único que nos queda es activarlo:

sudo /etc/init.d/icecast2 start

La parte jodida llega ahora, ya que Ices2 no viene con archivos de configuración por defecto. En /usr/share/doc/ices2/examples se encuentran ejemplos para configuraciones de alsa, ogg y playlist. Como lo más habitual es utilizar esta última (usamos un playlist con música y con los programas previamente grabados), creamos una carpeta en etc llamada ices y copiamos el archivo allí. De paso, ya creamos la carpeta para el archivo log de ices y le damos permisos

sudo mkdir /etc/ices2
sudo cp /usr/share/doc/ices2/examples/ices-playlist.xml /etc/ices2/
sudo chmod +x /etc/ices2/ices-playlist.xml
sudo mkdir /var/log/ices
sudo chmod 777 /var/log/ices

Ahora toca modificar el xml:

sudo gedit /etc/ices2/ices-playlist.xml

Ahora os explico todo del tirón y luego ya os pongo debajo el documento completo para que veáis el ejemplo. Lo primero es en background cambiar el 0 por un 1, para así ejecutar en segundo plano el cliente y no tener el terminal abierto todo el tiempo. En la sección metadata configuramos el nombre, género y descripción de la estación de radio. En la sección input establecemos la ruta del archivo con la lista de reproducción (parámetro file), si queremos que la reproducción sea aleatoria (parámetro random, siendo 1 que sí y 0 que no) y si queremos que al acabar se corte la emisión o que se siga emitiendo en bucle (parámetro once). Finalmente en la sección instance configuramos el servidor, puerto, la contraseña de las fuentes (usa los mismos que pusiste antes al configurar el servidor) y el punto de montaje (pon algún nombre que sea descriptivo, sin espacios y acabado en .ogg

<?xml version="1.0"?>
<ices>
    <!-- run in background -->
    <background>1</background>
    <!-- where logs, etc go. -->
    <logpath>/var/log/ices</logpath>
    <logfile>ices.log</logfile>
    <!-- 1=error,2=warn,3=info,4=debug -->
    <loglevel>4</loglevel>
    <!-- set this to 1 to log to the console instead of to the file above -->
    <consolelog>0</consolelog>

    <!-- optional filename to write process id to -->
    <!-- <pidfile>/home/ices/ices.pid</pidfile> -->

    <stream>
        <!-- metadata used for stream listing (not currently used) -->
        <metadata>
            <name>Donnie Rock Radio</name>
            <genre>Rock'n'fuckin'roll</genre>
            <description>Lemmy en la cabeza y el corazón</description>
        </metadata>

        <!-- input module

            The module used here is the playlist module - it has 
            'submodules' for different types of playlist. There are
            two currently implemented, 'basic', which is a simple
            file-based playlist, and 'script' which invokes a command
            to returns a filename to start playing. -->

        <input>
            <module>playlist</module>
            <param name="type">basic</param>
            <param name="file">/home/donato/musicaradio/playlist.txt</param>
            <!-- random play -->
            <param name="random">0</param>
            <!-- if the playlist get updated that start at the beginning -->
            <param name="restart-after-reread">0</param>
            <!-- if set to 1 , plays once through, then exits. -->
            <param name="once">1</param>
        </input>

        <!-- Stream instance
            You may have one or more instances here. This allows you to 
            send the same input data to one or more servers (or to different
            mountpoints on the same server). Each of them can have different
            parameters. This is primarily useful for a) relaying to multiple
            independent servers, and b) encoding/reencoding to multiple
            bitrates.
            If one instance fails (for example, the associated server goes
            down, etc), the others will continue to function correctly.
            This example defines two instances as two mountpoints on the
            same server.  -->
        <instance>
            <!-- Server details:
                You define hostname and port for the server here, along with
                the source password and mountpoint.  -->
            <hostname>localhost</hostname>
            <port>8000</port>
            <password>XYZw3c676</password>
            <mount>/lista_programa.ogg</mount>

            <!-- Reconnect parameters:
                When something goes wrong (e.g. the server crashes, or the
                network drops) and ices disconnects from the server, these
                control how often it tries to reconnect, and how many times
                it tries to reconnect. Delay is in seconds.
                If you set reconnectattempts to -1, it will continue 
                indefinately. Suggest setting reconnectdelay to a large value
                if you do this.
            -->
            <reconnectdelay>2</reconnectdelay>
            <reconnectattempts>5</reconnectattempts> 

            <!-- maxqueuelength:
                This describes how long the internal data queues may be. This
                basically lets you control how much data gets buffered before
                ices decides it can't send to the server fast enough, and 
                either shuts down or flushes the queue (dropping the data)
                and continues. 
                For advanced users only.
            -->
            <maxqueuelength>80</maxqueuelength>

            <!-- Live encoding/reencoding:
                Currrently, the parameters given here for encoding MUST
                match the input data for channels and sample rate. That 
                restriction will be relaxed in the future.
            -->
            <encode>  
                <nominal-bitrate>64000</nominal-bitrate> <!-- bps. e.g. 64000 for 64 kbps -->
                <samplerate>44100</samplerate>
                <channels>2</channels>
            </encode>
        </instance>

    </stream>
</ices>

Ahí tenéis el ejemplo completo.

En fin, ya estamos acabando. Nos falta configurar el archivo de canciones a reproducir, siguiendo una de estas dos opciones:

##Opción 1: Crear una ruta hacia el archivo con la lista de canciones con el siguiente comando
sudo find /Ruta_Archivo -iname "*.ogg" > /Ruta_Archivo/LISTA.TXT

##Opción 2: Editamos el archivo y tecleamos la ruta completa para cada canción
sudo gedit /Ruta_Archivo/LISTA.TXT

##Y las vas agregando con esta este formato:
##/Ruta_Archivo/cancion1.ogg
##/Ruta_Archivo/cancion2.ogg

Ahora simplemente tienes que lanzar ices2:

sudo ices2 /etc/ices2/ices-playlist.xml &

Tras todo esto si vamos a http://localhost:8000 encontraremos un link al punto de montaje y, al picar en él podremos escuchar nuestro servidor de radio.

El servicio se para como cualquier otro servicio, con un sudo /etc/init.d/icecast2 stop mientras que para parar el cliente ices deberás buscar el pid del proceso y matarlo.

Si en lugar de un playlist lo que queréis es emitir radio en directo La cosa no cambia mucho. Lo primero que necesitáis, claro está, es tener una tarjeta de sonido que os deje enchufar un micrófono. Aunque si queréis algo más profesional lo mejor es meter una mesa de mezclas para poder alternar entre música (desde otro dispositivo reproductor conectado a la mesa) y el micro. La gran diferencia es que en lugar del xml de configuración playlist de ices2 debes copiar y editar el alsa. Con lo cual la cosa quedaría más o menos así:

sudo cp /usr/share/doc/ices2/examples/ices-alsa.xml /etc/ices2/
sudo gedit /etc/ices2/ices-alsa.xml

Mayormente la configuración es casi igual que la del playlist, pero obviamente sin la ruta a la lista de canciones, que en este caso no existe.

También cambia la instrucción para lanzar el ices, que ahora será sudo ices2 /etc/ices2/ices-alsa.xml & así que tenlo en cuenta a la hora de ejecutarlo.

La emisión en vivo es más coñazo, pero por otra parte te da las ventajas de emitir en directo en lugar de hacerlo con canciones o programas ya pregrabados.

En fin, ahora sólo os queda buscar un alojamiento en Islandia o Rusia desde el que poder emitir sin preocuparos de la persecución de la SGAE.

Diez aplicaciones prácticas para tu USB

Cuando te vas por esos mundos de dios a arreglar ordenadores llega un punto en que necesitas diversas aplicaciones. Ya hicen en su día una entrada sobre algunas herramientas básicas para la reparación, recuperación y mantenimiento, pero ahora hablaremos de otra serie de aplicaciones que no está mal que lleves siempre encima, dentro de un USB, por lo que pueda pasar. Hablamos de Windows, y lo haremos en la mayoría de los casos

  • AVZ-Antiviral Toolkit: Esta herramienta, incorporada por Kaspersky en sus propios antivirus. Se trata de un antivirus hardcore, vamos, que es para usuarios avanzados, tal vez demasiado poco usable por el usuario medio pero tremendamente potente.
  • CCleaner: Una herramienta que te permitará limpiar tanto la «basura» (temporales, cookies) como el registro del sistema, liberando espacio en tu disco duro y acelerando el rendimiento del sistema operativo.
  • Eraser: En ciertos casos no querrás dejar huella en el equipo en que has estado (uno de una ubicación pública, por ejemplo), y una aplicación de borrado seguro de archivos, que te permite decidir cuantas veces se sobreescribe la memoria que antes ocupaba el archivo borrado.
  • Firefox: No está demás llevarse un navegador portable, por si necesitáis llevaros vuestros marcadores, o por si el equipo con el que tenéis que trabajar tiene aberraciones como Explorer o Safari instalados.
  • Notepad++: Este editor de texto multilenguaje es a los programadores lo que el Metal Zone a los guitarristas heavys, simple, todos se cachondean de él, pero al final les acaba salvando el culo en algún directo. Un Block de notas vitaminado por si tienes que editar un script, un xml, o simplemente abrir un archivo de código fuente de casi cualquier lenguaje. Está claro que no es un entorno de desarrollo, pero yo he apañado muchos pequeños parcheos en html o php con él.
  • Speccy: En caso de ir a realizar una instalación o una ampliación de hardware, Speccy es una herramienta muy válida y útil. Mayormente nos permitará conocer qué hardware hay montado en el equipo.
  • Spybot: Si el antivirus no es suficiente, este programa nos ayudará a buscar software espía dentro del equipo. Con algún malware nuevo puede fallar, pero en general funciona bien.
  • Recuva: De esta herramienta ya hablé también en el pasado. Nos permite recuperar archivos borrados del sistema.
  • SumatraPDF: Puede ser que llegues al equipo y te topes con que no tiene un lector de PDF, no es habitual pero te sorprendería la de veces que pasa. ¿Solución? Este paisano del mono rata (chiste para muy fans de Peter Jackson) será una buena ayuda a la hora de leer estos archivos.
  • 7Zip: En su momento ya hablé de este compresor/empaquetador, compatible con múltiples tipos de archivo.

En fin, para las reparaciones y comprobaciones habituales con esto te llega. Para algo más avanzado ya tienes el primer artículo referenciado. Por otra parte, si te dedicas a la programación web puede que un servidor portable como XAMPP y un FTP como FileZilla te sean de mucha utilidad también.

Crear nuestra propia VPN en Ubuntu

Ya hace unos días hablamos de cómo configurar una IP estática en Ubuntu (y MacOS de regalo). Esto, como ya comenté en el artículo en cuestión, es necesario para ciertos servicios, como el que hoy nos atañe: Crear nuestra propia VPN en Ubuntu. Además, el puerto PPTP (1723 TCP) debe estar abierto. Como también necesitamos tener abierto otro puerto que soporte el protocolo GRE, lo mejor es usar la regla para PPTP del router. Manualmente no podemos realizar esta operación, pero las reglas predefinidas sí la realizan.

Una vez con la configuración previa lista, tocará irse al terminal para descargar e instalar el paquete PPTP, con permisos de administrador como para toda instalación. Tal que así:

sudo apt-get install pptpd

Como ya sabéis sudo nos permite realizar una instrucción con permisos de administrador (la primera vez que lo usas en el terminal te pedirá la contraseña). Cuando comience la instalación también os preguntará si queréis instalar el paquete bcrelay, pulsad la S para confirmar y vía.

Cuando termine la instalación, se lanzará de forma automática el servidor PPTP. Ahora toca meter mano en la configuración, con el editor de texto Nano.

sudo nano /etc/pptpd.conf

Al final de todo tenéis que añadir las líneas localip seguida de la ip que queráis tener como servidor local en la VPN (ojo, poned una que esté fuera del rango de IP locales, para evitar conflictos) y remoteip seguido del rango de direcciones que usaremos para asignar a los clientes, podéis poner un rango o varias separadas por comas. Aquí un ejemplo:

localip 10.11.0.1
remoteip 10.11.0.100-150,10.10.10.245

Ya tenéis un ejemplo con ambas opciones. Tras esto tocará añadir usuarios a nuestra VPN, configurando el archivo chap-secrets.

sudo nano /etc/ppp/chap-secrets

El formato es el siguiente, con los elementos separados por tabulaciones: nombre_usuario pptpd password *. El primero es el nombre de usuario (ponéis el que queráis darle a ese usuario en la red), lo siguiente el nombre del servidor (en este caso pptpd), la contraseña (poned algo seguro, no abc123) y la ip (un *, que ya nos ocuparemos de eso después).

En fin, tras esto, y como ya he dicho, toca ocuparse de las ip, concretamente configurando el cortafuegos. Como en todo lo primero es que nuestro amigo «el nano» nos abra el archivo rc.local:

sudo nano rc.local

En este caso vamos a la penúltima línea (justo antes de exit 0) del script y añadimos:

iptables -t nat -A POSTROUTING -s 10.11.0.0/24 -o eth0 -j MASQUERADE

El argumento 10.11.0.0/24 es el rango de direcciones que elegimos cuando estábamos configurando PPTPD, si pusiste otro configúralo en consecuencia. El argumento eth0 es el nombre de la tarjeta de red, asegúrate de poner la tuya. Guarda cambios y sigue porque ahora tocará editar otro archivo, el del ip forwarding:

sudo nano /etc/sysctl.conf

Ahí busca la línea comentada #net.ipv4.ip_forward=1 y quítale el # para descomentarla. Guarda cambios y sal.

Y con todo esto nuestro servidor de VPN en Ubuntu está configurado. Ahora sólo te queda configurar los clientes y ya tienes tu propia VPN creada, para poder comunicarte con seguridad con sus miembros, de forma que vuestros datos no estén expuestos a espionajes varios (eso sí, recuerda que toda seguridad no vale de nada si la contraseña de alguno de los usuarios es revelada, la seguridad perfecta no existe, ni existirá mientras haya un factor humano)

Eliminar troyano Mediyes.D en Windows

Mediyes es un troyano bastante cabrón. No dispone de rutina propia de difusión, así que requiere de un usuario o un código malicioso para propagarse. Está diseñado para robar información sensible del usuario cuando navega por la web, activándose a la par que los navegadores Internet Explorer y Firefox. Generalmente su nombre de archivo intenta pasar por una librería Direct3D legítima.

En fin, que es un troyano peligroso porque te puede joder datos importantes (piensa que con tu contraseña del correo, por ejemplo, el atacante podría acceder a los servicios que uses para pagos on-line, que no es una coña), así que habrá que intentarlo. Lo primero, como siempre, es intentar una restauración del sistema, a ver si el punto de restauración está creado antes de que tu equipo se infectara. Si funciona, fetén, si no toca romperse más la cabeza.

Si la restauración no funcionó (es decir, el punto de restauración se creó estando ya infectado), lo primero y más conveniente es desactivar la restauración del sistema, para evitar que se haga una copia del troyano en la restauración. Tras esto habrá que reiniciar el equipo y arrancar en modo a prueba de fallos. Teniendo un antivirus actualizado basta con ejecutarlo para buscar el troyano. Cuando acabe el escaneo tendrás que borrar los siguientes archivos .dll:

  • d3dye5xnv.dll
  • d3dybnavy.dll
  • d3dyyg81j.dll
  • d3dyymlyn.dll

Todos estos archivos estarán en la carpeta del sistema (C:\Winnt\System32 o C:\Windows\System32) ya sea con la dirección absoluta o con la variable de sistema %system%.

Existe la posibilidad de que no se nos permita borrar los archivos antes citados, ya que pueden estar en uso por el troyano, residiendo en la memoria. En este caso la solución es liquidar el proceso. Entráis al administrador de tareas con ctrl+alt+supr, allí buscad el botón «Mostrar procesos de todos los usuarios», localizad los procesos y, haciendo click derecho sobre ellos, elegís «Terminar proceso». A continuación volved a intentar el borrado o reparación de los ficheros que se han creado por la acción del troyano.

Finalmente, para no dejar ni rastro, eliminad todos los archivos temporales del sistema, e incluso haced una limpieza del registro (mismamente CCleaner os facilitará mucho esta labor. Vaciad incluso la papelera de reciclaje. Ahora debería estar desinfectado, reiniciad y comprobadlo pasando otra vez el antivirus (incluso podéis programar lanzar el antivirus desde el arranque). Si ya no detecta ninguna infección reactiva la restauración del sistema, y ya puestos aprovecha para crear un punto de restauración, dado que el equipo estará libre de infecciones y te podrá ser útil por si tienes problemas más adelante. Como último consejo de seguridad, cambia todas tus contraseñas on-line, por aquello de que habrían estado expuestas por el troyano.

Entorno gráfico en FreeBSD

A nivel usuario los sistemas libres BSD, desarrollados por la universidad de Berkeley, no son muy populares. No es así a nivel de servidores, donde han ganado popularidad en los últimos tiempos, ya que varios especialistas afirman que son los sistemas menos vulnerables a ataques DDOS. Por otra parte, a nivel software son casi totalmente compatibles con Linux, por lo que no aporta apenas handicaps frente a un servidor Linux.

Por defecto FreeBSD no incluye entorno gráfico, pero existe la posibilidad de instalarle uno (GNOME o KDE). Lo primero es que para hacer esto es más recomendable haber descardo una versión STABLE que una RELEASE. Aunque se recomienda RELEASE para entornos de servidores el instalar paquetes del repositorio STABLE en equipos con ese Kernel puede provocar problemas de estabilidad en el sistema.

En fin, si estáis instalando desde cero os dejo por aquí este enlace a un tutorial de instalación (es del 8.0, pero vale perfectamente para el 8.1). Cuando ya tengáis el SO instalado en vuestro equipo es cuando toca instalar. Podéis elegir, como dije antes, entre GNOME o KDE (también puedes instalar ambos, probar y luego quedarte con el que más te guste). Yo, por mi parte, para este sistema creo que KDE es la mejor opción: más austero, pero más robusto y estable. Los comandos serían:

#primero hazte root con 
su -root

#para ambos casos ejecuta
pkg_add -r xorg

#para instalar KDE
pkg_add -r kde4

#para GNOME
pkg_add -r gnome3

Con esto ya tienes instalado tu entorno gráfico, pero si reinicias el equipo verás que sigue arrancando con el entorno de consola. Esto es porque tenéis que cambiar la configuración para que, por defecto, el equipo arranque con él.

Para activar el entorno gráfico GNOME por defecto hay que editar el fichero rc.conf y añadir al final la línea gnome_enable=»YES». Para editar el fichero basta con teclear lo siguiente, teniendo todavía permisos de root

ee  /etc/rc.conf

Cuando hayas añadido la línea antes citada sal pulsando ESC y guardando los datos. Si ejecutas un reboot debría arrancar ya con el entorno gráfico.

Podrías pensar que para KDE la cosa es igual, pero no. El caso de KDE prueba con el siguiente comando:

echo “exec /usr/local/kde4/bin/startkde” > ~/.xinitrc

Con esto lograrás que arranque KDE al escribir startx en la consola.

Piens que BSD no es un Ubuntu, el instalar el entorno gráfico vendrá seguido de tener que ir agregando a mano todas las utilidades y herramientas de aplicacion que deseamos tener en nuestro entorno, no os saldrá preconfigurado.

Y un apunte final, si no queréis romperos la cabeza con esto, existe GhostBSD, un sistema operativo BSD con entorno gráfico GNOME ya instalado. No lo he probado, pero por comentarios que he leído parece que es bastante estable. Si alguno lo ha instalado ya, puede comentarlo por aquí.

Instalar complemento de PHP para MongoDB

Como complento a la entra sobre cómo instalar MongoDB en Linux, toca ver cómo se instala la extensión para PHP.

Algunas distribuciones de MongoDB ya traen de por si la citada extensión, así que antes de hacer nada prueba con lo siguiente:

php --re mongo

Si tras esto nos devuelve Extension mongo does not exist es que tenemos que instalarlo. Lo más fácil es usar los repositorios PECL, aunque recuerda que tienes que tener instalada una versión de PHP compatible, porque si no te dará error (si tienes PHP 5 no hay problema, si no instálalo). El código sería el siguiente:

sudo pecl install mongo

##Si necesitas instalar PHP lo puedes hacer con la siguiente instrucción##
sudo apt-get install php5-dev

Ahora, tras reiniciar el servidor basta con volver a ejecutar php –re mongo para comprobar que sí está instalada la extensión.

Con esto ya tienes la extensión para PHP de MongoDB instalada en tu equipo Linux.

Instalar MongoDB en Linux

MongoDB es un sistema de bases de datos «no SQL» (aunque lo haya metido en la sección SQL del blog), documental, que destaca por su velocidad y rendimiento. No en vano, muchas páginas con requisitos de gran escalabilidad están recurriendo a ete tipo de soluciones, como Facebook y Twitter, que han migrado parte de su base de datos (en un principio MySQL) a CassandraDB.

Aparte de un nombre horrible, MongoDB es bastante fácil de instalar, sólo hay que seguir estos pasitos tras descargar desde aquí la versión que se adapte a vuestra arquitectura (32bits o 64bits):

La idea es descomprimir el archivo (en el ejemplo será el de 64 bits, si bajáis el de 32 poned el nombre que corresponde), crear la carpeta donde MongoDB guarda los datos (/data/db) y darte permisos de usuario en ella. Tal que así:

tar -xzvf mongodb-linux-x86_64-1.8.1.tgz
sudo mkdir -p /data/db
sudo chown TU_USUARIO /data/db

Una vez cambiado el usuario a la carpeta /data/db, se debe ir a los archivos extraídos de MongoDB, entrar a la carpeta bin y ejecutar (con tu usuario) la aplicación: ./mongod

Si no aparece el mensaje «really exiting now» se está ejecutando el demonio de mongoDB, listo para conectar por defecto en el puerto 27017, aunque también tiene una interfaz web muy básica que pone a la escucha el puerto 28017 (puede consultarse en http://localhost:28017). Si quieres finalizar el demonio presiona ctrl + c.

Para hacer consultas desde consola de debe usar otro terminal, el el cual debes ir a la misma carpeta donde descomprimiste mongoDB, entrar a la carpeta bin y ejecutar la aplicación ./mongo que nos debe devolve un prompt vacío (símbolo >)

La shell de MongoDB es un intérprete de JavaScript por lo que podemos escribir scripts que pueden ser interpretados por la propia shell, utilizar las librerías estándares de JavaScript o escribir funciones en varias líneas.

> "Hello, World!".replace("World", "usuario molón");
Hello, usuario molón!

Cuando iniciamos la shell, el cliente conecta con la base de datos por defecto del servidor MongoDB y guarda la conexión en la variable db. Desde esta shell podemos utilizar las operaciones CRUD: crear, modificar, leer y borrar, para manipular y ver los datos en el shell.

Tras esto ya tienes instalado tu servidor de bases de datos MongoDB, si quieres documentación en español puedes tirar de su wiki oficial, para ir introduciéndote en este mundillo NoSQL

EDITO para comentar que en Ubuntu 12.04 han metido MongoDB en los repositorios, por lo que la instalación se simplifica con un básico

sudo apt-get install mongodb

En Debian que yo sepa de momento no, así que tenéis que seguir con el primer ejemplo, de momento.

Configurando una IP estática en Ubuntu

Aunque pueda parecer un anacronismo a algunos usuarios menos veteranos, configurar una ip estática no es algo de los años 90. Para configurar cualquier servidor (VPN, servidor de aplicaciones, sistema de intercambio de archivos) necesitaremos que la ip sea estática para dirigir hacia ella los puertos del router.

Voy a explicar como podéis hacerlo por medio del entorno gráfico. Lo primero es que busquéis Configuración del sistema y allí a Red, que está dentro de la sección hardware. Configuración del sistema está, por defecto, en el panel de inicio de Unity, a la izquierda.

Ya en la ventana de red selecciona la tarjeta a configurar y pulsa Opciones. Ahí vete a la pestaña Ajustes de IPV4. En Nombre de conexión pon lo que creas oportuno para no liarte. Método es lo más importante, por defecto debería estar DHCP así que cámbialo por Manual.

Ahora toca configurar la Dirección pulsado el botón Añadir. Ahí te toca elegir la ip que quieres, la máscara de subred y la puerta de enlace predeterminada. Daré por hecho que si quieres configurar una ip estática tienes estos conceptos básicos sobre redes claros, pero si tenéis dudas ponedlo en un comentario y me curro una entrada sobre esos conceptos.

Finalmente, nos queda elegir el servidor DNS. La práctica habitual es elegir al menos 2, por si uno se cae. Introduce las diferentes direcciones ip separadas por comas. Si quieres, aquí tienes un listado con algunos.

Ok, has ido siguiendo los pasos y ya tienes configurada tu ip estática. Pero como todo en Linux, requiere reiniciar el servicio. Al pulsar Guardar al terminar la configuración volverás a la ventana de Red. Ahí fíjate en un botón tipo interruptor que tienes en la parte superior derecha. Púlsalo una vez para desmontar la conexión y otra para reconectar. Si todo ha ido bien aparecerán los datos de conexión que has configurado antes.

Con todo esto tienes tu ip estática configurada en Ubuntu. Si eres usuario de Apple (además de darte mis condolencias y de decirte que te pases a Linux cuanto ants) te puedo comentar que los pasos para esto son los mismos para configurar una ip estática en un Mac, en lugar de Configuración del sistema, creo que el primer menú es Preferencias, luego allí vas a Red, luego a Ethernet, Avanzado y Configurar IPv4. Luego sigues los mismos pasos (ponerlo en Manual, configurar la dirección y elegir los DNS)

En fin, esto servirá de base para algunos artículos futuros.