Práctica 2 Apache
Autentificación LDAP y https
Manuel Rodríguez Pozuelo
2       Práctica 2 Apache - Introducción


Índice
Introducción .............................................................................................................................3
Acceso a carpetas privadas .................................................................................................3
   Prueba de funcionamiento ........................................................................................................... 4
Acceso seguro ..........................................................................................................................6
Instalación de Drupal ............................................................................................................8




                                                                                          Manuel Rodríguez Pozuelo                     2
3     Práctica 2 Apache - Introducción


Introducción
En este documento vamos a explicar como acceder a carpetas seguras
identificándonos a través de un servidor LDAP previamente configurado. También
configuraremos el acceso a un CMS a través del protocolo HTTPS.

Acceso a carpetas privadas
Lo primero que necesitamos en nuestro servidor es activar lo necesario para
permitir la autentificación en apache a través de un servidor LDAP. Para ello
habilitamos los módulos de apache necesarios:
                                  sudo a2enmod ldap
                               sudo a2nmod authnz_ldap
Vamos a crear una carpeta en /www/privada/ que será la que usaremos para el
acceso privado, y dentro crearemos un index.html para la comprobación posterior.




Ahora vamos a definir un nuevo VirtualHost para el acceso a la carpeta privada,
pero antes vamos a insertar en nuestro DNS una nueva entrada para el acceso a la
carpeta privada, para acceder a través de http://privada.midominio.com:




Ahora     creemos el         VirtualHost   en   el   fichero   /etc/apache/sites-
availables/privada:




                                                       Manuel Rodríguez Pozuelo   3
4   Práctica 2 Apache - Acceso a carpetas privadas




Como podemos ver en la directiva <Directory>, hemos incluido las configuraciones
de autentificación para que, cuando intentemos acceder a esa dirección para ver el
contenido de esa carpeta, nos solicite el nombre de usuario y contraseña
registrados en el servidor LDAP.

Activamos el VirtualHost y reiniciamos apache:




Prueba de funcionamiento
Ahora desde un cliente probemos a entrar en http://privada.midominio.com:




                                                       Manuel Rodríguez Pozuelo   4
5   Práctica 2 Apache - Acceso a carpetas privadas




Como vemos el navegador nos solicita autentificarnos para poder visualizar la
página. Si introducimos usuarios y contraseñas que no estén en nuestro servidor
LDAP veremos lo siguiente:




Introduzcamos un usuario registrado en LDAP:




Tenemos configurado correctamente nuestro acceso a una carpeta privada,
autentificándonos a través de un servidor LDAP.




                                                       Manuel Rodríguez Pozuelo   5
6   Práctica 2 Apache - Acceso seguro


Acceso seguro
Ahora vamos a configurar un VirtualHost nuevo para acceder a través de https.
Apache instala un componente necesario para poder acceder a través de un
protocolo seguro, que es el paquete OpenSSL. Además necesitaremos un
certificado digital que podemos generar nosotros mismos. Este certificado no
tendrá validez fuera de nuestra red, ya que no lo valida ninguna entidad
certificadora. Aun así, vamos a generar nuestro propio certificado ejecutando lo
siguiente:
           sudo make-ssl-cert /usr/share/ssl-cert/ssleay.cnf
                       /etc/ssl/certs/apache2.pem
La orden anterior forma parte de la misma sentencia, y genera un certificado a
partir de un esquema básico (/usr/share/ssl-cert/ssleay.cnf). En este caso,
vamos a habilitar una web segura para acceder a otro CMS, en este caso Drupal.
Como hemos hecho antes, vamos a introducir su entrada correspondiente en el dns
para su acceso a https://drupal.midominio.com y crear la carpeta /www/drupal/,
con su index.html de prueba:




Ahora tenemos que habilitar el módulo SSL de apache y reiniciar:
                               sudo a2enmod ssl
                       sudo /etc/init.d/apache2 restart
Ahora añadamos un virtual host nuevo para el acceso seguro, en el fichero
/etc/apache2/sites-availables/drupal :




                                                     Manuel Rodríguez Pozuelo   6
7   Práctica 2 Apache - Acceso seguro


Si observamos bien, hemos indicado en el VirtualHost que vamos a conectar por el
puerto 443, que es el que usa el protocolo HTTPS. También indicamos la ruta del
certificado que vamos a usar y en la directiva Directory indicamos que requiere esa
autentificación a través del certificado generado.

Ahora activemos el sitio, reiniciemos apache y comprobemos que funciona a través
de https:
                             sudo a2ensite drupal
                       sudo /etc/init.d/apache2 restart


