Uma forma de conseguir isso é usando o LXD.
Eu uso o Ubuntu como desenvolvimento LXD usa o Ubuntu como sistema operacional de referência.
Então ... Instale o Ubuntu + LXD no nível do host / máquina.
Crie contêineres LXD para seus sites ou coleções de sites.
Em seguida, o acesso ao contêiner pode ser gerenciado de várias maneiras ...
- Se você não definir nenhum IP público para um determinado contêiner, as pessoas só poderão acessar o contêiner por ssh na máquina + lxc exec $ container bash .
- Configure IPs públicos para seus contêineres + configure chaves ssh em cada contêiner.
Eu hospedo muitos sites de clientes em muitos containers, então eu uso a última abordagem + também configurei o MySecureShell como o servidor SFTP, para que as pessoas possam acessar seus sites de várias maneiras.
Também usando a última abordagem, já que cada contêiner tem um IP público, é possível usar certificados SSL link para agrupar todos os sites, produção + desenvolvimento + teste.