SlideShare ist ein Scribd-Unternehmen logo
1 von 29
Downloaden Sie, um offline zu lesen
Redes, servidores y seguridad informática en Linux . CEP Indalo. Enrique Brotons
5. Servidor web.
5.1. Introducción.
Hoy en día casi todos los centros educativos cuentan con una página web
donde poder ofrecer información del centro como las enseñanzas que se imparten,
horarios escolares, ubicación del mismo, fotos y un largo etc de cosas relativas al mundo
educativo y del propio centro. Además en muchas ocasiones podemos ver como en un
centro nos vendría muy bien tener una plataforma donde los profesores y alumnos
tuvieran un punto en común donde poder subir y descargar materiales, ponerse en
contacto entre ellos, o saber cuando es la fecha de un examen por ejemplo.
La ventaja de tener el servidor web alojado en el propio centro es que no dependemos de
un servicio de hosting, pagado en la mayoría de los casos, para administrar nuestra
página y probar cosas. Podemos probar todo lo que queramos y tener una gestión directa
de todo lo que acontece al servidor. Otro punto positivo, es que las peticiones que se
hagan desde dentro de la red del centro, irán bastante más rápidas comparándolas
cuando estas se hacen a un servidor externo.
Como contrapunto, el equipo que haga de servidor debe estar siempre encendido si
queremos que los alumnos y profesores puedan acceder a su información en el momento
que quieran. Además la potencia del ordenador servidor y el ancho de banda de la
conexión de nuestro centro, delimitará las posibilidades del mismo cuando tenga que
atender a varias peticiones simultáneas de información.
Nosotros vamos a aprovechar que en esta unidad vamos a aprender a montar un Servidor
Web en Linux, para además instalarle una plataforma de software libre como es Moodle.
A partir de aquí empezaremos instalando los recursos necesarios para que nuestro
servidor aloje una página web con acceso a bases de datos SQL y código PHP.
1
Redes, servidores y seguridad informática en Linux . CEP Indalo. Enrique Brotons
5.2. LAMP.
LAMP son las siglas de Linux + Apache + MySQL + PHP/Perl/Python y en
resumen es un paquete con todo lo necesario para poder instalar un servidor web con la
mayoría de las funcionalidades que vamos a necesitar.
Quitando Linux por ser obvio, una breve descripción de los elementos anteriores:
•Apache: servidor web HTTP de código abierto, potente y muy estable usado en la
mayoría de los servidores web de Internet.
El archivo principal de configuración de Apache es /etc/apache2/apache2.conf
•MySQL: Sistema de gestión de Bases de Datos que usa el modelo relacional con
SQL.
El archivo principal de configuración de MySQL es /etc/mysql/my.cnf
•PHP: lenguaje de programación diseñado para obtener páginas web dinámicas.
El archivo principal de configuración de PHP es /etc/php5/apache2/php.ini
Más información:
http://es.wikipedia.org/wiki/LAMP
https://wiki.archlinux.org/index.php/LAMP_%28Espa%C3%B1ol%29
http://www.lamphowto.com/
2
Redes, servidores y seguridad informática en Linux . CEP Indalo. Enrique Brotons
5.2.1.Instalando LAMP.
Seguramente si hemos seguido los pasos ya tendremos instalado LAMP en
nuestro sistema servidor pero de no ser así lo instalaremos usando el comando:
sudo tasksel install lamp-server
Probamos que el servicio MySQL está activo con
service mysql status
Y vemos como entre los puerto a la escucha de nuestro servidor deben estar el 80 para el
servidor web ( HTTP) y el 3306 del servicio de base de datos ( MySQL).
netstat -putan |more
3
Redes, servidores y seguridad informática en Linux . CEP Indalo. Enrique Brotons
5.2.2. Probando el servidor web.
Hay muchas formas para comprobar que el servidor web Apache está activo,
pero tal vez la mejor sea probarlo desde algún ordenador cliente intentando cargar la
página de inicio por defecto que Apache lleva una vez instalado. Para eso abrimos un
navegador web en cualquier ordenador cliente de la red, o en el equipo anfitrión en el
caso de que el servidor este virtualizado y cargamos la dirección IP del servidor. El
resultado debe ser el contenido del la página index.html situada en el directorio
/var/www
En el caso de que quisiéramos probar directamente en el propio servidor si nuestra página
está activa, como no disponemos de ningún navegador web ya que a nuestro sistema
seguramente no le hemos instalado entorno gráfico, nos iremos a la carpeta /var/www y
una vez allí conectaremos mediante telnet usando
telnet 127.0.1.1 80
Una vez hemos conectado cargaremos la página con el comando
GET /index.html
El resultado debe mostrar el contenido de la página
4
Redes, servidores y seguridad informática en Linux . CEP Indalo. Enrique Brotons
Ahora vamos a probar que el servidor también ejecute código PHP sin problemas.
5.2.3. Probando el servidor PHP.
Vamos a probar por último que nuestro servidor puede ejecutar código PHP.
Para ello nos dirigimos a la carpeta var/www y creamos un archivo de texto usando
alguno de los editores de texto como por ejemplo nano
sudo nano probando.php
Modificamos el contenido añadiéndole estas líneas, guardamos y cerramos.
<?php echo 'Hola Mundo!!!'; ?>
A continuación nos vamos a un navegador de algún cliente en red y cargamos la dirección
IP del servidor /la_página.php que acabamos de crear para ver el resultado.
5
Redes, servidores y seguridad informática en Linux . CEP Indalo. Enrique Brotons
Todo funciona correcto, el servidor web, las bases de datos MySQL y PHP ejecuta
correctamente el código.
5.2.4. Configurando MySQL.
Para poder acceder externamente a las bases de datos de nuestro servidor es necesario
modificar el archivo de configuración de MySQL para ello nos iremos al archivo de
configuración del mismo /etc/mysql/my.cnf y lo editaremos para que apunte a la IP de
nuestro servidor.
sudo nano /etc/mysql/my.cnf
y modificamos la línea donde permite sólo acceder desde el localhost por nuestra IP del
servidor.
bind-adress = 192.168.2.100
Guardamos y salimos.
6
Redes, servidores y seguridad informática en Linux . CEP Indalo. Enrique Brotons
Reiniciaremos el servicio para que tengan efecto los cambios
sudo service mysql restart
Como por motivos de seguridad no es recomendable usar el superusuario root para
acceder desde otros equipos vamos a crearnos un nuevo usuario con permisos de
administrador que usaremos para administrar las bases de datos. Para crearlo usamos el
comando
mysql -u root -p
Ahora es cuando tenemos que recurrir a la memoria, o mejor aún a ese papel o archivo
donde guardamos las claves y usuarios que usamos durante la instalación de nuestro
servidor, para poder acceder como root a MySQL.
Una vez dentro del SQL Monitor usaremos un comando para crearnos un usuario que en
mi caso le he llamado enriquesql con pass “0000” y luego le daremos todos los
privilegios como administrador.
7
Redes, servidores y seguridad informática en Linux . CEP Indalo. Enrique Brotons
Para crear al usuario usamos
CREATE USER 'nombre_usuario'@'%' IDENTIFIED BY 'password';
CREATE USER 'enriquesql'@'%' IDENTIFIED BY '0000';
Y para darle todos los permisos usamos el comando
GRANT ALL PRIVILEGES ON *.* TO 'nombre_usuario'@'%' WITH GRANT
OPTION;
Una vez realizados los cambios salimos con
exit
5.3. phpMyAdmin.
Una vez tenemos todo lo necesario en nuestro servidor vamos a aprovecharnos de una
herramienta que nos va a facilitar mucho la interacción con las bases de datos de MySQL,
esta herramienta es PHPMyAdmin.
PHPMyAdmin es una aplicación escrita usando código PHP que nos va a permitir
manejar las bases de datos a través de una página web con un interfaz gráfico
ahorrándonos muchos de los comandos SQL que tendríamos que usar hasta para las
tareas más básicas.
Más información:
http://es.wikipedia.org/wiki/PhpMyAdmin
http://www.phpmyadmin.net/home_page/index.php
8
Redes, servidores y seguridad informática en Linux . CEP Indalo. Enrique Brotons
5.3.1. Instalando phpMyAdmin.
Para iniciar la instalación de PHPMyAdmin usaremos apt-get en una terminal
mediante el comando
sudo apt-get install phpmyadmin
Elegimos “apache2” y aceptamos. Nos avisará que para empezar a usar PHPMyAdmin
necesitamos tener una base de datos creada y configurada, para simplificar
seleccionamos “SÍ”.
9
Redes, servidores y seguridad informática en Linux . CEP Indalo. Enrique Brotons
Para confirmar nos va a pedir el password de root de MySQL, la introducimos.
Necesitamos además, una clave que nos permita usar PHPMyAdmin y conectarlo con las
bases de datos de MySQL. Podemos usar la misma clave que tenemos para MySQL o
otra diferente. En nuestro caso, a pesar de ser menos seguro que usar una nueva clave,
usaremos la misma para no tener que estar recordando o apuntando más claves.
Aunque siempre es posible usar una nueva clave si así lo deseamos.
Repetimos la clave y aceptamos.
Pasamos a probarlo.
5.3.2. Probando phpMyAdmin
Ahora falta hacer que la carpeta del phpmyadmin apunte a la carpeta www de
apache para que podamos probarlo. Para hacerlo hacemos un enlace simbólico con
sudo ln -s /usr/share/phpmyadmin /var/www
10
Redes, servidores y seguridad informática en Linux . CEP Indalo. Enrique Brotons
Vamos a probarlo para ello como con los otros servicios web nos vamos a un navegador
de un ordenador cliente y escribimos en la barra de dirección:
IP_servidor/phpmyadmin
Ingresamos el usuario y la contraseña que creamos anteriormente (“enriquesql” y “0000”)
y accederemos al panel de control de PHPMyAdmin. También podemos usar el usuario
root con su clave y entraríamos como administrador del sistema.
11
Redes, servidores y seguridad informática en Linux . CEP Indalo. Enrique Brotons
En Privilegios podemos ver los usuarios y sus permisos en el sistema para comprobar
que el usuario que creamos tiene todos los privilegios que vamos necesitar para manejar
nuestras bases de datos.
5.4. Creando una copia de seguridad.
En este punto del curso no estaría de más que hiciéramos una copia de
seguridad de nuestra máquina virtual con el sistema servidor. Para ello buscamos el
archivo de la máquina virtual en la ruta donde eligiéramos guardarlo al crearla. Copiamos
el archivo, o la carpeta entera de la máquina a otra partición, o disco duro externo, por si
12
Redes, servidores y seguridad informática en Linux . CEP Indalo. Enrique Brotons
cometemos algún error que no sabemos solucionar en un futuro. Esta operación tardará
unos minutos dependiendo del espacio de disco duro que le asignarais a la máquina.
5.5. Moodle.
Moodle es un Sistema de Gestión de Cursos de Código Abierto (Open Source
Course Management System, CMS), conocido también como Sistema de Gestión del
Aprendizaje (Learning Management System, LMS) o como Entorno de Aprendizaje Virtual
(Virtual Learning Environment, VLE). Es una aplicación web gratuita que los educadores
pueden utilizar para crear sitios de aprendizaje efectivo en línea como por ejemplo está
actividad formativa.
La filosofía planteada por Moodle incluye una aproximación constructiva basada en el
constructivismo social de la educación, enfatizando que los estudiantes (y no sólo los
profesores) pueden contribuir a la experiencia educativa en muchas formas. Las
características de Moodle reflejan esto en varios aspectos, como hacer posible que los
estudiantes puedan comentar en entradas de bases de datos (o inclusive contribuir
entradas ellos mismos), o trabajar colaborativamente en un wiki.
Habiendo dicho esto, Moodle es lo suficientemente flexible para permitir una amplia gama
de modos de enseñanza. Puede ser utilizado para generar contenido de manera básica o
13
Redes, servidores y seguridad informática en Linux . CEP Indalo. Enrique Brotons
avanzada (por ejemplo páginas web) o evaluación, y no requiere un enfoque
constructivista de enseñanza.
En términos de arquitectura, Moodle es una aplicación web que se ejecuta sin
modificaciones en Unix, GNU/Linux, OpenSolaris, FreeBSD, Windows, Mac OS X,
NetWare y otros sistemas que soportan PHP, incluyendo la mayoría de proveedores de
alojamiento web.
En cuanto al servidor web corre principalmente en Apache o IIS. La versión mínima de
PHP soportada en la versión de Moodle 2.2 es PHP 5.3.2.
Los datos se almacenan en una base de datos SQL. Los sistemas de gestión de bases de
datos soportados son: MySQL, PostgreSQL, MSSQL, Oracle, SQLite. 2
5.5.1. Comprobando compatibilidad.
Antes de instalar Moodle, debemos ver si es compatible la versión que
queremos instalar de moodle con la versión de php que estamos usando. Para eso vamos
a crear un archivo con un sencillo código php /var/www/probando2.php.
sudo nano /var/www/probando2.php
Y vamos introducir el siguiente código
<? php PHPinfo ();?>
Guardamos el archivo. Con ese código al cargar la página en un navegador nos dará la
información de la versión de php que tenemos. En nuestro caso tenemos instalada la
versión 5.3.6.
14
Redes, servidores y seguridad informática en Linux . CEP Indalo. Enrique Brotons
Para ver la versión de MySQL basta con cargar la página de PHPMyAdmin como hicimos
anteriormente.
Una vez que hemos comprobado en la página oficial de moodle
(http://download.moodle.org/ ) que nuestro servidor soportará la versión de moodle que
queremos instalar vamos a configurar algunos parámetros de Apache.
5.5.2. Configurando Apache.
Para que Apache tenga como página por defecto además de index.html, e
index.htm, también index.php. Para eso tenemos que editar el archivo de apache
/etc/apache2/sites-available/default
sudo nano /etc/apache2/sites-available/default
Insertando la línea
DirectoryIndex index.php index.html index.htm
15
Redes, servidores y seguridad informática en Linux . CEP Indalo. Enrique Brotons
Quedando así
Para que cuando reiniciamos apache no nos aparezca más el siguiente mensaje:
Vamos a darle el nombre de FQDN (Fully Qualified Domain Name) “localhost” con el
comando
echo "ServerName localhost" | sudo tee /etc/apache2/conf.d/fqdn
Y reiniciamos apache sin interrumpir las conexiones establecidas con el comando
sudo apache2ctl graceful
Comprobamos que apache se está ejecutando correctamente en nuestro sistema
sudo apache2ctl status
16
Redes, servidores y seguridad informática en Linux . CEP Indalo. Enrique Brotons
5.5.3. Creando una base de datos para moodle.
Lo siguiente que vamos a hacer es crear la base de datos que moodle
utilizará. Para hacerlo tenemos varias opciones con comandos, o usando PHPMyAdmin.
Ya que tenemos instalado esta última herramienta vamos a usarla desde algún equipo
cliente o el host anfitrión ( que también es cliente claro).
Cargamos PHPMyAdmin en un navegador ( ip_servidor/phpmyadmin ) y a continuación
nos vamos a la pestaña Bases de Datos. Una vez allí seleccionamos el tipo
“utf8_unicode_ci” y el le ponemos de nombre moodle. Pulsamos en el botón de
“Crear”.
17
Redes, servidores y seguridad informática en Linux . CEP Indalo. Enrique Brotons
Para ver los usuarios que tienen privilegios sobre la base de datos que hemos creado, le
damos a “Comprobar privilegios” y vemos como el usuario que creamos en esta unidad
( enriquesql ) tiene permisos totales en la base de datos.
5.5.4. Descargando moodle.
Ya tenemos lo necesario para instalar moodle ahora es el momento de
descargarlo. Tal vez la versión más extendida de moodle es la 1.9, pero nosotros vamos a
instalar la última en aparecer en el momento de escribir este curso que es la 2.2.1.
Para bajarla nos vamos a a la carpeta /var/www de nuestro servidor y usamos el
comando wget
wget http://downloads.sourceforge.net/project/moodle/Moodle/stable22/moodle-latest-
22.tgz
Ocupa unos 24MB así que dependiendo de la velocidad de descarga de nuestra conexión
tardará más, o menos.
18
Redes, servidores y seguridad informática en Linux . CEP Indalo. Enrique Brotons
comprobamos que lo hemos descargado y lo descomprimimos.
sudo tar xzvf moodle-latest-22.tgz
Volvemos a comprobar que al descomprimirlo nos ha creado una carpeta llamada moodle
dentro de /var/www
ls -l
19
Redes, servidores y seguridad informática en Linux . CEP Indalo. Enrique Brotons
5.5.5. Preparando la instalación de moodle.
Además, Moodle necesita un directorio moodledata para almacenar archivos. Por
seguridad no debe estar accesible desde la web por lo que lo crearemos en /var con el
siguiente comando:
sudo mkdir -p /var/moodledata
Cambiaremos los permisos para que el usuario de moodle pueda acceder al mismo
sudo chown -R nobody:www-data /var/moodledata
Y los modificamos permisos del usuario sobre el mismo
sudo chmod -R 0770 /var/moodledata
5.5.6. Instalando y configurando moodle.
Es hora de dejar los comandos de terminal a un lado e irnos a algún equipo
cliente (el equipo anfitrión por ejemplo) abriendo un navegador web y cargando la página
de instalación de moodle, que si habéis seguido las mismas rutas del curso será:
http://ip_servidor/moodle
http://192.168.2.100/moodle
En la pantalla inicial debemos seleccionar el lenguaje, que en nuestro caso será
Español – España (es - es)
20
Redes, servidores y seguridad informática en Linux . CEP Indalo. Enrique Brotons
En el siguiente paso tenemos que confirmar las rutas por defecto de moodle para acceder
a la web, donde se encuentran los archivos de moodle y el directorio que moodle usará
para los datos.
21
Redes, servidores y seguridad informática en Linux . CEP Indalo. Enrique Brotons
Ahora especificamos el tipo de base de datos que nosotros usaremos que en nuestro
caso es MySQL mejorado (native/mysql)
Configuramos los datos para acceder a nuestra base de datos donde tenemos que
completar el nombre de la base de datos (moodle) el usuario que hemos creado
(enriquesql) y la contraseña (0000) para dicho usuario.
En este punto moodle nos mostrará una pantalla de “Configuración completa”, pero nos
avisará que no ha podido escribir el archivo de configuración config.php en la carpeta de
moodle. Nos mostrará el archivo con el contenido de como debería quedar el archivo
config.php que almacena la información de la configuración de nuestro moodle.
22
Redes, servidores y seguridad informática en Linux . CEP Indalo. Enrique Brotons
Hay varias formas de conseguir el archivo config.php con el contenido anterior pero la que
me parece más sencilla es la que veremos a continuación.
5.5.7. Configurando config.php.
Nos vamos a ir a nuestro servidor a la carpeta /var/www/moodle y vamos a
modificar un archivo de configuración base que viene con los archivos de moodle que
descargamos y descomprimimos. El archivo se llama config-dist.php y para editarlo
usamos
sudo nano config-dist.php
Ahora vamos a ir modificándole los valores por defecto por los que nos ha reportado la
23
Redes, servidores y seguridad informática en Linux . CEP Indalo. Enrique Brotons
pantalla de configuración completa. De esta manera tendremos que modificar el archivo
para que quede así
24
Redes, servidores y seguridad informática en Linux . CEP Indalo. Enrique Brotons
No hará falta que modifiquemos ningún valor más. Observad que el parámetro CFG->
passwordsaltmain, no lo hemos modificado como venía en el archivo que nos genera la
25
Redes, servidores y seguridad informática en Linux . CEP Indalo. Enrique Brotons
instalación porque no vamos a usar ese añadido de seguridad a las contraseñas.
Una vez terminemos la edición guardamos con el nombre config.php y salimos.
Volvemos a un navegador en un equipo cliente y cargamos de nuevo la dirección
http://ip_servidor/moodle
http://192.168.2.100/moodle
Seguirá el proceso de instalación de los módulos de moodle hasta que nos permita pulsar
el botón “continue”
Completamos algunos datos personales referentes al administrador y otras opciones de
configuración.
26
Redes, servidores y seguridad informática en Linux . CEP Indalo. Enrique Brotons
Por último configuramos los parámetros básicos de la página web de moodle, como el
nombre de la página de inicio o una breve descripción de la misma.
27
Redes, servidores y seguridad informática en Linux . CEP Indalo. Enrique Brotons
Ya tenemos lista nuestra Aula virtual para seguir configurándola o cargando contenido.
Hemos visto un ejemplo de página web que podemos tener alojada en nuestro
servidor una vez lo hemos preparado con algunos de los servicios básicos que suelen
tener los servidores web, pero podríamos haber escogido cualquier otro tipo de página en
lugar de la plataforma Moodle, como por ejemplo Joomla, o cualquier página simple
hecha con editores HTML.
28
Redes, servidores y seguridad informática en Linux . CEP Indalo. Enrique Brotons
5.6. Usando los DNS.
Hasta ahora hemos accedido a la página web alojada en nuestro servidor
desde los clientes a través de la dirección IP del mismo. Es posible que queramos
acceder a ella usando un nombre de dominio más fácil de recordar. Para esto tenemos
dos opciones, o usamos un servidor de nombres de dominio donde esté establecida la
asociación de la dirección ip al nombre que queremos ponerle a nuestra página, o
podemos resolver esta asociación localmente introduciéndola en el archivo /etc/hosts.
Para hacerlo editamos el archivo de manera que haya una entrada así:
ip_servidor nombre_dominio
192.168.2.100 www.servidorcep.es
De esta forma cuando pongamos en un navegador de un equipo cliente al que le hemos
introducido esa asociación en su archivo hosts, www.servidorcep.es este cargará la
página alojada en nuestro servidor como si hubiéramos introducido la dirección IP
directamente.
Este artículo esta licenciado bajo Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License.
Redes, servidores y seguridad informática en Linux
Enrique Brotons
29

Weitere ähnliche Inhalte

Was ist angesagt? (18)

Apache
ApacheApache
Apache
 
Apache: instalación y configuración en Ubuntu Server y Windows Server
Apache: instalación y configuración en Ubuntu Server y Windows ServerApache: instalación y configuración en Ubuntu Server y Windows Server
Apache: instalación y configuración en Ubuntu Server y Windows Server
 
1212
12121212
1212
 
practica 1 apache
practica 1 apachepractica 1 apache
practica 1 apache
 
Sesion Nº 03 Tecnologias Web I Instalación Y Configuración Del Servidor A...
Sesion Nº 03   Tecnologias Web I   Instalación Y Configuración Del Servidor A...Sesion Nº 03   Tecnologias Web I   Instalación Y Configuración Del Servidor A...
Sesion Nº 03 Tecnologias Web I Instalación Y Configuración Del Servidor A...
 
Red t3 practica1_apachecms
Red t3 practica1_apachecmsRed t3 practica1_apachecms
Red t3 practica1_apachecms
 
01intalacion de apache
01intalacion de apache01intalacion de apache
01intalacion de apache
 
Manual de phpsuexec
Manual de phpsuexecManual de phpsuexec
Manual de phpsuexec
 
Aplicaciones Web Seguras (Anti-SQLi)
Aplicaciones Web Seguras (Anti-SQLi)Aplicaciones Web Seguras (Anti-SQLi)
Aplicaciones Web Seguras (Anti-SQLi)
 
Apache practica
Apache practicaApache practica
Apache practica
 
Creacion de un IIS
Creacion de un IISCreacion de un IIS
Creacion de un IIS
 
Guía de instalación de WordPress en CentOS 7
Guía de instalación de WordPress en CentOS 7Guía de instalación de WordPress en CentOS 7
Guía de instalación de WordPress en CentOS 7
 
Montar un servidor web win7
Montar un servidor web win7Montar un servidor web win7
Montar un servidor web win7
 
02practica completa
02practica completa02practica completa
02practica completa
 
12 servicios webftp_windowsasoitson
12 servicios webftp_windowsasoitson12 servicios webftp_windowsasoitson
12 servicios webftp_windowsasoitson
 
12 servidor webwindows2003
12 servidor webwindows200312 servidor webwindows2003
12 servidor webwindows2003
 
Introducción a Servidor HTTP Apache
Introducción a Servidor HTTP ApacheIntroducción a Servidor HTTP Apache
Introducción a Servidor HTTP Apache
 
Instalación de cms en un servidor
Instalación de cms en un servidorInstalación de cms en un servidor
Instalación de cms en un servidor
 

Andere mochten auch

Ppv en clavede servicio
Ppv en clavede servicioPpv en clavede servicio
Ppv en clavede servicioNELKINO
 
BillingViews Facebook Success Index
BillingViews Facebook Success IndexBillingViews Facebook Success Index
BillingViews Facebook Success IndexBillingViews
 
Mi exposicion de informatica
Mi exposicion de informaticaMi exposicion de informatica
Mi exposicion de informaticaDanira Melendez
 
Chapter 9: Claims
Chapter 9: Claims Chapter 9: Claims
Chapter 9: Claims aec111
 
Info2011 Panel: University Libraries in Israel - Centralization-Decentralizat...
Info2011 Panel: University Libraries in Israel - Centralization-Decentralizat...Info2011 Panel: University Libraries in Israel - Centralization-Decentralizat...
Info2011 Panel: University Libraries in Israel - Centralization-Decentralizat...Dalia Dolev
 
6ja250 mcdonalds-eng
6ja250 mcdonalds-eng6ja250 mcdonalds-eng
6ja250 mcdonalds-engxxxxj
 
Slactivism: Practicing your right to free speech, in the comfort of your own ...
Slactivism: Practicing your right to free speech, in the comfort of your own ...Slactivism: Practicing your right to free speech, in the comfort of your own ...
Slactivism: Practicing your right to free speech, in the comfort of your own ...8eb23
 
1 archivos jar
1 archivos jar1 archivos jar
1 archivos jarangeles104
 
Decisions in communication
Decisions in communicationDecisions in communication
Decisions in communicationTalinChirinian
 
Kena roots booklet-personal development-2016 gift
Kena roots booklet-personal development-2016 giftKena roots booklet-personal development-2016 gift
Kena roots booklet-personal development-2016 giftDr. Hani Malkawi
 

Andere mochten auch (20)

Ppv en clavede servicio
Ppv en clavede servicioPpv en clavede servicio
Ppv en clavede servicio
 
BillingViews Facebook Success Index
BillingViews Facebook Success IndexBillingViews Facebook Success Index
BillingViews Facebook Success Index
 
Mi exposicion de informatica
Mi exposicion de informaticaMi exposicion de informatica
Mi exposicion de informatica
 
Bodylanguage
BodylanguageBodylanguage
Bodylanguage
 
X22686506
X22686506X22686506
X22686506
 
Chapter 9: Claims
Chapter 9: Claims Chapter 9: Claims
Chapter 9: Claims
 
Base pdres urbano
Base pdres urbanoBase pdres urbano
Base pdres urbano
 
Info2011 Panel: University Libraries in Israel - Centralization-Decentralizat...
Info2011 Panel: University Libraries in Israel - Centralization-Decentralizat...Info2011 Panel: University Libraries in Israel - Centralization-Decentralizat...
Info2011 Panel: University Libraries in Israel - Centralization-Decentralizat...
 
Service Desk by InfraManager ITSM
Service Desk by InfraManager ITSMService Desk by InfraManager ITSM
Service Desk by InfraManager ITSM
 
Online reputatie-2012
Online reputatie-2012Online reputatie-2012
Online reputatie-2012
 
6ja250 mcdonalds-eng
6ja250 mcdonalds-eng6ja250 mcdonalds-eng
6ja250 mcdonalds-eng
 
Portfolio
PortfolioPortfolio
Portfolio
 
Popeco
PopecoPopeco
Popeco
 
Propuesta capacitaciones design thinking lean
Propuesta capacitaciones design thinking leanPropuesta capacitaciones design thinking lean
Propuesta capacitaciones design thinking lean
 
Slactivism: Practicing your right to free speech, in the comfort of your own ...
Slactivism: Practicing your right to free speech, in the comfort of your own ...Slactivism: Practicing your right to free speech, in the comfort of your own ...
Slactivism: Practicing your right to free speech, in the comfort of your own ...
 
1 archivos jar
1 archivos jar1 archivos jar
1 archivos jar
 
AcneRoot Cream Brochure
AcneRoot Cream BrochureAcneRoot Cream Brochure
AcneRoot Cream Brochure
 
Drones Services Gyga Full
Drones Services Gyga FullDrones Services Gyga Full
Drones Services Gyga Full
 
Decisions in communication
Decisions in communicationDecisions in communication
Decisions in communication
 
Kena roots booklet-personal development-2016 gift
Kena roots booklet-personal development-2016 giftKena roots booklet-personal development-2016 gift
Kena roots booklet-personal development-2016 gift
 

Ähnlich wie 5 servidor web

Gestion de nubes d
Gestion de nubes dGestion de nubes d
Gestion de nubes drossykeles
 
Gestion de nubes de servidores
Gestion de nubes de servidoresGestion de nubes de servidores
Gestion de nubes de servidoresrossykeles
 
Publicación de un Servidor Web a través de un Módem Doméstico.
Publicación de un Servidor Web a través de un Módem Doméstico.Publicación de un Servidor Web a través de un Módem Doméstico.
Publicación de un Servidor Web a través de un Módem Doméstico.Gerardo Martínez
 
Servidor WEB
Servidor WEBServidor WEB
Servidor WEBLenidav
 
Apli t1 practicas_apache
Apli t1 practicas_apacheApli t1 practicas_apache
Apli t1 practicas_apachegarciadebora
 
Manual de instalacion de servidor zentyal 3
Manual de instalacion de servidor zentyal 3Manual de instalacion de servidor zentyal 3
Manual de instalacion de servidor zentyal 3Marco Arias
 
Instalacion de osc inventory en ubuntu
Instalacion de osc inventory en ubuntuInstalacion de osc inventory en ubuntu
Instalacion de osc inventory en ubuntuEcuteb Gv
 
Programacion - Php
Programacion - PhpProgramacion - Php
Programacion - PhpPROD LARD
 
Manual de configuracion de proxy SQUID
Manual de configuracion de proxy SQUIDManual de configuracion de proxy SQUID
Manual de configuracion de proxy SQUIDAndres Ldño
 

Ähnlich wie 5 servidor web (20)

Gestion de nubes d
Gestion de nubes dGestion de nubes d
Gestion de nubes d
 
Gestion de nubes de servidores
Gestion de nubes de servidoresGestion de nubes de servidores
Gestion de nubes de servidores
 
Servidorweb casero
Servidorweb caseroServidorweb casero
Servidorweb casero
 
Servidores
ServidoresServidores
Servidores
 
Phpmyadmin
PhpmyadminPhpmyadmin
Phpmyadmin
 
Publicación de un Servidor Web a través de un Módem Doméstico.
Publicación de un Servidor Web a través de un Módem Doméstico.Publicación de un Servidor Web a través de un Módem Doméstico.
Publicación de un Servidor Web a través de un Módem Doméstico.
 
Servidor WEB
Servidor WEBServidor WEB
Servidor WEB
 
Apli t1 practicas_apache
Apli t1 practicas_apacheApli t1 practicas_apache
Apli t1 practicas_apache
 
Manual de instalacion de servidor zentyal 3
Manual de instalacion de servidor zentyal 3Manual de instalacion de servidor zentyal 3
Manual de instalacion de servidor zentyal 3
 
Cherokee
CherokeeCherokee
Cherokee
 
Servidorweb
ServidorwebServidorweb
Servidorweb
 
Instalacion de osc inventory en ubuntu
Instalacion de osc inventory en ubuntuInstalacion de osc inventory en ubuntu
Instalacion de osc inventory en ubuntu
 
Presentacion_PHP5_Avanzado.pdf
Presentacion_PHP5_Avanzado.pdfPresentacion_PHP5_Avanzado.pdf
Presentacion_PHP5_Avanzado.pdf
 
Info de redes
Info de redesInfo de redes
Info de redes
 
Info de redes
Info de redesInfo de redes
Info de redes
 
Programacion - Php
Programacion - PhpProgramacion - Php
Programacion - Php
 
Actividad n 5.3 http ftp
Actividad n 5.3 http ftpActividad n 5.3 http ftp
Actividad n 5.3 http ftp
 
Actividad n 5.3 http ftp
Actividad n 5.3 http ftpActividad n 5.3 http ftp
Actividad n 5.3 http ftp
 
Manual de configuracion de proxy SQUID
Manual de configuracion de proxy SQUIDManual de configuracion de proxy SQUID
Manual de configuracion de proxy SQUID
 
Servidor Web Alojamiento
Servidor Web Alojamiento
Servidor Web Alojamiento
Servidor Web Alojamiento
 

Mehr von angeles104

Ubuntu18 ligdm-traducido
Ubuntu18 ligdm-traducidoUbuntu18 ligdm-traducido
Ubuntu18 ligdm-traducidoangeles104
 
Mejores procesadores del mercado junio 2018
Mejores procesadores del mercado junio 2018Mejores procesadores del mercado junio 2018
Mejores procesadores del mercado junio 2018angeles104
 
Introducción a swing. taller de programación 2016
Introducción a swing. taller de programación 2016Introducción a swing. taller de programación 2016
Introducción a swing. taller de programación 2016angeles104
 
Instalacion windows-7
Instalacion windows-7Instalacion windows-7
Instalacion windows-7angeles104
 
Apache htaccess
Apache htaccessApache htaccess
Apache htaccessangeles104
 

Mehr von angeles104 (6)

Ubuntu18 ligdm-traducido
Ubuntu18 ligdm-traducidoUbuntu18 ligdm-traducido
Ubuntu18 ligdm-traducido
 
Mejores procesadores del mercado junio 2018
Mejores procesadores del mercado junio 2018Mejores procesadores del mercado junio 2018
Mejores procesadores del mercado junio 2018
 
Introducción a swing. taller de programación 2016
Introducción a swing. taller de programación 2016Introducción a swing. taller de programación 2016
Introducción a swing. taller de programación 2016
 
Instalacion windows-7
Instalacion windows-7Instalacion windows-7
Instalacion windows-7
 
Apache htaccess
Apache htaccessApache htaccess
Apache htaccess
 
Ftp
FtpFtp
Ftp
 

Kürzlich hochgeladen

12 Clasificacion de las Computadoras.pdf
12 Clasificacion de las Computadoras.pdf12 Clasificacion de las Computadoras.pdf
12 Clasificacion de las Computadoras.pdfedwinmelgarschlink2
 
memoria de la empresa Pil Andina para d
memoria de la empresa Pil Andina para  dmemoria de la empresa Pil Andina para  d
memoria de la empresa Pil Andina para dRodrigoAveranga2
 
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdfNUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdfisrael garcia
 
02. Mr. Spencer (T.L. Sawn).pdf.libro de un señor
02. Mr. Spencer (T.L. Sawn).pdf.libro de un señor02. Mr. Spencer (T.L. Sawn).pdf.libro de un señor
02. Mr. Spencer (T.L. Sawn).pdf.libro de un señorkkte210207
 
Las redes sociales en el mercado digital
Las redes sociales en el mercado digitalLas redes sociales en el mercado digital
Las redes sociales en el mercado digitalNayaniJulietaRamosRa
 
Guia para el registro en el sitio slideshare.pdf
Guia para el registro en el sitio slideshare.pdfGuia para el registro en el sitio slideshare.pdf
Guia para el registro en el sitio slideshare.pdflauradbernals
 

Kürzlich hochgeladen (6)

12 Clasificacion de las Computadoras.pdf
12 Clasificacion de las Computadoras.pdf12 Clasificacion de las Computadoras.pdf
12 Clasificacion de las Computadoras.pdf
 
memoria de la empresa Pil Andina para d
memoria de la empresa Pil Andina para  dmemoria de la empresa Pil Andina para  d
memoria de la empresa Pil Andina para d
 
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdfNUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
 
02. Mr. Spencer (T.L. Sawn).pdf.libro de un señor
02. Mr. Spencer (T.L. Sawn).pdf.libro de un señor02. Mr. Spencer (T.L. Sawn).pdf.libro de un señor
02. Mr. Spencer (T.L. Sawn).pdf.libro de un señor
 
Las redes sociales en el mercado digital
Las redes sociales en el mercado digitalLas redes sociales en el mercado digital
Las redes sociales en el mercado digital
 
Guia para el registro en el sitio slideshare.pdf
Guia para el registro en el sitio slideshare.pdfGuia para el registro en el sitio slideshare.pdf
Guia para el registro en el sitio slideshare.pdf
 

5 servidor web

  • 1. Redes, servidores y seguridad informática en Linux . CEP Indalo. Enrique Brotons 5. Servidor web. 5.1. Introducción. Hoy en día casi todos los centros educativos cuentan con una página web donde poder ofrecer información del centro como las enseñanzas que se imparten, horarios escolares, ubicación del mismo, fotos y un largo etc de cosas relativas al mundo educativo y del propio centro. Además en muchas ocasiones podemos ver como en un centro nos vendría muy bien tener una plataforma donde los profesores y alumnos tuvieran un punto en común donde poder subir y descargar materiales, ponerse en contacto entre ellos, o saber cuando es la fecha de un examen por ejemplo. La ventaja de tener el servidor web alojado en el propio centro es que no dependemos de un servicio de hosting, pagado en la mayoría de los casos, para administrar nuestra página y probar cosas. Podemos probar todo lo que queramos y tener una gestión directa de todo lo que acontece al servidor. Otro punto positivo, es que las peticiones que se hagan desde dentro de la red del centro, irán bastante más rápidas comparándolas cuando estas se hacen a un servidor externo. Como contrapunto, el equipo que haga de servidor debe estar siempre encendido si queremos que los alumnos y profesores puedan acceder a su información en el momento que quieran. Además la potencia del ordenador servidor y el ancho de banda de la conexión de nuestro centro, delimitará las posibilidades del mismo cuando tenga que atender a varias peticiones simultáneas de información. Nosotros vamos a aprovechar que en esta unidad vamos a aprender a montar un Servidor Web en Linux, para además instalarle una plataforma de software libre como es Moodle. A partir de aquí empezaremos instalando los recursos necesarios para que nuestro servidor aloje una página web con acceso a bases de datos SQL y código PHP. 1
  • 2. Redes, servidores y seguridad informática en Linux . CEP Indalo. Enrique Brotons 5.2. LAMP. LAMP son las siglas de Linux + Apache + MySQL + PHP/Perl/Python y en resumen es un paquete con todo lo necesario para poder instalar un servidor web con la mayoría de las funcionalidades que vamos a necesitar. Quitando Linux por ser obvio, una breve descripción de los elementos anteriores: •Apache: servidor web HTTP de código abierto, potente y muy estable usado en la mayoría de los servidores web de Internet. El archivo principal de configuración de Apache es /etc/apache2/apache2.conf •MySQL: Sistema de gestión de Bases de Datos que usa el modelo relacional con SQL. El archivo principal de configuración de MySQL es /etc/mysql/my.cnf •PHP: lenguaje de programación diseñado para obtener páginas web dinámicas. El archivo principal de configuración de PHP es /etc/php5/apache2/php.ini Más información: http://es.wikipedia.org/wiki/LAMP https://wiki.archlinux.org/index.php/LAMP_%28Espa%C3%B1ol%29 http://www.lamphowto.com/ 2
  • 3. Redes, servidores y seguridad informática en Linux . CEP Indalo. Enrique Brotons 5.2.1.Instalando LAMP. Seguramente si hemos seguido los pasos ya tendremos instalado LAMP en nuestro sistema servidor pero de no ser así lo instalaremos usando el comando: sudo tasksel install lamp-server Probamos que el servicio MySQL está activo con service mysql status Y vemos como entre los puerto a la escucha de nuestro servidor deben estar el 80 para el servidor web ( HTTP) y el 3306 del servicio de base de datos ( MySQL). netstat -putan |more 3
  • 4. Redes, servidores y seguridad informática en Linux . CEP Indalo. Enrique Brotons 5.2.2. Probando el servidor web. Hay muchas formas para comprobar que el servidor web Apache está activo, pero tal vez la mejor sea probarlo desde algún ordenador cliente intentando cargar la página de inicio por defecto que Apache lleva una vez instalado. Para eso abrimos un navegador web en cualquier ordenador cliente de la red, o en el equipo anfitrión en el caso de que el servidor este virtualizado y cargamos la dirección IP del servidor. El resultado debe ser el contenido del la página index.html situada en el directorio /var/www En el caso de que quisiéramos probar directamente en el propio servidor si nuestra página está activa, como no disponemos de ningún navegador web ya que a nuestro sistema seguramente no le hemos instalado entorno gráfico, nos iremos a la carpeta /var/www y una vez allí conectaremos mediante telnet usando telnet 127.0.1.1 80 Una vez hemos conectado cargaremos la página con el comando GET /index.html El resultado debe mostrar el contenido de la página 4
  • 5. Redes, servidores y seguridad informática en Linux . CEP Indalo. Enrique Brotons Ahora vamos a probar que el servidor también ejecute código PHP sin problemas. 5.2.3. Probando el servidor PHP. Vamos a probar por último que nuestro servidor puede ejecutar código PHP. Para ello nos dirigimos a la carpeta var/www y creamos un archivo de texto usando alguno de los editores de texto como por ejemplo nano sudo nano probando.php Modificamos el contenido añadiéndole estas líneas, guardamos y cerramos. <?php echo 'Hola Mundo!!!'; ?> A continuación nos vamos a un navegador de algún cliente en red y cargamos la dirección IP del servidor /la_página.php que acabamos de crear para ver el resultado. 5
  • 6. Redes, servidores y seguridad informática en Linux . CEP Indalo. Enrique Brotons Todo funciona correcto, el servidor web, las bases de datos MySQL y PHP ejecuta correctamente el código. 5.2.4. Configurando MySQL. Para poder acceder externamente a las bases de datos de nuestro servidor es necesario modificar el archivo de configuración de MySQL para ello nos iremos al archivo de configuración del mismo /etc/mysql/my.cnf y lo editaremos para que apunte a la IP de nuestro servidor. sudo nano /etc/mysql/my.cnf y modificamos la línea donde permite sólo acceder desde el localhost por nuestra IP del servidor. bind-adress = 192.168.2.100 Guardamos y salimos. 6
  • 7. Redes, servidores y seguridad informática en Linux . CEP Indalo. Enrique Brotons Reiniciaremos el servicio para que tengan efecto los cambios sudo service mysql restart Como por motivos de seguridad no es recomendable usar el superusuario root para acceder desde otros equipos vamos a crearnos un nuevo usuario con permisos de administrador que usaremos para administrar las bases de datos. Para crearlo usamos el comando mysql -u root -p Ahora es cuando tenemos que recurrir a la memoria, o mejor aún a ese papel o archivo donde guardamos las claves y usuarios que usamos durante la instalación de nuestro servidor, para poder acceder como root a MySQL. Una vez dentro del SQL Monitor usaremos un comando para crearnos un usuario que en mi caso le he llamado enriquesql con pass “0000” y luego le daremos todos los privilegios como administrador. 7
  • 8. Redes, servidores y seguridad informática en Linux . CEP Indalo. Enrique Brotons Para crear al usuario usamos CREATE USER 'nombre_usuario'@'%' IDENTIFIED BY 'password'; CREATE USER 'enriquesql'@'%' IDENTIFIED BY '0000'; Y para darle todos los permisos usamos el comando GRANT ALL PRIVILEGES ON *.* TO 'nombre_usuario'@'%' WITH GRANT OPTION; Una vez realizados los cambios salimos con exit 5.3. phpMyAdmin. Una vez tenemos todo lo necesario en nuestro servidor vamos a aprovecharnos de una herramienta que nos va a facilitar mucho la interacción con las bases de datos de MySQL, esta herramienta es PHPMyAdmin. PHPMyAdmin es una aplicación escrita usando código PHP que nos va a permitir manejar las bases de datos a través de una página web con un interfaz gráfico ahorrándonos muchos de los comandos SQL que tendríamos que usar hasta para las tareas más básicas. Más información: http://es.wikipedia.org/wiki/PhpMyAdmin http://www.phpmyadmin.net/home_page/index.php 8
  • 9. Redes, servidores y seguridad informática en Linux . CEP Indalo. Enrique Brotons 5.3.1. Instalando phpMyAdmin. Para iniciar la instalación de PHPMyAdmin usaremos apt-get en una terminal mediante el comando sudo apt-get install phpmyadmin Elegimos “apache2” y aceptamos. Nos avisará que para empezar a usar PHPMyAdmin necesitamos tener una base de datos creada y configurada, para simplificar seleccionamos “SÍ”. 9
  • 10. Redes, servidores y seguridad informática en Linux . CEP Indalo. Enrique Brotons Para confirmar nos va a pedir el password de root de MySQL, la introducimos. Necesitamos además, una clave que nos permita usar PHPMyAdmin y conectarlo con las bases de datos de MySQL. Podemos usar la misma clave que tenemos para MySQL o otra diferente. En nuestro caso, a pesar de ser menos seguro que usar una nueva clave, usaremos la misma para no tener que estar recordando o apuntando más claves. Aunque siempre es posible usar una nueva clave si así lo deseamos. Repetimos la clave y aceptamos. Pasamos a probarlo. 5.3.2. Probando phpMyAdmin Ahora falta hacer que la carpeta del phpmyadmin apunte a la carpeta www de apache para que podamos probarlo. Para hacerlo hacemos un enlace simbólico con sudo ln -s /usr/share/phpmyadmin /var/www 10
  • 11. Redes, servidores y seguridad informática en Linux . CEP Indalo. Enrique Brotons Vamos a probarlo para ello como con los otros servicios web nos vamos a un navegador de un ordenador cliente y escribimos en la barra de dirección: IP_servidor/phpmyadmin Ingresamos el usuario y la contraseña que creamos anteriormente (“enriquesql” y “0000”) y accederemos al panel de control de PHPMyAdmin. También podemos usar el usuario root con su clave y entraríamos como administrador del sistema. 11
  • 12. Redes, servidores y seguridad informática en Linux . CEP Indalo. Enrique Brotons En Privilegios podemos ver los usuarios y sus permisos en el sistema para comprobar que el usuario que creamos tiene todos los privilegios que vamos necesitar para manejar nuestras bases de datos. 5.4. Creando una copia de seguridad. En este punto del curso no estaría de más que hiciéramos una copia de seguridad de nuestra máquina virtual con el sistema servidor. Para ello buscamos el archivo de la máquina virtual en la ruta donde eligiéramos guardarlo al crearla. Copiamos el archivo, o la carpeta entera de la máquina a otra partición, o disco duro externo, por si 12
  • 13. Redes, servidores y seguridad informática en Linux . CEP Indalo. Enrique Brotons cometemos algún error que no sabemos solucionar en un futuro. Esta operación tardará unos minutos dependiendo del espacio de disco duro que le asignarais a la máquina. 5.5. Moodle. Moodle es un Sistema de Gestión de Cursos de Código Abierto (Open Source Course Management System, CMS), conocido también como Sistema de Gestión del Aprendizaje (Learning Management System, LMS) o como Entorno de Aprendizaje Virtual (Virtual Learning Environment, VLE). Es una aplicación web gratuita que los educadores pueden utilizar para crear sitios de aprendizaje efectivo en línea como por ejemplo está actividad formativa. La filosofía planteada por Moodle incluye una aproximación constructiva basada en el constructivismo social de la educación, enfatizando que los estudiantes (y no sólo los profesores) pueden contribuir a la experiencia educativa en muchas formas. Las características de Moodle reflejan esto en varios aspectos, como hacer posible que los estudiantes puedan comentar en entradas de bases de datos (o inclusive contribuir entradas ellos mismos), o trabajar colaborativamente en un wiki. Habiendo dicho esto, Moodle es lo suficientemente flexible para permitir una amplia gama de modos de enseñanza. Puede ser utilizado para generar contenido de manera básica o 13
  • 14. Redes, servidores y seguridad informática en Linux . CEP Indalo. Enrique Brotons avanzada (por ejemplo páginas web) o evaluación, y no requiere un enfoque constructivista de enseñanza. En términos de arquitectura, Moodle es una aplicación web que se ejecuta sin modificaciones en Unix, GNU/Linux, OpenSolaris, FreeBSD, Windows, Mac OS X, NetWare y otros sistemas que soportan PHP, incluyendo la mayoría de proveedores de alojamiento web. En cuanto al servidor web corre principalmente en Apache o IIS. La versión mínima de PHP soportada en la versión de Moodle 2.2 es PHP 5.3.2. Los datos se almacenan en una base de datos SQL. Los sistemas de gestión de bases de datos soportados son: MySQL, PostgreSQL, MSSQL, Oracle, SQLite. 2 5.5.1. Comprobando compatibilidad. Antes de instalar Moodle, debemos ver si es compatible la versión que queremos instalar de moodle con la versión de php que estamos usando. Para eso vamos a crear un archivo con un sencillo código php /var/www/probando2.php. sudo nano /var/www/probando2.php Y vamos introducir el siguiente código <? php PHPinfo ();?> Guardamos el archivo. Con ese código al cargar la página en un navegador nos dará la información de la versión de php que tenemos. En nuestro caso tenemos instalada la versión 5.3.6. 14
  • 15. Redes, servidores y seguridad informática en Linux . CEP Indalo. Enrique Brotons Para ver la versión de MySQL basta con cargar la página de PHPMyAdmin como hicimos anteriormente. Una vez que hemos comprobado en la página oficial de moodle (http://download.moodle.org/ ) que nuestro servidor soportará la versión de moodle que queremos instalar vamos a configurar algunos parámetros de Apache. 5.5.2. Configurando Apache. Para que Apache tenga como página por defecto además de index.html, e index.htm, también index.php. Para eso tenemos que editar el archivo de apache /etc/apache2/sites-available/default sudo nano /etc/apache2/sites-available/default Insertando la línea DirectoryIndex index.php index.html index.htm 15
  • 16. Redes, servidores y seguridad informática en Linux . CEP Indalo. Enrique Brotons Quedando así Para que cuando reiniciamos apache no nos aparezca más el siguiente mensaje: Vamos a darle el nombre de FQDN (Fully Qualified Domain Name) “localhost” con el comando echo "ServerName localhost" | sudo tee /etc/apache2/conf.d/fqdn Y reiniciamos apache sin interrumpir las conexiones establecidas con el comando sudo apache2ctl graceful Comprobamos que apache se está ejecutando correctamente en nuestro sistema sudo apache2ctl status 16
  • 17. Redes, servidores y seguridad informática en Linux . CEP Indalo. Enrique Brotons 5.5.3. Creando una base de datos para moodle. Lo siguiente que vamos a hacer es crear la base de datos que moodle utilizará. Para hacerlo tenemos varias opciones con comandos, o usando PHPMyAdmin. Ya que tenemos instalado esta última herramienta vamos a usarla desde algún equipo cliente o el host anfitrión ( que también es cliente claro). Cargamos PHPMyAdmin en un navegador ( ip_servidor/phpmyadmin ) y a continuación nos vamos a la pestaña Bases de Datos. Una vez allí seleccionamos el tipo “utf8_unicode_ci” y el le ponemos de nombre moodle. Pulsamos en el botón de “Crear”. 17
  • 18. Redes, servidores y seguridad informática en Linux . CEP Indalo. Enrique Brotons Para ver los usuarios que tienen privilegios sobre la base de datos que hemos creado, le damos a “Comprobar privilegios” y vemos como el usuario que creamos en esta unidad ( enriquesql ) tiene permisos totales en la base de datos. 5.5.4. Descargando moodle. Ya tenemos lo necesario para instalar moodle ahora es el momento de descargarlo. Tal vez la versión más extendida de moodle es la 1.9, pero nosotros vamos a instalar la última en aparecer en el momento de escribir este curso que es la 2.2.1. Para bajarla nos vamos a a la carpeta /var/www de nuestro servidor y usamos el comando wget wget http://downloads.sourceforge.net/project/moodle/Moodle/stable22/moodle-latest- 22.tgz Ocupa unos 24MB así que dependiendo de la velocidad de descarga de nuestra conexión tardará más, o menos. 18
  • 19. Redes, servidores y seguridad informática en Linux . CEP Indalo. Enrique Brotons comprobamos que lo hemos descargado y lo descomprimimos. sudo tar xzvf moodle-latest-22.tgz Volvemos a comprobar que al descomprimirlo nos ha creado una carpeta llamada moodle dentro de /var/www ls -l 19
  • 20. Redes, servidores y seguridad informática en Linux . CEP Indalo. Enrique Brotons 5.5.5. Preparando la instalación de moodle. Además, Moodle necesita un directorio moodledata para almacenar archivos. Por seguridad no debe estar accesible desde la web por lo que lo crearemos en /var con el siguiente comando: sudo mkdir -p /var/moodledata Cambiaremos los permisos para que el usuario de moodle pueda acceder al mismo sudo chown -R nobody:www-data /var/moodledata Y los modificamos permisos del usuario sobre el mismo sudo chmod -R 0770 /var/moodledata 5.5.6. Instalando y configurando moodle. Es hora de dejar los comandos de terminal a un lado e irnos a algún equipo cliente (el equipo anfitrión por ejemplo) abriendo un navegador web y cargando la página de instalación de moodle, que si habéis seguido las mismas rutas del curso será: http://ip_servidor/moodle http://192.168.2.100/moodle En la pantalla inicial debemos seleccionar el lenguaje, que en nuestro caso será Español – España (es - es) 20
  • 21. Redes, servidores y seguridad informática en Linux . CEP Indalo. Enrique Brotons En el siguiente paso tenemos que confirmar las rutas por defecto de moodle para acceder a la web, donde se encuentran los archivos de moodle y el directorio que moodle usará para los datos. 21
  • 22. Redes, servidores y seguridad informática en Linux . CEP Indalo. Enrique Brotons Ahora especificamos el tipo de base de datos que nosotros usaremos que en nuestro caso es MySQL mejorado (native/mysql) Configuramos los datos para acceder a nuestra base de datos donde tenemos que completar el nombre de la base de datos (moodle) el usuario que hemos creado (enriquesql) y la contraseña (0000) para dicho usuario. En este punto moodle nos mostrará una pantalla de “Configuración completa”, pero nos avisará que no ha podido escribir el archivo de configuración config.php en la carpeta de moodle. Nos mostrará el archivo con el contenido de como debería quedar el archivo config.php que almacena la información de la configuración de nuestro moodle. 22
  • 23. Redes, servidores y seguridad informática en Linux . CEP Indalo. Enrique Brotons Hay varias formas de conseguir el archivo config.php con el contenido anterior pero la que me parece más sencilla es la que veremos a continuación. 5.5.7. Configurando config.php. Nos vamos a ir a nuestro servidor a la carpeta /var/www/moodle y vamos a modificar un archivo de configuración base que viene con los archivos de moodle que descargamos y descomprimimos. El archivo se llama config-dist.php y para editarlo usamos sudo nano config-dist.php Ahora vamos a ir modificándole los valores por defecto por los que nos ha reportado la 23
  • 24. Redes, servidores y seguridad informática en Linux . CEP Indalo. Enrique Brotons pantalla de configuración completa. De esta manera tendremos que modificar el archivo para que quede así 24
  • 25. Redes, servidores y seguridad informática en Linux . CEP Indalo. Enrique Brotons No hará falta que modifiquemos ningún valor más. Observad que el parámetro CFG-> passwordsaltmain, no lo hemos modificado como venía en el archivo que nos genera la 25
  • 26. Redes, servidores y seguridad informática en Linux . CEP Indalo. Enrique Brotons instalación porque no vamos a usar ese añadido de seguridad a las contraseñas. Una vez terminemos la edición guardamos con el nombre config.php y salimos. Volvemos a un navegador en un equipo cliente y cargamos de nuevo la dirección http://ip_servidor/moodle http://192.168.2.100/moodle Seguirá el proceso de instalación de los módulos de moodle hasta que nos permita pulsar el botón “continue” Completamos algunos datos personales referentes al administrador y otras opciones de configuración. 26
  • 27. Redes, servidores y seguridad informática en Linux . CEP Indalo. Enrique Brotons Por último configuramos los parámetros básicos de la página web de moodle, como el nombre de la página de inicio o una breve descripción de la misma. 27
  • 28. Redes, servidores y seguridad informática en Linux . CEP Indalo. Enrique Brotons Ya tenemos lista nuestra Aula virtual para seguir configurándola o cargando contenido. Hemos visto un ejemplo de página web que podemos tener alojada en nuestro servidor una vez lo hemos preparado con algunos de los servicios básicos que suelen tener los servidores web, pero podríamos haber escogido cualquier otro tipo de página en lugar de la plataforma Moodle, como por ejemplo Joomla, o cualquier página simple hecha con editores HTML. 28
  • 29. Redes, servidores y seguridad informática en Linux . CEP Indalo. Enrique Brotons 5.6. Usando los DNS. Hasta ahora hemos accedido a la página web alojada en nuestro servidor desde los clientes a través de la dirección IP del mismo. Es posible que queramos acceder a ella usando un nombre de dominio más fácil de recordar. Para esto tenemos dos opciones, o usamos un servidor de nombres de dominio donde esté establecida la asociación de la dirección ip al nombre que queremos ponerle a nuestra página, o podemos resolver esta asociación localmente introduciéndola en el archivo /etc/hosts. Para hacerlo editamos el archivo de manera que haya una entrada así: ip_servidor nombre_dominio 192.168.2.100 www.servidorcep.es De esta forma cuando pongamos en un navegador de un equipo cliente al que le hemos introducido esa asociación en su archivo hosts, www.servidorcep.es este cargará la página alojada en nuestro servidor como si hubiéramos introducido la dirección IP directamente. Este artículo esta licenciado bajo Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License. Redes, servidores y seguridad informática en Linux Enrique Brotons 29