2. INSTALACIîN Y CONFIGURACIîN DEL ENTORNO

14
2. INSTALACIÓN Y CONFIGURACIÓN DEL ENTORNO MÓDULO PROFESIONAL: IMPLANTACIÓN DE APLICACIONES WEB CFGS ADMINISTRACIÓN DE SISTEMAS INFORMÁTICOS EN RED

Transcript of 2. INSTALACIîN Y CONFIGURACIîN DEL ENTORNO

Page 1: 2. INSTALACIîN Y CONFIGURACIîN DEL ENTORNO

2 . I N S TA L A C I Ó N Y C O N F I G U R A C I Ó N D E L

E N T O R N O

M Ó D U L O P R O F E S I O N A L : I M P L A N TA C I Ó N D E A P L I C A C I O N E S

W E B

C F G S A D M I N I S T R A C I Ó N D E S I S T E M A S I N F O R M Á T I C O S E N R E D

Page 2: 2. INSTALACIîN Y CONFIGURACIîN DEL ENTORNO

¿QUÉ APRENDEREMOS EN ESTA UNIDAD?

Objetivos de la Unidad

• Instalar y configurar todo el software necesario para el funcionamiento de un servidor de aplicaciones web

• Establecer y verificar la seguridad de un servidor web

• Documentar los procesos Resultados de Aprendizaje:

• Prepara el entorno de desarrollo y los servidores de aplicaciones Web instalando e integrando las funcionalidades necesarias.

Criterios de Evaluación:

• Se han instalado y configurado servidores Web y de bases de datos.

• Se han añadido y configurado los componentes y módulos necesarios para el procesamiento de código en el servidor.

• Se ha instalado y configurado el acceso a bases de datos.

• Se ha establecido y verificado la seguridad en los accesos al servidor.

• Se han utilizado plataformas integradas orientadas a la prueba y desarrollo de aplicaciones Web.

• Se han documentado los procedimientos realizados.

PRESENTACIÓN

“Pensé más en que el programa funcionó que en la llegada a la Luna”. Margaret Hamilton.

Margaret Hamilton codificó el software que acompañó la misión Apolo 11 en 1969. Para un correcto funcionamiento de nuestros programas, es necesario que realicemos una correcta instalación, configuración y prueba de todo nuestro sistema. Antes de nada, debemos realizar un análisis de requerimientos, asegurándonos de disponer de los recursos necesarios para poder ejecutarlo de manera correcta, evitándonos así sorpresas desagradables. En este tema, primero estudiaremos el análisis de requisitos, para posteriormente aprender a instalar y configurar de manera apropiada todo el software necesario para la ejecución de nuestras aplicaciones web.

GEEK DE LA UNIDAD

Autor: José López Expósito

Page 3: 2. INSTALACIîN Y CONFIGURACIîN DEL ENTORNO

1. Sistemas Operativos 1 ...........................................................................................................

1.1. Instalación de Ubuntu Server 1 ...........................................................................................................................

2. Servidor Web: instalación y configuración 2 .............................................................................2.1. Instalación de Apache en Ubuntu 20.04 3 ..........................................................................................................

2.2. Configuración de Apache 4 ................................................................................................................................

2.3. Configurar DocumentRoot en Apache 2 para Ubuntu Server 20.04 5 ................................................................

2.4. Documentos XML y HTML para probar nuestro servidor 5 .................................................................................

3.1. Instalación de PHP en Ubuntu 6 .........................................................................................................................

3.2. Configuración de PHP 6 ......................................................................................................................................

4. Sistema gestor de base de datos: instalación y configuración 7 ...................................................

4.1. Instalación de MySQL en Ubuntu 7 .....................................................................................................................

4.2. Configuración de MySQL en Ubuntu 7 ...............................................................................................................

4.3. Instalación y Configuración de PHPMyAdmin 7 ..................................................................................................

5. Utilidades de Desarrollo 8 .....................................................................................................5.1. Configuración del Servidor 9 ..............................................................................................................................

5.2. Cliente ftp 9 ........................................................................................................................................................

5.3. Editor de Texto 9 ................................................................................................................................................

5.4. IDE 9 ...................................................................................................................................................................

Práctica 1 1 .............................................................................................................................

Práctica 2 1 .............................................................................................................................

Práctica 3 2.............................................................................................................................

ÍNDICE

Page 4: 2. INSTALACIîN Y CONFIGURACIîN DEL ENTORNO

1. Sistemas Operativos

