Por fin lo conseguimos. Después de muchos intentos ya puedo contar cómo configurar un servidor Apache2 para que aloje varias páginas web bajo una misma IP externa.
Para ello, una vez instalado el Apache2 deberemos ir a: /etc/apache2
y abrir el archivo httpd.conf (comando (yo uso ubuntu, por lo que uso «sudo» para autentificarme como root): sudo nano httpd.conf (y añado la contraseña que me pide para administrar).
A mi siempre me ha aparecido vacío. Entonces añado el siguiente texto en el archivo:
NameVirtualHost *:80
<VirtualHost *:80>
ServerName http://www.pagina1.com
ServerAlias pagina1.com *.pagina1.com
DocumentRoot /var/www/pagina1
</VirtualHost>
<VirtualHost *:80>
ServerName http://www.pagina2.com
DocumentRoot /var/www/pagina2
</VirtualHost>
Siendo 80 (si quieres un usar más seguridad investiga sobre SSH) el puerto redireccionado desde el router (para eso entras en la configuración del router, donde normalmente está en la opción NAT). Deberás crear también las carpetas correspondientes en el directorio que corresponda, y ahí añadir el index.html de cada una. Reinicias el servidor Apache2 (sudo /etc/init.d/apache2 restart) y no debería salirte error (salvo el clásico de incluir la IP interna como ServerName en caso de no haber ninguna disponible). Por cierto, «*» es para que valgan todos los nombres, pero puedes ponerle el específico si lo deseas.
Así a mí me funciona, aunque debo reconocer que me volví loco con la carpeta de sites-available y sites-enabled, las cuales hasta que no me olvidé de ellas no pude hacerlo funcionar. Creo que se puede configurar virtual hosts de varias maneras. De todas formas un error que no he conseguido arreglar es por ejemplo son las estadísticas del sitio una vez empiece a funcionar. No sé donde manda los .log, aunque tiene que ser sencillo.
Otra cosa, lo de «server alias» es para añadir alias al nombre de domino asignado. Es práctico si configuras las páginas web desde la propia red local, y usas CSM como por ejemplo Joomla.
* Un detalle a tener en cuenta es que si usas otro ordenador de la LAN conviene crear un virtual host con la IP de la LAN del ordenador servidor (apache). Si usas el mismo ordenador entonces lo que haces es poner la IP interna (localhost o 127.0.0.1). Como DocumentRoot asignamos la carpeta raíz del directorio y para acceder a todas las páginas tan solo añadimos la carpeta a la dirección de búsqueda del navegador (ejemplo: http://127.0.0.1/pagina1/index.html)
<VirtualHost *:80>
ServerName 127.0.0.1
DocumentRoot /var/www/
</VirtualHost>