Mini Como "Usar knoppix para practicar LAMP"
v0.0.3, 25 octubre de 2005
Este documento trata sobre el arranque y puesta en marcha de un
sistema LAMP (Linux Apache MySQL y PHP) para los iniciados en esta area
usando como herramienta la distribución KNOPPIX ya que no
requiere instalación, mas aún, no requiere de disco duro. Lo que NO busca este documento es guiar paso a paso a la programación bajo LAMP
Colocar los parametros de arranque correspondientes
Prueba dandole <Enter> y esperando que levante knoppix, si no
tienes problemas puedes pasar de largo este punto, pero si por ejemplo,
quieres que tengas el teclado en español, la resolución
de pantalla sea 800x00 y tener otro entorno gráfico, tienes que
colocar ciertos parametros, puedes ver los parametros disponibles con
<F2>, <F3> y en el archivo knoppix-cheatcodes.txt dentro
del disco.
Como yo tengo el knoppix en ingles y mi monitor no soporta la
resolución 1024x768 uso la siguiente linea:
$ knoppix lang=es screen=800x600
Abrir un terminal
Una vez que haya arrancado el sistema me dirijo a la barra inferior
del KDE (en caso de haber elegido este desktop) y abro un terminal (la
pantalla negra)
Pasarse a usuario root
Ya que necesito tener privilegios de root para levantar los
servicios LAMP (ya la L está levantada :P) tecleo en el terminal
"su" para pasarme como root, ya que estamos en knoppix no nos
pedirá clave de root
$ su
Levantar mysql
Para levantar mysql necesitamos ejecutar el siguiente comando:
# /etc/init.d/mysql start
he notado que en la versión 4 de knoppix da problema en levantar, esto se soluciona comentando la linea que dice "old_password = 1" en el archivo "/etc/mysql/my.cnf", una vez comentado y guardado los cambio, vuelve a tratar levantar mysql con el comand
anterior
Cambiar la clave de root de mysql
por defecto la clave de mysql para root es un espacio en blanco,
pudiendo identificarse de la siguiente manera:
$ mysql -u root -p
Enter password: <enter>
mysql>
Tomemos el buen habito de cambiar la clave por defecto, en este caso
voy a poner "s3cr3t0" como nueva clave de la siguiente manera:
primero tenemos que seleccionar la base de datos "mysql"
mysql> use mysql
ahora cambiamos la clave
mysql> UPDATE user SET password=password("s3cr3t0") WHERE host="localhost" AND user="root";
luego salimos de mysql para reiniciar el servidor y de esta manera cobre efecto el cambio que le hicimos a la clave
# /etc/init.d/mysql restart
Creamos base de datos / tablas a trabajar
ya que cambiamos la clave, volvemos a entrar a mysql pero esta vez
nos pedirá la calve que le asignamos (en este caso "s3cr3t0")
procedemos a crear la base de datos
mysql> create database pruebas;
NOTA: con "show databases" se muestran las bases de datos existentes
una vez creada la base de datos, la seleccionamos para trabajar en ella
mysql> use pruebas;
creamos una tabla de prueba la cuales probaremos con nuestro programa de php
mysql> create table prueba1(id int(3),nombre char(16));
le agregamos un registro a ser consultado desde nuestra página en PHP
mysql> INSERT INTO prueba1 VALUES (1, "debianRules");
ya teniendo nuestro entorno creado, salimos para probar con php
Levantar apache
para levantar apache podemos hacerlo con el comando apachectl o con
la ruta directamente:
# apachectl start ó
# /etc/init.d/apache start
Cambiarse al directorio donde apunta DocumentRoot en httpd.conf
por defecto el directorio que se usa para publicar contenido con
apache en debian (knoppix es basado en debian) es /var/www, aunque se
puede modificar (para que tome efecto hay que reiniciar el servidor
despues del cambio)
$ grep DocumentRoot /etc/apache/httpd.conf |grep -v ^#
DocumentRoot /var/www
Escribir el codigo de prueba
Podemos abrir cualquier editor de texto como kwrite, emacs, vi, etc
y escribir el siguiente codigo en el archivo: "prueba.php" de prueba a
ver si funciona todo bien:
<?
#se busca conectar a mysql
$dbcnx = mysql_connect ('localhost','root','s3cr3t0');
#si no se conecta que de un mensaje
if (!$dbcnx) {
echo '<p> no se puede conectar al servidor</p>';
exit();
}
#verifica si puede seleccionar la base de datos, sino... mensaje
if (!@mysql_select_db('pruebas')){
exit('<p> no encuentra la base de datos </p>');
}
#colocamos la consulta en una variable
$sql= "select * from prueba1";
#lo procesamos
$resultado = mysql_query($sql);
#lo mandamos a imprimir por pantalla
while ($row = mysql_fetch_array($resultado)){
print "$row[id], $row[nombre] \r";
}
?>
guardamos y cerramos
Abrir navegador esperando que todo haya salido bien
Abrimos el navegador y colocamos en la dirección "localhost/prueba.php", debe aparecer un mensaje alucivo a que todo salio bien.
url: localhost/prueba.php
Si por pantalla aparece el resultado de la consulta, tenemos nuestro sistema funcionando para practicar LAMP
1,debianRules