El sistema operativo es el encargado de hacer funcionar de manera adecuada todos los programas y servicios de un ordenador, y gestionar de manera eficiente los recursos que tiene a su disposición. Los servidores, por sus características, requieren de ciertas características especiales, por lo que los sistemas operativos que se instalan en ellos, también precisan de ciertas características especiales. Los sistemas operativos de servidor más utilizados son los siguientes:

Microsoft Windows Server

Podría decirse que Windows para trabajo en grupo (Windows for Workgroups) fue el primer sistema operativo de servidores de Microsoft. En esa versión, ciertos ordenadores podían configurarse para compartir recursos y responder a las solicitudes de los clientes, lo que los convertía en servidores, por definición. El primer sistema operativo de servidores de verdad de Microsoft fue Windows NT. Sus versiones 3.5 y 3.51 podían encontrarse en muchas redes comerciales hasta que Microsoft lanzó su línea Windows Server, que continúa existiendo a día de hoy. La versión más actual es Windows Server 2016, que admite numerosas aplicaciones y bases de datos, así como un hipervisor que permite servidores virtuales.

Servidores Linux/Unix

El otro actor principal de los sistemas operativos de servidores es Linux/Unix. Podemos encontrarlo en múltiples versiones y de todos los colores, como Red Hat Enterprise Linux, Debian y CentOS como algunos de los más famosos. Al ser un sistema operativo de código abierto, Linux es muy popular como servidor web, generalmente con una instalación del servidor

web Apache. En los últimos años, también se ha vuelto muy popular entre los administradores de servidores web la distribución de Linux Ubuntu, en particular su versión para servidor.

Ubuntu Server

Ubuntu Server es una variante de Ubuntu que sale con cada versión y está dedicada especialmente para su uso en servidores. El uso de Ubuntu como servidor se ha extendido mucho en los últimos años, sobretodo para el uso de servidores web, de un modo tanto particular como profesional

1.1. Instalación de Ubuntu Server Vamos a proceder a describir el proceso de instalación de Ubuntu Server 20.04 basándonos en el tutoría de Viva Ubuntu: https://vivaubuntu.com/ubuntu-server-18-04-lts-instalacion/.

DESCARGAR UBUNTU SERVER 20.04

Lo primero que tenemos que hacer es descargar ubuntu server 20.04 de la página oficial de ubuntu.

Esto nos descargará un fichero de aproximadamente 900 MB. Podemos o bien copiarlo en DVD para hacerlo que sea de arranque o bien preparar un USB Pen drive para hacerlo booteable.

INSTALAR UBUNTU SERVER 20.04

Una vez hechos los preparativos del paso anterior vamos a arrancar el ordenador y empezará el instalador. Lo primero que nos pregunta es el lenguaje de instalación que queremos usar, nosotros elegimos Español.

!

Configuración del teclado, como sabéis el teclado dependiendo de la región tiene una disposición de teclas diferentes, sobre todo con los símbolos. Nosotros elegiremos Español – Español pero existen variantes sobre todo en Latinoamérica con la disposición de las teclas, lo mejor es poder probarlo dando a identificar teclado. Una vez seleccionado iremos a Hecho

Ahora empezará a configurar las conexiones de red de ubuntu 20.04., nos cogerá la configuración por defecto y la configurará como DHCP, asignación automática de

PÁ G I N A �1

Page 5: 2. INSTALACIîN Y CONFIGURACIîN DEL ENTORNO

direcciones IP, y cogerá la primera disponible. la mayoría de los router incluyen DHCP.

Más adelante nos pedirá de donde nos vamos a descargar las actualizaciones instaladores y demás, nosotros lo dejamos por defecto y continuamos con la instalación:

!

Ahora viene una de las mejoras de ubuntu en ubuntu server 20.04 y es la gestión del disco que es más rápida y segura. Es esta parte si no sabemos muy bien como cambiar las particiones deberemos seleccionar la opción «Use an entire disk» de esta manera nos configurará el disco en función del hardware que tengamos y seguro que no nos da problemas esta parte de configuración.

!

A continuación nos presentará un resumen de las particiones que se van a montar, volveremos a dar a hecho sabiendo que se borraran y perderán todos los datos que tenemos en el disco que hemos seleccionado. Si estamos trabajando con un disco duro virtual borraremos el disco duro virtual y no el físico.

A continuación deberemos definir:

• Your name: nombre descriptivo del usuario que vamos a utilizar en nuestro caso administrador del sistema.

