Está en la página 1de 17

Guía de laboratorio

Programa IE

UNIVERSIDAD CESMAG
FACULTAD DE INGENIERIA
INGENIERIA ELECTRONICA

Asignatura Semestre Corte Docente


Electiva 6° Semestre – 6 1 Jorge Andrés Chamorro Enríquez
Automatización con servicios
telemáticos
No. Lab Nombre laboratorio Lugar Fecha Duración
2 Introducción a Linux Aula 6 3 horas

Tema Configuración de un servidor web Sub tema Servidor Web

Objetivo general Competencias esperadas


Introducir al educando en el Dominar la configuración básica de plataformas Windows
1
manejo y configuración de redes y Linux
de computadores entre Crear redes de datos entre plataformas Windows y Linux,
2
plataformas de software libre y compartiendo servicios telemáticos
propietario incluyendo Instalar y configurar servicios telemáticos como DHCP,
dispositivos tales como 3
WEB, FTP, MAIL entre otros
computadores, Smart phones y
micro computadores como Realizar aplicaciones simples orientadas al internet de las
4
raspberry. cosas (IOT) con microcomputadores Raspberry.

Definiciones.

Servidor web
Para entender lo que es Apache, primeramente, definiremos lo que es un servidor web. La
definición más sencilla de servidor web, que es un programa especialmente diseñado para
transferir datos de hipertexto, es decir, páginas web con todos sus elementos (textos,
widgets, baners, etc). Estos servidores web utilizan el protocolo http.

Los servidores web están alojados en un ordenador que cuenta con conexión a Internet. El
web server, se encuentra a la espera de que algún navegador le haga alguna petición,
como, por ejemplo, acceder a una página web y responde a la petición, enviando código
HTML mediante una transferencia de datos en red.

1
Guía de laboratorio
Programa IE

Imagen 1. Esquema de funcionamiento de apache

Apache
Apache es un poderoso servidor web, cuyo nombre proviene de la frase inglesa “a patchy
server” y es completamente libre, ya que es un software Open Source y con licencia GPL.
Una de las ventajas más grandes de Apache, es que es un servidor web multiplataforma, es
decir, puede trabajar con diferentes sistemas operativos y mantener su excelente
rendimiento.

Desde el año 1996, es el servidor web más popular del mundo, debido a su estabilidad y
seguridad. Apache sigue siendo desarrollado por la comunidad de usuarios desarrolladores
que trabaja bajo la tutela de Apache Software Foundation.

Principales características de Apache


Entre las principales características de Apache, se encuentran las siguientes:

• Soporte de seguridad SSL y TLS.


• Puede realizar autentificación de datos utilizando SGDB.
• Puede dar soporte a diferentes lenguajes, como Perl, PHP, Python y tcl.

Usos de Apache
Apache es utilizado principalmente, para realizar servicio a páginas web, ya sean estáticas o
dinámicas. Este estupendo servidor se integra a la perfección con otras aplicaciones,
creando el famoso paquete XAMP con Perl, Python, MySQL y PHP, junto a cualquier

2
Guía de laboratorio
Programa IE

sistema operativo, que por lo general es Linux, Windows o Mac OS. 1

PHP

¿QUÉ ES PHP? ¿PARA QUÉ SIRVE PHP?

PHP es un lenguaje de código abierto muy popular, adecuado para desarrollo web y que
puede ser incrustado en HTML. Es popular porque un gran número de páginas y portales
web están creadas con PHP. Código abierto significa que es de uso libre y gratuito para
todos los programadores que quieran usarlo. Incrustado en HTML significa que en un mismo
archivo vamos a poder combinar código PHP con código HTML, siguiendo unas reglas.

Imagen 2. Logo PHP

HP se utiliza para generar páginas web dinámicas. Recordar que llamamos página estática
a aquella cuyos contenidos permanecen siempre igual, mientras que llamamos páginas
dinámicas a aquellas cuyo contenido no es el mismo siempre. Por ejemplo, los contenidos
pueden cambiar en base a los cambios que haya en una base de datos, de búsquedas o
aportaciones de los usuarios, etc.

¿Cómo trabaja PHP? El lenguaje PHP se procesa en servidores, que son potentes
ordenadores con un software y hardware especial. Cuando se escribe una dirección tipo
http://www.aprenderaprogramar.com/index.php en un navegador web como Internet
Explorer, Firefox o Chrome, ¿qué ocurre? Se envían los datos de la solicitud al servidor que
los procesa, reúne los datos (por eso decimos que es un proceso dinámico) y el servidor lo
que devuelve es una página HTML como si fuera estática.

