lunes, 6 de diciembre de 2010

Deshabilitar Internet Explorer en Windows 7

¿Porqué tener instalado Internet Explorer si uso otro navegador, te preguntaras? Si tienes preferencia por algún otro navegador web y quieres que Internet Explorer no te moleste existe una forma de deshabilitarlo.

Los pasos son sencillos y no te llevara mas de 5 minutos si me sigues correctamente:

1. Ir a Inicio> Buscar programas y archivos donde escribiras “Activar o desactivar características de Windows” (sin comillas). Alli podrás observar que ha encontrado la funcion que buscamos. Da click alli.
2. Se abrira una ventana donde se encuentran muchas carpetas, algunas seleccionadas y otras no. Como es obvio las seleccionadas son las que tienes en tu PC. De esta manera busca Internet Explorer 8, lo “des-selecciona” y Acepta los cambios.
3. El sistema pedirá reiniciar el PC, acepta la petición.



Observaras que luego del reinicio el Internet Explorer ya no se encuentra habilitado y no figura en los programas instalados.

martes, 31 de agosto de 2010

PHP 5.3 >> Funciones obsoletas

Con la llegada del PHP5.3 algunas características anteriores has sido obsoletas (Deprecated).

Ahora PHP 5.3 tiene dos nuevos niveles de error: E_DEPRECATED y nos advierte que la actual función esta obsoleta.

Pero no solo afecta a la programación sino también a la configuración del php.ini. La siguientes características lanza el error E_DEPRECATED al inicio de la ejecución.

* define_syslog_variables
* register_globals
* register_long_arrays
* safe_mode
* magic_quotes_gpc
* magic_quotes_runtime
* magic_quotes_sybase

En esta nueva versión también hay un montón de funciones obsoletas que es necesario conocerlas para evitar sustos desagradables:

* r call_user_method() (usar call_user_func() )
* call_user_method_array() (usar call_user_func_array() )
* define_syslog_variables()
* dl()
* ereg() (usar preg_match() )
* ereg_replace() (usar preg_replace() )
* eregi() (usar preg_match() )
* eregi_replace() (usar preg_replace() )
* set_magic_quotes_runtime() y sus alias, magic_quotes_runtime()
* session_register() (usar la superglobal $_SESSION )
* session_unregister() (usar la superglobal $_SESSION )
* session_is_registered() (usar la superglobal $_SESSION )
* set_socket_blocking() (usar stream_set_blocking() )
* split() (usar preg_split() )
* spliti() (usar preg_split() )
* sql_regcase()
* mysql_db_query() (usar mysql_select_db() and mysql_query() )
* mysql_escape_string() (usar mysql_real_escape_string() )
* El parametro is_dst de mktime(). Utilizar el nuevo controlador.

Y finalmente, para terminar pongo las ultimas características obsoletas en php 5.3:

* La asignación del retorno del valor de un new por referencia es obsoleto.
* Call-time pass-by-reference es obsoleta
* El uso de {} para acceder a índices de las cadenas es obsoleto. Se debe usar [] en su lugar.

domingo, 29 de agosto de 2010

Linux >> MySQL >> Restaurar privilegios usuario Root

Puede ocurrir (aunque es raro) que el usuario root de MySQL pierda los privilegios respecto a las bases de datos. Esto puede ser solucionado del siguiente modo:

Parar el servicio mysql (Entrar en services.msc y parar el servicio).
Iniciar mysql desde línea de comandos con la opción –skip-grant-tables:

mysqld --skip-grant-tables

o bien:

mysqld_safe --skip-grant-tables --skip-networking&

Abrimos otra consola, y nos conectamos al mysql con el usuario root, pero sin password:

mysql -u root

Seleccionamos la base de datos mysql:

use mysql;

Añadimos un nuevo superusuario llamado root2, de este modo creamos un ususario con todos los privilegios, a través del cual otorgaremos de nuevo los privilegios al usuario root:

