22 mayo 2013

Problemas con broadcom bc4311 en Ubuntu 12.04 Price Pangolin

Que tal como siempre al cambio de cada distro tengo problemas con el driver de mi wi-fi así que busque y busque y encontré la solución en un foro de ubuntu así que aquí la resolución al problema de nuestra wi-fi

Pasos a seguir.
1 Abrir Synaptic y poner en el buscador 'bcm"
2 Asegurarse de que esten instalados los paquete "firmware-b43-installer" y "b43-fwcutter"
3 Marcar para desinstalar el paquete "bcmwl-kernel-source" y aplicar.

4 Escribir en un terminal:
cat /etc/modprobe.d/* | egrep 'bcm'
Aparecerá el texto "blacklist bcm43xx"
5 Después escribir:
# nano /etc/modprobe.d/blacklist.conf
y en el archivo que nos abre el gedit poner un # al comienzo de la linea: blacklist bcm43xx
6 Guardar.
7 Reiniciar la compu.
Y listo! espero le sirva de ayuda a alguien.

05 mayo 2013

Registro de logs en DB CakePhp 2.0.x

Podemos registrar logs de nuestra aplicación registrando en archivos o en su caso en la base de datos que en esta ultima manera es de que trata este tutorial, a continuación explico la manera de como implementar eta funcionalidad a sus aplicaciones hechas en CakePhp 2.0.x.

Como primer paso deberá crea la tabla en su base de datos:


CREATE TABLE IF NOT EXISTS `logs` (
`id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
`type` VARCHAR(20) NOT NULL,
`time` datetime NOT NULL,
`message` text NOT NULL,
PRIMARY KEY (`id`)
);


Una vez creada la tabla de la base de datos procedemos a crear el modelo de nuestra tabla:


/*Model/Log.php*/
class Log extends AppModel{
  public $name = 'Log';
}

Una vez hecho lo anterior se procederá a crear la clase DataBaseLogger la cual tendrá la finalidad de insertar en nuestra db y no en los archivos logs, crear el archivo app/Lib/Log/Engine/DatabaseLogger.php con el siguiente contenido:


App::uses('CakeLogInterface','Log');

class DatabaseLogger implements CakeLogInterface{
 
    function __construct($options = array()) {
        App::import('Model', 'Log');
        $this->Log = new Log;
    }
 
    function write($type, $message) {
        $log['type'] = ucfirst($type);
        $log['time'] = date('Y-m-d H:i:s');
        $log['message'] = $message;
 
        return $this->Log->save($log);
    }
 
}

Por último solo nos resta definir nuestra variable de configuración Cake indicando que el metodo de registro de logs sera por medio de inserción en la base de datos para esto se agregara la constante de configuración en AppController


class AppController extends Controller {
       
    function beforeFilter(){
         CakeLog::config('otherFile',array(
                'engine' => 'DatabaseLogger',
                'model' => 'Log')); 

    }
}
?>

Donde Engine hace referencia a DatabaseLogger y model al modelo de la tabla en la que se insertaran los logs.

Ahora bien el siguiente código muestra como utilizar la clase estatíca CakeLog con la función de login


/*metodo de Controlador*/
function login(){          $this->layout = "tpl_login";            if( ! $this->Session->read('Auth.User') ){               if ($this->request->is('post')) {                   if ($this->Auth->login()) {
                     CakeLog::write('info', 'User ' . $this->Auth->user('username') . ' successfully logged in.');

                    $this->redirect($this->Auth->redirect());
                  }else{
                    $this->Session->setFlash('Your username or password was incorrect.');
                  }
              }
          }else{
               $this->redirect($this->Auth->redirect());
          }         
     }
?>



Como se muestra en código anterior se utiliza la clase estatíca :
   CakeLog::write('info', 'User ' . $this->Auth->user('username') . ' successfully logged in.');

Para registrar cuando inician sesión los usuarios, los tipos de logs definidos por CakePhp son:


    'emergency'
    'alert'    
    'critical' 
    'error'    
    'warning'   
    'notice'    
    'info'      
    'debug'     

También puede definir sus propios tipos de logs para mas información

http://book.cakephp.org/2.0/en/core-libraries/logging.html



Resultado del registro









20 abril 2012

Backup and Restore Rules Iptables

Para hacer Backup

# iptables-save -c > iptables_backup.txt

Para hacer Restore

# iptables-restore -c < iptables_backup

01 marzo 2012