• Your server’s name: nombre de la máquina, en nuestro caso la vamos a llamar ubuntu20.

• Pick a username: nombre del usuario, sin espacios ni símbolos, nosotros vamos a poner administrador.

• Choose a passowrd: password que nos va a valer como usuario root del sistema, nos la pedirá tanto para entrar como en las instalaciones o cambios del sistema.

• Confirm your password: simplemente metemos la misma contraseña para verificarla.

!

A continuación nos pedirá si queremos instalar el paquete de openssh server, nosotros le daremos que no y si lo queremos más adelante lo instalamos manualmente.

En el siguiente paso nos dará la opción de instalar ciertos paquetes. En principio no selecionaremos ninguno y lo haremos más adelante en instalaciones individuales.

Una vez terminada la instalación como veréis instala el sistema operativo de una manera muy rápida y nos pedirá reiniciar presentando un resumen de la instalación, nos dará la opción de ver el log completo de la instalación:

!

Si todo ha ido bien en la instalación ya podremos hacer login en Ubuntu server.

2. Servidor Web: instalación y configuración

El servidor web es el software encargado de procesar las peticiones del cliente, y que genera respuestas en forma de código en un lenguaje web que es interpretado por el

PÁ G I N A �2

Page 6: 2. INSTALACIîN Y CONFIGURACIîN DEL ENTORNO

cliente para que el usuario vea de manera apropiada una página web.

El principal servidor web, más utilizado en el mundo es el servidor HTTP Apache. Se trata de un programa de código abierto desarrollado para múltiples plataformas por la Apache Software Foundation que implementa el protocolo HTTP. Procesa las peticiones que recibe de parte de los diferentes clientes, y genera el código de las páginas web como resultado de las peticiones, para enviarlas a los clientes que las interpretan y muestran a los usuarios.

A continuación pasaremos a detallar la instalación del servidor Apache en sistemas Windows y Ubuntu.

2.1. Instalación de Apache en Ubuntu 20.04

Aunque la siguiente guía está enfocada a Ubuntu, puede usarse como base para su instalación en cualquier sistema basado en UNIX.

Para su desarrollo, nos hemos basado en la guía de Digital Ocean:

https://www.digitalocean.com/community/tutorials/how-to-install-the-apache-web-server-on-ubuntu-20-04-es.

Paso 1: Instalar Apache

Apache está disponible en los repositorios de software predeterminados de Ubuntu, lo que permite instalarlo con las herramientas convencionales de administración de paquetes.

Comencemos actualizando el índice de paquetes locales para que reflejen los últimos cambios anteriores:

sudo apt update

A continuación, instale el paquete apache2:

sudo apt install apache2

Una vez confirmada la instalación, apt instalará Apache y todas las dependencias necesarias.

Paso 2: Ajustar el firewall

Antes de probar Apache, es necesario modificar los ajustes de firewall para permitir el acceso externo a los puertos web predeterminados.

Durante la instalación, Apache se registra con UFW para proporcionar algunos perfiles de aplicación que pueden utilizarse para habilitar o deshabilitar el acceso a Apache a

través del firewall. Para comprobar que el firewall está funcionando, podemos usar la siguiente instrucción:

sudo ufw status

En caso de que no lo esté, deberemos activarlo mediante la siguiente instrucción:

sudo ufw enable

El siguiente paso, será configurar el firewall de manera apropiada. Enumere los perfiles de aplicación ufw escribiendo lo siguiente:

sudo ufw app list

Obtendrá una lista de los perfiles de aplicación:

Output

Available applications:

Apache

Apache Full

Apache Secure

OpenSSH

Como lo indica el resultado, hay tres perfiles disponibles para Apache:

• Apache: este perfil abre solo el puerto 80 (tráfico web normal no cifrado)

• Apache Full: este perfil abre el puerto 80 (tráfico web normal no cifrado) y el puerto 443 (tráfico TLS/SSL cifrado)

• Apache Secure: este perfil abre solo el puerto 443 (tráfico TLS/SSL cifrado)

Se recomienda habilitar el perfil más restrictivo, que de todos modos permitirá el tráfico que configuró. Debido a que en esta guía aún no configuramos SSL para nuestro servidor, solo deberemos permitir el tráfico en el puerto 80:

sudo ufw allow 'Apache'

Puede verificar el cambio escribiendo lo siguiente:

sudo ufw status

El resultado proporcionará una lista del tráfico de HTTP que se permite:

PÁ G I N A �3

