Voy a desempolvar mis apuntes de ASI, reinicio en Ubuntu -en este PC se me cuelga el pordiosero al X tiempo- e instalo y te comento.
Por cierto, si no recuerdo mal, con LAMP (Linux, Apache, MySQL, Php, Python, Perl) se podía hacer una configuración gráfica de Apache... pero no me hagáis mucho caso, hace tiempo que no toco el tema.
EDITO: Bueno, voy a ir instalándolo y configurándolo todo en
directo
Ya que ha pasado tiempo desde que actualicé el gestor de paquetes, lo actualizo con
sudo aptitude update.
Tras esto procedo a instalar
Apache 2 con
sudo aptitude install apache2. Tras unos segundos, tengo
Apache 2 instalado. Accedo a
localhost y
Apache me dice que
It Works!, por tanto, funciona.
Ahora procedo a instalar
php5, para ello:
sudo aptitude install php5. Tras otros segundos,
php5 está instalado. Vamos a probarlo:
- Reinicio el servidor Apache con
sudo /etc/init.d/apache2 restart -que me advierte de que no he especificado ningún nombre de dominio por tanto utilizará 127.0.1.1 como nombre del servidor-.
- Creo un sencillo archivo en
PHP que lo llamo
test.php y lo localizo en /var/www
<?php
echo "Hola mundo!";
?>
- Accedo a
http://localhost/test.php et voilà, veo un precioso
Hola Mundo!EDITO 2: Voy a probar con
MySQL.
Instalo
mysql-server-5.0 con
sudo aptitude install mysql-server-5.0, tras unos minutos -éste ya pesa 32MB aprox.- nos pide una contraseña para el superusuario que introduciremos y, finalmente, se instala. Tras esto, es necesario instalar los paquetes que permitan que
MySQL soporte
PHP5 y
Apache 2, éstos son:
- libapache2-mod-auth-mysql (que instalamos con
aptitude)
- php5-mysql (instalamos como ya hemos visto)
Y, de paso, vamos a instalar el excelente
phpMyAdmin con
sudo aptitude install phpmyadmin, tras unos segundos, se instala. Reiniciamos Apache y MySQL y,
muy importante, creamos un enlace simbólico para poder acceder a phpMyAdmin desde
http://localhost/phpmyadmin:
sudo ln -s /usr/share/phpmyadmin /var/www/
Comprobamos que accedemos y, por último, vamos a corroborar que todo funciona correctamente. Creamos una nueva base de datos llamada
testdb, por ejemplo. Yo prefiero hacerlo desde terminal, eso ya, a gusto del consumidor...
Me identifico e inicio sesión:
sudo mysql -u root -p
Una vez pongo la contraseña ya estoy en la consola de MySQL. Creo una nueva base de datos:
create database testdb;
USE testdb;
CREATE TABLE usuarios (nombre varchar(20) NOT NULL,
-> username varchar(15),
-> password varchar(200) NOT NULL,
-> mail varchar(30) NOT NULL,
-> constraint pk_usuarios PRIMARY KEY (username));
Verificamos si se ha creado correctamente:
desc usuarios;
+----------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+--------------+------+-----+---------+-------+
| nombre | varchar(20) | NO | | NULL | |
| username | varchar(15) | NO | PRI | | |
| password | varchar(200) | NO | | NULL | |
| mail | varchar(30) | NO | | NULL | |
+----------+--------------+------+-----+---------+-------+
Y ahora sólo nos queda
atacar a la base de datos desde
php. Creamos un sencillo script en PHP que se conecte y sirva para insertar datos llamado.
Bueno, como me aburro, os pongo un sencillo script que acabo de hacer -no me seáis talibanes con que no verifico los datos y eso
![más risas [+risas]](/images/smilies/nuevos/risa_ani3.gif)
- para insertar datos en la base de datos. Eso sí, adaptarlo a vuestras necesidades:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Atacando a MySQL desde PHP - EOL</title>
</head>
<body>
<?php
if (!$HTTP_POST_VARS){
?>
<div align="center">
<h2>Registrar usuario</h2>
<form name="formulario_registro" action="registrar.php" method="POST">
<strong>Nombre:</strong><input type="text" name="nombre" size="20">
<strong>Nombre de usuario:</strong><input type="text" name="username" size="15"><br /><br />
<strong>Contraseña:</strong><input type="password" name="password" size="15">
<strong>e-mail:</strong><input type="text" name="mail" size="30"><br /><br />
<input type="submit" name="enviar" value="Registrarse">
</form>
</div>
<?php
} else {
//Recojo los datos y los proceso
$nombre=$_POST['nombre'];
$username=$_POST['username'];
$password=md5($_POST['password']);
$mail=$_POST['mail'];
//Conecto a la base de datos
$var_conexion=mysql_connect('localhost', 'root', 'password');
if (!$var_conexion){
echo "Error al intentar conectarse con el servidor MySQL";
exit();
} else {
mysql_select_db('testdb',$var_conexion);
$consulta="INSERT INTO usuarios VALUES('$nombre', '$username', '$password', '$mail')";
$resultado=mysql_query($consulta);
if($resultado) {
echo "Datos insertados";
} else {
echo "Error al enviar la consulta.";
}
}
mysql_close($var_conexion);
}
?>
</body>
</html>
Luego desde la consola de mysql comprobamos que se ha insertado lo que esperábamos:
select * from usuarios;