Está en la página 1de 16

Alejandro Lozano [2DAW] 1 de octubre de 2019

Instalación de un servidor de tipo


LAMP en Ubuntu Server
Despliegue de Aplicaciones Web – Ejercicio 1x20

Primeros pasos – Instalación de Ubuntu Server y verificación de permisos de superusuario y


actualizaciones.............................................................................................................................2
Instalación del servidor Apache...................................................................................................3
Completando la instalación de la infraestructura LAMP – MySQL Server y PHP.......................4
Instalación del gestor de base de datos MySQL Server............................................................4
Instalación de PHP...................................................................................................................5
Verificación de LAMP.................................................................................................................6
Verificación del servidor Apache accediendo a localhost........................................................6
Verificación de PHP sirviendo una página de código...............................................................8
Anexo: Instalación de PHPMyAdmin........................................................................................10
Posibles problemas al acceder al panel de PHPMyAdmin.........................................................15
Creando un nuevo usuario en MySQL...................................................................................15
Configurando PHPMyAdmin con el nuevo usuario...............................................................16
Referencias.................................................................................................................................17

1
Alejandro Lozano [2DAW] 1 de octubre de 2019

Primeros pasos – Instalación de Ubuntu Server y verificación de


permisos de superusuario y actualizaciones

Partimos de una instalación desde cero de Ubuntu Server en una nueva máquina virtual
de VirtualBox. Omitimos este proceso porque aplicaremos la configuración por defecto que nos
ofrece el instalador1.

Figura 1 - Instalación de Ubuntu Server por defecto

A continuación, comprobamos que podemos utilizar permisos de superusuario con el