Page 7: 2. INSTALACIîN Y CONFIGURACIîN DEL ENTORNO

Output

Status: active

To Action From

-- ------ ----

OpenSSH ALLOW Anywhere

Apache ALLOW Anywhere

OpenSSH (v6) ALLOW Anywhere (v6)

Apache (v6) ALLOW Anywhere (v6)

Como lo indica el resultado, el perfil se activó para permitir el acceso al servidor web Apache.

Paso 3: Comprobar su servidor web

Al final del proceso de instalación, Ubuntu 20.04 inicia Apache. El servidor web ya debería estar activo.

Realice una verificación con el sistema init systemd para saber si se encuentra en ejecución el servicio escribiendo lo siguiente:

sudo systemctl status apache2

Output

● apache2.service - The Apache HTTP Server

Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)

Active: active (running) since Thu 2020-04-23 22:36:30 UTC; 20h ago

Docs: https://httpd.apache.org/docs/2.4/

Main PID: 29435 (apache2)

Tasks: 55 (limit: 1137)

Memory: 8.0M

CGroup: /system.slice/apache2.service

├─29435 /usr/sbin/apache2 -k start

├─29437 /usr/sbin/apache2 -k start

└─29438 /usr/sbin/apache2 -k start

Como lo confirma este resultado, el servicio se inició correctamente. Sin embargo, la mejor forma de comprobarlo es solicitar una página de Apache. Para ello, desde el propio servidor, deberá navegar a localhost o a la dirección predeterminada local 127.0.0.1. Si estamos usando una versión de un sistema operativo sin entorno gráfico, no podremos hacerlo de manera sencilla. La mejor manera de comprobar que está funcionando es realizar un ping a nuestro localhost o la dirección 127.0.0.1. Si desea acceder desde otro dispositivo,

deberá acceder a la IP de su servidor desde un equipo con el que tenga conexión. Para conocer la IP de nuestro servidor, podemos utilizar el comando ifconfig. Si no hemos cambiado nada en el directorio raiz de los documentos web, obtendremos la página predeterminada de apache.

Para acceder a los ficheros de Apache en Linux, deberemos acceder a la ruta /etc/apache2/.

!

2.2. Configuración de Apache La configuración de Apache no requiere grandes conocimientos. Una vez que esté funcionando, y lo hayamos configurado según nuestras necesidades, requerirá muy pocos cambios en adelante. En entornos windows, para su ejecución y parada se puede proceder de manera gráfica (doble click en icono y cerrar programa con el aspa). En entornos UNIX, es necesario conocer algunos comandos útiles para su ejecución correcta:

Para detener su servidor web, escriba lo siguiente:

sudo systemctl stop apache2

Para iniciar el servidor web cuando no esté activo, escriba lo siguiente:

sudo systemctl start apache2

Para detener y luego iniciar el servicio de nuevo, escriba lo siguiente:

PÁ G I N A �4

Page 8: 2. INSTALACIîN Y CONFIGURACIîN DEL ENTORNO

sudo systemctl restart apache2

Si solo realiza cambios de configuración, Apache a menudo puede recargarse sin cerrar conexiones. Para hacerlo, utilice este comando:

sudo systemctl reload apache2

Por defecto, Apache está configurado para iniciarse automáticamente cuando el servidor lo hace. Si no es lo que quiere, deshabilite este comportamiento escribiendo lo siguiente:

sudo systemctl disable apache2

Para volver a habilitar el servicio de modo que se cargue en el inicio, escriba lo siguiente:

sudo systemctl enable apache2

Ahora, Apache debería iniciarse de forma automática cuando el servidor lo haga de nuevo.

Además de lo anterior, también podemos necesitar personalizar ciertos aspectos del funcionamiento de Apache. Lo podemos hacer a través de su fichero de configuración. Este fichero puede variar en función del entorno en el que tengamos instalado Apache. Habitualmente es el fichero httpd.conf o apache2.conf (Dependiendo del sistema operativo su ruta puede variar). El fichero de configuración sigue un patrón sencillo. Las líneas que estén a su inicio con un carácter # no se ejecutarán, considerándose comentarios, y las que no lo tengan se ejecutarán. Podemos modificar ciertos aspectos del funcionamiento del servidor, algunos de los más importantes son:

• ServerRoot: Es la ruta donde se encuentra Apache

• ServerName: Define el nombre y el puerto del servidor, por defecto es localhost:80

