ESXi 위에 Ubuntu server 16.04 설치기

기존에는 DSM 위에서 각종 서버들을 구동하였다.
서버 개발을 본격적으로 시작하는 지금, 직접 우분투 서버를 처음부터 구성하고 실제 프로젝트에 사용하기 위해 세팅을 할 것이다.
기존에 AWS EC2나 다른 클라우드 서버 등을 사용하였지만, 직접 구축해본다는것은 또 다른 느낌이다.
시작하겠다!!

Ubuntu Server 이미지 구하기

https://www.ubuntu.com/download/server
위 주소에서 우분투를 다운받아 ESXi의 Datastore에 업로드한다.

ESXi 세팅하기

새로운 VM을 생성한다.
Ubuntu Linux 64비트 설정으로 생성을 하였고, CPU는 1소켓, 소켓당 코어수는 1로 설정하였다.
찾아보니 CPU와 소켓당 코어수는 직접 설정해도 되나 VMWare 측의 권장사항은 1소켓 1코어로 해도 된다고 한다.
코어제한이 걸린 라이센스 때문에 이 옵션이 존재하는것 같다.
리눅스는 제한이 없기 때문에 선택은 자유이다.
내 서버에는 아직 SSD가 없기 때문에 HDD 를 100기가 할당하고 메모리는 3기가를 주었다.

Ubuntu 설치하기

구글에 우분투 설치 라고만 쳐도 좋은 튜토리얼들이 많이 있는것 같다.
하지만 튜토리얼을 보지 않더라도 그냥 쭉쭉 읽어보면 어렵지 않게 설치가 가능했다.
Local 설정은 US 그대로 하였고, 키보드 레이아웃도 US로 하였다.
Region 설정만 Asia/Seoul 로 진행하였다.
서버 설치 완료 후, 모든 패키지를 최신버전으로 업데이트 하였다.

1
2
$ sudo apt-get update
$ sudo apt-get upgrade

openssh-server 설치

설치 도중 추가적인 패키지를 설치하는 페이지가 있는데, 엔터를 잘못 눌러 그냥 진행이 되어버렸다.
그래서 openssh-server 를 따로 설치하였다.
이곳 을 참조하였다.

1
2
3
4
5
6
$ sudo apt-get install openssh-server
$ netstat -ntl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp6 0 0 :::22 :::* LISTEN

계정 설정하기

우분투 설치 중, 실제 유저 이름을 적으라 해서 정말 내 이름을 적었더니 그것이 유저네임이 되어버렸다.
그래서 다른 계정을 만들기 위해 유저를 만들었다.
이곳 을 참조하였다.

1
2
3
4
$ useradd [유저이름]
$ passwd [유저이름]
Changing password for user [유저이름]
New UNIX password:

만들고 해당 유저로 로그인해서 진행중, sudo 명령어를 치니 에러가 났다.
구글링을 해본 결과 이곳 에서 원인을 알 수 있었다.
sudo명령어를 칠 수 있는 유저들을 관리하는 /etc/sudoers 에 유저를 추가해야 했다.
블로그를 참고하여

1
$ visudo -f /etc/sudoers

명령어를 치고 새로 만든 내 유저를 추가하려고 보니, 내용중 아래와 같은 부분이 있었다.

1
2
# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

admin 그룹에 속한 유저는 모두 sudo 를 쓸 수 있다는 것이었다.
그래서 기존에 내가 만들었던 유저를 admin 그룹에 속하도록 하였다.
먼저 admin 이라는 그룹을 생성하고, 기존에 존재하던 유저를 해당 그룹 소속으로 바꿨다.

1
2
$ groupadd admin
$ usermod -g admin [유저이름]

그리고 나서 해당 유저로 sudo 명령어가 정상적으로 작동되었다.

Ubuntu에 Docker 설치하기

나같은경우, UbuntuDocker를 설치하여 각종 프로젝트에 쓸 예정이다.
찾아보니 설치법은 두가지가 있었다.
첫번째로는 자동 설치이다.

1
$ curl -s https://get.docker.io/ | sudo sh

이 명령어로 설치하면 알아서 해당 OS에 맞는 버전을 설치하는것 같다.
하지만 난 패키지를 통해 설치하였다.

1
$ sudo apt-get install docker.io

설치를 다 하였지만, 도커는 기본적으로 root 권한이 필요하다.
따라서 이곳 을 참조하여 권한 설정을 하였다.

1
2
$ sudo usermod -aG docker $USER
$ sudo service docker restart

이후 유저를 재 로그인 하면 sudo 명령어 없이 해당 유저는 docker 명령어를 쓸 수 있다.

댓글