AddThis Social Bookmark Button
AddThis Feed Button
Bio
Mi avatar Blog de un pequeño informaticú y sus ocurrencias y pequeñas notas de ayuda.
IMGP9800
IMGP9799
IMGP9798
IMGP9797
IMGP9796
Categorias
links
14
Abr

HowTo : Instalación de AMP

(QR Code)

Para los no iniciados, AMP se le denomina al conjunto que forman Apache, PHP y MySQL. La instalación es muy sencilla, no nos llevara más de unos minutos. Para empezar os dejo los links de descarga (Yo utilizo estas versiones, no uso aún Apache2, PHP5 ni MySQL5).

Apache : descarga gratuita.

PHP : descarga gratuita.

MySQL : descarga gratuita.

Instalación PHP:

PHP
Con diferencia la más sencilla de las tres instalaciones. Se descarga el archivo comprimido, mismamente en c:\\php\\, se copia el archivo php4ts.dll de c:\\php\\ a c:\\%SYSTEMROOT%\\SYSTEM32 (ya sea WINNT o WINDOWS), y finalmente se renombra el php.ini-dist a php.ini y se coloca en c:\\%SYSTEMROOT%\\ . Y listo, aunque como añadido también debéis saber que para conectar PHP con algunas SBD\’s es necesario descomentar en el php.ini la dll de conexión. Por ejemplo en ORACLE: extension=php_oci8.dll

Instalación Apache:

Apache
Esta vez dispondremos de un ejecutable (tras descomprimir si estuviera comprimido), solo tendremos que ejecutarlo y rellenar tres casillas. Network Domain -> 127.0.0.1 ; Server Name -> 127.0.0.1 ; Administrator\'s Email -> sumail@suproveedor.com. Después seleccionamos la instalación completa y listo. Por defecto os quedará instalado como un servício y con arranque automático. Para modificar esto Inicio / Ejecutar / services.msc , seleccionáis el Apache y doble click. Y ponéis la configuración que queráis. Además del Apache os agrega un acceso directo a Arrancar, Reiniciar y Parar el servicio de Apache. El de reiniciar es muy útil, ya que cada cambio que se haga en la configuración requerirá un reinicio.

El primero de estos cambios será añadirle la carga del módulo de PHP (para que el Apache pueda ejecutar el código PHP). Basta con abrir desde el menú de inicio el archivo httpd.conf que viene con el propio Apache y añadir abajo del todo estas dos líneas:


LoadModule php4_module c:/php/sapi/php4apache.dll
AddType application/x-httpd-php .php

También es recomendable crear una carpeta para el contenido del server (por ejemplo: "c:\\apache"), y cambiar el parámetro DocumentRoot "c:\\apache\\".

Ahora reiniciar el Servidor Apache con el acceso directo mismamente y aseguraros de tener abierto el puerto 80 (a no ser que queráis cambiarlo, también en el php.ini, la opción Listen: 80) para que tengan acceso a vuestro server desde fuera de la red local.

Para hacer una prueba podéis usar cualquiera de los clásicos:


<?php
phpinfo();
?>

<?php
echo "Hello World!";
?>

Si entráis al localhost directamente debería deciros el ya mítico mensaje:

“¡Funcionó! ¡El Servidor de Red Apache ha sido instalado en ese sitio!", y luego si ejecutáis el código, deberá mostraros el mensaje de Hola Mundo, o la información del sistema.

Instalación MySQL:

MySQL

Ahora nos toca finalizar con la instalación del AMP, y es el turno del SBD MySQL. Para la instalación, descomprimimos el archivo descargado, ejecutamos el setup.exe y les decimos que instale mismamente en c:\\mysql\\ (sobre todo de cara a evitar posteriores cambios en la configuración). Tras la instalación, lo más útil para su posterior manejo, es convertir el servidor en un servicio de windows. Para ello basta con ejecutar: c:\\mysql\\bin\\mysqld --install . Así pues, podéis crearos unos bat para manejarlo simplemente con las órdenes net start mysql para arrancarlo y net stop mysql para detenerlo.

Pues solo con estos sencillos pasos tendréis instalado todo lo necesario para empezar a programar en PHP sobre Apache con bases de datos de MySQL. A disfrutar y no os perdáis algunos trucos que pondre por aquí.


18
Mar

Busquedas en MySQL usando FULLTEXT

(QR Code)

Cuando realizamos una b&úacute;squeda de varios campos lo com&úacute;n es hacer una SELECT usando “Like“, pero MySQL nos provee otro método de b&úacute;squeda, para usar este método solo hemos de añadir la clave “FULLTEXT” a los campos que queremos que se usen en la b&úacute;squeda,FullText solo se admite en campos Varchar y TEXT (tinytext,smalltext,text,longtext).



Una vez configuradas las claves de los campos podemos realizar busquedas SQL usando un “SELECT Match”



Ej:

SELECT * FROM articulos WHERE MATCH (titulo,descripcion) AGAINST ('paella');