• DocumentRoot: es el directorio donde estarán alojados los ficheros de nuestra web. Aunque lo cambiemos, la forma de acceder a nuestro servidor, no cambia (localhost o IP), y al acceder por el navegador a nuestro servidor, se mostraran los archivos y carpetas que haya dentro del DocumentRoot que tengamos definido.

• Listen: Define el puerto con el que Apache se comunica (por defecto el 80).

2.3. Configurar DocumentRoot en Apache 2 para Ubuntu Server 20.04

Para realizar el cambio del DocumentRoot (La carpeta en la que se encuentran los ficheros web a los que accederán los clientes) debemos modificar dos archivos:

• Archivo sites-enabled/000-default.conf: debemos modificar la línea DocumentRoot indicando la ruta en la que queremos establecer la raiz de nuestros documentos web.

• Archivo apache2.conf: Debemos establecer el modelo de seguridad de la carpeta. Para ello añadiremos las siguientes líneas al fichero (o podemos modificar las que ya hay con la ruta predeterminada):

<Directory /ruta_a_tu_directorio>

Options Indexes FollowSymLinks

AllowOverride None

Require all granted

</Directory>

2.4. Documentos XML y HTML para probar nuestro servidor

HTML y XML son lenguajes formados por unos elementos denominados marcas o etiquetas. Estos elementos tienen la siguiente estructura:

<nombre_marca>Contenido cualquiera</nombre_marca>

Como podemos comprobar, el lenguaje se forma mediante etiquetas que abren y cierran , dejando dentro el contenido de la información. Aunque existen ciertas variantes, como poder añadir parámetros a la marca, o hacer marcas de un solo elemento:

<nombre_marca parámetro1=“valor”>Contenido cualquiera</nombre_marca>

<marca_con_un_solo_elemento />

La diferencia entre ambos lenguajes, es que XML está enfocado a estructura información de manera lógica, y HTML aporta formato a la información.

No obstante, un documento HTML puede validar como XML, si se siguen las reglas que marca el estándar XML, por lo que se dice que HTML puede ser un subconjunto del lenguaje XML.

Para probar que nuestro servidor web está funcionando bien, podemos hacer uso de un documento HTML sencillo. La estructura mínima de un documento HTML es la siguiente: <html><head> <title>Mi documento básico</title></head><body> <p>En la parte body tendremos todo el contenido de nuestro documento</p></body></html>

Podemos comprobar que se compone de dos partes principales: head y body.

• Head: Es la parte donde van los elementos básicos del documento (título, codificación, referencias a otros archivos, etc.). Para una correcta visualización de nuestro documento, debemos añadir ciertas etiquetas a nuestro documento:

PÁ G I N A �5

Page 9: 2. INSTALACIîN Y CONFIGURACIîN DEL ENTORNO

• Etiqueta doctype: La primera etiqueta de todo el documento deberá ser esta: <!DOCTYPE html>

• Título: será el título del documento, y aparecerá en el navegador. Debe ir en la etiqueta <title></title>

• Codificación de caracteres: Para definir qué juego de caracteres estamos usando en un documento HTML se tiene que escribir una etiqueta en la cabecera de la página, en el HEAD, llamada META. La codificación más apropiada en nuestro idioma es la utf8 y se añadirá así: <meta charset="UTF-8">

• Body: En esta parte introducimos el contenido y la información de nuestra página web. Se compondrá de diferentes elementos para estructurar y dar estilo a la información de nuestra página. Algunos elementos básico son: • Cabeceras: Existen otras etiquetas para definir

párrafos especiales, que harán las veces de títulos. Son los encabezados o headings en inglés. Como decimos, son etiquetas que formatean el texto como un titular, pero el hecho de que cambien el formato no es lo que nos tiene que preocupar, sino el significado en sí de la etiqueta. Es cierto que los navegadores asignan un tamaño mayor de letra y colocan el texto en negrita, pero lo importante es que sirven para definir la estructura del contenido de un documento HTML. Hay varios tipos de encabezados, que se diferencian visualmente en el tamaño de la letra que utilizan. La etiqueta en concreto es la H1, para los encabezados más grandes, H2 para los de segundo nivel y así hasta H6 que es el encabezado más pequeño.

• Párrafos: Los párrafos vendrán en las etiquetas <p>.

E S T U T U R N O : P R Á C T I C A 1

3. Intérprete del Lenguaje del Servidor: Instalación y

