Segunda época

Instalar un servidor con ubuntu-server (X) Parte X - PHP y MySQL

, por dani

Con sólo tener instalado apache, ya podemos poner todas las páginas estáticas que queramos (recordemos que las tenemos que poner en la carpeta /var/www/html tal y como configuramos apache o en cualquier carpeta que creemos dentro de /var/www/html).

También debemos recordar que la versión instalada de ubuntu-server ya trae isntalados php y MySQL.

[*Comprobando que funciona php*]

Bastará con crear un sencillo fichero de texto de nombre prueba.php y de contenido:

<?php
echo 'probando php';
?>


Lo único que hace es sacar la frase "probando php".
Si hemos puesto el fichero en /var/www/html/prueba.php bastará con apuntar el navegador a http://192.168.2.20/prueba.php y obtendremos la frase anterior.
Si accedemos desde fuera de la red local, teclearíamos http://midominio.com/prueba.php (también se puede teclear lo anterior desde dentro de la red local si hemos modificado el /etc/hosts tal como se decía en un capítulo anterior)

[*MySQL: Instalando el módulo de integración con php*]

También viene instalado el servidor MySQL por defecto en ubuntu-server, pero debemos instalar el módulo que lo integra con php

# apt-get install php5-mysql
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias       
Reading state information... Hecho
Se instalarán los siguientes paquetes extras:
  libapache2-mod-php5 php5-common
Paquetes sugeridos:
  php-pear
Se actualizarán los siguientes paquetes:
  libapache2-mod-php5 php5-common php5-mysql
3 actualizados, 0 se instalarán, 0 para eliminar y 11 no actualizados.
Necesito descargar 2819kB de archivos.
Se utilizarán 0B de espacio de disco adicional después de desempaquetar.
¿Desea continuar [S/n]? s
Des:1 http://security.ubuntu.com feisty-security/main php5-mysql 5.2.1-0ubuntu1.2 [65,4kB]
Des:2 http://security.ubuntu.com feisty-security/main libapache2-mod-php5 5.2.1-0ubuntu1.2 [2531kB]
Des:3 http://security.ubuntu.com feisty-security/main php5-common 5.2.1-0ubuntu1.2 [223kB]                                       
Descargados 2819kB en 31s (90,9kB/s)                                                                                             
(Leyendo la base de datos ...  
16980 ficheros y directorios instalados actualmente.)
Preparando para reemplazar php5-mysql 5.2.1-0ubuntu1 (usando .../php5-mysql_5.2.1-0ubuntu1.2_i386.deb) ...
Desempaquetando el reemplazo de php5-mysql ...
Preparando para reemplazar libapache2-mod-php5 5.2.1-0ubuntu1 (usando .../libapache2-mod-php5_5.2.1-0ubuntu1.2_i386.deb) ...
Desempaquetando el reemplazo de libapache2-mod-php5 ...
Preparando para reemplazar php5-common 5.2.1-0ubuntu1 (usando .../php5-common_5.2.1-0ubuntu1.2_i386.deb) ...
Desempaquetando el reemplazo de php5-common ...
Configurando php5-common (5.2.1-0ubuntu1.2) ...
Configurando libapache2-mod-php5 (5.2.1-0ubuntu1.2) ...
 * Forcing reload of web server (apache2)...                                                                               [ OK ] 

Configurando php5-mysql (5.2.1-0ubuntu1.2) ...

[*MySQL: Configurando el servidor*]

Modificamos el fichero /etc/mysql/my.cnf

En la sección [mysqld] modificamos un par de líneas:
 Idioma:

language        = /usr/share/mysql/spanish

 Acceso desde la red local:

bind-address = IP_local_del_server (por ej. 192.168.2.20)

Cualquiera puede acceder a la base de datos, así que demos acceso sólo a root:

# mysqladmin password contraseña

[*Instalación de phpmyadmin*]

# apt-get install phpmyadmin

Añadimos al fichero /etc/apache2/apache2.conf la siguiente línea:

Alias /phpmyadmin /var/www/phpmyadmin

[*Configuración de phpmyadmin*]

Editamos el fichero /etc/phpmyadmin/config.inc.php

$cfg['Servers'][$i]['host']          = 'localhost'; // MySQL hostname or IP address
$cfg['Servers'][$i]['port']          = '';          // MySQL port - leave blank for default port
$cfg['Servers'][$i]['extension']     = 'mysql';     // The php MySQL extension to use ('mysql' or 'mysql$
$cfg['Servers'][$i]['auth_type']     = 'cookie';    // Authentication method (config, http or cookie bas$
$cfg['Servers'][$i]['user']          = 'root';      // MySQL user
$cfg['Servers'][$i]['password']      = 'contraseña';

En realidad no es un buen consejo que el usuario con acceso a MySQL sea root (se debería usar un user distinto a root).

Debemos reiniciar apache y debemos comprobar que podemos acceder a phpmyadmin:

http://ip_del_servidor/phpmyadmin

Próximo capítulo: Instalar un servidor FTP