February 2010

  1. Misma máquina + Ip dinámica + 2 dominios + apache + drupal + ssl

    nota aclaratoria: 

    Ip dinámica, uso de inadyn

    freedns para el redireccionamiento

    Registro en el buscador Google

    envío de correos automático

    apache 2 ,php5, drupal 6.15, mysql server 5

    uso de licencia creative commons

    login ssl

    integración de flash

     


    Actualizamos las fuentes para tener la ultmia versión de apache  y de los demás programas necesarios:

     

    apt-get update

    Instalamos apache y php

     

    apt-get install apache2 php5 libapache2-mod-php5

    para ver si todo ha funcionado bien nos creamos un ejemplo en php para probar que el server escucha bien por el puerto 80 y que

    los módulos de php estan instalados correctamente, pero primero eliminamos el típico It's work del apache:

     rm /var/www/index.html

     

    echo “<?php phpinfo(); ?>” > /var/www/test.php

    Accedemos desde nuestro navegador http://127.0.0.1 y comprobamos que nos responde con la información solicitada.

    Configuraremos ahora Apache para crear un host virtual con el nombre de los dominios que se quieren usar.

    Para ello se crea dos directorios en /var/www/ de nombre de los dominios:

    mkdir /var/www/dominio1.com
    mkdir /var/www/dominio2.com

    Y se edita el archivo /etc/apache2/sites-available/default

     

    nano /etc/apache2/sites-available/default

    Poniendo lo siguiente (borramos lo que tenga de antes):

     


     

     

    NameVirtualHost *

    ## VirtualHost 1

    <virtualhost *>

    ServerAdmin [tu correo]
    ServerName dominio1.com
    ServerAlias dominio1.com *.dominio1.com
    DocumentRoot /var/www/dominio1.com
    Options Indexes FollowSymLinks MultiViews
    #ErrorLog /var/log/apache2/invitado/error.log

    <Directory /var/www/>
    Options ExecCGI FollowSymLinks
    AddHandler cgi-script .cgi
    AllowOverride all
    Allow from all
    Order allow,deny
    </Directory>


    </virtualhost>

    ## VirtualHost 2

    <virtualhost *>

    ServerAdmin [tu correo]
    ServerName dominio2.com
    ServerAlias dominio2.com *.dominio2.com

    DocumentRoot /var/www/dominio2.com
    Options Indexes FollowSymLinks MultiViews
    #ErrorLog /var/log/apache2/pumawifi.log

    <Directory /var/www/>
    Options ExecCGI FollowSymLinks
    AddHandler cgi-script .cgi
    AllowOverride all
    Allow from all
    Order allow,deny
    </Directory>

    </virtualhost>



    ServerAlias es para que coja todas las derivaciones, http, www.....

    Ahora creamos otro host virtual para que uliize SSL cifrado por el puerto 443:

    Para ello 1º creamos un directorio donde estarán los certificados

    mkdir /etc/certificados/
    cd /etc/certificados/

    Ahora creamos los certificados (video explicativo: http://pumawifi.org/?q=node/4):

    aptitude install openssl apache2-ssl-certificate 
    a2enmod ssl
    openssl genrsa -des3 -out server.key 1024

    nos pide una contraseña

    openssl rsa -in server.key -out server.pem

    utlizamos la misma contraseña en el siguiente paso, generamos la petición de firma del certificado

    openssl req -new -key server.key -out server.csr

    Lo autofirmamos, los días hemos puesto que dure durante 360 pero podemos cambiarlo

    y el common name al final cuando lo pida ponemos el nombre de nuesto dominio

    openssl x509 -req -days 360 -in server.csr -signkey server.key -out server.crt

    nos pide password y le ponemos el mismo de antes

    Incluimos estos certificados en el archivo nuevo que creamos en apache , para crear un host virtual que sea cifrado:

    nano /etc/apache2/sites-available/defaultssl

     


     

     

    NameVirtualHost *:443

    ## VirtualHost 1

    <virtualhost *:443>

    ServerAdmin [tu correo]
    ServerName dominio1.com
    ServerAlias dominio1.com *.dominio1.com
    DocumentRoot /var/www/dominio1.com
    Options Indexes FollowSymLinks MultiViews
    #ErrorLog /var/log/apache2/invitado/error.log

    SSLEngine on
    SSLCertificateFile
    /etc/certificados/server.crt
    SSLCertificateKeyFile
    /etc/certificados/
    server.pem
    <Directory /var/www/>
    Options ExecCGI FollowSymLinks
    AddHandler cgi-script .cgi
    AllowOverride all
    Allow from all
    Order allow,deny
    </Directory>

    </virtualhost>

    ## VirtualHost 2

    <virtualhost *:443>

    ServerAdmin [tu correo]
    ServerName dominio2.com
    ServerAlias dominio2.com *.dominio2.com


    DocumentRoot /var/www/dominio2.com
    Options Indexes FollowSymLinks MultiViews

    #ErrorLog /var/log/apache2/pumawifi.log
    SSLEngine on
    SSLCertificateFile
    /etc/certificados/server.crt
    SSLCertificateKeyFile /etc/certificados/server.pem

    <Directory /var/www/>
    Options ExecCGI FollowSymLinks
    AddHandler cgi-script .cgi
    AllowOverride all
    Allow from all
    Order allow,deny

    </Directory>

    </virtualhost>

     


     

     

    Para finalizar se crea un enlace simbólico en sites-enabled para que se cargue la nueva configuración:

    ln -s /etc/apache2/sites-available/default* /etc/apache2/sites-enabled/

    Editamos el archivo de configuración de apache para ganar en seguridad ya que no queremos que se vea la versión

    de nuestro apache cuando metan una dirección inexistente inclumos al final del archivo:

     

    nano /etc/apache2/apache2.conf

     

    ServerTokens Prod

    Reiniciamos apache:

    /etc/init.d/apache2 restart
  2. Descargas directas: Jdownloader en linux

    nota aclaratoria: 

    Instalación

    configuración script reinicio de router

    cuentas

    captcha automatico

    hacer update

     

     

     

     

     


    Como usuario normal damos la orden de que root también pueda ejecutar de forma grafica:


    xhost: local root

    Nos logueamos como root (su)

    Lo primero es instalar java ya que esta programado en este leguaje

    aptitude install sun-java6-bin

    Nos bajamos el probrama de la siguiente dirección:

    http://jdownloader.org/download/index

    O directamente un script de  instalación aunque con el script la cosa no me fue bien {#emotions_dlg.yell}

    Es un archivo zip de unos 28 Mgs, lo descomprimimos:

    aptitude install unzip
    unzip JDownloader_2010016.zip
    cd JDownloader

    ejecutamos la aplicación:

    java -jar jdupdate.jar

    Contestamos que si, cuando se instale ya se actualizará después elegimos el lugar de la instalación

    Complemento para firefox, de momento podemos darle a aceptar ya luego dentro del programa lo configuraremos.

    Cuando se ejecute por 1º vez se actualizará automaticamente

    En la parte inferior podems configurar la velocididad 0 (sin limite), las descargas máximas que pueden haber a la vez y las conexiones máximas

     

    Vamos a complementos  para configurar el programa y dentro en ajustes elegimos

    descargas y conexión

    Es el lugar donde guardar las descargas, limitación de velocidad

     

    después en la pesaña general los aseguramos de instalar flashgot ya que una utilidad para firefox o iceweasel que nos permite agregar enlaces de descarga con solo copiarlo en el portapapeles, es decir viendo un enlace megauoload al darle a cntrl+c o con el botón derecho copiar , automaticamente jdownlader lo capta y lo agrega para luego poder descargarlo.

    Dentro de interfaz--->navegador elegimos iceweasel o el que tengamos :

    En modulos JD anti captcha NO DESHABILITAR!!

    Seguimos en modulos y escojemos router y desconexion

    elegimos crear script de reconexión y le damos a iniciar, lo que hará es grabar los pasos que demos hasta que el router se reinicie, en este momento claro esta lo que debemos hacer es entrar en nuestro navegador porner la ip del router acceder con su user y pass darle a reboot o a reiniciar y cuando se vuelva a conectar, el programa jdownloader te avisara de que se ha reconectado y el script de reconexion se habra grabado correctamente.

    después en el menu de contraseñas y credenciales tenemos el submenu de contraseñas de descargas, estas son las que llevan algunos zip o rar que se las ponemos para que una vez descargado el archivo  jdownloader lo descomprima correctamente.

    En complementos he escogido el de web server para manejarlo desde otro ordenador a través de http y el de apagado automatico:

    por último configuramos jd interfaz web con https(http seguro) y un user y pass

     

    Si queremos actualizar en algún momento ponemos

    java -jar jdupdate.jar

    siempre con la orden (xhost: local root) como user normal al inciar debian para que nos deje ejecutar como root en modo grafico.

     

    lo
  3. Debian Atom custom kernel Optimizado

    nota aclaratoria: 

    kernel custom Samsung NC10

    escritorio e17

    debian testing

    hibernar y suspender

    prioridad audio

    flash y java

    ext4

    wireless wpa

     


    Instalamos debian desde un pendrive nos bajamos las imagenes testing http://cdimage.debian.org/cdimage/daily-builds/squeeze_d-i/current/i386/iso-cd/ yo me baje la netinstall,.

    ahora nos bajamos este archivo boot.im.gz de esta dirección: http://ftp.debian.org/debian/dists/squeeze/main/installer-i386/current/images/hd-media/

    insertamos un usb pendrive en el ordenador pero no lo montamos, vemos cual es la unidad con fdisk -l o con dmesg

    en mi caso es /dev/sdc

    asi que hacemos el pendrive bootable con debian para instalarlo en el netbook:

    zcat boot.img.gz > /dev/sdc

    mkdir /media/usblinux

    mount /dev/sdc /media/usblinux/

    en la bios del protatil le decimos que arranque desde usb flash

    seguimos los pasos de instalación de este artículo http://pumawifi.org/?q=node/18 salvo en el particionado de discos ya que esta vez lo vamos a hacer de forma diferente:

    particiones:

    /boot/-----------------------------------------300 MB  EXT4

    /------------------------------------------------20 GB   EXT4

    --------------------------------------------------2 GB     Swap (area de intercambio, ponemos el doble de la ram que tengamos)

    /home------------------------------------------Resto     EXt4

    Una vez particionado instalamos sistema base

    reiniciamos

    instalamos servidor ssh

    aptitude install ssh

    nos conectamos desde una maquina remota para facilitar las cosas

    ssh usuario@[ip]

    ahora vamos a http://kernel.org/ y copiamos la dirección del kernel mas reciente, en este caso pondremos por consola para bajarlo :

    cd /usr/src/

    wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.32.8.tar.bz2

    descomprimimos

    aptitude install bzip2

    tar -xvjf linux-2.6.32.8.tar.bz2

    Instalamos los paquetes necesarios para compilar:

    aptitude install kernel-package binutils libncurses5-dev libc6-dev build-essential zlib1g-dev

    como es la versión testing ejecutamos este comando para que kernel-package no de problemas:

    cp /usr/share/doc/kernel-package/examples/etc/kernel/postinst.d/initramfs /etc/kernel/postinst.d/initramfs-tools

    Os dejo los paquetes .deb compilados para que solo tengais que instalarlos:

    linux image :http://pumawifi.org/sites/default/files/linux-image-2.6.32.8_2.6.32.8-10.00.Custom_i386.deb

    linux headers :http://pumawifi.org/sites/default/files/linux-headers-2.6.32.8_2.6.32.8-10.00.Custom_i386.deb

    configuramos el nucleo:

    cd linux-2.6.32.8

    make menuconfig

    Processor type and features  --->   [*] Paravirtualized guest support  --->     desmarcamos  [*]   Lguest guest support

    Processor type and features  --->   Processor family (Pentium-Pro)  --->    marcamos (X) Intel Atom

    Processor type and features  --->    Preemption Model (Voluntary Kernel Preemption (Desktop))  --->   marcamos (X) Preemptible Kernel (Low-Latency Desktop)

    Processor type and features  --->    Timer frequency (250 HZ)  --->   marcamos (X) 1000 HZ

    Device Drivers  --->  Network device support  --->   [*]   Wireless LAN  ---> [*]   Wireless LAN (IEEE 802.11)  --->  <M>   Atheros Wireless Cards  ---> marcamos <M> Atheros 5xxx wireless cards support

    terminanos dos veces a Esc y guardamos la configuracion y creamos los paquetes deb:

    make-kpkg clean

    make-kpkg --initrd kernel_image kernel_headers

    instalamos los paquetes:

    cd /usr/src/

    dpkg -i linux-image-2.6.32.8_2.6.32.8-10.00.Custom_i386.deb


    dpkg -i linux-headers-2.6.32.8_2.6.32.8-10.00.Custom_i386.deb

    reboot

    inicializamos el nuevo nucleo

    actualizamos los repositorios:

    nano /etc/apt/sources.list

    deb http://security.debian.org/ testing/updates main

    deb-src http://security.debian.org/ testing/updates main

    deb http://ftp.us.debian.org/debian/ testing main contrib non-free

    deb-src http://ftp.us.debian.org/debian/ testing main contrib non-free

    deb ftp://ftp.debian-multimedia.org/ testing main

    deb-src ftp://ftp.debian-multimedia.org/ testing main

    apt-get update


    aptitude install debian-multimedia-keyring


    apt-get update


    aptitude dist-upgrade

    aptitude install kdm gtk-chtheme gtk2-engines-murrine  myspell-es apell-es iceweasel iceweasel-l10n-es-ar wicd localepurge bash-completion libdvdcss2 flashplugin-nonfree mesa-utils libgl1-mesa-glx libgl1-mesa-dri libglu1-mesa sun-java6-bin msttcorefonts alsa-base alsa-utils xine-ui sound-juicer qjackctl ardour nted timidity freepats jamin caps tap-plugins  geany vlc

    si miramos las conexiones

    iwconfig

    nos saldrá algo como:

    lo        no wireless extensions.

    eth0      no wireless extensions.

    wlan0     IEEE 802.11bg  ESSID:off/any
    Mode:Managed  Access Point: Not-Associated   Tx-Power=0 dBm
    Retry  long limit:7   RTS thr:off   Fragment thr:off
    Encryption key:off
    Power Management:off

    pan0      no wireless extensions.

    No hace falta instalar los driver madwifi, asi que solo hace falta configurar /etc/network/interfaces a nuestro gusto, en mi caso lo tengo con wireless-wpa

    nano /etc/network/interfaces

    # The loopback network interface
    auto lo
    iface lo inet loopback

    # The primary network interface
    #allow-hotplug eth0
    #iface eth0 inet dhcp

    auto wlan0
    iface wlan0 inet static
    address 192.168.1.147
    netmask 255.255.255.0
    network 192.168.1.0
    broadcast 192.168.1.255
    gateway 192.168.1.1
    dns-* options are implemented by the resolvconf package, if installed
    dns-nameservers 192.168.1.1

    ahora configuramos las dns

    nano /etc/resolv.conf

    ponemos

    nameserver 192.168.1.1

    creamos archivo de configuracion wpa:

    nano /etc/wpa_supplicant.conf

    ctrl_interface=/var/run/wpa_supplicant
    eapol_version=1
    ap_scan=1
    network={
    ssid="pumawifi_red"
    scan_ssid=1
    proto=WPA
    pairwise=TKIP CCMP
    group=TKIP CCMP
    key_mgmt=WPA-PSK
    psk="tu clave"
    }

    guardamos y probamos la red

    Atención no usar wpa-conf /etc/wpa_supplicant.conf en el fichero /etc/network/interfaces porque da porblemas

    /etc/init.d/networking restart

    wpa_supplicant -Dwext -iwan0 -c/etc/wpa_supplicant.conf

  4. Ps3 media Server (psm en linux por wifi)

    nota aclaratoria: 

    versión 1.10.5

    sistemas operativos compatibles:

    windows

    linux

    osx

    upnp

    hecho en java

    reproduce subtítulos

    divx, mpeg, mp3 , ogg, resoluciones hasta 1080P

     

     


    Como está basado en java lo instalamos, para ello editamos las sources y metemos los repositorios necesarios:

    nano /etc/apt/sources.lst

    pegamos esto:

    deb http://ftp.br.debian.org/debian/ lenny main non-free
    deb-src http://ftp.br.debian.org/debian/ lenny main non-free

    deb http://security.debian.org/ lenny/updates main non-free
    deb-src http://security.debian.org/ lenny/updates main non-free

    guardamos (cntrl+x) y actualizamos:

    apt-get update

    instalamos java:

    apt-get install sun-java6-jre sun-java6-plugin

    Ahora nos bajamos el pms (ps3 media server) del siquiente link:

    http://ps3mediaserver.googlecode.com/files/pms-linux-1.10.5.tgz

    lo descomprimimos

    tar -xvzf pms-linux-1.10.5.tgz

    nos metemos dentro y lo ejecutamos (nota en debia para ejecutar como roor aplicaciones graficas poner como user normal: xhost local:root)

    cd pms-linux-1.10.5

    Antes de ejecurar encendemos la ps3 (ha de estar en la misma red para que detecte el servidor multimedia)

    java -jar pms.jar

     

    Vemos que la ha encontrado sin problemas, ahora hay que configurar el programa:

    Aqui es donde le decimos que carpetas queremos compartir en la ps3, por defecto comparte todo, pero mejor especificar que es lo que queremos ver con el + se añaden los directorios

    Los valores que he puesto son para una conexión lenta (por wifi), asi que en buffer ponemos el máximo (600), en canales lo ponemos como estéreo, y el minimo bit-rate (384) y en ancho de banda 18 Mbitps

    Con esto acaba la configuración del pms, solo queda activar un parametro en el router:

    Activamos el WMM como enable en el router y listo para funcionar

  5. compilar kernel en debian (raid0)

    nota aclaratoria: 

    version actual de nucleo: 2.6.30.2

    actualizar a : 2.6.32.7

    procesador : intel core2 quad 9500 a 2,5 Ghz

    ram: 2gb a 1333 Mhz

    discos raptor raid 0

    tiempo: 90 min




    Primero miramos la versión del kernel que tenemos instalada:

    uname -a

    Ahora vamos a la pagina http://kernel.org/ y buscamos la última versón estable:

    <!--break-->

    una vez descargado vemos que es un tar.bz2 lo movemos a /usr/src

    mv linux-2.6.32.7.tar.bz2 /usr/src/

    lo descomprimimos y nos metemos dentro:

    tar -xvjf linux-2.6.32.7.tar.bz2

    cd linux-2.6.32.7

    Necesitamos instalar estos paquetes:

    aptitude install kernel-package binutils libncurses5-dev libc6-dev build-essential zlib1g-dev

    parece ser que en las versiones testing de el paquete kernel-package no nos genera bien el initrd, asi que hace falta cambiar algunas cosas,

    con este comando se solucionan los problemas (solo en las testing!!!):

    cp /usr/share/doc/kernel-package/examples/etc/kernel/postinst.d/initramfs /etc/kernel/postinst.d/initramfs-tools

    una vez instalados procederemos a la configuración del nucleo, para ello hay tres formas, yo lo hago con la mas común (menuconfig), hay gente que prefiere con xconfig, la cual tiene un aspecto más grafico, para hacerlo ponemos:

    make menuconfig

    para ir entre los menus con las flechas y para entrar con Enter, para salir dos veces a la tecla Esc y para activar y desactivar con la barra espaciadora

    cuando activamos algo su estado aparece entre corchetes [] con una m o con un *:

    [*] built-in

    [m] como modulo

    GENERAL SETUP

    nos metemos en General Setup ---> y dentro hay una opciÓn llamada enable deprecated sysfs features which may confuse old userspace tools

    la desactivamos, a mi por lo menos no ha hecho nada mas que darme problemas con el raid y su función viene a ser algo como:

    Esta opción crea enlaces simbólicos obsoletos como el "dispositivo" de enlace, el <subsystem>: <nombre>-Link, y el "bus"-Link. También puede
    añadir una clave obsoleta en el medio "uevent".
    Ninguna de estas características o valores deben ser utilizados en la actualidad, como controlador de exportación
    de detalles básicos de aplicación al espacio de usuario o de la exportación de propiedades que no pueden mantenerse estables en todas las versiones del kernel.

    Si está activada, esta opción también se moverá cualquier dispositivo de estructuras que pertenecen a una clase,
    de nuevo en el directorio / sys / jerarquía de clases, a fin de apoyar las versiones más antiguas de udev y algunos programas de espacio de usuario.
    Si usted está usando una distribución con los paquetes de espacio de usuario más reciente, debe ser seguro decir N aquí.

    PROCESSOR TYPE AND FEATURES

    Ahora toca configurar Processor type and features  ---> y dentro Paravirtualized guest support  --->

    para configurar la virtualizacion de otros sistemas operativos ya sea con xen o kvm

    Ahora sin salir de processor type and features nos metemos en el submenu Processor family (Core 2/newer Xeon)  --->

    En este caso yo marco core2 pero si por ejemplo teneis un netbook que seguramente lleve atom lo marcais, si es un amd pues la otra opción...

    salimos de nuevo a processor type and features y marcamos estas dos opciones si tenemos Hyperthreading y si tenemos mas de un procesador :

    [*] SMT (Hyperthreading) scheduler support                                                                   
    [*] Multi-core scheduler support

    unas opciones mas abajo nos metemos en Preemption Model (Voluntary Kernel Preemption (Desktop))  --->

    (Basicamente decidimos que tiene prioridad) donde tenemos para elegir tres opciones:

    No Forced Preemption (server): El kernel da prioridad a la acción actual y luego cunado acaba al siguiente proceso. (no nos interesa).

    Voluntary Kernel Preemption (desktop): Permitimos al kernel parar el proceso actual para atender en determinados momentos otos procesos.

    Preemptible Kernel (low latency desktop): El kernel para sus procesos para atender a otros, excepto en situaciones críticas. (la recomendada), es el que menos tiempos de respuesta dá.

    En el apartado Timer frequency (1000 HZ)  ---> elegimos 1000 mhz (para un servidor mejor 100 mhz)

    salimos al menu principal y escogemos :