Acceso remoto PostgreSQL 8.4 en Ubuntu Server

Para habilitar el acceso remoto a postgres basta con editar dos archivos de configuración de nuestro gestor de base de datos, los cuales son /etc/postgresql/8.4/main/postgresql.con y /etc/postgresql/8.4/main/pg_hba.conf, antes de modificar cualquiera de estos dos ficheros te recomiendo realices una copia de seguriad por cualquier situación que suceda, así podrás comenzar de nuevo o en su caso dejar los valores de configuración por defecto, bueno comencemos:

Archivo de configuración postgresql.conf

Cambiara la línea


#listen_addresses = 'localhost'

Por

listen_addresses = '*'

Archivo de configuración pg_hba.cong

# Database administrative login by UNIX sockets
local all postgres ident

# TYPE DATABASE USER CIDR-ADDRESS METHOD

# "local" is for Unix domain socket connections only
local all all ident
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5

Por:

# Database administrative login by UNIX sockets
local all postgres md5

# TYPE DATABASE USER CIDR-ADDRESS METHOD

# "local" is for Unix domain socket connections only
local all all md5
# IPv4 local connections:
host all all 0.0.0.0/0 md5
# IPv6 local connections:
host all all ::1/128 md5
host all all 0.0.0.0 0.0.0.0 md5

Por último basta con reiniciar los servicios de postgres con el comando

#/etc/init.d/postgresql restart

Ahora podremos conectarnos remotamente con nuestro gestor de bases de datos.

27 julio 2011

Como resolver problema wi-fi broadcom bc43xx en ubuntu natty partner

Que tal desde el dia de ayer instale la nueva versión de ubunut 11.04 64 y ya con ella instalada me tope con el problema de que no tenia soporte mi wi-fi broadcom bcm4311, leyendo algunos tutoriales encuentro la solución solo basta con descargar el paquete deb de maverick (ubunut 10.10) instalarlo, reiniciar el equipo, y tendremos funcionando nuestra wi-fi.

Primero actualicemos nuestro sistema:

$ sudo apt-get update
$ sudo apt-get upgrade

Descargar el driver aqui de ubuntu 10.10, debes tomar en cuenta tu arquitectura sea 32 o 64.
Procedemos a instalar el paquete, en mi caso fue driver:

# dpkg -i bcmwl-kernel-source_5.60.48.36+bdcom-0ubuntu5_amd64.deb

Verificamos que no muestre algún mensaje de error al instalar, si todo va bien procedemos a reiniciar y tendremos nuestra wi-fi funcionando.


26 julio 2011

Como resolver el problema del menu Aptana Studio 3 en Unity de Ubuntu Natty Partner

Que tal bueno esta noche tuve un problema con el menu de Aptana Studio 3 y Unity de Ubuntu 11.04, por que ninguno de los menus del IDE se veia entonces me dedique a buscar para resolver el problema y es simple resolverlo con un simple script sh asi que este es el contenido:


#!/bin/bash
cd /opt/Aptana\ Studio\ 3
export UBUNTU_MENUPROXY=0
./AptanaStudio3

Toma muy en cuenta el path y el nombre en donde se encuentra instalado Aptana Studio 3.
Posteriormente puedes crear un lanzador de tipo (Aplicacion en Terminal), basta con hacer referencia al archivo y agregarle un Icono al mismo y abrira el ide ya con sus menus correspondientes.

RESULTADO=







25 agosto 2010

Apagado automatico en Debian

Bueno pues aunque simple pero funciona el apagado automatico de debian con tarea programada crontab.

# crontab -e

0 0 * * * /sbin/shutdown -h now

Salvar los cambios, esto quiere decir que se apagara el equipo a las 0 (24hr) todos los dias explicacion rapida:

Minutos Entre 0 y 59
Horas Entre 0 y 23
Día Entre 1 y 31
Mes Entre 1 y 12
Dia de la semana Entre 0 y 6. 0 es Domingo, 1 Lunes, … 6 Sábado

Solo queda reiniciar el cron

# /etc/init.d/cron restart

Para ver las tareas programadas el siguiente comando

# crontab -l

Listo espero les sea de ayuda, esto lo aplique a mi servidor WEB casero solo se apague por las noches, invstigare si se puede encender automaticamente pero sera en otro POST saludos.......

Excel 2013, convertir mes en texto a numero

Si tienes un mes en formato ENERO este lo cambiara a 02, funciona en la versión de Excel 2013, solo se tienen que reemplazar J2 por la celda...