Autor: miguel

  • Adaptación del entorno Lamp

    Si tenemos un Linux instalado con Apache, Mysql y PHP instalado, tal vez nos vendrán bien una serie de configuraciones que nos ayudarán a que nuestro sistema funciones con las máximas prestaciones y sin problemas.

    Para ello enumeraremos una serie de puntos bastante útiles:

    1. Manejo de base de datos Mysql

    Existen dos formas cómodas de manejar las base de datos Mysql de forma gráfica. Una forma web (apt-get install phpmysql) y otra en forma de aplicación de escritorio (apt-get install mysql-workbench)

    2 . Problema en Apache

    Si tienes este error:

    apache2: Could not determine the server's fully qualified domain name, using 127.0.0.1 for ServerName

    entonces con un editor de texto como «sudo nano» en la linea de comandos or «gksudo gedit» en el escritorio crea un nuevo fichero,

    $ sudo nano /etc/apache2/conf.d/fqdn

    o

    $ gksu "gedit /etc/apache2/conf.d/fqdn"

    entonces añade

    ServerName localhost

    y salva el fichero. Esto se puede hacer con una simple comando como el que sigue:

    $ echo "ServerName localhost" | sudo tee /etc/apache2/conf.d/fqdn

    3 .Virtual Hosts

    Apache2 tiene el concepto de sites, los cuales tienen ficheros de configuración separados que Apache2 leerá. Estos están en  /etc/apache2/sites-available. Por defecto, solo hay un sitio disponible llamado default que es el que se ve cuando desde el navegadores se pone la dirección http://localhost o http://127.0.0.1. Se pueden tener muchos configuraciones de distintos sitios disponibles y activarlas solo cuando se necesiten

    Por ejemplo, queremos que el sitio por defecto apunte a /home/user/public_html/. Para hacer esto, necesitamos crear un nuevo sitio y habilitarlo en  Apache2.

    Para crear el sitio:

    Copiamos el sitio web por defecto que utilizaremos como punto de partida.

    sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/mysite

    Editar el nuevo fichero de configuración con un editor de texto «sudo nano» en la línea de comandos o  «gksudo gedit» para el escritorio, por ejemplo:

     gksudo gedit /etc/apache2/sites-available/mysite

    Cambia DocumentRoot a la nueva localización. Por ejemplo, /home/user/public_html/

    Cambia la directiva Directory, reemplázndola de <Directory /var/www/> a <Directory /home/user/public_html/>

    Se pueden separa los logs de cada sitio. Para hacer esto, cambia las directiva ErrorLog y CustomLog. Esto es opcional pero aconsejable si tenemos muchos sitios.

    Salvar el fichero

    Ahora debemos desactivar el sitio antiguo y activar el nuevo. Ubuntu provee dos utilidades para hacer esto: a2ensite (apache2enable site) y a2dissite (apache2disable site).

    $ sudo a2dissite default && sudo a2ensite mysite

    Finalmente, reiniciaremos Apache2:

    $ sudo /etc/init.d/apache2 restart

    Si no se ha creado todavía /home/user/public_html/, se recibirá un mensaje de aviso.

    Para testear el nuevo sitio, creamos un fichero index.html en /home/user/public_html/:

    $ echo '<b>Hello! It is working!</b>' > /home/user/public_html/index.html

    Finalmente, navega a  http://localhost/

    4. Ejecutar, Parar, Testear, y reiniciar Apache

    Usa los siguientes comando para ejecutar Apache :

    $ sudo /usr/sbin/apache2ctl start

    Para pararlo, usa:

    $ sudo /usr/sbin/apache2ctl stop

    Para testear los cambios de configuración, usa :

    $ sudo /usr/sbin/apache2ctl configtest

    Finalmente para reiniciarlo, ejecute :

    $ sudo /usr/sbin/apache2ctl restart

    Alternativamente, puedes usar una interfaz gráfica, instalando Rapache o el mas simple localhost-indicator.

    5. Usando Apache

    Se puede acceder a apache tecleando 127.0.0.1 o http://localhost (por defecto, escuchará en el puerto 80) en la barra de navegación de tu navegador. Por defecto, el directorio por defecto de apache está en  /var/www . Este directorio necesita acceso de root para poner poner fichero dentro de él. Una forma de hacer este es ejecutar el navegador de internet desde una terminal como root con el comando:

    $ gksudo nautilus

    o

    si quieres hacer /var/www de tu propiedad. (Usa esto solo en servidores web que no estén en producción – este no es un modo seguro de hacer las cosas.)

    $ sudo chown -R $USER:$USER /var/www

    6. Estado

    Para chequear el estado de tu instalación PHP:

     $ gksudo "gedit /var/www/testphp.php"

    e inserta la siguiente línea en el fichero testphp.php

     <?php phpinfo(); ?>

    Visualiza esta página en tu navegaror web en  http://yourserveripaddress/testphp.php or http://localhost/testphp.php

     

  • Instalación de paquetes multiples en linux

    Todos hemos tenido la necesidad en multiples ocasiones de instalar varios servicios después de hacer la instalación básica de una distribución por defecto.

    Existe la conocida «apt-get install» donde le indicaremos el nombre del paquete:

    apt-get install mysql-server

    En muchas ocasiones queremos instalar por ejemplo las aplicaciones necesarias para disponer de un servidor web en nuestro equipo, por ejemplo. Tendremos que instalar probablemente, apache, mysql, php y todos sus aplicaciones básica y relacionadas. Las distribuciones basadas en debian nos ofrecen el comando «tasksel» que se puede instalar con «apt-get install tasksel».

    Su interfaz es muy simple:

    Screenshot from 2013-08-15 10:20:48Cómo se vé ahora solo tendremos que seleccionar las opciones que queramos y al pulsar en ok, se nos instalará todas las herramientas necesarias para que todo funcione correctamente.

     

     

  • Patator, una herramienta de fuerza bruta multipropósito

    Patator es un script en Python para lanzar una gran diversidad de ataques de fuerza bruta, con un diseño modular que permite un uso flexible.

    Actualmente incluye los siguientes módulos:

    ftp_login : Fuerza bruta FTP
    ssh_login : Fuerza bruta SSH
    telnet_login : Fuerza bruta Telnet
    smtp_login : Fuerza bruta SMTP
    smtp_vrfy : enumera usuarios válidos mediante el comando SMTP VRFY
    smtp_rcpt : enumera usuarios válidos mediante el comando SMTP RCPT TO
    finger_lookup : enumera usuarios válidos mediante Finger
    http_fuzz : Fuerza bruta HTTP/HTTPS
    pop_passd : Fuerza bruta poppassd (not POP3)
    ldap_login : Fuerza bruta LDAP
    smb_login : Fuerza bruta SMB
    mssql_login : Fuerza bruta MSSQL
    oracle_login : Fuerza bruta Oracle
    mysql_login : Fuerza bruta MySQL
    pgsql_login : Fuerza bruta PostgreSQL
    vnc_login : Fuerza bruta VNC
    dns_forward : reenvía búsquedas de subdominios
    dns_reverse : búsqueda inversa de subredes
    snmp_login : Fuerza bruta SNMPv1/2 y SNMPv3
    unzip_pass : Fuerza bruta de las contraseñas de ficheros ZIP
    keystore_pass : Fuerza bruta de las contraseñas de ficheros keystore Java

    Más información y sintáxis en su repositorio oficial.
    Advertencia: no se trata de una herramienta amigable o para script kiddies. Normalmente se requieren muchos parámetros para su ejecución, lo cual le hace más efectiva.
  • Enable AutoMount USB Drivers on Ubuntu Server

    By default, disk drives do not automount in Ubuntu Server Edition. If you are looking for a lightweight solution that does not depend on HAL/DBUS, usbmount is a good choice.

    The USBmount Debian package automatically mounts USB mass storage devices (typically USB pens) when they are plugged in, and unmounts them when they are removed. The mountpoints (/media/usb[0-7] by default), filesystem types to consider, and mount options are configurable. When multiple devices are plugged in, the first available mountpoint is automatically selected. If the device provides a model name, a symlink /var/run/usbmount/MODELNAME pointing to the mountpoint is automatically created.

    The script that does the (un)mounting is called by the udev daemon. Therefore, USBmount requires a 2.6 (or newer) kernel.

    USBmount is intended as a lightweight solution which is independent of a desktop environment. Users which would like an icon to appear when an USB device is plugged in should use the pmount and hal packages instead.

    USBmount is licensed under an ‘all-permissive license’ (i.e. everything is allowed, as long as the copyright and license notices and the warranty disclaimer are preserved). See the debian/copyright file in the package for details. (USBmount website)

    Install usbmount in Ubuntu:

    usbmount is available in Ubuntu repository, use this command to install it:

    sudo apt-get install usbmount
  • Khan Academy, todo para aprender mediante vídeos en tu iPad

     

    Si por algo me gusta el iPad es por sus inmensas posibilidades para la enseñanza. Libros, aplicaciones multimedia interactivas, vídeos, audio, podcasts, tests, anotar en archivos PDF…. si utilizamos todas ellas para aprender facilitará muchísimo nuestro camino. Hoy vamos a hablar de Khan Academy, nada más y nada menos que 2700 vídeos gratuitos en una aplicación para el iPad . Así, podremos aprender sobre matemáticas, biología, química inorgánica y orgánica, salud y medicina, física, astronomía, informática, finanzas, ….. Por si fuera poco, muchos de los vídeos están subtitulados por si tenemos algún problema con el inglés o también por si queremos repasar. La verdad es que la calidad de las explicaciones, la calidad del vídeo y el buen hacer del profesor hacen una auténtica delicia aprender cualquier cosa. Lo que sea.

    Khan Academy tiene la opción de descargar todos los vídeos de un tema para poder verlos sin necesidad de una conexión a internet. Y, como ya no se entiende una aplicación sin conexión a las redes sociales, ni siquiera en las educativas, podremos postear sobre un tema en Facebook o Twitter desde la aplicación. Khan Academy es una auténtica maravilla, gratuita, y si estáis en edad de aprender (y creo que todos lo estamos) es una aplicación más que recomendable.

    Más información | Khan Academy

    Enlace Original AppleSfera

  • sshput: Configurar el login sin password para servidores remotos SSH

    Aunque generar las claves publica/privada y subirlas a un servidor remoto SSH para que nos permita conectar directamente a la máquina sin necesidad de que nos pida la password es muy sencillo, nunca ésta de más tener un simple script que nos simplifique éstos pasos. Para ello podemos usar sshput, que nos permite generar las claves y despues indicando el usuario y dirección del servidor ssh, ya se encarga de subir la clave pública para que las siguientes veces que queramos acceder a ése servidor (y si tenemos los correspondientes permisos a la máquina) ya no tengamos que meter la password.

    Sintaxis: sshput usuario_remoto@maquina_remota

    #!/bin/sh
    # sshput <remotehost>
    #
    # Puts your local DSA public key into the .ssh/authorized_keys 
    # on a remote machine. This should allow you to login without
    # needing a password.
    #
    # This software comes with no guarantees whatsoever, and is yours to 
    # do with as you will. I'd be grateful if you feed any generally-useful 
    # improvements back to me, for the benefit of others.
    #
    # Quentin Stafford-Fraser http://www.qandr.org/quentin
    PUBKEY="${HOME}/.ssh/id_dsa.pub"
    if [ $# -ne 1 -o "$1" = "-h" ]
    then
     echo
     echo Syntax:
     echo "$0 [user@]<remotehost>"
     echo
     exit 1
    fi
    if [ ! -r ${PUBKEY} ]
    then
     echo
     echo Public key ${PUBKEY} not found.
     echo You can generate this by running
     echo " ssh-keygen -t dsa"
     echo Then come back and run $0 again.
     echo
     exit 1
    fi
    echo If you are prompted for a password, enter your password on the
    echo remote machine.
    cat ${HOME}/.ssh/id_dsa.pub | 
     ssh $1 'mkdir -p -m 0700 ${HOME}/.ssh && 
     cat >> $HOME/.ssh/authorized_keys && 
     chmod 0600 $HOME/.ssh/authorized_keys'
    if [ $? -eq 0 ]
    then
     echo Public key installed on remote machine.
     echo You should now be able to connect with
     echo " ssh $1"
     exit 0
    else
     echo Sorry, an error occurred!
     exit 1
    fi

    Enlace original | sshput

    Enlace traducido

  • OWNCLOUD 2: YOUR PERSONAL CLOUD SERVER

    ownCloud is a free software alternative to some proprietary web services and it currently includes file management (with built-in file sharing), music streaming, calendar, contacts and more – all running on your computer or server..

    Try ownCloud 2

    If you want to try ownCloud before installing it, simply go to http://demo.owncloud.org/ .

    Install ownCloud 2

    The latest ownCloud 2 isn’t available in the official Ubuntu repositories so you must install it manually.

    1. Install the ownCloud 2 dependencies:

    sudo apt-get install apache2 php5 php-pear php-xml-parser php5-sqlite php5-json sqlite php5-mysql mp3info curl libcurl3 libcurl3-dev php5-curl zip

    2. Download ownCloud 2 and copy it to /var/www/:

    cd wget http://owncloud.org/releases/owncloud-2.tar.bz2 tar -xvf owncloud-2.tar.bz2 sudo mv owncloud /var/www/owncloud

    3. Set up the permissions:

    sudo chown -R www-data:www-data /var/www/owncloud

    4. Restart Apache:

    sudo /etc/init.d/apache2 restart
    5. Open a browser and enter http://localhost/owncloud – if you get an error similar to this: «No database drivers (sqlite or mysql) installed.«, restart your computer and the error should be gone.

    Ok, now back to: http://localhost/owncloud – here you’ll be prompted to enter a new admin username and password and you’re done!
    These instructions* can also be found @ ownCloud’s website, along with Arch Linux, openSuse, Fedora, CentOS, Gentoo, Mac and Windows installation instructions.

    Increase the maximum allowed file size


    By default, you can’t upload files larger than 2 mb to ownCloud. To change this you need to edit /etc/php5/apache2/php.ini:

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


    In this file, search for:

    upload_max_filesize post_max_size


    And change their value to whatever you want. Then save the file and restart Apache:

    sudo /etc/init.d/apache2 restart


  • Ubuntu 11.04 Servidor Samba

    Este tutorial explica la instalación del servidor de fichero Samba en Ubuntu 11.04 y cómo configurarlo para compartir ficheros sobre el protocolo SMB así como cómo añadir usuarios. Configuraremos Samba como un servidor independiente, no como un servidor de dominio. Como resultado de la configuración, cada usuario tendrá su directorio propio accesible a través del protocolo SMB y todos los usuarios tendrán un directorio compartido con acceso de lectura/escritura.

    1 Notas preliminares

    Estamos usando un sistema Ubuntu 11.04 con el nombre de host server1.example.com y con la dirección IP 192.168.0.100.

    Todos los pasos de este tutorial se ejecutan con accesos de root. Asegúrate de haberte logeado como root:

    sudo su

    2 Instalando Samba

    Conectese a su servidor via shell e instale los paquetes de Samba:

    apt-get install libcups2 samba samba-common

    Edite el fichero smb.conf :

    vi /etc/samba/smb.conf

    En la sección global, elimine el signo «#» del principio de la línea security = user para que quede como esto:

    [...]
    # "security = user" is always a good idea. This will require a Unix account
    # in this server for every user accessing the server. See
    # /usr/share/doc/samba-doc/htmldocs/Samba3-HOWTO/ServerType.html
    # in the samba-doc package for details.
       security = user
    [...]

    Esto habilita a los usuarios de Linux para logearse en el servidor Samba.

    Cierre el fichero y reinicie Samba:

    /etc/init.d/smbd restart

    3 Añadiendo Directorios Samba

    Ahora, añadiremos el directorio que será accesible por todos los usuarios.

    Crea el directorio para compartir los ficheros y cambia el grupo al grupo users:

    mkdir -p /home/shares/allusers
    chown -R root:users /home/shares/allusers/
    chmod -R ug+rwx,o+rx-w /home/shares/allusers/

    Al final del fichero /etc/samba/smb.conf añade las lineas siguientes:

    vi /etc/samba/smb.conf

    [...]
    [allusers]
      comment = All Users
      path = /home/shares/allusers
      valid users = @users
      force group = users
      create mask = 0660
      directory mask = 0771
      writable = yes

    Si quiere que todos los usuarios tengan acceso de lectura y escritura a sus directorios particulares via Samba, añade las siguientes líneas al fichero /etc/samba/smb.conf:

    [...]
    [homes]
       comment = Home Directories
       browseable = no
       valid users = %S
       writable = yes
       create mask = 0700
       directory mask = 0700

    Ahora reinicie Samba:

    /etc/init.d/smbd restart

    4 Añadiendo y Gestionando Usuarios

    En este ejemplo añadiremos un usuario llamado tom. Puedes añadir tantos usuarios como sea necesario de la misma forma, solo reemplaza el nombre tom con el nombre deseado en los comandos.

    useradd tom -m -G users

    Añada una clave para el usuario tom en la base de datos de usuarios. Si el usuario tom no de sebe logear en el servidor Linux, sáltese este paso.

    passwd tom

    -> Introduzca la clave para el nuevo usuario.

    Ahora añada el usuario a la base de datos de usuarios Samba:

    smbpasswd -a tom

    -> Introduzca ahora la clave para el nuevo usuario.

    Ahora deberia logearse desde un ordenador Windows a través del explorador de fichero (la dirección es 192.168.0.100 o 192.168.0.100tom para el directorio particular de tom) usando el nombre de usuario tom y la clave especificada y almacenar ficheros tamto en la carpeta particular de tom o en el directorio compartido.

     

    Este artículo es una traducción del original.

  • Transmission-daemon on a headless Ubuntu server

    Use Transmission-daemon on a headless Ubuntu server for remote control the torrents. Here I installed Transmisiion-daemon in a headless server running Ubuntu.

    Transmission is a fast, simple and cross-platform free BitTorrent client,  feature spotlight are,

    • Uses fewer resources than other clients
    • Native Mac, GTK+ and Qt GUI clients
    • Daemon ideal for servers, embedded systems, and headless use
    • All these can be remote controlled by Web and Terminal clients
    • Bluetack (PeerGuardian) blocklists with automatic updates
    • Full encryption, DHT, PEX and Magnet Link support

    Check new release at www.transmissionbt.com.

    Installation(Ubuntu)
    $ sudo apt-get install transmission-cli transmission-common transmission-daemon

    Start and stop Daemon
    $ sudo /etc/init.d/transmission-daemon start (stop)

    Edit Configuration Settings

    First, stop the daemon before editing.

    $ sudo nano /etc/transmossion-daemon/settings.json

    Some options(ref to WIKI):

    • download-dir: String
    • incomplete-dir: String (directory to keep incomplete files in)
    • incomplete-dir-enabled: Boolean (default = false) When enabled, new torrents will download the files to incomplete-dir. When complete, the files will be moved to download-dir.
    • watch-dir: String
    • watch-dir-enabled: Boolean (default = false)
    • rpc-authentication-required: Boolean (default = false)
    • rpc-bind-address: String (default = “0.0.0.0″) Where to listen for RPC connections
    • rpc-enabled: Boolean (default = true)
    • rpc-password: String
    • rpc-port: Number (default = 9091)
    • rpc-username: String
    • rpc-whitelist: String (Comma-delimited list of IP addresses. Wildcards allowed using ‘*’. Example: “127.0.0.*,192.168.*.*”, Default: “127.0.0.1″ )
    • rpc-whitelist-enabled: Boolean (default = true)

    My sample setting file for example:
    {
    “blocklist-enabled”: 0,
    “download-dir”: “/home/user/downloads”,
    “incomplete-dir”: “/home/user/tpm”,
    “incomplete-dir-enabled”: 1,
    “download-limit”: 100,
    “download-limit-enabled”: 0,
    “encryption”: 1,
    “lazy-bitfield-enabled”: 1,
    “message-level”: 2,
    “open-file-limit”: 32,
    “peer-limit-global”: 240,
    “peer-limit-per-torrent”: 60,
    “peer-port”: 51413,
    “peer-port-random-enabled”: 0,
    “peer-port-random-high”: 65535,
    “peer-port-random-low”: 1024,
    “peer-socket-tos”: 0,
    “pex-enabled”: 1,
    “port-forwarding-enabled”: 1,
    “preallocation”: 1,
    “proxy”: “”,
    “proxy-auth-enabled”: 0,
    “proxy-auth-password”: “”,
    “proxy-auth-username”: “”,
    “proxy-enabled”: 0,
    “proxy-port”: 80,
    “proxy-type”: 0,
    “rpc-authentication-required”: 1,
    “rpc-enabled”: 1,
    “rpc-password”: “transmission”,
    “rpc-port”: 9091,
    “rpc-username”: “transmission”,
    “rpc-whitelist”: “*”,
    “rpc-whitelist-enabled”: 1,
    “upload-limit”: 100,
    “upload-limit-enabled”: 0,
    “upload-slots-per-torrent”: 14
    }

    transmission-remote-gui

    Transmission Remote GUI is a tool to remotely control Transmission-daemon via its RPC  protocol. You can download native applications for Windows, Linux and Mac OS X. In Linux, to make the file «transgui» executable by doing the following,

    $ sudo chmod +x transgui

    I encountered difficulties with file permissions when I had Transmission save downloads within the /var/lib/transmission-daemon/. Therefore, I changed Transmissions setting to download to a folder within my home directory. To ensure that both I and the debian-transmission user had read/write permissions, I added my account to the debian-transmission group (which is created when you install transmission), and I changed the group ownership of my torrent download directory to debian-transmission. Doing so grants the debian-transmission group read/write access to that folder, preserves read/write/execute access for my account, and prevents access to all others.

    $ sudo usermod -a -G debian-transmission mjdescy
    $ chgrp debian-transmission ~/dl/torrent
    $ chmod 770 ~/dl/torrent

  • Grub Customizer

    Grub Customizer: la manera más “sencilla” de configurar el Grub
    Las prestaciones principales de este paquete para ubuntu y derivados son:
    Habilitar/deshabilitar entradas, cambiar el valor por defecto, el orden o los colores del menu se hace más simple utilizando Grub Customizer.

    Para instalarlo ejecuta:

    sudo add-apt-repository ppa:danielrichter2007/grub-customizer
    sudo apt-get update
    sudo apt-get install grub-customizer
    
    

    Lo ejecutamos con:

    gksudo grub-customizer &

    o desde Herramientas del Sistema > Grub Customizer