comando ‘sudo su’. Introducimos la contraseña de superusuario y comprobamos que junto al
usuario aparece ahora una almohadilla (‘#’).

Figura 2 - Verificación del superusuario

1
Para evitar confusiones, todos los datos relativos al nombre del servidor, usuario y contraseña son
iguales: ‘daw’.

2
Alejandro Lozano [2DAW] 1 de octubre de 2019

Tras acceder como superusuario, procedemos a actualizar los repositorios del Sistema
Operativo con el comando ‘apt-get update’. Si no queremos actuar como superusuario,
tenemos que escribir ‘sudo apt-get update’ e introducir la contraseña correspondiente.

Figura 3 - Actualización de Ubuntu Server

Instalación del servidor Apache

Tras las labores de actualización, podemos pasar a instalar nuestro servidor Apache.
Para ello, solo tenemos que escribir el comando ‘apt-get install apache2’. De nuevo,
hacemos esto como superusuarios. Si no, tenemos que utilizar el comando ‘sudo’ antes de
escribir el resto de las instrucciones.
El Sistema Operativo nos pedirá confirmación de nuestra decisión. Nos basta con pulsar
la tecla ‘s’ si utilizamos una distribución en español, o ‘y’ si lo hacemos en inglés.

Figura 4 - Confirmación de instalación de Apache Server

Cuando el sistema haya terminado de instalar Apache Server, recuperaremos el control


de la línea de comandos.

Completando la instalación de la infraestructura LAMP – MySQL


Server y PHP

3
Alejandro Lozano [2DAW] 1 de octubre de 2019

LAMP es una forma abreviada de referirnos a una infraestructura de Internet basada en


un Sistema Operativo Linux (L), un servidor Apache (A), un gestor de bases de datos que puede
ser MySQL o MariaDB (M), y un lenguaje de programación que permita trabajar en el lado
servidor, habitualmente Perl, PHP o Phyton (P).
En este punto del manual ya hemos instalado las dos primeras siglas de la
infraestructura. Ahora debemos integrar el sistema gestor de bases de datos, que será MySQL, y
el lenguaje de programación, que en este caso es PHP. Podríamos hacerlo a través de un paquete
como tasksel, pero lo llevaremos a cabo manualmente.

Instalación del gestor de base de datos MySQL Server

Vamos a incorporar a nuestro sistema MySQL Server. Utilizaremos una serie de


comandos de terminal y realizaremos algunas configuraciones básicas. En primer lugar, y tras
verificar que nuestros repositorios están al día ( apt-get update), ejecutaremos apt install
mysql-server (recordamos que estamos en todo momento actuando como superusuario o root).

Figura 5 - Instalación de MySQL-Server

Tras acceder pulsando ‘s’, dejaremos que se procese la instalación (el repositorio nos
servirá la versión más reciente, en estos momentos la 5.7). En el directorio ‘/etc’ habrá
aparecido un directorio /mysql donde encontraremos diversos archivos de configuración.
Podríamos realizar un paso adicional escribiendo el comando ‘mysql_secure_installation’.
En este caso, deberíamos responder a una serie de preguntas a través de la consola relativas a la
configuración de los usuarios y sus privilegios, incluyendo la verificación de la contraseña de
superusuario para gestionar las bases de datos MySQL. Sin embargo, por ahora omitiremos este
paso.
Comprobaremos que MySQL server funciona escribiendo ‘sudo mysql’ o ‘mysql’ a
secas, si somos root. Si todo ha funcionado correctamente, deberíamos ver esta pantalla de
bienvenida:

4
Alejandro Lozano [2DAW] 1 de octubre de 2019

Figura 6 - Pantalla de bienvenida de MySQL Server

Instalación de PHP

Debemos instalar PHP para finalizar la configuración de nuestra infraestructura LAMP.


Lo que sucede es que este lenguaje requiere de una serie de paquetes para funcionar
correctamente, y el comando, en esta ocasión, es más largo:
‘sudo apt install php-pear php-dev php-curl php-xmlrpc php-gd php-mysql php-
xml libapache2-mod-php’

Aunque no sucede siempre, cabe la posibilidad de que durante la instalación de estos


paquetes nos salte este mensaje:

Figura 7 - Advertencia sobre actualización de paquetes

5
Alejandro Lozano [2DAW] 1 de octubre de 2019

Seleccionamos ‘Yes’. Se reiniciarán determinados servicios. De hecho, posteriormente


deberemos reiniciar nuestro servidor apache para comprobar que todas las instalaciones han
funcionado correctamente.
Esta instalación habrá instalado php en un directorio dentro de /etc. En estos
momentos, la versión que se instala desde el repositorio es la 7.2

Verificación de LAMP
Verificación del servidor Apache accediendo a localhost

Vamos a realizar una serie de pruebas para comprobar que todo se ha instalado como es
debido. En primer lugar, vamos a reiniciar el servidor apache con el comando ‘service
apache2 restart’ (requiere acceso como root). Tras ejecutar este comando, podemos
comprobar el estado del servidor con ‘service apache2 status’.

Figura 8 - Reinicio y comprobación del servidor Apache

A continuación, abriremos una ventana en el navegador de nuestra máquina anfitriona y


teclearemos la dirección IP del servidor apache, que obtenemos escribiendo en Ubuntu Server el
comando ‘ip a’.

Figura 9 - Obtención de la dirección IP del servidor

6
Alejandro Lozano [2DAW] 1 de octubre de 2019

Si todo ha funcionado correctamente, deberíamos ver la página de bienvenida que


Apache nos sirve por defecto.

Figura 10 - Verificación del funcionamiento del servidor Apache

Verificación de PHP sirviendo una página de código

Dado que ya hemos comprobado que MySQL funciona, el último paso de nuestras
verificaciones consiste en comprobar si el lenguaje PHP se ha integrado correctamente en la
máquina. Para ello, vamos a crear un archivo de nombre ‘index.php’. La ruta donde lo
crearemos será /var/www/html, por lo que el comando que debemos utilizar es:
‘sudo touch /var/www/html/index.php’

Para comprobar que nuestro archivo se ha creado correctamente, vamos a ese directorio.
Lo hacemos con el comando ‘cd /var/www/html/’. Una vez allí, escribimos el comando ‘ls’.
La terminal debería mostrarnos nuestro fichero junto con el archivo ‘index.html’.

7
Alejandro Lozano [2DAW] 1 de octubre de 2019

Figura 11 - Creación del archivo index.php

Vamos a escribir una serie de líneas en nuestro documento php. Para editar este
archivo escribimos el comando ‘sudo nano index.php’. Tenemos que estar previamente en el
directorio que contiene nuestro fichero; de lo contrario tendríamos que escribir información
adicional.
El terminal mostrará ahora la ventana del editor de texto nano. Escribimos las siguientes
2
líneas :

Figura 12 - Escribiendo el contenido del archivo index.php

Para guardar los cambios, pulsamos las teclas ctrl + o y confirmamos la


sobreescritura del archivo. Después, salimos del editor con ctrl + x. Tras esto, actualizamos la
información de nuestro servidor con ‘service apache2 reload’.
A continuación, abrimos nuestro navegador web y escribimos la dirección IP de nuestro
servidor + /index.php. Si todo ha ido correctamente, el servidor nos mostrará la siguiente
página:

2
Realmente, valdría con escribir las etiquetas php y su contenido, pero así generamos un archivo con una
estructura HTML completa.

8
Alejandro Lozano [2DAW] 1 de octubre de 2019

Figura 13 - Verificación final de PHP en nuestro servidor

Con esto finalizan las pruebas fundamentales para verificar el funcionamiento de


nuestra infraestructura LAMP.

Anexo: Instalación de PHPMyAdmin


Como añadido a este manual, vamos a enriquecer las posibilidades de nuestro sistema
instalando PHPMyAdmin, un panel de control que nos facilitará realizar diferentes actividades
con nuestro servidor a través del navegador. Llevaremos a cabo este paso tras haber instalado
todas las partes de nuestra arquitectura LAMP. El comando que debemos escribir en este punto
es:
sudo apt-get install -y phpmyadmin

El flag ‘-y’, en este caso, hace que se responda por defecto la respuesta a las preguntas
que nos lance el terminal con ‘yes’. Sin embargo, es posible que el terminal nos devuelva un
mensaje indicando que no ha encontrado ese paquete en el repositorio. Si surgiera este
problema, debemos instalar un repositorio añadido. Se hace sencillamente con este comando:

9
Alejandro Lozano [2DAW] 1 de octubre de 2019

‘sudo add-apt-repository universe’

Si tuviésemos que hacer este paso extra, el comando para instalar phpmyadmin
cambiaría:
‘sudo apt install phpmyadmin’

Figura 14 - Instalación de PHPMyAdmin si falla la vía principal

Este paso nos llevará a una serie de ventanas de instalación donde tendremos que elegir
diferentes opciones. Salvo que se indique expresamente aquí lo contrario, se dejarán los valores
por defecto. Cuando lleguemos al apartado de la contraseña de administrador, utilizamos la que
hemos venido usando hasta ahora: ‘daw’.

10
Alejandro Lozano [2DAW] 1 de octubre de 2019

Figura 15 - Proceso de configuración de PHPMyAdmin

Una vez haya finalizado la instalación, se habrán creado varios directorios y archivos.
Antes de continuar, es recomendable reiniciar nuestro servidor con ‘service apache2
restart’.

Sin embargo, aún no hemos terminado. Ahora debemos señalar al servidor Apache que
incorpore, o reconozca, los nuevos directorios relacionados con PHPMyAdmin. Para ello,
debemos añadir una línea al archivo de configuración principal de Apache. El comando para
editar ese archivo es:
‘sudo nano /etc/apache2/apache2.conf’

11
Alejandro Lozano [2DAW] 1 de octubre de 2019

Figura 16 - Editando el archivo Apache2.conf

Estamos ante un archivo bastante complejo y extenso, por lo que no es recomendable


modificar demasiadas cosas. En nuestro caso, solo vamos a añadir una línea:
‘Include /etc/phpmyadmin/apache.conf’

12
Alejandro Lozano [2DAW] 1 de octubre de 2019

Figura 17 - Modificamos apache2.conf

Guardamos los cambios con ctrl + o y salimos con ctrl + x. Por último, para
verificar que PHPMyAdmin funciona, abriremos una ventana en nuestro navegador con la IP de
nuestro servidor + /phpmyadmin. Si todo ha ido bien, deberíamos acceder al panel de control
de la aplicación.

Figura 18 - Acceso al panel de control de PHPMyAdmin

13
Alejandro Lozano [2DAW] 1 de octubre de 2019

Con este proceso, disponemos de un servidor LAMP con mayores funcionalidades.


Deberíamos poder acceder al panel utilizando el usuario ‘root’ y dejando la contraseña en
blanco. Sin embargo, puede que se presenten problemas de acceso. Si ese es el caso, echa un
vistazo al siguiente apartado.

Figura 19 - Dentro del panel de PHPMyAdmin

Posibles problemas al acceder al panel de PHPMyAdmin

Finalmente, cabe la posibilidad de que haya alguna dificultad a la hora de acceder al


panel de administración de PHPMyAdmin. Las causas pueden ser varias, como por ejemplo una
configuración incorrecta del archivo de configuración de PHPMyAdmin, o un error a la hora de
preparar MySQL en nuestro servidor. A continuación cubriremos las dos posibilidades.
Si no logramos acceder utilizando el usuario root y dejando la contraseña en blanco,
deberemos crear un usuario de MySQL que tenga los privilegios suficientes para acceder a las
bases de datos que gestionaremos desde PHPMyAdmin. También tendremos que añadir unas
líneas al archivo de configuración de PHPMyAdmin.

Creando un nuevo usuario en MySQL

14
Alejandro Lozano [2DAW] 1 de octubre de 2019

En primer lugar, accederemos a MySQL con el comando que ya conocemos: o bien


‘mysql’ o bien ‘sudo mysql -p -u root’. A continuación, crearemos un nuevo usuario y
contraseña utilizando esta sentencia:
CREATE USER ‘daw’@’localhost’ IDENTIFIED BY ‘daw’;

Donde el primer ‘daw’ es el nombre de usuario y el segundo es el password. A


continuación, otorgaremos privilegios de acceso general con esta sentencia:
GRANT ALL PRIVILEGES ON *.* TO 'daw'@'localhost' WITH GRANT OPTION;

Es muy importante vigilar que escribimos todos los signos y comillas sin olvidar
ninguno. Para ambas sentencias deberíamos recibir la siguiente respuesta:
Query OK, 0 rows affected (0.01 sec)

Terminamos actualizando los privilegios con la sentencia ‘FLUSH PRIVILEGES;’. Ya


podemos salir de MySQL.

Configurando PHPMyAdmin con el nuevo usuario

A continuación debemos añadir algunas líneas al archivo de configuración de


PHPMyAdmin. En nuestro servidor LAMP, la ruta es /etc/phpmyadmin/config.inc.php.
Accederemos a él con el comando ‘nano’ e iremos hasta la parte del archivo que contiene estas
instrucciones:

Figura 20 - El archivo de configuración de PHPMyAdmin

15
Alejandro Lozano [2DAW] 1 de octubre de 2019

Nos interesan especialmente las líneas relacionadas con Authenticacion type


and info, que están al comienzo de la captura. Es muy posible que, si no podemos
acceder, sea porque alguna de esas líneas no existe o no está correctamente configurada
para nuestras necesidades. Por ejemplo, puede que la primera línea tenga ‘cookie’ o
‘http’ en lugar de ‘config’. O es posible que no existan las líneas ‘AllowNoPassword’ o
‘AllowNoPasswordRoot’. Ambas, seleccionadas como true, permiten un acceso sin
password, y no son necesarias salvo que queramos acceder como root o usuario
convencional sin contraseña. Sin embargo, sí es importante que especifiquemos las
líneas ‘user’ y ‘password’ para que respondan al usuario que hayamos creado en
MySQL. Como podemos comprobar, en nuestro caso ambos valores son ‘daw’, ya que
son el nombre de usuario y la contraseña que hemos creado en el paso anterior.
Tras finalizar estas verificaciones, reiniciamos MySQL con ‘service mysql
restart’ y el servidor Apache con ‘service apache2 restart’. Tras ello, podremos
volver a tratar de acceder a PHPMyAdmin y con toda seguridad nos será posible
acceder al panel.

Referencias

 Instalación de una infraestructura LAMP en Ubuntu en 6 pasos


 Instalación de PHPMyAdmin
 Incorporación de PHPMyAdmin al servidor Apache

16

También podría gustarte