Recetas/apachephpbasico
Contenido
Resumen de la receta
En esta receta se instala apache2 php5 y mysql en un Debian Jessie y se crea un mini aplicación básica que se conecte a la base de datos de mysql.
Requisitos
Sistema operativo: Debian GNU/Linux Jessie 8.x
Instalación de programas
apt-get install apache2 php5 libapache2-mod-php5 php-db
- apache2: Servidor web apache
- php5: Lenguaje php
- libapache2-php2: Módulo de apache para que pueda interpretar código de php
apt-get install mysql-server php5-mysql php-db
- mysql-server : Servidor mysql
- php5-mysql: Módulo de php para realizar conexiones a mysql
- php-db: Funciones mysqi para php (las extesión mysql_connect) ha quedado obsoleto
Cuando se instala mysql-server pide una clave para el usuario root de mysql (no confundirlo con el usuario root del sistema operativo). Se recomienda no ingresar clave alguna cuando:
- Es un entorno de pruebas y
- No se instalará algún sistema que requiera la clave de root de mysql para configurarse, por ejemplo phpmyadmin
Configuración
Probando el servidor apache
Para probar el servidor apache :
- Si estamos en la misma computadora abrimos en el navegador la direccion http://localhost/
- Si estamos en otra computadora, abrir en el navegador la dirección de la computadora http://<IP de la computadora remota donde se instalo apache> (Por ejemplo 192.168.1.5)
Probando que el servidor apache pueda ejecutar código php
Para verificar que el servidor puede ejecutar código php lo que hacemos es:
Verificar cuál es el directorio que publica nuestro servidor web, para nuestro caso como es una instalacion nueva, la vemos en el archivo
nano /etc/apache2/sites-enabled/000-default.conf
Ahí notamos que la carpeta que publica es la /var/www/html/
Ahora solo creamos un archivo llamado /var/www/html/phpinfo.php con el siguiente contenido:
nano /var/www/html/phpinfo.php
<?php phpinfo(); ?>
Luego abrimos el archivo con http://localhost/phpinfo.php
Deberá aparecer el siguiente sitio .
Creando la base de datos y un usuario en mysql cli
Para la crear el usuario y la base de datos, se puede hacer desde modo grafico con mysql workbench, modo web con phpmyadmin o en modo cli. Acá lo haremos en modo cli.
Ingresamos al modo cli
mysql -u root
Nota: en caso de que le hayamos asignado una clave al usuario, se debe pasarle el parámetro -p de modo que el comando quedaría como mysql -u root -p
Creamos la base de datos
mysql> create database prueba;
Creamos el usuario y la clave para la base
mysql> grant all privileges on prueba.* to 'usuario'@localhost identified by 'prueba';
Aplicamos los cambios de privilegios
mysql> flush privileges;
Nos vamos a la base de mysq para ver cuales son los usuarios que tiene mysql
mysql> use mysql mysql> select * from user;
Verificamos los privilegios que tiene el usuario usuario que se conecta desde localhost
mysql> show grants for 'usuario'@localhost;
Nos conectamos a la base de datos prueba
mysql> use prueba
Creamos una tabla simple de pruebas llamad curso
mysql> create table curso(identificacion int);
Verificamos que la tabla haya sido creada
mysql> show tables;
Mostramos los campos de la tabla creada
mysql> describe curso;
Insertamos datos en la tabla
mysql> insert into curso values(2); mysql> insert into curso values(3);
Verificamos los datos insertados
mysql> select * from curso; mysql>