공부삼아 하시는 거면 해보셔야 하겠지만, 그냥 서버를 운영하고 싶은신 거면 약간의 돈을 내고 ASW나 Azure 같은데서 운영하는 서버호스팅 서비스 같은 것을 이용하시길 권장드립니다.
직접 서버를 세팅하는 공부를 하시는 거면 DevOps라는 걸 검색하시면 원하시는 결과들이 있을 겁니다. 제가 전문가가 아니라서 정확하게는 짚어드리지는 못하지만, 대략적으로 다음과 같은 것이 필요합니다.
컴퓨터
서버 운영체제(보통은 리눅스 사용) 및 사용자 설정
도메인 구입, 공용 IP 확보, DNS호스팅 세팅. 도메인과 IP, DNS 연결. - 내 클라이언트가 인터넷을 접속을 할 수 있어야 하니까 필요하겠죠.)
서버 웹애플리케이션. - 클라이언트와 통신하려면 J2EE, .NET, NodeJs, PHP 같은 서버 프로그램이 필요합니다.
아마 이외에도 필수적으로 필요한 것이 모니터링 툴일겁니다. 그래야 문제가 생기면 어디가 문제인지, 트래픽은 잘 감당을 하는지 등등을 확인하셔야 하기 때문에 꼭 필용합니다.
필요에 따라 NGNix같은 프록시를 설치하셔야 하고, 로드밸런싱이 필요하다면 로드밸런싱도 세팅해야 합니다.
보안관련한 부분도 고려하셔야 하구요. https를 사용하시는 거면 certificate를 구입하시고 설정하셔야 합니다. 외부로 부터 최소한의 공격을 방어하려면 이것도 어느정도는 세팅을 해주셔야 할 겁니다.
서버를 혼자서 처음부터 끝가지 다 구축하실 수 있다면, 정말 훌륭한 스킬을 익히시는 거라고 생각합니다.
좋은 결과가 있길 바라겠습니다.