Al acceder nos da esta advertencia:




Como hemos comentado antes cuando generamos el certificado, al no poder
validarse por una entidad certificadora, Firefox no reconoce el certificado y nos
advierte de que puede no ser de confianza. Añadimos la excepción en el navegador:




Ya tenemos el acceso seguro configurado.



                                                     Manuel Rodríguez Pozuelo   7
8   Práctica 2 Apache - Instalación de Drupal


Instalación de Drupal
Primero nos descargaremos la última versión desde http://drupal.org.es en
nuestro servidor y lo descomprimimos:




Opcionalmente      podemos       bajarnos         la   traducción     en  español     de
http://localize.drupal.org/translate/languages/es                   y descargarnos     la
correspondiente a nuestra versión, en este caso. la 7.9.
Nos     descargamos       un      archivo       .po      que           moveremos       a
/www/drupal/profiles/standard/translations/.
Ahora necesitaremos modificar los permisos de la carpeta /www/drupal/ para
que apache tenga acceso y crearemos la base de datos que usará drupal:
                sudo chown –R root.www-data /www/drupal/
                     sudo chmod –R 2775 /www/drupal/
         mysqladmin -u usuario --password="clave" create drupal
Ahora vayamos al directorio /www/drupal/sites/default/ y copiamos el archivo
default.settings.php y lo pegamos con el nombre settings.php y lanzamos la
página https://drupal.midominio.com :




                                                           Manuel Rodríguez Pozuelo   8
9   Práctica 2 Apache - Instalación de Drupal




Elegimos la instalación Standard y continuamos. Al haber descargado
anteriormente el archivo de traducción, nos permitirá ahora elegir el idioma de
drupal:




                                                   Manuel Rodríguez Pozuelo   9
10   Práctica 2 Apache - Instalación de Drupal


En el siguiente paso nos pedirá los datos de la base de datos que vamos a usar con
drupal, así como el usuario de mysql que puede administrarla:




Tras unos minutos de instalación de Drupal, se nos solicitarán los datos del Sitio,
como el nombre, el usuario que va administrar Drupal y configurarle una
contraseña…:




                                                     Manuel Rodríguez Pozuelo   10
11   Práctica 2 Apache - Instalación de Drupal


Y tras este paso, ya tenemos Drupal instalado y listo para su administración:




                                                      Manuel Rodríguez Pozuelo   11