El esquema es: Petición de página web al servidor --> El servidor recibe la petición, reúne la
información necesaria consultando a bases de datos o a otras páginas webs, otros
servidores, etc --> El servidor responde enviando una página web “normal” (estática) pero
cuya creación ha sido dinámica (realizando procesos de modo que la página web devuelta
no siempre es igual).

En resumen:

1
http://culturacion.com/que-es-apache/
3
Guía de laboratorio
Programa IE

En un sitio dinámico, la información generalmente está contenida en una base de datos.


Cada vez que mostramos la página, como por ejemplo una página de noticas, buscamos en
la base de datos las últimas noticias que tenemos ingresadas para mostrar en el navegador
del visitante. Ahora bien, ¿cómo se consigue que la página vaya mostrando noticias
nuevas? Simplemente cargando las mismas en la base de datos, por ejemplo, a través de
un formulario que rellena una persona y que una vez relleno cuando pulsa “Enviar” implica
que lo que haya escrito se guarde en nuestra base de datos. De esta manera, cuando
solicitamos la página web y el servidor consulte la base de datos, encontrará esta nueva
información y mostrará nuestra página de forma distinta a como se veía anteriormente.

Por regla general este tipo de lenguaje suele ser utilizado para crear contenido dinámico y
poder interactuar con el usuario.

Veamos un ejemplo del contenido de una página web php, que habremos de almacenar en
un archivo que termina con la extensión .php y que contiene texto:

Imagen 3. Ejemplo de php

¿Como podrás comprobar el contenido del archivo incluye código HTML y en un momento
dado aparece una etiqueta <?php que significa que ahí empieza el código PHP. Por eso
decimos que el código PHP está embebido (incluido o incrustado) en código HTML.

