티스토리 뷰



오랜만에 집에서 리눅스 서버를 설치하게 되었습니다. 모니터나 키보드, 마우스 없이 전원만 넣으면 필요한 서비스를 가동시키고 터미널에서 셧다운 시키는 방식으로 적용하려다 보니 리눅스 시스템이 최적의 선택이 아닌가 싶었습니다. 물론 스틱 컴퓨터를 사용하거나 아두이노와 같은 임베디드 시스템도 좋기는 한데 집에 굴러 다니는 본체를 간편하게 설치해서 사용하고 성능이 뒷받침되는 시스템을 확보한다는 시각에서는 리눅스 서버 시스템을 설치하는 것이 현실적인 선택이었습니다.  시스템 설치 및 관리에 관한 전체적인 도움말은 아래의 링크를 참조하세요.


https://help.ubuntu.com/lts/serverguide/index.html.ko


■ 시스템 설치


시스템 설치를 위해서는 우선 *.ISO로 배포하고 있는 설치 파일을 다운로드 받아야 합니다. https://www.ubuntu.com/download 에서 다운로드 받을 수 있는데 우선 윈도우 운영체제와 같은 데스크탑을 설치 할지, 아니면 단순 텍스트 기반의 콘솔에서 시스템을 관리하는 서버를 설치할지 선택해야 합니다. 서버에는 윈도우 GUI가 포함되어 있지 않기 때문에(나중에 추가 설치할 수는 있습니다) 용량은 800MB 대로 1.9GB에 이르는 데스크탑에 비해서 간단하게 설치할 수 있는 장점이 있습니다. 몇몇 서비스를 포커스로 한다면 성능도 높기 때문에 서버 설치는 좋은 선택지 일 수 있습니다. 물론 모든 작업을 콘솔 상태에서 명령어를 입력해야 하는 불편함이 있기는 합니다. 이 조차도 처음이 어렵지 조금 익숙해 지면 GUI 보다 편리하기도 합니다.


