En la definición de la directiva VirtualHost
podemos poner la IP del servidor FTP o bien el nombre DNS correspondiente. En nuestro escenario, la IP_Servidor_FTP=192.168.200.250, ftp.empresa1.com y ftp.empresa2.com identifican a la misma máquina y a distintas IP. Ahora es indiferente el puerto TCP en el que sirve cada virtualhost, así como el servidor principal, esto es, puede ser el mismo o no ya que ahora cada puerto está relacionado con una IP distinta.
La IP que debemos poner ahora en la definición de la directiva Virtualhost
cambia, cada IP corresponde a una interfaz de red del servidor FTP, en nuestro escenario: IP_Servidor_FTP=192.168.200.250, ftp.empresa1.com se identifica con 192.168.200.251 y ftp.empresa2.com con 192.168.200.252
Este método no aporta ventajas sobre el anterior, es más, aún puede ser más difícil de mantener si las IP del servidor FTP se modifican con cierta frecuencia.
¿Cómo lo haces? Sigues el mismo procedimiento usado para los virtualhost basados en nombre, únicamente se diferencia en la configuración de los virtualhost, así:
- Modifica la configuración virtualhost para empresa1 en el fichero /etc/proftpd/virtuals.conf
<VirtualHost 192.168.200.251> ServerName "Servidor FTP empresa1" AuthUserFile /etc/passwd.usuarios.virtuales DefaultRoot /var/ftp/empresa1/ RequireValidShell off </VirtualHost>
- Agrega la configuración virtualhost para empresa2 en el fichero /etc/proftpd/virtuals.conf
<VirtualHost ftp.empresa2.com> AuthUserFile /etc/passwd.usuarios.virtuales ServerName "Servidor FTP empresa2" DefaultRoot /var/ftp/empresa2/ RequireValidShell off </VirtualHost>
- Configura permisos en las carpetas /var/ftp/empresa1/ y /var/ftp/empresa2/ para los usuarios virtuales:
chown ftp /var/ftp/empresa1/ /var/ftp/empresa2/
- Recarga la configuración del servidor.
/etc/init.d/proftpd restart
Explicación fichero virtualhost:
<VirtualHost IP_Servidor_FTP>
→ Inicio etiqueta virtualhost: define la IP del servidor ftp. También puede ser <VirtualHost Nombre_DNS_Servidor_FTP>
ServerName "Servidor FTP empresaX"
→ Configura el nombre que se muestra en la conexión de los usuarios.
DefaultRoot /var/ftp/empresaX/
→ Definición de la ruta que sirve ProFTPFD, en este caso: /var/ftp/empresaX/ mediante la directiva DefaultRoot
, esto es, indica que los usuarios cuando conecten con el servidor ftp, estarán enjaulados en la ruta /var/ftp/empresaX/, con lo cual no podrán acceder a otro directorio que no esté contenido dentro de éste.
RequireValidShell off
→ No es necesario tener una shell declarada en el fichero /etc/shells .
</VirtualHost>
→ Fin de la etiqueta VirtualHost
: fin de la definición de este virtualhost para la empresa1.