Configuración Apache tan solo nos proporcionará las páginas web estáticas, con lenguajes que se ejecutarán en el cliente, como Javascript. Para crear webs dinámicas, deberemos utilizar un lenguaje de programación que se ejecute en el servidor como PHP, JSP, ASP o Perl.

3.1. Instalación de PHP en Ubuntu Basándonos en la guía de Cómo instalar siguiente: h t tps : / /comoins ta la r.me/como- ins ta la r-php-en-ubuntu-20-04-lts/ vamos a analizar paso a paso qué hacer para instalar PHP en Ubuntu 20.04.

Vamos a instalar PHP en Ubuntu 20.04 LTS desde los repositorios de la distribución, por lo que previamente actualizaremos las listas de paquetes:

~$ sudo apt update

Dependiendo del servidor web, necesitaremos un paquete u otro. En nuestro caso, lo haremos para Apache y el paquete que necesitaremos será libapache2-mod-php:

~$ sudo apt install -y php

Para comprobar que se ha instalado correctamente y que funciona, crearemos nuestro primer archivo php, y lo visualizaremos a través del navegador web. Para ello, debemos ir a nuestro DocumentRoot y crear un nuevo archivo, que puede llamarse info.php (el nombre da igual, siempre que la extensión sea .php). Editaremos el archivo y pondremos le siguiente contenido:

Si todo ha ido correctamente, deberemos tener acceso a la pantalla de información de PHP donde nos detallará todos la información de configuración de nuestro intérprete de PHP:

3.2. Configuración de PHP Al igual que ocurría con Apache, la configuración de PHP se hace pr incipalmente mediante archivos de configuración (archivos de texto en los que se especifican unos parámetros con unos valores concretos). En el caso de PHP, principalmente se hace mediante un único archivo. En esta versión 7.4 de PHP, la ruta es la siguiente:

/etc/php/7.4/apache2/php.ini

La estructura de este archivo es muy sencilla, las líneas que están precedidas por un ; son comentarios y no se tienen en cuenta. El resto de líneas contienen los

<?php phpinfo(); ?>

PÁ G I N A �6

Page 10: 2. INSTALACIîN Y CONFIGURACIîN DEL ENTORNO

parámetros a los que se les establece un valor mediante la forma: nombre_parámetro = valor

Por ejemplo, el parámetro display_errors, permite definir si queremos que los errores de nuestros programas se muestren a los usuarios a través de la web o no. Si quisiéramos que los errores se muestren deberíamos definir este parámetro de la siguiente forma:

display_errors = On

4. Sistema gestor de base de datos: instalación y configuración

El sistema gestor de la base de datos SGBD nos permitirá almacenar, modificar, añadir y eliminar la información necesaria para el correcto funcionamiento de nuestras aplicaciones web.

4.1. Instalación de MySQL en Ubuntu Lo más sencillo es hacer uso del repositorio de paquetes APT. Para instalar MySQL en nuestro servidor tan sólo deberemos ejecutar las siguientes dos instrucciones:

$ sudo apt update

$ sudo apt install mysql-server

4.2. Configuración de MySQL en Ubuntu En principio, mysql no establece contraseña para el acceso con el usuario root. Para acceder a MySQL como usuario root tan sólo deberemos ejecutar el comando mysql como superusuario:

$ sudo mysql Para establecer una contraseña para el usuario root, una vez que estamos en la consola de mysql, deberemos introducir la siguiente instrucción:

mysql > ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY ‘password';

Será necesario que ejecutemos la instrucción siguiente para que el servidor vuelva a cargar la tabla de permisos y aplique los nuevos permisos:

mysql > FLUSH PRIVILEGES;

A continuación podremos salir de la consola de MySQL con la instrucción exit y volver a acceder para comprobar el acceso con la nueva contraseña. Para ello, ahora será necesario acceder mediante la siguiente instrucción:

mysql -u root -p

Se nos solicitará la contraseña, y se obtendrá acceso a la consola de MySQL.

Si lo deseamos, también podemos crear usuarios nuevos para el acceso al servidor, y que pueden usarse en nuestras aplicaciones. Para ello, en la consola de MySQL deberemos ejecutar la siguiente instrucción:

mysql > CREATE USER 'usuario'@'localhost' IDENTIFIED BY 'password';

Será necesario a continuación, conceder los permisos y privilegios al usuario que correspondan. Por ejemplo si queremos que el usuario tenga todos los privilegios sobre todas las tablas, podemos ejecutar el siguiente comando:

mysql > GRANT ALL PRIVILEGES ON *.* TO 'sammy'@'localhost' WITH GRANT OPTION;