Por tanto, las páginas PHP contienen HTML con código PHP incluido en ellas para hacer
"algo" (en este caso, mostrar Bienvenidos a aprenderaprogramar.com. El código PHP está
comprendido entre etiquetas de comienzo y final especiales: <?php y?>

Estas etiquetas especiales nos permitirán entrar y salir del "modo PHP". Le sirven al

4
Guía de laboratorio
Programa IE

servidor web para saber que tiene que interpretar el código incluido entre esas etiquetas
como PHP.

Lo que distingue a PHP de JavaScript es que el código es ejecutado en el servidor,


generando HTML y enviándolo al cliente como si fuera una página web estática. El cliente
recibirá los resultados que el servidor devuelve después de interpretar el código PHP, sin
ninguna posibilidad de determinar qué código ha producido el resultado recibido. Es decir, a
través de nuestro navegador podríamos ver el código HTML, pero nunca el código PHP que
dio lugar al resultado HTML. El servidor web puede ser incluso configurado para que los
usuarios no puedan saber si estás o no utilizando PHP.

Lo mejor de usar PHP es que es extremadamente simple para el principiante, pero a su vez,
ofrece muchas características avanzadas para los programadores profesionales y más
avanzados.

Con PHP puedes procesar la información de formularios, generar páginas con contenidos
dinámicos, o enviar y recibir cookies, entre muchas más cosas. PHP lo utilizan desde
pequeñas páginas web hasta grandes empresas. Muchas aplicaciones web están
construidas usando PHP. Podemos citar Joomla y Drupal (gestores de contenido de páginas
web), osCommerce y Prestashop (tiendas on-line para comercio electrónico), phpBB y SMF
(sistemas de foros para páginas web), Moodle (plataforma educativa para educación on-
line), etc.

Entre las habilidades de PHP se incluye la creación de imágenes a partir de datos. Por
ejemplo, supongamos que tenemos una academia con 20 alumnos matriculados en un
curso de informática, 50 alumnos matriculados en un curso de matemáticas y 30 alumnos
matriculados en un curso de química. Con PHP podemos generar automáticamente
imágenes similares a esta:

Imagen 4. Grafica mediante php

PHP también puede utilizar y presentar resultados en otros estándares de datos o lenguajes
propios de los desarrollos web, como XHTML y cualquier otro tipo de ficheros XML. PHP
5
Guía de laboratorio
Programa IE

puede autogenerar éstos archivos y almacenarlos en el sistema de archivos en vez de


presentarlos en la pantalla, utilizando estos ficheros para generar contenido dinámico. Es
decir, el contenido dinámico puede surgir de otros sitios además de desde bases de datos.

También se puede interactuar con otros servidores usando cualquier protocolo. Por último,
PHP puede enlazarse con otros lenguajes muy potentes como Java.

En resumen, PHP es un lenguaje potente, muy usado y de gran interés para los desarrollos
web.2

MYSQL

MySQL es un sistema de administración de bases de datos (Database Management


System, DBMS) para bases de datos relacionales. Así, MySQL no es más que una
aplicación que permite gestionar archivos llamados de bases de datos.

Existen muchos tipos de bases de datos, desde un simple archivo hasta sistemas
relacionales orientados a objetos. MySQL, como base de datos relacional, utiliza multiples
tablas para almacenar y organizar la información. MySQL fue escrito en C y C++ y destaca
por su gran adaptación a diferentes entornos de desarrollo, permitiendo su interactuación
con los lenguajes de programación más utilizados como PHP, Perl y Java y su integración
en distintos sistemas operativos.

También es muy destacable, la condición de open source de MySQL, que hace que su
utilización sea gratuita e incluso se pueda modificar con total libertad, pudiendo descargar
su código fuente. Esto ha favorecido muy positivamente en su desarrollo y continuas
actualizaciones, para hacer de MySQL una de las herramientas más utilizadas por los
programadores orientados a Internet.3

Imagen 5. Logo de MySql

Principios de SQL y sintaxis básica


Por lo tanto, SQL es un lenguaje de consulta estándar diseñado para operar en bases de
datos. Como se ha explicado actúa en MySQL, pero también puede operar en otras bases
de datos como Oracle, DB2, SQL server, PostgreSQL, etc. Qué operaciones permite llevar a

2
http://goo.gl/hI4SIl
3
http://www.esepestudio.com/noticias/que-es-mysql
6
Guía de laboratorio
Programa IE

cabo:

• Ejecutar consultas y recuperar datos


• Efectuar procesos de recuperación de información
• Insertar, actualizar y eliminar registros
• Crear nuevas bases de datos, tablas y campos
• Establecer permisos de administración para los usuarios
• Crear distintas vistas de una base de datos

Aprendiendo la sintaxis básica


En este curso nos centraremos en los métodos de recuperación por medio de SQL. Pero
para ello es necesario aprender una sintaxis básica con la que se explican los principios de
consulta SQL. En la siguiente tabla1 se observan una serie de palabras reservadas o
cláusulas (coloreadas en rojo) que corresponden al selector de campos (SELECT), al
selector de tablas (FROM) y a la cláusula condicional (WHERE).

SELECT campos FROM tabla WHERE condición


Tabla1. Sintáxis de consulta básica

Siempre que se desea obtener datos o resultados de una consulta SQL se requiere un
selector de los campos que son objetivo de la búsqueda, seleccionar la tabla en la que se
desea buscar la información y establecer las condiciones oportunas que deben cumplir los
resultados. Véase el siguiente ejemplo de la tabla2:

SELECT isbn FROM catalogo WHERE autor LIKE '%bryson%'


Tabla2. Ejemplo de consulta de todos los isbn del catálogo de libros cuyo autor sea bryson

Este ejemplo se puede traducir de la siguiente forma: Selecciona el campo isbn de todos los
registros de la tabla catálogo que cumplan la condición de que dentro del campo autor se
contenga el término bryson. Obsérvese que el término de consulta esta rodeado de
porcentajes. Esos caracteres también denominados truncamientos actúan sobre la consulta
para indicar que la cadena bryson puede tener cadenas de texto que le precedan y que le
sigan, como por ejemplo bill bryson natural de.

Crear una base de datos

Para crear una base de datos solo es necesario recordar la fórmula (CREATE DATABASE +
nombre de la base de datos), véase tabla3. El nombre de la base de datos es recomendable
que se escriba siempre en minúsculas, sin caracteres extraños, símbolos o acentos.
Tampoco debería preceder al nombre ningún número. Por otro lado los espacios en el
nombre deben ser sustituidos por guiones bajos (_) o guiones medios (-). Finalmente es
recomendable el uso de nombres sencillos que puedan ser fácilmente recordados.

CREATE DATABASE biblioteca


Tabla3. Crear una base de datos denominada "biblioteca"

7
Guía de laboratorio
Programa IE

Crear una tabla con campos

La creación de una tabla en mysql implica también el diseño de su estructura de campos y


con ello definir sus características. Resulta vital la forma en que se diseñan las tablas para
así poder efectuar una mejor recuperación y utilizar funciones específicamente diseñadas
para tal propósito, es el caso de las consultas de tipo FULLTEXT. Cuando se diseña la
tabla, se deben establecer el tipo de campos que la componen en función al tipo de
información que albergarán y a su extensión, por otro lado su set de codificación o set de
caracteres que se utilizará, véase tabla4.

CREATE TABLE users (


id INT NOT NULL AUTO_INCREMENT, PRIMARY KEY(id),
name VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_general_ci,
surname VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_general_ci,
allvisits LONGTEXT CHARACTER SET utf8 COLLATE utf8_general_ci,
lastvisit VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_general_ci,
lastsession VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_general_ci,
online VARCHAR(50) CHARACTER SET utf8 COLLATE utf8_general_ci,
level VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_general_ci,
username VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_general_ci,
password VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_general_ci,
trash VARCHAR(500) CHARACTER SET utf8 COLLATE utf8_general_ci,
snumber VARCHAR(2) CHARACTER SET utf8 COLLATE utf8_general_ci,
email VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_general_ci
) CHARACTER SET utf8 COLLATE utf8_general_ci
Tabla4. Crear una tabla denominada "users"

Insertar un nuevo registro en la tabla

Crear un nuevo registro en la tabla anterior se lleva a cabo con la sentencia de la tabla5.
Obsérvese la sintaxis (INSERT INTO + nombre de tabla afectada + SET + nombre del
campo = 'datos', nombre del campo = 'datos', nombre del campo = 'datos'...) Esta forma de
insertar datos permite al operador de MySQL tener un mayor control sobre la información
que inserta en el registro, pues no esta obligado a introducir todos los datos de todos los
campos si no lo desea. Es posible introducir sólo la información de los campos que se
reseñen.

INSERT INTO users SET name='nombre', surname='apellidos', allvisits='registro de todas


las visitas', lastvisits='última visita', lastsession='última sesión', online='estado',
level='nivel de acceso', username='nombre de usuario', password='contraseña',
trash='código de encriptación', snumber='código de seguridad', email='correo electrónico'
Tabla5. Ejemplo de inserción de un registro completo en la tabla

Modificar y actualizar un registro de la tabla

Se utiliza la sintaxis (UPDATE + nombre de tabla afectada + SET + nombre del campo =
'nuevo dato', nombre del campo = 'nuevo dato', nombre del campo = 'nuevo dato' + WHERE
+ condición) Al igual que en el caso anterior de la inserción, no se está obligado a repetir
todos los campos de la estructura que conforma la tabla de MySQL. Es suficiente reseñando
8
Guía de laboratorio
Programa IE

sólo aquellos campos del registro en el que se van a suceder los cambios con nuevos datos.
Finalmente se requiere la condición de la consulta de actualización, es decir, qué registro es
el que se desea actualizar. En el caso de la tabla6, es sobre un registro en concreto, por lo
que es necesario expresar que el identificador del usuario sea igual al que establezcamos.

UPDATE users SET name = 'nuevo nombre', surname = 'nuevos apellidos' WHERE id =
'identificador del registro'
Tabla6. Ejemplo de modificación y actualización de un registro de una tabla

Eliminar un registro de la tabla

Para eliminar un registro de una tabla se emplea la sintaxis (DELETE FROM + nombre de
tabla afectada + WHERE + condición), véase tabla7. Al igual que en el caso de la
modificación y actualización de una tabla es preciso determinar la condición bajo la que se
eliminará los registros o registro concreto. Una vez más señalando el número de
identificación es suficiente para indicar a MySQL cómo proceder.4

DELETE FROM items WHERE id = 'identificador del registro'


Tabla7. Borrar un registro de una tabla

Procedimiento

Se debe actualizar el gestor de instalación apt-get como se muestra en las imagenes 1 y 2.

Imagen 6. Actualización del gestor de instalación

Imagen 7. Actualización del gestor de instalación

Para la instalación de un servidor web se puede utilizar apache, servidor web típico de
sistema Linux. Se puede hacer como se muestra en la siguiente imagen.

Imagen 8. Instalación de servidor web

Para verificar que el servidor ha quedado instalado se pude hacer una prueba desde un
cliente que este en la misma red que el servidor, como se muestra en la siguiente imagen.

4
http://goo.gl/a9YEQ8
9
Guía de laboratorio
Programa IE

Imagen 9. Prueba de servidor web

Para crear una pequeña página web, se debe acceder a la carpeta /var/www/html y crear
una página .html con la herramienta nano, como se muestra en la siguiente imagen.

Imagen 10. Publicación de página web

Se ha propuesto el siguiente código como ejemplo de una página web nombrada


prueba1.html

Imagen 11. Código página web

Para verificar se debe digitar el nombre de la página web creada como se ve en la siguiente
imagen.

10
Guía de laboratorio
Programa IE

Imagen 12. Verificación funcionamiento página web creada

Se dese hacer una página web dinámica que tenga acceso a una base de datos. Se
propone instalar php y mysql como herramientas para realizar esta tarea. Inicialmente se
instala php con todas sus dependencias.

Imagen 13. Instalación PHP

Para verificar que se ha instalado de forma correcta se puede hacer una página de prueba
como se muestra en la siguiente imagen. Recuerden que debe ser en la ruta /var/www/html

Imagen 14. Verificación PHP

El código propuesto es el siguiente:

Imagen 15. Código PHP

Se debe reiniciar apache con la instrucción que se muestra en la siguiente imagen.

11
Guía de laboratorio
Programa IE

Imagen 16. Reinicio Apache

Se debe mostrar la página de verificación de php, que incluye las características de paquete
instalado.

Imagen 17. Página de características de PHP

Para instalar mysql se procede a instalarla con todas sus dependencias como se muestra
en al siguiente imagen.

Imagen 18. Instalación de mysql

Para verificar que se ha instalado correctamente se procede a digital la primera instrucción


de la siguiente imagen, service mysql status.

12
Guía de laboratorio
Programa IE

Imagen 20. Verificación de mysql

Para acceder a mysql se debe digitar la instrucción, mysql -uroot -p, como se muestra a
continuación.

Imagen 21. Acceso a mysql

Se debe crear un usuario, por ejemplo pi, por lo tanto se debe seguir las siguientes
instrucciones:

✓ CREATE USER 'nombre_de_usuario'@'localhost' IDENTIFIED BY '**************'; en


donde los asteriscos (**********) se remplazan por la contraseña deseada.

En nuestro caso sería: CREATE USER ‘pi’@'localhost' IDENTIFIED BY '123456';

✓ GRANT ALL PRIVILEGES ON *.* TO 'nombre_de_usuario'@'localhost' IDENTIFIED


BY '**************' WITH GRANT OPTION; instruccion usada para darle privilegios al
usuario creado

En nuestro caso seria: GRANT ALL PRIVILEGES ON *.* TO 'pi'@'localhost'


IDENTIFIED BY '123456' WITH GRANT OPTION;

13
Guía de laboratorio
Programa IE

Para ver las bases de datos existentes se debe digitar show databases;

Imagen 22. Ver bases de datos en mysql

Para crear una base de datos se debe digitar CREATE DATABASE y el nombre de la base
de datos deseada

Imagen 23. Creación de bases de datos en mysql

Para verificar la creación de la base de datos db1, se debe digitar nuevamente show
databases;

Imagen 24. Verificación de la creación de bases de datos en mysql

Para utilizar la base de datos se debe utilizar el comando use y el nombre de la base de
datos creada.

Imagen 25. Uso de base de datos en mysql

Para crear una tabla dentro de la base de datos se debe digitar el primer comando de la
siguiente imagen. Para ver la tabla se debe digitar show tables;

14
Guía de laboratorio
Programa IE

Imagen 26. Creación de tabla dentro de bases de datos en mysql

Para verificar la tabla creada se digita describe nombre;

Imagen 27. Verificación de creación de tabla dentro de bases de datos en mysql

Para poder acceder a la base de datos desde una página web se propone los siguientes
códigos. Inicialmente una página web que permita el ingreso de tres datos. La pagina se
debe crear en la carpeta /var/www/html

Imagen 28. Página web de ingreso de datos

Posteriormente se propone una aplicación en php para tomar los datos ingresados
previamente y agregarlos a la base de datos creada. Se debe hacer en la carpeta
/var/www/html

15
Guía de laboratorio
Programa IE

Imagen 29. Página web con php de ingreso de información en la base de datos

Para verificar su funcionamiento primero se debe acceder a al pagina desde un cliente como
se muestra en la siguiente imagen.

Imagen 30. Funcionamiento de página web de ingreso de datos

Se debería ver una imagen como la siguiente para verificar que los datos fueron
almacenados satisfactoriamente.

Imagen 31. Datos guardados en base de datos

Para verificar que los datos se guardaron exitosamente se puede utilizar una sentencia sql
select * from nombre;.

16
Guía de laboratorio
Programa IE

Imagen 32. Verificación de datos guardados en base de datos

17

También podría gustarte