DESAFIO alguém responder - Como transformar um PC comum em um servidor web?

GEnte eu desafio alguém trazer uma resposta plausível pra essa dúvida. não é fácil encontrar ela na net, pode até ter algumas soluções, mas nem todas funcionam.

Como transformar um PC ou notebook qualquer em um servidor, onde eu possa desenvolver aplicativos nele e que estes se comuniquem com outros app fora da rede doméstica, pois o que tenho conseguido até agora é apenas através de rede local.

por exemplo: tenho o wampserver instalado em meu notebook com apache, mysql e php e um site hospedado. Já Consigo acessar esse site através de um outro dispositivo inserindo 192.168.0.103 (ip do servidor), mas ainda não consegui fora da rede local, inserindo o ip do provedor.

já tentei todas aquelas configurações de roteador, no-ip, DDNS, porta. etc e nada. Ouvi falar que o ISP bloqueia portas da rede por questões de segurança e é necessário entrar em contato com eles, mas por que outros aplicativos que usamos como torrent não precisa fazer isso? Pq o whatsapp web acessa meu celular e sincroniza as msgs?

Resumindo:
Penso em desenvolver um sistema que seja executado em um PC (servidor) e que outros dispositivos tenham conexão com ele remota e diretamente através da internet. O que deve ser configurado na rede para que isso aconteça?

Seu computador quando esta na internet usa um ip, este ip e’ fixo ou dinâmico, se for fixo mais fácil, se não for você vai precisar de um direcionador tipo noip.com.

Sabendo bem isso, se você usa roteador precisa entrar nele e direcionar a porta especifica que seu servidor usa e responde, caso não usa o roteador apenas coloque a porta no seu programa servidor e também libera ela dentro do seu servidor.

Exemplo : Seu servidor atende a porta numero 6098, então todos seus clientes colocarão esta porta para estabelecer conexão com seu servidor.

Não sei exatamente se isso que você queria saber. Mas em tese tudo funciona assim, o ip que você está
usando precisa apenas de port(a)s habilitadas e um software responsável por essas porta(s).

Quando você usa um IP de conexão, você já esta vendo o mundo exterior, e para o mundo exterior ver seu computador, basta colocar uma porta de acesso.

No caso em que um roteador está ligado à um modem, já tentei criando virtual servers com ip’s e portas direcionadas no roteador com um ddns do noip e não funcionou. Agora Na página do modem tbm existe a opção de criar virtual servers, já fiz também, mas será que é preciso reiniciar o modem e não só desligar e ligar pra surtir efeito?
Além do mais existem sites que acessam e testam todas as portas do teu IP e mostram q todas estão fechadas ou bloqueadas.
Ainda não testei clicando em reiniciar modem após criar os virtual servers, será que funciona? não vai dar problema na minha net?

Basta colocar uma porta de acesso e um programa que fica responsável por essa porta.

O sistema operacional e’ linux, windows, solaris, macOX, outro ?
Em relação a desligar o roteador, depende de cada roteador. O meu não precisa desligar.
Pra saber se seu programa esta recebendo o conteúdo da porta e respondendo tenta isso :

http://cs.lmu.edu/~ray/notes/javanetexamples/

Bons codigos

Eu tento fazer no linux e no windows pra ver se funciona.
Mas eu vou tentar essa de criar um “virtual server” na página do modem e clicar em “reiniciar sistema” e usar esse socket java aí. Depois eu volto aki pra avisar.

mas Uma outra forma de testar sem fazer esse programa seria usando http://www.testaporta.com.br/
Tipo se eu liberasse a porta 80 no virtual server do modem, o “testaporta” deveria mostrar q a porta 80 estava aberta, certo?

Se o programa servidor estiver rodando e responsavel pela porta 80, e não tiver nenhuma regra de bloqueio no firewall, devera’ mostrar normal.

ok obrigado, vou tentar mais essa e daqui uns dias eu volto aki pra informar.

Não sei se já conseguiu resolver, mas segue umas dicas:

Desabilite o dhcp no roteador ou ap.
Geralmente o cabo que sai do modem vai na porta wan do roteador, tire da wan e coloque na Lan, assim os dispositivos conectados no roteador pegarão ip do modem.
Crie esse “virtual server” no modem informando o ip de destino que no caso seria sua máquina e informando a porta que você quer abrir, por exemplo : 192.168.1.1 : 8080 (porta tomcat).
Não tem erro, só vc descobrir o seu ip, e acessar a aplicação. Exemplo : http://meuip:8080/minhaapp
É bom liberar a porta da aplicação no firewall do windows.

Como você não vai conseguir lembrar o ip toda hora, é bom usar um ddns, tipo esse aqui ó duckdns. Ele tem app pra windows e linux, muito fácil de configurar e ele atualiza toda vez que seu ip muda.

Bom site para testar as portas: yougetsignal.

Cara… ja tive essa duvida. Mas pense.
1 - Quantos acessos o seu sistema pode ter (ou terá) nessa maquina?
2 - O sistema de I/O (disco) dessa maquina esta preparada para determinados “acessos” de leitura e gravação?
3 - Existe memória física para todo esse “heap” no sistema?
Da para configurar determinados roteadores para direcionar a porta para o ip da sua rede interna. Tipo como se usa o TS. A porta 3389 é comumente usada para isso. Pode fazer o mesmo para as portas 80 e 8080. Qualquer acesso ao seu ip fisico (da porta WAN) é direcionado para sua maquina com seu sistema na rede local.
Mas a avaliação sobre o tipo de uso dessa maquina é vital. Se quiser trocar mais ideias sobre isso me mande em rickzferry@yahoo.com.br . Grande abraço.
Ricardo.

Se eu criar um virtual server no modem, eu precisarei clicar em “reiniciar o sistema” ou não precisa?
e se eu clicar não vai sair as configurações da operadora e ficar sem net aki?

Eu pretendo saber fazer isso no meu notebook, só pra aprender e depois pra poder fazer em outros servidores mais potentes.

Não precisa reiniciar, mas é bom fazer.
Clicando nesse “Reiniciar sistema” abre uma página perguntado algo assim: reiniciar o aparelho ou voltar para as configurações de fábrica, claro que você seleciona reiniciar aparelho ou como estiver parecido.

Seu modem é esse TP-Link TD-8816? A interface parece muito com o meu.

o meu é o ZTE.