Esta sentencia buscara en titulo y descripción y nos devolverá todas las tuplas que contengan la palabra “paella”.


Hay que tener en cuenta que para buscar por titulo y descripción hay que tener tanto titulo como descripción en la misma clave (una clave para las 2 columnas), si creamos una clave para cada columna podremos buscar por una u otra de las columnas, pero para buscar por ambas los campos del match (en este caso titulo y descripción) han de tener una clave asignada para ellos en conjunto.


Otra opción que nos da este sistema de b&úacute;squeda es el ordenar las b&úacute;squedas por relevancia (como hace google), ya que la sentencia Match se puede poner también como un campo de la select, devolviendo un valor numérico que indica su grado de relevancia.


Ej:

SELECT
titulo,descripcion, MATCH (titulo,descripcion) AGAINST ('paella') as Score
FROM
articulos WHERE MATCH (titulo,descripcion) AGAINST ('paella')
ORDER BY
Score DESC;




Con esto devolveremos las tuplas ordenadas por su mayor a menor coincidencia con la b&úacute;squeda del usuario.



B&úacute;squedas en modo boleano
Opcionalmente se pueden realizar b&úacute;squedas boleanas añadiendo el modificador IN BOOLEAN MODE


Ej:

SELECT * FROM articulos WHERE MATCH (titulo,descripcion) AGAINST ('+paella -aceitunas' IN BOOLEAN MODE);



Con esto buscaremos todas las tuplas que contengan obligatoriamente “paella” pero no “aceitunas”


En la pagina de la documentación de MySQL encontrareis información de todos los modificadores
(http://dev.mysql.com/doc/refman/5.0/es/fulltext-boolean.html)


Tambien puede ser interesante la opcion de expansión de consulta (“expansión de consultas ciega”).
Para realizar la expansión de consulta deberemos realizar una primera consulta de fulltext y después una segunda consulta de expansión que dará resultados adicionales que cosidera relevantes. En la documentación de MySQL proponen el ejemplo de b&úacute;squeda de la frase “database” (base de datos). Si realizamos una primera consulta solo nos aparecerían las tuplas que contengan la palabra “database”, pero en una segunda consulta de expansión, añadiría todos los resultados relevantes, obteniendo datos de la primera consulta. Si por ejemplo en la primera consulta al buscar por database aparecen una gran cantidad de campos con la palabra “MySQL” asociada con “database”, en la segunda consulta aparecerán también todos los resultados que contengan “MySQL” aunque no contengan “database”



Este sistema también es &úacute;til si escribimos mal por ejemplo el nombre de un autor, imaginemos que queremos buscar “Antonio Jose Rodriguez” pero escribimos “Antonio Jose Roguez”, en la consulta de expansión aparecerían los resultados correctos ya que Rodriguez es una palabra asociada a “Antonio Jose” en nuestras tuplas. Todos estos datos se pueden tambien ordenar por relevancia, de forma que estén en los primeros puestos las b&úacute;squedas mas coincidentes y después aquellas similares.



Las b&úacute;squedas de texto completo por defecto no son sensibles a may&úacute;sculas, pero esto depende de el tipo de localización que usemos. Si por ejemplo usamos “latin1″ podemos cambiar a “latin1_bin” y se realizaría la distinción, may&úacute;sculas y min&úacute;sculas.


Para la información completa de las b&úacute;squedas FULLTEXT puedes mirar en la documentación oficial de MySQL
http://dev.mysql.com/doc/refman/5.0/es/fulltext-search.html


05
Nov

usar claves de MySQL 4.0 o – en MySQL 4.1+

(QR Code)

En MySQL 4.1 y superiores el sistema de contraseñas cambia, por lo que muchos programas orientados a versiones anteriores no funcionaran al no poder validar el usuario. Para solventar el problema se plantean dos escenarios, el primero es que el servidor use por defecto la autentificación con el sistema antiguo de claves, o bien cambiar solo aquellos usuarios que se usen con tales aplicaciones.

 

La primera opción es sencilla, solo deberemos editar el archivo my.ini y añadir “old-passwords” para que el sistema use las claves antiguas. Si tenemos usuarios previamente creados como root deberemos actualizar su clave para usar el sistema de claves antigua y a partir de aquí todos los usuarios creados usaran el mismo sistema de claves que se usa en MySQL 4.0

 

La otra opción que me parece más recomendable es solo usar el sistema de autenticación de MySQL 4.0 con aquellos usuarios que lo requieran. Para ello solo hemos de actualizar en la tabla de usuarios en la base de datos mysql la clave de el usuario que queramos usar con este sistema de claves

 

Para ello podemos usar la sentencia SQL

SET PASSWORD FOR ‘username’@'localhost’ = OLD_PASSWORD(‘password’);

 

O

 

UPDATE mysql.user SET Password = OLD_PASSWORD(‘password’) WHERE Host = ‘localhost’  AND User = ‘username’;
FLUSH PRIVILEGES;