0. 왜 이런 짓을
최근에 여행을 자주 다녔는데 여행과 여행 사이에 일정이 애매하여 시간이 붕 떠버린 적이 있었다.
게다가 본가가 이사를 한다고 하여 짐도 정리하고 버릴것이 많을 것 같아 도와주기 위해 본가에서 잠시 머물렀다.
그렇게 집을 정리하던 중, 골방 창고에서 낯익은 노트북을 하나 찾게 되었다.
대학생 때 줄기차게 썼던 노트북이다. 스펙은 현재 나온 제품들에 비하면 현저히 떨어지지만 그래도 사무용으로는 아직 쓸만한 정도의 제품이다. 하지만 그렇게 쓰기엔 눈에 안 차는 상황이라, 오래 전 부터 생각해온 일을 하나 해보기로 했다.
서버나 한 대 만들어 보자!!!
작업의 순서는 아래와 같다.
- 윈도우 OS 삭제 및 포맷
- 리눅스 설치
- 네트워크 세팅
- 개발 환경 세팅
1. 윈도우 OS 삭제 및 포맷
다른 분들을 보면 자신의 개인 PC에 파티션을 나눠 리눅스를 설치를 하던가, 아니면 가상머신을 설치하여 그곳에 리눅스를 심는 경우가 많았다. 하지만 나는 노트북의 모든 자원이 오로지 서버 운영을 위해 사용되길 원하기 때문에 윈도우OS를 완전 삭제 하는 방법을 선택했다.
윈도우OS를 완전 삭제 하기 위해선 부팅 USB가 필요하다. 그래서 리눅스 OS 중 어떤것을 설치할 것인지 미리 생각해둬야 한다.
아래는 각 OS 별 장단점을 정리한 표이다.
2. 리눅스 설치
정리하자면 : 1. 초보자: Ubuntu Server, AlmaLinux 2. 엔터프라이즈 환경: RHEL, Oracle Linux 3. 최신 기술 실험: Fedora Server, Arch Linux, Tumbleweed 4. 안정성과 장기 운영: Debian, CentOS/AlmaLinux/RockyLinux |
나는 업무시 Window Server를 주로 사용했기 때문에, 리눅스에 대한 숙련도가 낮은 상태다. 하여 유저가 많아 커뮤니티가 활성화 되어있고, 장기적인 지원이 가능한 Ubuntu Server를 설치하기로 했다. Ubuntu에 비교해 Ubuntu Server의 장점은 기본적으로 설치 되는 패키지가 필수적인 요소만 있어 가볍다. (우분투는 최소 사양이 램 4GB인것에 반해 우분투 서버는 고작 1GB다!), 게다가 GUI가 없어, 개발자의 낭만을 제대로 자극한다.(까만 화면에 떠오르는 여러 텍스트 아트들...)
우분투 서버는 아래 링크에서 받으면 된다.
https://ubuntu.com/download/server
링크에 가보면 LTS 버전이 있고, 아닌 버전이 있을 것이다. LTS(Long Term Support)는 해당 버전을 장기적으로 지원한다는 의미로, 안정적인 운영이 목표인 서버OS에 이상적인 방식이다. 새로운 모험을 좋아하는 분들은 아래에 최신버전도 있으니 참고 바란다.
리눅스 설치는 아래 링크 및 여러 곳에서 검색하여 참고 했다.
https://son1004007.tistory.com/55
설치가 제대로 된 것을 보니. 기쁜 마음이 든다. 이제 다음 단계로 넘어갈 수 있다.
3. 네트워크 세팅
본가에서는 모든 기기가 공유기를 통해 정보를 전달받는 구조이다. 그렇기 때문에 외부에서 서버로의 요청이 들어오면 공유기는 이를 받아 서버에 잘 전달 할 수 있도록 설정해야 한다. 여기서는 포트포워딩을 통해 특정 포트로 접근해오는 요청은 서버로 보내도록 설정했다.
포트포워딩은 외부 네트워크에서 특정 포트로 들어오는 요청을 내부 네트워크의 지정된 장치와 포트로 전달하는 기술이다.
일단 외부 인터넷과 연결된 부분은 공유기이기 때문에, 외부에서 서버에 접근하기 위해서 공유기의 IP로 요청을 보내는 수 밖에 없다. 그렇기 때문에 공유기와 내부 기기는 특정 약속을 통해 (포트포워드) 특정 포트의 요청이 들어오면 무조건 특정 내부 기기로 요청을 전달해주는 방법을 사용하게 된다.
해당 내용을 아래 그림으로 그려보았다.
이거 외에도 모든 포트를 개방하는 DMZ라던가 여러가지 방법이 있지만... 아무래도 보안상 꺼림칙하니 필요한 포트만 열어놓는것을 권장한다. (DMZ는 대문을 활짝 열어두고 도둑이 오지말라고 하는것과 비슷하다)
하는 방법도 공유기 설정 페이지에서 하면 되지만, 제조사 마다 화면이 조금씩 다르므로 각자 참고하길 바란다. 우리집은 KT 공유기를 쓰는 관계로 아래 링크를 참고 하였다.
https://monand0603.tistory.com/34
설정 후 curl이나 ping명령어를 던져 연결이 잘 되는지 확인해보자.
4. 개발환경 세팅
이제 이 서버에 내가 개발한 것들을 올릴 수 있게 만들어야 한다. 먼저 이 서버에 원격으로 접근 할 수 있도록 SSH를 열어두어야 한다.
먼저 서버에 다음과 같은 명령어를 차례대로 입력한다.
1. ssh 설치
|
세팅을 다 하고 테스트를 해본다.
정상적으로 다른 컴퓨터에서 접속이 되는것을 확인했다.
※ 추가로 서버가 종료되었을때, 랜선이 연결되어 있으면 원격으로 전원을 켤 수 있는 WOL 기능도 추가했다. 원한다면 추가하는것도 나쁘지 않을 것 같다.
'우당탕탕 개발일기 > 중고 노트북 서버로 써 보기' 카테고리의 다른 글
고물 노트북으로 홈서버 만들기 - 2. 홈서버로 마인크래프트 서버를 만들자 (2) | 2024.12.25 |
---|
댓글