INSERT INTO user VALUES('localhost', 'root2', '', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', '', '', '', '', '0', '0', '0');

Nota: La cantidad de columnas en el VALUES del INSERT puede variar según la versión del MySQL. Hacer un show create tables user; para ver cuantas columnas tiene la tabla.

Paramos el servicio mysqld –skip-grant-tables, podemos matarlo desde el taskmanager y arrancamos el servicio mysql de forma normal.
Accedemos con el nuevo superusuario (no tiene clave):

mysql -u root2

Otorgamos al usuario root los permisos necesarios:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY 'root_password' WITH GRANT OPTION;

Recargamos los privilegios:

FLUSH PRIVILEGES;

Eliminamos el usuario root2:

use mysql;

delete from user where user='root2';

flush privileges;

sábado, 7 de agosto de 2010

LInux >> consola >> cuál es mi distribución y versión

Suele suceder, que a veces queremos averiguar que versión de cierta distribución GNU/Linux estamos utilizando; o porque no, que Distribuciones GNU/Linuxdistribución de GNU/Linux se tiene instalada y no sabemos como averiguarlo.

Como siempre, la consola puede respondernos todo esto. Y mucho más.

Veamos qué comandos podemos utilizar para tal fin; usando mi distro como ejemplo:

# cat /etc/issue.net

Lo que nos devolverá un mensaje como el siguiente:

# Fedora release 13 (Goddard)

Es decir, que nos muestra la distribución y su versión.

También es posible que queramos un poco mas de información, para ello ejecutamos el siguiente comando:

# cat /proc/version

Lo que nos devolverá un mensaje como el siguiente:

# Linux version 2.6.33.6-147.2.4.fc13.x86_64 (mockbuild@x86-18.phx2.fedoraproject.org) (gcc version 4.4.4 20100630 (Red Hat 4.4.4-10) (GCC) ) #1 SMP Fri Jul 23 17:14:44 UTC 2010

Como vemos, nos muestra mucho más información, como la versión de Kernel, la arquitectura, la versión de Fedora, y demás.

Y si sabemos cual es la distribución, y queremos averiguar la versión de la distro utilizada, podemos ver en la siguiente lista (de la que me entero en Unix.com), los archivos de información para las diferentes distribuciones.

Novell SuSE: /etc/SuSE-release

Red Hat: /etc/redhat-release, /etc/redhat_version

Fedora: /etc/fedora-release

Slackware: /etc/slackware-release, /etc/slackware-version

Debian: /etc/debian_release, /etc/debian_version

Mandrake: /etc/mandrake-release

Yellow dog: /etc/yellowdog-release

Sun JDS: /etc/sun-release

Solaris/Sparc: /etc/release

Gentoo: /etc/gentoo-release

sábado, 10 de julio de 2010

Fedora Linux >> Instalar navegador Google Chrome versión estable

Gente querida, como estan? Aquí vamos con un nuevo post. Esto es muy interesante ya que podremos usar otro navegador, y conocido, aparte del Mozilla Firefox en nuestro Fedora. En este momento podremos instalar Chrome versión 5.0.375.99, actualizada.



1.Edita un archivo llamado google.repo en /etc/yum.repos.d/

#vi /etc/yum.repos.d/google.repo



2. Dentro del archivo escribe lo siguiente:

[google64]
name=Google - x86_64
baseurl=http://dl.google.com/linux/rpm/stable/x86_64
enabled=1
gpgcheck=1
gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub

Graba ésto haciendo [Esc], :wq, [Enter]

NOTA: para la versión de 32 bits cambiar en la linea name y en baseurl x86_64 por i386.

3. Instala google chrome

#yum install google-chrome-stable

Y listo!

Nota:
-----
Hay una variable que automatizaría esto… es $basearch o algo así… o sea, escribe $basearch en lugar de especificar tu arquitectura y ya….

Para verificar qué variable es, mira dentro de cualquier .repo en /etc/yum.repos.d/ y dedúcelo.

viernes, 9 de julio de 2010

Linux >> Uso de Consola >> Cómo modificar la hora del sistema y la bios

Para cambiar la hora del sistema usaremos el comando date, pero debemos tener en cuenta que al reinicializar la computadora, éste tomará la hora de la BIOS y nos volverá a colocar la hora anterior en el sistema. Para evitar esto cambiaremos también la hora de la BIOS con el comando hwclock como se detalla a continuación:

Suponemos que queremos colocar la fecha: 09-Jul-2010 y la hora 14:10.

Esto lo haremos como root:

# date --set "2010-07-09 14:10"

Fri Jul 09 14:14:00 CET 2010

Ahora realizaremos el mismo cambio para actualizar la fecha en la BIOS.

# hwclock --set --date="2010-07-09 14:10"

Para comprobarlo tecleamos:

# hwclock

Fri Jul 09 14:14:06 2010 -0.010586 seconds

Sencillo no?
Para más ayuda sobre el manejo de hora y fecha, y sus parámetros, escribimos:

# date --help

martes, 6 de julio de 2010

MySQL >> cambiar contraseña de usuario root

Sólo sigue estás instrucciones y podrás establecer una contraseña nueva. Necesitarás acceder a la consola o telnet con el usuario root del sistema.

1. DETENER EL SERVIDOR

#> service mysqld stop
o
#> /etc/rc.d/init.d/mysqld stop

2. INICIAR EN MODO FULL O ABIERTO

#> mysqld_safe --skip-grant-tables --skip-networking&

--skip-grant-tables esta opción causa que el servidor no use el sistema de privilegios lo que le da acceso ilimitado a todas las bases de datos a todos los usuarios de la base de datos.

NOTA: Si MySQL fue configurado y compilado con la opción '--disable-grant-options' entonces lo anterior no funcionará y no hay mucho que se pueda hacer entonces y no se podrá cambiar la contraseña, aunque en la práctica realmente esta opción casi no se usa.

--skip-networking deja de escuchar (LISTEN) conexiones TCP/IP provenientes de la red, es decir MySQL trabajaría en un ambiente totalmente local.

3. INICIAR EL MONITOR

#>mysql -u root

Como no hay sistema de privilegios en este momento, no se preguntara por la contraseña.

4. USAMOS LA BASE DE DATOS DEL SISTEMA mysql

mysql> use mysql;

5. ACTUALIZAMOS EL CAMPO QUE CAMBIARA LA CONTRASEÑA DE 'root'

mysql> UPDATE user SET password=PASSWORD('nuevo_pass') WHERE user='root';
Query OK, 1 rows affected (0.07 sec)
Rows matched: 1 Changed: 1 Warnings: 0

mysql> exit
#>


6. REINICIAMOS EL SERVIDOR.

#> service mysqld restart

domingo, 4 de julio de 2010

Fedora >> Instalar Eclipse

Eclipse es un IDE (Integrated Development Environment - Entorno Integrado de Desarrollo) construido para ser extensible y apoyar el desarrollo de software en todo su ciclo de vida.



Eclipse traicionalmente se conoce como un IDE para Java (y es fenomenal en ello!) pero es mucho más que eso, permitiendo a través de extensiones desarrollar en otros lenguajes como C, Python y PHP.

Antes de instalar Eclipse necesitas tener Java Runtime Environment (JRE) instalado en tu equipo. Recuerda que Fedora viene con OpenJDK (la versión abierta de Java) que funciona a la perfección, pero personalmente, para éstas tareas de desarrollo, recomiendo la versión oficial de Sun.

Para instalar el JRE puedes consultar éste post.

Eclipse está disponible en los repositorios de Fedora, pero no cuenta con todos los plugins disponibles y además dificulta en cierta manera agregar nuevos, así que optamos por descargar la versión oficial, consulta http://www.eclipse.org/downloads/ para obtener la última versión.

Nota: Al día de éste post la última versión es la Helios. Se descargará un archivo con extensión .tar.gz


Una vez descargado el archivo procedemos a descomprimirlo. Puedes hacerlo haciendo clic derecho sobre el archivo descargado y luego seleccionando la opción "Extraer aquí" o a través de la consola:

$ tar xzvf Descargas/eclipse-php-helios-linux-gtk-x86_64.tar.gz

Una vez descomprimido quedará una carpeta llamada eclipse que moveremos a la carpeta /opt digitando en consola (requiere contraseña de root):

$ mv Descargas/eclipse /opt/Eclipse

Esta instrucción es todo lo que necesitamos para "instalar" Eclipse.
Finalmente creamos un lanzador en el escritorio. Para ello vamos al escritorio y hacemos clic derecho en cualquier parte vacía del mismo. En el menú seleccionamos la opción "Crear un lanzador".

Verá una pantalla así:



Tipo: Aplicación
Nombre: Eclipse
Comando: /opt/Eclipse/eclipse
Descripción: Eclipse IDE

Si lo deseamos podemos personalizar el ícono de una vez, haciendo clic sobre "el trampolín" (La plataforma con resorte).

¡Listo! Eclipse está preparado para empezar a trabajar.

Nota: Si al ejecutar Eclipse por consola obtienes un error como:

opt/jdk1.6.0_18/bin/../jre/lib/i386/client/libjvm.so: no se puede restaurar el `prot' del segmento después de la relocalización: Permiso denegado.

Modifica el lanzador añadiendo como argumento la ubicación de la VM Java:

Comando: /opt/Eclipse/eclipse -VM /opt/jdk1.6.0_20/bin/java

Fedora >> Instalar JRE (Java Runtime Environment)

Fedora 12 viene por defecto con OpenJDK, la versión abierta de Java que es suficiente para la mayoría de las tareas. Sin embargo, si encuentra dificultades en la ejecución de aplicaciones (como por ejemplo applets) quizás le convenga instalar la versión oficial de Sun.

Para empezar vamos a descargar el software de Java, por favor consulta:
http://java.sun.com/javase/downloads/index.jsp

Nota: Hasta el día de éste post la última versión es la 6 update 20, recomiendo al lector visitar la página de Sun para obtener la última versión.
Nota: Descargamos el instalador con extensión .bin y NO el RPM.

Una vez hemos descargado la versión de Java adecuada procedemos a instalar algunas dependencias necesarias (Requiere contraseña de root):

yum install compat-libstdc++-33 compat-libstdc++-296


Una vez instaladas creamos el enlace de las nuevas librerías digitando en consola (Requiere contraseña de root):

/sbin/ldconfig

Ahora procedemos a instalar Java. Asumiendo que el instalador quedó en la carpeta Descargas ejecutamos en consola (Requiere contraseña de root) (una instrucción por línea):

$ su -
# cd /home/su-usuario/Descargas/
# mv jre-6u20-linux-i586.bin /opt
# cd /opt/
# chmod a+x jre-6u20-linux-i586.bin
# ./jre-6u20-linux-i586.bin

A continuación verá el acuerdo de licencia de Sun, presione barra espaciadora para bajar y al final digite "yes" seguido de Enter para aceptar el contrato. Comenzará la instalación de Java.
Una vez finalizado el proceso es momento de hacerla predeterminada en el sistema; primero creamos el archivo java.sh (puedes reemplazar gedit por tu editor de texto favorito, como por ejemplo nano o kwrite):

yum -y install gedit && gedit /etc/profile.d/java.sh


Dicho archivo debe contener las siguientes líneas:

export JAVA_HOME=/opt/jre1.6.0_20

export PATH=$JAVA_HOME/bin:$PATH

Guarda y cierra el editor de texto (Ctrl+O y Ctrl+X en nano), a continuación digita en una terminal (como root):

# source /etc/profile.d/java.sh
# alternatives --config java


Verás algo en pantalla como:

There is 1 programs which provide 'java'.
Selection Command
-----------------------------------------------
*+ 1 /usr/lib/jvm/jre-1.6.0-openjdk/bin/java

Enter to keep the current selection[+], or type selection number: (presiona Enter para continuar)

Nos muestra la lista de programas que proveen la funcionalidad de Java. En este caso sólo hay uno así que agregaremos el número 2. Con el siguiente comando:

# alternatives --install /usr/bin/java java /opt/jre1.6.0_20/bin/java 2


Nota: Si hubieran 2 programas ajusta el comando reemplazando el 2 del final por un 3 y así sucesivamente.

Con éste comando se debió haber agregado nuestra versión de Java, así que una vez más ejecuta:

# alternatives --config java


Ahora deberías ver algo como:

There are 2 programs which provide 'java'.
Selection Command
-----------------------------------------------
*+ 1 /usr/lib/jvm/jre-1.6.0-openjdk/bin/java
2 /opt/jre1.6.0_20/bin/java
Enter to keep the current selection[+], or type selection number:

Ingrese el número de la opción que ingresamos (por ejemplo 2). Si todo salió bien digita en consola:

$ java -version


Debes ver algo como:

java version "1.6.0_20"
Java(TM) SE Runtime Environment (build 1.6.0_20-b02)
Java HotSpot(TM) 64-Bit Server VM (build 16.3-b01, mixed mode)

Nota: cuando descargué el JRE desde el sitio de SUN seleccioné la versión para 64 bits, por eso indica eso en la descripción de la versión de Java.

sábado, 3 de julio de 2010

Fedora Linux >> Instalar drivers privativos de NVidia

Primera Parte: Configurando los Repositorios RPMFusion:

Los repositorios RPMFusion, mantenidos por la comunidad, proveen software No-Libre (como el controlador privativo de NVidia) para los equipos Fedora, RHEL, CentOS y equivalentes.

Éstos son necesarios para la instalación de los controladores privativos de NVidia, el cúal es el objetivo de éste post.

Para activarlos, solo es cuestión de ejectuar el siguiente comando en una terminal virtual (iaplicaciones-herramientas del sistema-terminal)

su -
rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm


Paso 2: Sacando el driver anterior de NVidia

Los sistemas Fedora Core 12 vienen con un driver Open Source integrado, llamado Nouveau.

Éste driver no permite que se instale nuestro driver privativo, así que procederemos a sacarlo.

gedit /etc/modprobe.d/blacklist.conf

y agregamos al final del archivo:

blacklist nouveau

Por último tipeamos:

gedit /boot/grub/menu.lst


Y agregamos como parámetro DESPUES (ABAJO) de la primera linea que comienza con kernel:

nouveau.modeset=0

Paso 3: Instalando los Drivers de NVidia.

yum install kmod-nvidia livna-config-display system-config-display

Ésto descargará, instalará y pondrá a disposición los paquetes del driver de NVidia.
Ahora es hora de configurar los Drivers:
tecleamos en una Terminal:

nvidia-xconfig

Y listo! Drivers Instalados.
Resteamos la computadora y chequeamos si tenemos Aceleración 3D.
Para eso tipeamos nuevamente en una terminal:

glxinfo | grep direct

SI la salida produce algo como: Direct Rendering: yes
es porque tenemos aceleración 3D:
Si devuelve un error parecido a éste: Error: glXCreateContext failed
debemos hacer lo siguiente:

Paso 4: Solucionar el problema del glx.

Para solucionar este problema basta con editar el archivo de configuración del xorg.conf.
Tipeamos:

gedit /etc/X11/xorg.conf

que debería tener una sección files.
La borramos y copiamos la siguiente:

Section “Files”
ModulePath “/usr/lib/xorg/modules/extensions/nvidia”
ModulePath “/usr/lib/xorg/modules”
EndSection

Reseteamos y Tenemos Aceleración 3D.

Si luego deseamos activar Compiz y nos dá error, seguramente necesitaremos hacer un yum update por consola, si no lo hicimos antes.

Fedora Linux >> Firefox : Instalar plugins Flash Player 64 bits (pre-release)

Nota: Debido a que ésta versión contiene una vulnerabilidad crítica, se aconseja su uso en portales de internet de total confianza y para el resto usar bloqueadores de flash (Adblock, Flashblock). Si decides no correr riesgos puedes volver a la versión para 32 bits con el paquete nsplugginwraper.

Tenemos dos métodos: Vía repositorios o instalando el archivo descomprimible.

1. Vía repositorios:

su -
yum erase flash-plugin nspluginwrapper*
cd /etc/yum.repos.d/
curl -O http://www.dfm.uninsubria.it/compiz/fusion-testing/flashplayer.x86_64/flash.repo
rpm --import http://www.dfm.uninsubria.it/compiz/fusion-testing/flashplayer.x86_64/RPM-GPG-KEY-leigh123linux
yum install flash-plugin


2. Instalando el descomprimible. Accedemos al directorio dónde se encuentran los plugins:

cd /usr/lib64/mozilla/plugins/

Si instalamos la versión de flash player para 64 bits la eliminaremos:

rm libflashplayer.so

Bajamos la última versión del plugin (revisar en la web de adobe si hay alguna versión más actual cuya versión es solo para 32 bits).

wget http://download.macromedia.com/pub/labs/flashplayer10/libflashplayer-10.0.42.34.linux-x86_64.so.tar.gz

Descomprimimos el paquete tar.gz

tar xvzf libflashplayer-10.0.42.34.linux-x86_64.so.tar.gz


Eliminamos el descomprimible:
rm libflashplayer-10.0.42.34.linux-x86_64.so.tar.gz

En la barra de direcciones escribimos about:plugins y comprobamos que nos aparece el plugin de Flash Player con esta leyenda:

Shockwave Flash

Nombre del fichero: libflashplayer.so
Shockwave Flash 10.0 r42

Fuente: http://noctuido.wordpress.com/category/plugins/

domingo, 13 de junio de 2010

Crear o Eliminar un usuario en MySQL

CREAR UN USUARIO
---------------------


Existen 3 métodos pero aquí describiré los 2 mejores o principales, según mi criterio:

1.Con la sentencia GRANT

Utilizando la sentencia GRANT podemos crear un usuario a la par que otorgarle uno o varios privilegios sobre los objetos de una base de datos, o la base de datos completa.
Al encontrarse una sentencia de tipo GRANT, el motor de MySQL revisa si el usuario existe previamente para el contexto que estamos asignándole permisos, y si dicho usuario no está presente en el sistema, lo crea.
No entraré en detalles sobre todas las opciones que nos permite ejecutar la sentencia GRANT, sino solo en las que se refieren a la creación del usuario.
Pongamos un ejemplo, queremos crear el usuario adolfo para la base de datos test:

- Nos conectamos con un usuario que tenga privilegios, root, como propietario de la base de datos, los tiene.

$ mysql -u root
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 17
Server version: 5.0.67 Source distribution


Nos conectamos utilizando -u para indicarle el usuario y si quisieramos indicarle un password, deberiamos poner -p (sin añadirle la contraseña), en este caso la cuenta root, al ser una máquina de desarrollo, está desprotegida.

- Lanzamos la sentencia GRANT, indicando los permisos que otorgamos, la base de datos y los objetos de la misma sobre los que estamos asignando privilegios, el nombre del usuario y el password:

mysql> GRANT SELECT, INSERT ON test.* TO 'hugo'@'localhost' IDENTIFIED BY 'escribir_pass';

En este ejemplo permitimos al usuario hugo que seleccione (SELECT) e inserte (INSERT) en todos los objetos (*) de la base de datos test, además indicamos que el contexto sea la máquina local de la base de datos (localhost), lo que impedirá que el usuario se conecte desde otras máquinas, y finalmente asignamos un password mediante IDENTIFIED BY.

Si quisieramos que el usuario no tuviera un password, deberemos omitir la cláusula IDENTIFIED BY.
En el caso de que el modo SQL del servidor estuviera en NO_AUTO_CREATE_USER, la creación de usuarios no estaría permitida a no ser que tuvieran asignado un password no vacío.

- Una vez hecho esto, podremos conectarnos con nuestro usuario y realizar las acciones para las que hemos asignado permisos:

$ mysql -u hugo -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 19
Server version: 5.0.67 Source distribution
mysql> use test;
Database changed
mysql> select * from equipos;
+-------------------+------------+
| nombre | pais |
+-------------------+------------+
| Boca Juniors | Argentina |
| Real Madrid | España |
| Manchester United | Inglaterra |
+-------------------+------------+
3 rows in set (0,03 sec)


Más detalles sobre la sentencia GRANT y los privilegios disponibles en la documentación de mysql.

2.La sentencia CREATE USER

A partir de la versión MySQL 5.0.2 existe la posibilidad de crear usuarios sin necesidad de asignarles privilegios, utilizando la sentencia CREATE USER.

Por ejemplo, para crear el usuario fernando:

$ mysql -u root
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 20
Server version: 5.0.67 Source distribution
mysql> CREATE USER 'carlos'@'localhost' IDENTIFIED BY 'pass_carlos';
Query OK, 0 rows affected (0,00 sec)


Al igual que con la sentencia GRANT, el contexto 'localhost' define que el usuario solamente se puede conectar desde el servidor de MySQL, y el IDENTIFIED BY define el password del usuario, se puede omitir, para un usuario sin password, siempre que el modo SQL no sea NO_AUTO_CREATE_USER.

Conexión con el usuario, utilizando la opción -p:

$ mysql -u carlos -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 22
Server version: 5.0.67 Source distribution


Los privilegios necesarios para ejecutar la sentencia CREATE USER son CREATE USER o bien INSERT en la base de datos mysql.
El usuario recién creado no tiene privilegio alguno, por lo que deberemos asignarle permisos utilizando sentencias GRANT (esta vez sin la cláusula IDENTIFIED BY).

Más detalles sobre esta sentencia en la documentación de mysql.

ELIMINAR UN USUARIO
------------------------


Ejecutamos 2 lineas estando como root. Con la primera instrucción le quitamos todos los privilegios al usuario sobre la base de datos, y con la segunda instrucción lo eliminamos.
Por ejemplo, teniendo creado el usuario hugo, y ligado a la base de datos test:

mysql>revoke all on test.* from hugo@localhost;
mysql>drop user hugo@localhost;


Más detalles sobre esta sentencia en la documentación de mysql.


OTORGAR PRIVILEGIOS

--------------------
Si queremos otorgarle TODOS los permisos sobre una base de datos a un usuario existente, hacemos lo siguiente:

mysql> GRANT ALL ON nombre_base_datos.* TO 'usuario_base_datos'@'%';

En este caso el ámbito del usuario es %, por lo cual es accesible desde equipos remotos. Si deseamos que el acceso a la base de datos con el usuario sea en forma local reemplazamos % por localhost.

viernes, 11 de junio de 2010

Desactivar Magic Quotes en PHP (php.ini)

“Comillas Mágicas” es un mecanismo de seguridad de PHP que escapa de manera automática comillas dobles y sencillas y barras invertidas con barras invertidas para evitar técnicas de inyección SQL.

Este sistema nació para evitar que los novatos escriban código inseguro pero ha terminado convirtiéndose en una característica tan molesta que actualmentesuele venir deshabilitada por defecto. Incluso los desarrolladores de PHP desaconsejan su uso.

El problema principal se presenta cuando ejecutamos nuestros scripts en diferentes servidores que pueden tener activado o no este mecanismo, y sobre todo si no tenemos acceso a la configuración del sistema como es el caso de los servidores de hosting compartidos.

PHP tiene dos funciones que escapan y desescapan cadenas que son addslashes() y stripslahes(). Si hemos escrito nuestro script en una máquina con Magic Quotes deshabilitadas, lo lógico es que escapemos nosotros mismos las variables con addslashes. Ese mismo código en un servidor con Magic Quotes activado nos daría este resultado:

$_POST['poblacion'] = "L\'alcudia";
echo addslashes($_POST['poblacion']); //escribiría "L\\\'alcudia".
Por otra parte, si no hubiésemos utilizado addslashes() confiando en Magic Quotes, en un servidor sin este mecanismo nos permitiría hacer un INSERT en una base de datos sin escapar las comillas, lo que normalmente causaría error, o algo mucho peor como una inyección SQL.

En primer lugar debemos deshabilitar esta característica en la configuración de PHP editando php.ini.

magic_quotes_gpc = Off En segundo lugar escribiremos una función para recoger las variables de formulario y las escape en caso necesario inluyéndola en nuestro script con un require(). Para detectar el estado de la configuración de Magic Quotes utilizaremos la función get_magic_quotes_gpc(). Un ejemplo podría ser:

function getFormVars($request_vars)
{
$form_vars = array();
while (list($key, $value) = each($request_vars)){
if (!get_magic_quotes_gpc()){
$var_text = addslashes($value);
}else{
$var_text = $value;
}
$form_vars[$key] = $var_text;
}
return $form_vars;
}
A esta función le pasaremos como argumento $_POST, $_GET, $COOKIE o $_REQUEST y devolverá una matriz asociativa con las variables escapadas convenientemente.

Fuente: http://www.s3v-i.net

lunes, 7 de junio de 2010

Instalación y Configuración de Apache, PHP y MySQL en Fedora Linux.

Instalar apache, php, mysql y phpmyadmin.
---------------------------------------------------

Como primer medida, aunque es opcional, hay que actualizar todo nuestro sistema. Entonces, debes ejecutar el siguiente comando por consola (shell), siempre en modo root:

#yum update


Una vez que se terminó de actualizar nuestro linux, debes proceder a la instalación del servidor apache, php y el servidor mysql en sus últimas versiones, con el comando:

#yum install httpd php php-gd mysql-server php-mysql phpMyAdmin


Iniciando los servicios:
-------------------------------

Una vez instalados podes ponerlos a trabajar el Apache y MySQL, ejecutando los comandos:

# service httpd restart

# service mysqld start

Si deseas que cada vez que la computadora o servidor inicia o bootea, querés que los servicios del Apache y del MySQL se inicien automáticamente, existen 2 formas:

1: Ir a los servicios, mediante el menú principal del X Server y tildar o marcar los servicios httpd y mysql para activarlos.

2: Escribir en la consola (es el camino que yo uso):

chkconfig --levels 235 httpd on
chkconfig --levels 235 mysqld on

o bien:

chkconfig –level on

Y luego, por ejemplo, para añadirlo al nivel de arranque número 5:

chkconfig –level 5 mysqld on

chkconfig –level 5 httpd on

Y para añadirlo al los niveles 3 y 5

chkconfig –level 35 mysqld on

chkconfig –level 35 httpd on

Y para quitarlos del nivel 5:

chkconfig –level 5 mysqld off

chkconfig –level 5 httpd off


Configuración de Apache.
-----------------------------

En Fedora no es necesario tocar nada, mas creo oportuno mencionar que los archivos de configuración están en /etc/httpd/conf/httpd.conf.

Para tener en cuenta en el Apache:
.Si queremos que los archivos de nuestro sitio web esten ubicados en una carpeta distinta a la carpeta por defecto, debemos modificar en el httpd.conf las lineas:

DocumentRoot "ruta_absoluta_de_la_carpeta_que_contiene_ël_o_los_sitios"



.Si queremos lograr que nuestro archivo index, o principal, o home, como quieras llamarlo, sea index.html o index.php, modificamos la linea:

DirectoryIndex index.php index.html


.Si queremos modificar la codificación de caracteres por defecto que manejaran nuestros sitios, ya que por defecto es UTF-8, debemos modificar la linea:

AddDefaultCharset ISO-8859-1

No me extenderé más con esto, pero son muchas las directivas que podemos modificar para cambiar el comportamiento de nuestro servidor Apache.

Configurando un password para el usuario root de mysql
-------------------------------------------------------------

Como ya está instalado nuestro servidor MySQL, debemos ingresar a él por primera vez y establecerle una contraseña. Esto es lo más recomendable para hacer ya que sin una contraseña quedamos muy vulnerables con nuestras bases de datos y su acceso contra un ataque o hack.

Entonces, por consola ejecutamos:

~ $ mysql -u root

Nos imprimirá lo siguiente:

Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.0.54-log Linux mysql-5.0.54

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.

De esta manera ingresamos a MySQL, elegimos la base de datos llamada mysql:

mysql> USE mysql;

Y con la siguiente instrucción podemos establecer nuestra contraseña para el usuario root:

mysql> UPDATE user SET password=password(‘rootpass’) WHERE user=’root’;

Luego escribimos para salir del modo mysql:

mysql> quit


Nota: Se usa password(‘dato’) para aplicar encriptación determinista sobre un dato. Se podría, aunque por motivos de seguridad no es recomendable, setear password como cualquier campo ordinario.

Por favor, debes estar seguro que de ahora en más recordaras la clave que estableciste o mejor escribela en un lugar seguro.
Más adelante publicaré como recuperar la contraseña de root de mysql si la olvidamos o la perdemos, pero por ahora no la extravíes!

Configurando phpMyAdmin
-------------------------------

Está bueno poder acceder al phpMyAdmin mediante nuestro navegador para poder administrar rápidamente nuestras bases de datos. Entonces escribimos en nuestra consola, siempre en modo root:

nano /etc/phpMyAdmin/config.inc.php


Buscar esta linea:

$cfg['Servers'][$i]['user']= ‘’;
$cfg['Servers'][$i]['password']= ‘’

Y cambiar por:
Citar
$cfg['Servers'][$i]['user']= ‘root’;
$cfg['Servers'][$i]['password']= ‘passroot’

Donde passroot debe sustituirse por la clave que corresponda.

Guardar los cambios (Contrl +X, luego “Y” seguido de ENTER) y reiniciar apache con el comando:

# service httpd restart

Probando Apache-PHP.
---------------------------
Y listo, todo configurado y ya podemos hacer una prueba para saber que todo funciona correctamente:
Nos ubicamos en la carpeta que será la raiz de nuestro sitio web. Es la carpeta que quedó especificada en la instrucción DocumentRoot del httpd.conf, por ejemplo /var/www/html/ que es la ruta por defecto.
Y en la consola tecleamos lo siguiente para crear el archivo script.php:

cat >> /var/www/html/script.php

Una vez dentro del archivo que estamos creando, escribir:
phpinfo();
?>

###Presionar Control+d para salir####

Probando php-mysql
-----------------------

Para testear el funcionamiento del servidor mysql, hacemos algo parecido y en la consola tecleamos:

cat >> /var/www/html/script2.php

Dentro del archivo, escribir:

function connect ()
{
//sustituir passroot por el password de root en mysql.
$con=mysql_connect('localhost','root','passroot');

if (!$con)
{
$msj='No conecta a mysql ';
}

else
{
$msj='Conecta ';

$db=mysql_selectdb('mysql');

if (!$db)
{
$msj=$msj.'pero no logra seleccionar la base de datos';
}
else
{
$msj=$msj.'y consigue seleccionar la base de datos' ;
}
}

return $msj;
}

$var=connect();
print $var;
?>

Probando phpmyadmin
-------------------------
Y para probar el acceso al PHPMyAdmin teclear en la barra de direcciones de nuestro navegador web:

http://localhost/phpmyadmin

Testing final de PHP y MySQL
----------------------------

Llego el momento tan esperado!!! A probar todo!!!!
En nuestro navegador:

Para probar que funcione el php, en la barra de direccionemos tecleamos:

http://localhost/script.php

Entonces se debe visualizar en detalle toda la configuración de nuestro servicio PHP.

Para probar que funcione mysql, en la barra de direccionemos tecleamos:

http://localhost/script2.php

Entonces se debe visualizar si se estableció la conexión a nuestra base de datos, o no.

Espero que este tutorial les haya servido. Por favor dejenmé su comentario para saber si se entendió, si tuvieron dificultades para configurar, etc.

Instalar Firefox 3.6 en Fedora Linux 12 "Constantine"

Para instalar esta nueva versión de Firefox agregaremos el repositorio de Remi donde ya actualizó sus paquetes a la 3.6.

#rpm -Uvh http://rpms.famillecollet.com/remi-release-12.rpm

Si están aún en Fedora 11 ejecutan simplemente cambian el 12 por 11:

#rpm -Uvh http://rpms.famillecollet.com/remi-release-11.rpm

Una vez instalado el repositorio procedemos a instalar o actualizar Firefox con la ayuda de yum agregando la opción “–enablerepo=remi” para habilitar el repositorio
ya que por defecto no lo está.

Para instalar tenes que ejecutar el siguiente comando por la consola en modo root (su -):

#yum --enablerepo=remi install firefox

Para actualizar, ejecutá lo siguiente por consola (shell):

#yum --enablerepo=remi update firefox

Esperen a que se descargue el nuevo paquete y ya tendrán su Firefox actualizado a 3.6, y listo.

viernes, 4 de junio de 2010

Resetear la contraseña de root en Fedora.

En las siguientes líneas trataré de contarles cómo recuperar la contraseña de "root" en la distribución de linux Fedora.


1. tenemos que arrancar en el “grub”. De no tener otros sistemas operativos, el sistema
operativo no muestra el “grub” y el usuario debe apretar F8.
Una vez arrancado el “grub” aparecerá una pantalla así:



Donde tenemos que apretar la tecla ‘e’ que es para editar el comando antes de bootear.

2. como ya apretamos la tecla ‘e’, tiene que aparecer una pantalla así:



3. tenemos que volver a apretar la tecla ‘e’ para editar el comando.



4. A este comando le agregamos la palabra single al final, quedando:




5. luego le damos enter y volvemos a esta pantalla:



desde aqui tenemos que apretar la tecla b para botear de este comando.

luego cuando termina de cargar tiene que aparecer una pantalla así:



6. ahora tenemos que escribir “passwd” (sin las comillas) y le damos enter.

7. bueno ahora tenemos que escribir la nueva contraseña que queremos para el usuario "root", luego te va a pedir confimar dicha clave.



Quedara una pantalla asi:



Ahora que la contraseña esta actualizada nos queda tan solo un paso más.

8. para finalizar tenemos que escribir el comando "shutdown -r now" (sin las comillas), que es para reiniciar la maquina.

Fuente: http://www.taringa.net