Relativamente falando: Fácil, dependendo da sua capacidade.
Embora essa seja uma pergunta muito ampla, tentarei fornecer a explicação básica do que é necessário.
- Software do servidor da Web. Há muitos para escolher, mas eu acho que o apache e o lighttpd são os mais simples, dependendo dos seus objetivos de longo prazo. Você configura quais diretórios seu servidor da Web serve como raiz para o site. Também pode ter várias raízes que atendem a vários sites.
- Uma maneira de outras pessoas se conectarem ao seu laptop. É bem provável que você não tenha um endereço IP estático em casa, então provavelmente terá que confiar em um provedor de DNS dinâmico. Isso também resultará em um endereço muito mais fácil de lembrar do que o seu IP.
- Configuração do roteador. Para que conexões externas alcancem seu laptop, seu roteador doméstico precisará encaminhar a porta 80 de seu IP externo (qualquer que seja seu roteador na interface WAN) para o IP local em seu laptop. Além disso, a porta 81 e / ou 443 se estiver implementando HTTPS.
- (Opcional) Um nome de domínio. Se estiver usando um provedor de DNS dinâmico, seu domínio será apenas um alias para seu dynDNS. Se não, você cria um registro A para o seu IP residencial.
Receio que uma resposta mais detalhada seria muito longa, mas agora você sabe o básico e o que começar a ler.
Aviso de segurança: Sinto-me obrigado a mencionar que a criação de um servidor da Web, especialmente em casa, especialmente no seu laptop principal, pode representar um risco de segurança. Se houver uma falha na sua configuração, você corre o risco de expor tudo em seu laptop a um invasor em potencial, além de usar seus laptops como uma etapa intermediária para acessar o resto da sua LAN. Eu não estou dizendo que você não deveria fazer isso (inferno, eu fiz), mas esteja ciente dos riscos.