apache http y moodle

21
Fco Javier Mejías Fernández

Upload: francisco-javier-mejias-fernandez

Post on 13-Jun-2015

482 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: Apache HTTP y Moodle

aaaaa

Fco Javier Mejías Fernández

Page 2: Apache HTTP y Moodle

APACHE-HTTP 2

Aaaaa

Fco Javier Mejías Fernández

Contenido

ESCENARIO 1: Configura dos Virtual Hosts con distinto interfaz, mismo puerto ...................... 3

ESCENARIO 2: Configura dos Virtual Hosts con mismo interfaz, distinto puerto ...................... 7

ESCENARIO 3: Configura dos Virtual Hosts con mismo interfaz, mismo puerto y distinto

nombre: sitio1.es y sitio2.es..................................................................................................... 10

Instalacion del moodle y con figuracion de un sitio con HTTPS y SSL...................................... 14

Configurar apache2 para que pueda cachear y comprimir. .................................................... 18

Configuración del cacheado ................................................................................................. 18

Configuración para comprimir.............................................................................................. 20

APACHE-HTTP Fco Javier Mejías Fernández

Page 3: Apache HTTP y Moodle

APACHE-HTTP – Fco Javier Mejías Fernández 3

3

ESCENARIO 1: Configura dos Virtual Hosts con distinto interfaz,

mismo puerto

También podremos pondremos poner dos solo-anfitrión, pero para ello tendremos que agregar otra

tarjeta y configurar la ip, para ello nos dirigimos a el fichero /etc/network/interfaces.

Red 1: solo-anfitrión.

En esta tarjeta que tendremos que agregar manualmente pondremos la 56.1 ya que qe es la que tendra

virtalmete la maquina real.

Page 4: Apache HTTP y Moodle

APACHE-HTTP – Fco Javier Mejías Fernández 4

4

Red 2: adaptador puente.

Configuración del fichero interface en el debían apache para crear dos virtualhost con distinta interface.

Los pasos que seguiremos para crear el escenario de esta práctica serán los siguientes,

pudiéndose hacer en otro orden, en mí caso lo haremos de esta manera:

En primer lugar Configuraremos el fichero ports.conf, que lo encontramos en /etc/apache2/:

Una vez dentro del fichero añadimos las siguientes líneas. En el primero tendremos que poner la ip de

la eth0 que en este caso será el sitio1 y en el segundo pondremos la ip de la eth1 que será el sitio2,

que posteriormente tendremos que definir en el archivo que crearemos de cada zona:

Ahora crearemos los ficheros de cada sitio:

Para ello nos dirigimos al fichero sites-available, y como es el primero que crearemos lo que podemos

hacer es copiar el 000-default y posteriormente modificarlo:

Page 5: Apache HTTP y Moodle

APACHE-HTTP – Fco Javier Mejías Fernández 5

5

Sitio1:

Luego creamos las carpetas descriptas en el DocumentRoot y en el Directory que son la misma

dirección, para ello nos dirigimos a /var/www/:

Creamos la carpeta del sitio:

mkdir sitio1

Y dentro un fichero de bienvenida, como por ejemplo el siguiente:

nano index.html

Luego realizamos el mismo proceso con el sitio2:

Sitio2:

Page 6: Apache HTTP y Moodle

APACHE-HTTP – Fco Javier Mejías Fernández 6

6

Luego creamos las carpetas descriptas en el sitio en /var/www/:

mkdir sitio1

Creamos la carpeta del sitio:

nano index.html

Y dentro un fichero de bienvenida, como por ejemplo el siguiente:

Una vez creado los sitos y las carpetas habilitamos los dos módulos desde la carpeta sites-

available, con el comando a2ensite:

a2ensite sitio1

Y confirmamos que se han habilitados dirigiéndonos a la carpeta sites-enabled:

Por ultimo reiniciamos el servicio apache:

service apache2 restart

Page 7: Apache HTTP y Moodle

APACHE-HTTP – Fco Javier Mejías Fernández 7

7

Luego hacemos las comprobaciones mediante el navegador:

ESCENARIO 2: Configura dos Virtual Hosts con mismo interfaz,

distinto puerto

Configuración del fichero interface en el debían apache para crear dos virtualhost con misma interface,

para ello nos dirigimos a el fichero /etc/network/interfaces.

Posteriormente nos dirigimos al fichero ports.conf donde configuraremos los VirtualHost de

cada sitio, ese fichero lo encontramos en /etc/apache2/.

Dentro configuramos los puertos para cada sitio, en este caso asignaremos el puesto 80 al sitio1 y el

8080 al sitio2, quedando el fichero de esta manera:

Page 8: Apache HTTP y Moodle

APACHE-HTTP – Fco Javier Mejías Fernández 8

8

Luego nos dirigimos a /etc/apache2/sites-available/ y creamos los ficheros de cada sitio,

quedando el contenido de cada sitio de esta manera, es importante asignar el puerto

correctamente en cada sitio:

Sitio1:

En el sitio asignamos el puesto 80:

Luego creamos las carpetas descriptas en el sitio en /var/www/:

Creamos la carpeta del sitio:

mkdir sitio1

Y dentro un fichero de bienvenida, como por ejemplo el siguiente:

nano index.html

Page 9: Apache HTTP y Moodle

APACHE-HTTP – Fco Javier Mejías Fernández 9

9

Sitio2:

En el sitio2 asignamos el puerto 8080:

Luego creamos las carpetas descriptas en el sitio en /var/www/:

Creamos la carpeta del sitio:

mkdir sitio2

Y dentro un fichero de bienvenida, como por ejemplo el siguiente:

nano index.html

Una vez creado los dos sitios los habilitamos con el comando a2ensite, esto lo haremos

desde la carpeta /etc/apache2/sites-available/:

a2ensite sitio1

Page 10: Apache HTTP y Moodle

APACHE-HTTP – Fco Javier Mejías Fernández 10

10

Y comprobamos que se han habilitado correctamente, para ello nos dirigimos a la carpeta sites-

enabled:

Por ultimo reiniciamos el servicio apache:

service apache2 restart

Una vez terminado podremos comprobarlo mediante un navegador web:

ESCENARIO 3: Configura dos Virtual Hosts con mismo interfaz,

mismo puerto y distinto nombre: sitio1.es y sitio2.es

Page 11: Apache HTTP y Moodle

APACHE-HTTP – Fco Javier Mejías Fernández 11

11

Configuración del fichero interface en el debían apache para crear dos virtualhost con misma interface,

para ello nos dirigimos a el fichero /etc/network/interfaces.

Posteriormente nos dirigimos al fichero ports.conf donde configuraremos los VirtualHost de

cada sitio, ese fichero lo encontramos en /etc/apache2/.

Dentro del fichero asignamos la ip del servidor apache y el puerto.

Luego nos dirigimos a /etc/apache2/sites-available/ y creamos los ficheros de cada sitio,

quedando el contenido de cada sitio de esta manera, en este caso es importante especificar

el nombre del sitio correctamente:

Sitio1:

Luego creamos las carpetas descriptas en el DocumentRoot y en el Directory que son la misma

dirección, para ello nos dirigimos a /var/www/:

Page 12: Apache HTTP y Moodle

APACHE-HTTP – Fco Javier Mejías Fernández 12

12

Creamos la carpeta del sitio:

mkdir sitio1

Y dentro un fichero de bienvenida, como por ejemplo el siguiente:

nano index.html

Sitio2:

Luego creamos las carpetas descriptas en el sitio en /var/www/:

Creamos la carpeta del sitio:

mkdir sitio2

Y dentro un fichero de bienvenida, como por ejemplo el siguiente:

nano index.html

Page 13: Apache HTTP y Moodle

APACHE-HTTP – Fco Javier Mejías Fernández 13

13

Una vez creado los dos sitios los habilitamos con el comando a2ensite, esto lo haremos

desde la carpeta /etc/apache2/sites-available/:

a2ensite sitio1

Y comprobamos que se han habilitado correctamente, para ello nos dirigimos a la carpeta sites-

enabled:

Una vez creado los sitios reiniciamos el servicio apache:

service apache2 restart

Por ultimo nos dirigimos a Windows y configuramos el fichero Hosts, que se encuentra en

esta dirección C:\Windows\System32\drivers\etc\hosts, este fichero lo tendremos que

ejecutar como administrador para poder modificarlo. En el añadimos las siguientes lineas:

Page 14: Apache HTTP y Moodle

APACHE-HTTP – Fco Javier Mejías Fernández 14

14

Una vez terminado podremos comprobarlo mediante un navegador web:

Instalacion del moodle y con figuracion de un sitio con HTTPS y SSL

Para ello devemos descargarnos el fichero .tar de la página oficial de moodle.

una vez descardo lo pasaremos al debian para ello utilizaremos FTP, que instalaremos con el siguinte

comando:

apt-get install vsftpd

y crearemos un usuario para poder pasarlos mediante el Filezilla

adduser usuario

Posteriormente con el filezilla metemos la dirección ip del servidor debían el usuario y la contraseña,

luego solo tendremos que pasar el fichero del filezilla a la carpeta del usuario.

Una vez que ya lo tenemos en el debían lo descomprimimos con el siguiente comando:

tar –xvf nombre_del_paquete_moodle

Una vez descomprimido se nos creara una carpeta moodle, que tendremos que moverla al fichero del

sitio1:

Para mover la carpeta de moodle hacemos lo siguiente, es importante que tengamos la carpeta creada

en la carpeta del sitio:

mv /moodle/* /var/www/sitio1/moodle

Page 15: Apache HTTP y Moodle

APACHE-HTTP – Fco Javier Mejías Fernández 15

15

Una vez que hemos pasado el contenido de la carpeta, lo comprobamos dirigiéndonos a ella y mirando

su contenido que tendrá que ser el siguiente:

Luego tendremos que dale los permisos a la carpeta /var/www/ para que apache puede leerlos, lo

haremos de la siguiente manera:

chmod 777 /var/www/*

Una vez descomprimido, ya moodle, pasamos a instalar las dependencia que son las

siguientes:

apt-get install php5

apt-get install mysql-server

apt-get install curl

apt-get install php5-curl

apt-get install php5-mysql

apt-get install phpmyadmin

Para crear un sitio en https lo primero que tenemos que hacer el habilitar el modulo SSL, lo

haremos con el siguiente comando:

a2enmod ssl

Page 16: Apache HTTP y Moodle

APACHE-HTTP – Fco Javier Mejías Fernández 16

16

Una vez habilitados el módulos pasamos a crear el sitio, para ello nos dirigimos a

/etc/apache2/sites-available y creamos un fichero moodle con el contenido de defaul-ssl, es

importante copiar el contenido de ese fichero ya que es el que nos proporciona que el sitio

sea seguro:

cp default-ssl moodle

Luego el contenido que tenemos que agregar para crear el sitio moodle:

Una vez creado el sitio lo habilitamos con el siguiente comando:

a2enmod moodle

Luego comprobamos que sea habilitado correctamente, para ello nos vamos a la carpeta sites-enable

y miramos su contenido donde deberá aparecer moodle

En este caso la configuración del fichero ports.conf, no deberemos de tocarla ni añadir

ningún NameVirtuasHost para el puerto 443, ya que en este caso ese puerto está asignado

por defecto en este fichero.

Page 17: Apache HTTP y Moodle

APACHE-HTTP – Fco Javier Mejías Fernández 17

17

Una vez comprobado reiniciamos el servicio apache con el siguiente comando:

service apache2 restart

Por ultimo nos dirigimos a Windows y configuramos el fichero Hosts, que se encuentra en

esta dirección C:\Windows\System32\drivers\etc\hosts, este fichero lo tendremos que

ejecutar como administrador para poder modificarlo. En el añadimos las siguientes líneas:

Una vez hecho todo lo comprobamos median web, escribiendo https://moodle.sitio1.es, una

vez dentro nos saldrá una pantalla donde tenemos que aceptar un certificado :

Page 18: Apache HTTP y Moodle

APACHE-HTTP – Fco Javier Mejías Fernández 18

18

Una vez llegado a este punto solo tendremos que configurar el moodle con la configuración

deseada.

Configurar apache2 para que pueda cachear y comprimir.

Configuración del cacheado

En primer lugar vamos a realizar la configuración del cacheado, para un sitio ya creado en

puntos anteriores. En este caso tenemos tres módulos que son:

El mod_file_cache es el menos flexible de los tres. Sirve para cachear ficheros

concretos en disco o memoria, pero si modificamos alguno de dichos ficheros sólo

podremos conseguir que Apache sirva la versión actualizada con un reinicio del

gestor.

El mod_mem_cache nos permite cachear los ficheros en memoria. Sin embargo,

lo que teóricamente podría suponer una gran mejora de rendimiento del servidor,

puede quedarse en mucho menos por dos motivos In-Memory Caching.

El mod_disk_cache va almacenando en un directorio los documentos que se van

solicitando, así como sus cabeceras. Si el mod_deflate está activo y hay unos

clientes que aceptan compresión y otros que no, se cacheará el documento

comprimido y sin comprimir. Por supuesto, no debemos olvidar que la caché del

sistema operativo está actuando, así que estos ficheros de caché, si hay memoria

suficiente, también serán cacheados en memoria por el kernel.

En este caso vamos a utilizar Disk_cache que es el más eficiente, para habilitarlos seguimos

los siguientes pasos:

Primero nos dirigimos a la carpeta de módulos de apache que es la siguiente

/etc/apache2/mods-available / en ella encontramos todos los módulos que podemos

habilitar, para habilitar el que queremos utilizamos el siguiente comando:

Page 19: Apache HTTP y Moodle

APACHE-HTTP – Fco Javier Mejías Fernández 19

19

a2enmod disk_cache

Una vez habilitado nos dirigimos a /etc/apache2/mod-enabled/disk_cache.conf, en este fichero tendremos que descomentar la línea CacheEnable disk/, quedando en

fichero de esta manera:

Posteriormente nos dirigimos al fichero del sitio en la carpeta /etc/apache2/sites-

enabled/sitio, y añadimos la misma línea, quedando el fichero de la siguiente manera:

Page 20: Apache HTTP y Moodle

APACHE-HTTP – Fco Javier Mejías Fernández 20

20

Por ultimo reiniciamos el servidor apache:

servicio apacher2 restart

La carpeta donde se almacena el contenido por defecto es la siguiente

/var/cache/apache2/mod_disk_cache.

Configuración para comprimir

Vamos a realizar la configuración para que un sitio para que apache comprima el contenido

de una página web.

En primer lugar vamos a habilitar el módulo, para ello nos dirigimos a la carpeta

/etc/apache2/mods-available/, en ella encontramos los módulos que podemos

habilitar en este caso será deflate, para ello utilizamos el siguiente comando:

a2enmod deflate

Una vez habilitado el módulo nos dirigimos al fichero de configuración que se encuentra

en la siguiente dirección /etc/apache2/mods-enable/defate.conf, en el debemos

comprobar que aparezcan las siguientes líneas, en caso de no aparecer añadir las

faltantes:

AddOutputFilterByType DEFLATE text/plain

AddOutputFilterByType DEFLATE text/html

AddOutputFilterByType DEFLATE text/xml

AddOutputFilterByType DEFLATE text/css

AddOutputFilterByType DEFLATE text/javascript

Page 21: Apache HTTP y Moodle

APACHE-HTTP – Fco Javier Mejías Fernández 21

21

AddOutputFilterByType DEFLATE image/svg+xml

AddOutputFilterByType DEFLATE image/x-icon

AddOutputFilterByType DEFLATE application/xml

AddOutputFilterByType DEFLATE application/xhtml+xml

AddOutputFilterByType DEFLATE application/rss+xml

AddOutputFilterByType DEFLATE application/javascript

AddOutputFilterByType DEFLATE application/x-javascript

Una vez que el archivo este configurado correctamente reiniciamos el servicio apache:

service apache2 restart