4.3. Instalación y Configuración de PHPMyAdmin

PHPMyAdmin es un sistema que nos facilitará la gestión de nuestras bases de datos sin tener que hacerlo a través de la consola de MySQL, que puede ser un poco más compleja. De esta forma, esta herramienta nos permite interactuar con las bases de datos a través de una interfaz web.

Hay que tener en cuenta que este software permite la comunicación directa con MySQL, el manejo de autenticación con credenciales de MYSQL y ejecutar y mostrar resultados para consultas de SQL, por lo que por razones de seguridad, no debería ejecutarse en sistemas remotos oa través de una conexión HTTP no segura.

Al igual que con MySQL podemos hacer uso del repositorio APT. En primer lugar actualizaremos:

$ sudo apt update

A continuación instalaremos PHPMyAdmin, además de una serie de paquetes opcionales de PHP que mejorarán la funcionalidad de nuestro sistema:

$ sudo apt install phpmyadmin php-mbstring php-zip php-gd php-json php-curl

En el proceso de instalación, deberemos seguir los siguientes pasos:

PÁ G I N A �7

Page 11: 2. INSTALACIîN Y CONFIGURACIîN DEL ENTORNO

Seleccionar apache2:

Seleccionamos dbconfig-common para nuesta base de datos:

Y por último, elegiremos una contraseña para la aplicación de MySQL para phpMyAdmin:

Por último, debemos habilitar la extensión mbstring de PHP para que phpMyAdmin funcione correctamente, a través de la siguiente instrucción:

$ sudo phpenmod mbstring

Ya sólo nos quedará reiniciar Apache para que los cambios sean aplicados:

$sudo systemctl restart apache2

En este momento, podremos acceder a nuestra aplicación de PHPMyAdmin de manera sencilla. Tan sólo deberemos navegar a la dirección de nuestro servidor (localhost si navegamos desde el propio equipo, o mediante la IP si lo hacemos desde otro equipo) agregando la ruta /phpmyadmin al final. Por ejemplo: localhost/phpmyadmin o 192.168.1.40/localhost

Podremos acceder con cualquier usuario y contraseña que tenga permisos en nuestras bases de datos. Nosotros podremos hacerlo con los que creamos en durante la instalación de la base de datos. La interfaz de phpMyAdmin es muy intuitiva y fácil de usar:

A la izquierda tenemos un listado con las bases de datos de nuestro servidor, y en ellas, podremos realizar todas las operaciones que permite MySQL: añadir y modificar tablas, realizar consultas, añadir datos, modificar información, etc.

5. Utilidades de Desarrollo

En este punto, ya tenemos instaladas todas las herramientas que necesitamos para ejecutar nuestras aplicaciones web en nuestro servidor. Sin embargo, si queremos editar, o modificar los archivos de nuestros programas, deberemos hacer uso de editores de texto como vi, nano o gedit. Además de ser herramientas más complicadas de manejar, son menos potentes que un IDE.

Un IDE es una programa que aglutina diferentes herramientas que facilitan el proceso de desarrollo y depuración de programas. En el caso de las aplicaciones web, los IDEs pueden incluir editores de texto (para nuestros scripts de PHP, y las páginas HTML), depuradores, y administradores de bases de datos.

PÁ G I N A �8

Page 12: 2. INSTALACIîN Y CONFIGURACIîN DEL ENTORNO

Lo ideal es instalar estas herramientas en nuestro equipo, y conectar de manera remota con nuestro servidor para crear y modificar nuestras aplicaciones.

5.1. Configuración del Servidor Para poder desarrollar nuestras aplicaciones desde nuestro equipo de manera remota a nuestro servidor, debemos instalar SSH en el servidor. Para ello, utilizaremos las siguientes instrucciones:

$ sudo apt-get install openssh-server

A continuación, deberemos configurar el cortafuegos ufw para que permita accesos mediante sftp o ssh a nuestro servidor:

$ sudo ufw allow ssh

Para comprobar que tenemos acceso, podemos intentar acceder por consola a través de sftp (desde el propio servidor, o desde otro equipo conectado a su red) conociendo su dirección IP, por ejemplo en la dirección 192.168.1.47:

$ sftp [email protected]

Si hemos conseguido conectar de manera correcta, la consola cambiará por sftp>.

5.2. Cliente ftp Un cliente ftp, nos permitirá conectar con el servidor desde nuestro equipo, para poder descargar los archivos, modificarlos y volverlos a subir. Un cliente muy utilizado es Filezilla, que podemos descargar de manera gratuita desde su página oficial.

