• Portada
    • Recientes
    • Usuarios
    • Registrarse
    • Conectarse

    Servidores virtuales con Apache

    Programado Fijo Cerrado Movido
    Sistemas operativos
    1
    1
    321
    Cargando más mensajes
    • Más antiguo a más nuevo
    • Más nuevo a más antiguo
    • Mayor número de Votos
    Responder
    • Responder como tema
    Accede para responder
    Este tema ha sido borrado. Solo los usuarios que tengan privilegios de administración de temas pueden verlo.
    • cobitoC
      cobito Administrador
      Última edición por cobito

      Este hilo forma parte de la guía para montar un servidor en Debian.
      Recuerda que el contenido de Hardlimit está bajo licencia Creative Commons.


      Procedimiento

      Como root:

      nano /etc/apache2/sites-available/000-default.conf
      

      Usar como plantilla esto:

      <VirtualHost *:80>
         DocumentRoot "/home/Servidor/hardlimit.com/"
         ServerName hardlimit.com
         ServerAlias hardlimit.com
         CustomLog ${APACHE_LOG_DIR}/access_hardlimit.log combined
      </VirtualHost>
      
      nano /etc/apache2/apache2.conf
      

      Eliminar todas las secciones Directory que encontremos en el archivo.

      /etc/init.d/apache2 restart
      

      Explicación

      Si queremos acceder a páginas diferentes desde dominios o subdominios diferentes con un único servidor y una única IP pública, debemos usar servidores virtuales (VirtualHosts). Desde aquí no solo es posible decirle al servicio qué página debe abrir según con qué dominio reciba la petición, sino que es el lugar para elegir el directorio local donde se almacena la web.

      Los servidores virtuales se configuran en en el archivo '000-default.conf' por lo que habrá que ejecutar como root esto:

      nano /etc/apache2/sites-available/000-default.conf
      

      En ese momento, el archivo se abre con Nano e inicialemente nos vamos a encontrar con el siguiente texto:

      ee0e58f9-49a0-43ab-8109-74266fe806f5-imagen.png

      Las lineas que aparecen para configurar son:
      · ServerAdmin: correo electrónico del administrador
      · DocumentRoot: carpeta local donde se almacena la web
      · ErrorLog ruta donde se registran los errores del servidor

      Tal y como está el archivo inicialmente, sea como sea que accedamos al servidor desde un navegador web (desde cualquier dominio apuntando a la IP), se mostrará la página a la que apunta DocumentRoot.

      Una buena plantilla para un par de servidores virtuales puede ser como la que sigue:

      <VirtualHost *:80>
         DocumentRoot "/home/Servidor/portada/"
         ServerName hardlimit.com
         ServerAlias hardlimit.com
         CustomLog ${APACHE_LOG_DIR}/access_hardlimit_com.log combined
      </VirtualHost>
      <VirtualHost *:80>
         DocumentRoot "/home/Servidor/banco_pruebas/"
         ServerName bm.hardlimit.com
         ServerAlias bm.hardlimit.com
         CustomLog ${APACHE_LOG_DIR}/access_bm_hardlimit.log combined
      </VirtualHost>
      

      Poniendo el nombre del dominio tanto en las opciones ServerName como ServerAlias, la página mostrada desde ese dominio será la que apunta DocumentRoot. En el caso de que no coincida, se servirá la web que aparezca en el primer VirtualHost de la lista.

      En esa plantilla, vemos dos secciones VirtualHost: una para atender las peticiones desde el dominio raíz hardlimit.com otra para el subdominio bm.hardlimit.com. Cada una tiene sus configuraciones independientes y se pueden añadir tantas secciones VirtualHost como sean necesarias.

      Como hemos configurado nuestros sitios individualmente, las configuraciones genéricas del archivo apache2.conf las debemos eliminar para que no entren en conflicto. Para eso:

      nano /etc/apache2/apache2.conf
      

      Ahora eliminamos todas las secciones 'Directory' que encontremos en el archivo. Con eso nos aseguramos de poder usar cualquier carpeta diferente a /var/www/html que viene por defecto.

      Para que se apliquen los cambios, deberás reiniciar Apache desde root con:

      /etc/init.d/apache2 restart
      

      Pero ¿cómo funciona todo esto? El proceso es el siguiente:
      · Escribes hardlimit.com en el explorador web.
      · Tu ordenador le pide al servidor DNS la IP de dicho dominio.
      · Tu ordenador se conecta a dicha dirección IP y dice al servidor web que quiere comunicarse con hardlimit.com (esta información está contenida en el encabezado Host de la petición HTTP).
      · Nuestro servidor web comprueba la configuración para averiguar qué contenido ofrecer con esa petición.
      · Si hardlimit.com está como parámetro de ServerName o ServerAlias en una sección VirtualHost, se ofrece el contenido de lo que haya en la ruta DocumentRoot. Si no la encuentra, ofrece lo que diga el primer VirtualHost de la lista. Si no existe ningún VirtualHost, recurre a la configuración almacenada en el archivo de configuración de Apache que se encuentra en /etc/apache2/apache2.conf.

      Toda la actualidad en la portada de Hardlimit
      Mis cacharros

      hlbm signature

      1 Respuesta Última respuesta Responder Citar 2
      • cobitoC cobito referenced this topic on
      • 1 / 1
      • First post
        Last post

      Foreros conectados [Conectados hoy]

      0 usuarios activos (0 miembros e 0 invitados).
      febesin, pAtO, krampak

      Estadísticas de Hardlimit

      Los hardlimitianos han creado un total de 543.3k posts en 62.8k hilos.
      Somos un total de 34.7k miembros registrados.
      sridharpat ha sido nuestro último fichaje.