Manuel rodriguez práctica 2 apache

  • 1.
    Práctica 2 Apache AutentificaciónLDAP y https Manuel Rodríguez Pozuelo
  • 2.
    2 Práctica 2 Apache - Introducción Índice Introducción .............................................................................................................................3 Acceso a carpetas privadas .................................................................................................3 Prueba de funcionamiento ........................................................................................................... 4 Acceso seguro ..........................................................................................................................6 Instalación de Drupal ............................................................................................................8 Manuel Rodríguez Pozuelo 2
  • 3.
    3 Práctica 2 Apache - Introducción Introducción En este documento vamos a explicar como acceder a carpetas seguras identificándonos a través de un servidor LDAP previamente configurado. También configuraremos el acceso a un CMS a través del protocolo HTTPS. Acceso a carpetas privadas Lo primero que necesitamos en nuestro servidor es activar lo necesario para permitir la autentificación en apache a través de un servidor LDAP. Para ello habilitamos los módulos de apache necesarios: sudo a2enmod ldap sudo a2nmod authnz_ldap Vamos a crear una carpeta en /www/privada/ que será la que usaremos para el acceso privado, y dentro crearemos un index.html para la comprobación posterior. Ahora vamos a definir un nuevo VirtualHost para el acceso a la carpeta privada, pero antes vamos a insertar en nuestro DNS una nueva entrada para el acceso a la carpeta privada, para acceder a través de http://privada.midominio.com: Ahora creemos el VirtualHost en el fichero /etc/apache/sites- availables/privada: Manuel Rodríguez Pozuelo 3
  • 4.
    4 Práctica 2 Apache - Acceso a carpetas privadas Como podemos ver en la directiva <Directory>, hemos incluido las configuraciones de autentificación para que, cuando intentemos acceder a esa dirección para ver el contenido de esa carpeta, nos solicite el nombre de usuario y contraseña registrados en el servidor LDAP. Activamos el VirtualHost y reiniciamos apache: Prueba de funcionamiento Ahora desde un cliente probemos a entrar en http://privada.midominio.com: Manuel Rodríguez Pozuelo 4
  • 5.
    5 Práctica 2 Apache - Acceso a carpetas privadas Como vemos el navegador nos solicita autentificarnos para poder visualizar la página. Si introducimos usuarios y contraseñas que no estén en nuestro servidor LDAP veremos lo siguiente: Introduzcamos un usuario registrado en LDAP: Tenemos configurado correctamente nuestro acceso a una carpeta privada, autentificándonos a través de un servidor LDAP. Manuel Rodríguez Pozuelo 5
  • 6.
    6 Práctica 2 Apache - Acceso seguro Acceso seguro Ahora vamos a configurar un VirtualHost nuevo para acceder a través de https. Apache instala un componente necesario para poder acceder a través de un protocolo seguro, que es el paquete OpenSSL. Además necesitaremos un certificado digital que podemos generar nosotros mismos. Este certificado no tendrá validez fuera de nuestra red, ya que no lo valida ninguna entidad certificadora. Aun así, vamos a generar nuestro propio certificado ejecutando lo siguiente: sudo make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/ssl/certs/apache2.pem La orden anterior forma parte de la misma sentencia, y genera un certificado a partir de un esquema básico (/usr/share/ssl-cert/ssleay.cnf). En este caso, vamos a habilitar una web segura para acceder a otro CMS, en este caso Drupal. Como hemos hecho antes, vamos a introducir su entrada correspondiente en el dns para su acceso a https://drupal.midominio.com y crear la carpeta /www/drupal/, con su index.html de prueba: Ahora tenemos que habilitar el módulo SSL de apache y reiniciar: sudo a2enmod ssl sudo /etc/init.d/apache2 restart Ahora añadamos un virtual host nuevo para el acceso seguro, en el fichero /etc/apache2/sites-availables/drupal : Manuel Rodríguez Pozuelo 6
  • 7.
    7 Práctica 2 Apache - Acceso seguro Si observamos bien, hemos indicado en el VirtualHost que vamos a conectar por el puerto 443, que es el que usa el protocolo HTTPS. También indicamos la ruta del certificado que vamos a usar y en la directiva Directory indicamos que requiere esa autentificación a través del certificado generado. Ahora activemos el sitio, reiniciemos apache y comprobemos que funciona a través de https: sudo a2ensite drupal sudo /etc/init.d/apache2 restart Al acceder nos da esta advertencia: Como hemos comentado antes cuando generamos el certificado, al no poder validarse por una entidad certificadora, Firefox no reconoce el certificado y nos advierte de que puede no ser de confianza. Añadimos la excepción en el navegador: Ya tenemos el acceso seguro configurado. Manuel Rodríguez Pozuelo 7
  • 8.
    8 Práctica 2 Apache - Instalación de Drupal Instalación de Drupal Primero nos descargaremos la última versión desde http://drupal.org.es en nuestro servidor y lo descomprimimos: Opcionalmente podemos bajarnos la traducción en español de http://localize.drupal.org/translate/languages/es y descargarnos la correspondiente a nuestra versión, en este caso. la 7.9. Nos descargamos un archivo .po que moveremos a /www/drupal/profiles/standard/translations/. Ahora necesitaremos modificar los permisos de la carpeta /www/drupal/ para que apache tenga acceso y crearemos la base de datos que usará drupal: sudo chown –R root.www-data /www/drupal/ sudo chmod –R 2775 /www/drupal/ mysqladmin -u usuario --password="clave" create drupal Ahora vayamos al directorio /www/drupal/sites/default/ y copiamos el archivo default.settings.php y lo pegamos con el nombre settings.php y lanzamos la página https://drupal.midominio.com : Manuel Rodríguez Pozuelo 8
  • 9.
    9 Práctica 2 Apache - Instalación de Drupal Elegimos la instalación Standard y continuamos. Al haber descargado anteriormente el archivo de traducción, nos permitirá ahora elegir el idioma de drupal: Manuel Rodríguez Pozuelo 9
  • 10.
    10 Práctica 2 Apache - Instalación de Drupal En el siguiente paso nos pedirá los datos de la base de datos que vamos a usar con drupal, así como el usuario de mysql que puede administrarla: Tras unos minutos de instalación de Drupal, se nos solicitarán los datos del Sitio, como el nombre, el usuario que va administrar Drupal y configurarle una contraseña…: Manuel Rodríguez Pozuelo 10
  • 11.
    11 Práctica 2 Apache - Instalación de Drupal Y tras este paso, ya tenemos Drupal instalado y listo para su administración: Manuel Rodríguez Pozuelo 11