5.3. Editor de Texto Un editor de texto, nos permitirá editar los archivos de nuestras aplicaciones web. Si es un editor específico de desarrollo, además proporcionará herramientas que nos faciliten la tarea del desarrollo. En el mercado existen multitud de herramientas para esta labor, cada uno con sus ventajas e inconvenientes. Algunos de los más usados son: Sublime, Brackets, Coda, entre otros.

5.4. IDE Un IDE es un entorno de desarrollo integrado, que posee herramientas integradas para el desarrollo, prueba y depuración de programas en diferentes lenguajes y tecnologías. Normalmente el IDE lleva integrado el cliente FTP, lo que facilita aún más la tarea, al no tener que

descargar los archivos con otro programa diferente. Ejemplos son Netbeans, VisualStudio, Coda, entre otros.

PÁ G I N A �9

Page 13: 2. INSTALACIîN Y CONFIGURACIîN DEL ENTORNO

Práctica 1 Vamos a realizar la instalación y configuración del sistema operativo y del servidor web en nuestro equipo. ¿Qué software debéis instalar?:

• Sistema Operativo: Ubuntu Server • Servidor Web: Apache Web Server

Puntos a tener en cuenta:

• Puedes elegir entre instalar el S.O. en una partición de tu equipo, o utilizar una máquina virtual como VirtualBox. • Debes configurar Apache para cambiar la carpeta donde están las páginas web que va a servir. Deben estar en una

carpeta de tu directorio personal que se llame “www".

¿Qué debes entregar?

• Un documento Google Docs, detallando los pasos seguidos, haciendo uso de capturas de pantalla. • Deberás poner un documento html en la carpeta de DocumentRoot que se llame index.html y que entregarás también

por aquí, con la siguiente estructura: • Título del documento: Práctica 1: Instalación y Configuración del Sistema Operativo y del Servidor Web • Cabecera H1 con el título del documento • Cabecera H2 con el texto "Módulo Profesional Implantación de Aplicaciones Web". • Cabecera H2 con el texto "CFGS Administración de Sistemas Informáticos en Red”.

Práctica 2 Vamos a terminar de instalar y configurar el software de nuestro servidor web, para que funcione como un Servidor de Aplicaciones Web completo. Deberéis instalar, configurar y documentar (incluyendo pantallazos de los puntos más importantes) en un documento de Google Docs los siguientes paquetes:

• PHP • MySQL • PhpMyAdmin • Openssh Debéis comprobar que todos los servicios están funcionando correctamente y añadirlo a vuestro documento. A continuación, deberéis realizar las siguientes acciones y documentarlas:

• Configurar PHP para que muestre los errores a través del navegador web, y añadir un archivo php a vuestro DocumenRoot que muestre la información de PHP.

• Añadir un usuario a MySQL que se llame usuario_administrador_web con todos los privilegios • Crear una base de datos a través de PHPMyAdmin que se llame iaw

PÁ G I N A �1

PRACTICAMOS“No basta con alcanzar la sabiduría, es necesario saber utilizarla”. Cicerón.

Page 14: 2. INSTALACIîN Y CONFIGURACIîN DEL ENTORNO

• Crear una tabla que se llame iaw_alumnado dentro de la base de datos anterior con los campos Nombre y Apellidos, en el que metáis todos vuestros nombres

• Instalar en vuestro equipo un IDE que permita la conexión remota con el servidor, o un cliente de ftp + un editor de texto • Conectar vuestro IDE o vuestro cliente de FTP con el servidor ssh • Cambiar el nombre de vuestro archivo index.html que creasteis en la práctica anterior, por el de index.php y añadir

código PHP que muestre el mensaje "hola mundo" a través e la instrucción echo de PHP.

Práctica 3 Vamos a trabajar con una plataforma integrada orientada a la prueba y desarrollo de aplicaciones web específica. Se trata de XAMPP. ¿En qué va a consistir?

- Debes estudiar qué es la infraestructura XAMPP. - Debes instalar en tu ordenador LAMP, WAMP o MAMP, dependiendo de si vuestro ordenador es Linux, Windows o Mac respectivamente. - Debes configurarlo y probar que funciona correctamente.

¿Qué debes entregar? - Deberás crear un documento en el que describas brevemente con texto y con capturas de pantalla cómo has llevado a cabo la instalación.

PÁ G I N A �2