설치 파일을 다운로드 받으면 일단 부팅 가능한 미디어에 담아서 설치를 준비합니다. 요즘 컴퓨터들은 CD/DVD가 장착되지 않은 것이 많기 때문에 USB 메모리에 설치 파일을 담습니다. USB 메모리에 단순히 설치 파일을 복사하는 것으로 준비가 되는 것은 아니고 USB 메모리로 부팅 될수 있도록 준비해야 합니다. Rufus(https://rufus.ie/)를 활용하여 윈도우에서 우분투 부팅 디스크를 제작하는 방법은 https://tutorials.ubuntu.com/tutorial/tutorial-create-a-usb-stick-on-windows 에서 확인할 수 있습니다. 부팅 가능 USB 제작과 함께 꼭 확인해야할 사항은 우분투를 설치할 컴퓨터의 BIOS 설정으로 부팅 순서에 USB가 하드디스크 보다 우선 순위가 높아야 USB로 부팅 할 수 있습니다. 


준비한 USB 메모리를 컴퓨터에 꽂고 전원을 넣어서 설치를 시작합니다. 서버 설치는 텍스트 기반인데 되도록 기본 설치로 진행합니다. 다음 단계로 넘어 갈때는 [Done]을 선택하면 됩니다. 단계별 확인 사항은 아래와 같습니다. 설치 과정에 대한 설명은 https://tutorials.ubuntu.com/tutorial/tutorial-install-ubuntu-server 를 참조합니다.


    • 언어 선택은 영어로 진행

    • 키보드 레이아웃은 기본(English(US))로 진행

    • 클라우드 시스템이 아니므로 "Install Ubuntu"로 진행 

    • 네트워크 설정은 일단 DHCP로 IP주소를 받아오는 기본 방식으로 진행

    • 스토리지 설정은 "Use An Entire Disk"를 선택하여 단순하게 리눅스가 드라이브 전체를 사용하도록 진행

    • 출력된 기본 장치에 리눅스를 설치하는 것으로 진행

    • 최종적으로 파티션 선택 사항을 확인하고 진행

    • 파티션 정보 저장 확인하고 진행

    • 서버의 이름과 사용자 아이디 및 비밀번호를 설정하고 진행(꼭 메모해 둡니다)

    • 최종 확인 및 설치 진행



■ 네트워크 설정


시스템 설치가 끝나면 USB 메모리를 빼고 시스템을 재가동 시킵니다. 시스템이 부팅된 이후에 설치 과정에서 만들었던 사용자 아이디와 비밀번호로 로그인에 성공하면 일단 1차 시스템 설치는 성공적입니다. 다음 단계는 다른 컴퓨터에서 네트워크로 접근해서 작업 할 수 있는 환경을 만들고 설치때 사용한 모니터와 키보드와 제거하고 시스템을 운용시키는 것입니다. 


ifconfig -a 명령으로 네트워크 카드가 정상적으로 인식되었는지 확인합니다.


$ ifconfig -a

enp0s25: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500

        inet 192.168.0.4  netmask 255.255.255.0  broadcast 192.168.0.255

        inet6 fe80::213:77ff:fe4e:8de0  prefixlen 64  scopeid 0x20<link>

        ether 00:13:77:4e:8d:e0  txqueuelen 1000  (Ethernet)

        RX packets 46859  bytes 67811622 (67.8 MB)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 22789  bytes 1766631 (1.7 MB)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

        device interrupt 16  memory 0xd0100000-d0120000


lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536

        inet 127.0.0.1  netmask 255.0.0.0

        inet6 ::1  prefixlen 128  scopeid 0x10<host>

        loop  txqueuelen 1000  (Local Loopback)

        RX packets 124  bytes 10148 (10.1 KB)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 124  bytes 10148 (10.1 KB)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0


위와 같이 네트워크 카드가 정상적으로 인식되어야 필요한 패키지를 설치하는 등의 후속 작업이 이루어 질 수 있습니다. 조회한 인터페이스 카드 이름을 확인합니다. 위의 예제에서는 "enp0s25" 입니다.


sudo vi /etc/netplan/99_config.yaml


위와 같이 vi 에디터로 IP주소를 고정 IP로 지정하기 위한 설정 파일을 입력합니다. 그런데, vi 앞에 sudo를 붙이는 이유는 보안을 위한 것으로 시스템 디렉토리에 있는 파일을 변경하기 위해서 명시적으로 슈퍼 유저의 작업임을 sudo로 지정하는 것입니다. 아래의 내용과 같이 고정 IP 설정을 위한 내용을 입력합니다. 서비스를 제공하는 서버로 가동할 것이므로 고정 IP로 운영해야 합니다. 게이트웨이나 네임서버 주소는 윈도우 컴퓨터에서 "ipconfig /all"으로 확인할 수 있습니다.

network:

  version: 2

  renderer: networkd

  ethernets:

    enp0s25:

      addresses:

        - 192.168.0.222/24

      gateway4: 192.168.0.1

      nameservers:

          addresses: [168.126.63.1, 168.126.63.2]


위의 설정 내용이 준비 되었으면 "sudo netplan apply" 명령으로 시스템에 적용 시킵니다.



netplan을 통한 네트워크 설정은 Ubuntu 18부터 적용되고 그 이하는 sudo /etc/network/interfaces 명령으로 iface enp0s25 inet dhcp 로 되어 있던 부분을 아래와 같이 설정하고 sudo service networking restart 명령을 수행하면 됩니다.


iface enp0s25 inet static

address 192.168.0.222

netmask 255.255.255.0

gateway 192.168.0.1

dns-nameservers 168.126.63.1, 168.126.63.2


고정 IP 주소 설정이 끝났으면 다른 컴퓨터에서 네트웍으로 로그인할 수 있도록 SSH 서버를 가동 시켜야 하므로 아래와 같은 명령으로 SSH 서버를 설치 및 가동 시킵니다.


sudo apt-get install ssh



■ 타임존 설정


시스템이 설치되면 시스템의 시간대는 한국 기준이 아닙니다. 

sudo dpkg-reconfigure tzdata 명령으로 시스템의 시간대를 설정합니다.



sudo dpkg-reconfigure tzdata 명령을 수행시키면 위의 그림과 같은 화면을 통해 시간대를 설정합니다. Asia 선택이후 Seoul을 화살표로 이동하여 선택합니다.


Current default time zone: 'Asia/Seoul'

Local time is now:      Tue Mar 26 20:44:53 KST 2019.

Universal Time is now:  Tue Mar 26 11:44:53 UTC 2019.

위의 내용은 명령 수행 결과입니다.



■ 기본 언어 설정


시스템 설치 시점의 언어는 영어이지만 기본 언어를 한국어로 변경하는 것이 여러모로 편리합니다.


sudo locale-gen ko_KR

sudo locale-gen ko_KR.UTF-8

위의 명령을 차례대로 입력하여 한국어 로케일을 생성합니다.



sudo dpkg-reconfigure locales 명령을 입력하면 위와 같은 화면이 나오는데 한국어 로케일에 생성되었는지 확인하고 기본 로케일로 한국어를 설정합니다.


끝으로 sudo update-locale LANG="ko_KR.UTF-8" LANGUAGE="ko_KR" 명령을 입력하면 로케일 설정 작업은 모두 끝이 납니다. 


모든 설정이 끝나면 로그아웃 했다가 다시 로그인 해서 아래와 같이 로케일이 변경되었는지 locale 명령어로 확인 합니다.


$ locale

LANG=ko_KR.UTF-8

LANGUAGE=ko_KR

LC_CTYPE="ko_KR.UTF-8"

LC_NUMERIC="ko_KR.UTF-8"

LC_TIME="ko_KR.UTF-8"

LC_COLLATE="ko_KR.UTF-8"

LC_MONETARY="ko_KR.UTF-8"

LC_MESSAGES="ko_KR.UTF-8"

LC_PAPER="ko_KR.UTF-8"

LC_NAME="ko_KR.UTF-8"

LC_ADDRESS="ko_KR.UTF-8"

LC_TELEPHONE="ko_KR.UTF-8"

LC_MEASUREMENT="ko_KR.UTF-8"

LC_IDENTIFICATION="ko_KR.UTF-8"

LC_ALL=





댓글
댓글쓰기 폼