Skip to main content

Ubuntu

해당 문서는 A to Z를 지향하고 있다.

1. Installation

GUI환경인 Ubuntu Desktop도 있지만 GUI를 이용할 일이 적기에 CLI환경인 Ubuntu Server로 진행할 것이다.

https://releases.ubuntu.com/24.04/ubuntu-24.04-live-server-amd64.iso

해당 링크에서 ISO를 다운로드해 설치용 USB에 rufus등의 툴을 이용해 구워주고, 설치할 호스트에 USB를 장착 및 부팅하면 아래와 같은 GRUB 창을 확인할 수 있다.

image.png

Enter를 눌러 Install을 시작하자. 그럼 service들을 확인하며 아주 멋지게 문자열들이 주루루룩 올라갈 것이다.

그러다 보면 언어를 선택할 수 있는 창이 나타나는데, 한국어가 없기도하고 필요도 없기 때문에 English로 진행한다.

키보드 레이아웃도 마찬가지로 English (US)로 할 것이기에 또 Enter를 누른다.

다음은 minimized가 아닌 그냥 Ubuntu Server로 진행하자. 기본 설정은 되어있는 것이 편하니까.

Network, Proxy, Mirror 등을 선택하는데 별 다른 말 없이 계속해서 Enter를 누른다. 단, mirror는 검색하는 과정에서 시간이 약간 소모될 수 있다.

storage 옵션은 Tab으로 Done까지 도달하여 Enter를 눌러주고, 구성도 확인하고 넘어가주자. 디스크가 전부 지워진다고 하는데, 후회하지 않을 자신이 있다면 Continue로 진행한다.

슬슬 설치의 마무리 단계. 이름과 서버의 이름, 비밀번호 등을 넣어주고, Pro는 필요하지 않으니 무시하자.

그리고 SSH를 설정하게 되는데 Space를 눌러 Install OpenSSH server를 활성화하고 Tab으로 넘어가 Done에 도달해준다.

다음은 몇몇 패키지들을 미리 설치하게 해주는데 일단은 넘어가도록 하자. 역시 Tab을 통해 넘어갈 수 있다.

느긋하게 기다려주면 설치가 끝나고 재부팅을 위해 설치용 드라이브를 제거하라고 하는데, 계속해서 누른 Enter를 마지막으로 눌러 설치를 마칠 수 있다.

2. Settings

SSH Connect

설치를 끝내고 재부팅이 완료되면 로그인해주자. 그럼 아래와 같은 창이라고 해야할까 문자들이 반겨줄 것이다.

image.png

여기서 System Information의 IPv4 address를 보면 해당 호스트의 IP주소를 알 수 있다.

이제 Windows에 내장된 CMD나, PuTTY 등을 통해 SSH로 접속을 해주자. CMD라면, 아래와 같은 명령어로 접속이 가능하다.

# ssh username@IP_number
ssh ubuntu@192.168.20.70

비밀번호를 입력해야 하는데, 입력하더라도 문자는 뜨지 않지만 입력은 되고 있으므로 다 입력했다면 Enter를 누른다.

지문과 관련해서 한 마디를 하는데 알았다고 하면서 yes를 입력해 넘어가자.

image.png

아까 보았던 문자들이 또 반겨준다. 이것으로 SSH 연결이 성공적으로 이루어졌다.

apt-get

패키지들을 갈아엎기 위해 어디선가 많이 들어본 그 명령을 실행하자. 

sudo apt-get update
sudo apt-get upgrade # y와 Enter를 눌러줍시다.

슈르륵하고 문자들이 올라간다.

Docker

서비스들을 컨테이너로 올리기 위해 우리는 Docker를 사용할 것이다.

sudo apt-get install docker # y와 Enter를 눌러눕시다.

예시로 컨테이너를 하나 올려보겠다. Minecraft라는 게임을 호스팅할 수 있는 crafty라는 컨테이너인데... 사실상 이를 위해 이 문서가 작성된 것이라고 봐도 무방하다.

How to build Minecraft Server with crafty

복사해서 붙혀넣고 실행하자

sudo docker run \
  --name crafty_container \
  --detach \
  --restart always \
  -p 8443:8443 \
  -p 8123:8123 \
  -p 19132:19132/udp \
  -p 25500-25600:25500-25600 \
  -e TZ=Etc/UTC \
  -v "/$(pwd)/docker/backups:/crafty/backups" \
  -v "/$(pwd)/docker/logs:/crafty/logs" \
  -v "/$(pwd)/docker/servers:/crafty/servers" \
  -v "/$(pwd)/docker/config:/crafty/app/config" \
  -v "/$(pwd)/docker/import:/crafty/import" \
  registry.gitlab.com/crafty-controller/crafty-4:latest

실행이 완료되면 웹브라우저를 통해 https://<ip-addr>:8443에 접속해주자. 호스트의 ip주소가 기억이 나지 않는다면 아래의 명령어로 확인이 가능하다.

ip addr | grep 192

# inet 192.168.20.70/24 metric 100 brd 192.168.20.255 scope global dynamic ens33
# 라고 뜬다면 IP 주소는 192.168.20.70

웹 브라우저로 접속하게 되면 로그인 창이 뜨는데 계정 정보는 아래와 같은 명령어로 확인이 가능하다.

cat docker/config/default-creds.txt

# {
#     "username": "admin",
#     "password": "%pK6Rd7mwhdIkjB6&su##atc%M%i*khyh1el5tYb26C@UTlgYHGf#RC3gRgyfBg5"
# }

아주 길쭉한 패스워드가 나온다. 정말 길다. 기억하기는 힘들 것이니 복사 후 붙혀넣기를 통해 로그인해주자.

로그인에 성공하면 우측 상단의 설정 아이콘을 눌러 Panel Config - Users - Edit - New Password(자물쇠 아이콘)을 눌러 비밀번호를 변경하고 시작하자. 우측 상단에 "Admin edited user admin (UID: 1)with roles set()" 라는 안내문이 나오면 성공이다.

그럼 이제 서버를 올려보자. Servers - Create New Server - Minecraft-Bedrock을 눌러주고 Server Name을 입력, Build Server!를 눌러주면 시간이 좀 경과한 뒤에 서버가 생겨난다.

Dashboard로 돌아가 생겨난 새로운 서버에 Actions의 재생버튼을 눌러주면 서버가 실행된다.

이제 19132포트(UDP)를 라우터 또는 공유기에서 포트포워딩해주면 외부에서도 Minecraft를 통해 서버에 접속이 가능해진다. 자세한 방법은 기기마다 다르므로 여기선 다루지 않겠다.

외부에서 접속할 때 주의해야할 점은, Minecraft 내부에서 입력하는 서버의 IP는 192으로 시작하는 사설 IP가 아닌 https://ipinfo.io/과 같은 웹사이트에 뜨는 외부 IP를 입력해줘야 한다.