집에서 홈서버 구축하려다 보니 Centos 설치해보려고 하다가 지원 종료 된다고 해서 찾아보던 중 아직까지 꾸준하게 잘 업데이트되고 있는 우분투를 설치해보려고 합니다. 이 포스팅은 우분투(Ubuntu) 22.04.2 LTS 서버 설치에 관해서 설명하도록 하겠습니다. 우분투는 데스크톱 버전과 우분투 서버 버전이 있습니다. 서버로 사용하기 때문에 데스크톱 그놈 같은 게 필요 없으니, 터미널 창으로만 되어 있는 버전으로 설치하고자 합니다. 설치하려는 목적은 우분투서버로 웹서버를 구축해서 https 인증받는 것까지 해 보려고 합니다. 우선 서버 설치를 진행하면서, 네트워크 장치에 IP Address 설정하는 방법과 openssh를 설치하여 외부에서 접속할 수 있게 하는 게 목적입니다. 이후 포스팅에는 certbot을 이용해서 https 인증하는 것까지 해보도록 하겠습니다. 본 포스팅은 이미지를 최소화하기 위해 글로써 대신하니 양해 바랍니다.
1. 우분투(UBuntu) 22.04.2 LTS 서버 다운로드
우분투는 2023년 3월 11일 현재 22.10 버전이 나와 있지만, 최신버전은 아직 버그로 인해 오류 발생 가능성이 높이니, 안정성이 검증된 LTS 버전인 22.04.2 버전을 다운로드 받으면 되겠습니다.
https://ubuntu.com/download/server
2. 우분투 설치
우분투 설치 이미지로 부팅시 첫 화면에 GNU GRUB Version이라는 창과 함께 선택 창이 나옵니다.
Ubuntu Server 선택 하고 Done 클릭.
> 언어 선택
영어 선택 하고 Done 클릭
> 키보드 레이아웃 선택
Layout과 Variant 역시 모드 영어 선택 하고 Done 클릭.
> 설치 타입 선택
Ubuntu Server X 표시 선택 Done 클릭.
> 네트워크 설정
기본값은 DHCP로 선택 되어 있습니다. DHCP로 사용하려면 바로 Done으로 넘어가면 되고, 수동으로 IP 설정하고자 할 때는 NAME TYPE NOTES 아래에 장치 이름과 eth라고 되어 있는 요소를 클릭하면, 리스트 창이 나오는데, Edit IPv4 클릭, Edit {장치명} IPv4 configuration 창이 나타나고, IPv4 Method 오른쪽에 선택 리스트가 나옵니다. Manual 클릭하고, 각각의 값을 다음의 조건에 맞게 입력하면 됩니다.
예) 192.168.0.100 이라는 IP를 설정하고 싶을 때, 서브넷 마스크는 255.255.255.0이고, Gateway가 192.168.0.1이라고 가정을 한다면,
Subnet : 192.168.0.0/24 => 네트워크 주소 입력 192.168.0.0은 서버 IP가 가지는 네트워크 주소이고, 24는 255.255.255.0을 bit수로 계산한 숫자입니다. 이진수로 11111111.11111111.11111111.0이라는 값을 24로 표현합니다. 쉽게 말해 1의 개수라고 보면 됩니다.
Address : 192.168.0.100
Gateway : 192.168.0.1
Name servers : 8.8.8.8 => 원하는 DNS IP 8.8.8.8은 구글 dns 주소
Search domains : => 비워주고 Done 클릭
> 이후 ubuntu archive mirror : 기본 값으로 그대로 유지
> Guided storage configuration : 기본 값으로 유지하고 다음(필요하다면 파티션 조정을 하시면 됩니다. 이 부분은 다른 블로그 참고 바랍니다.)
> Profile setup : hostname과 사용자 계정 입력
Your name : 사용자 계정명
Your server's name : 서버명
Pick a username : Your name과 동일하게 입력
Choose a password : 패스워드 입력
confirm your password : 패스워드 재입력
> SSH Setup
Install OpenSSH server X 표시 하고 Done
> Snaps 는 체크하지 않고 Done, 설치가 진행되고, 완료되면 Reboot Now 클릭
3. OpenSSH 설정
재부팅이 완료 되면 로그인 터미널 이 나타납니다. 계정을 입력하고, OpenSSH를 설정해보도록 하겠습니다.
처음 로그인시 사용자 계정은 root 권한이 없습니다. 사용자계정에 root 권한을 제일 먼저 주도록 합니다.
> 사용자계정 sudo 명렁어권자 할당
$sudo adduser {사용자계정명} sudo
> root 패스워드 설정
$ sudo passwd root
> netstate 사용을 위한 net tool 설치
$sudo apt install net-tools
> openssh 서비스 확인
$netstat -anp | grep 22
아직 openssh 서비스 설정을 하지 않아 아무것도 나오지 않음.
> openssh 설정
$sudo vi /etc/ssh/sshd_config
vi 에디터에서 Port 22 라고 되어 있는 라인의 # 위로 커서를 옮겨서, x 키를 눌러줍니다.(삭제)
:(콜론키)을 입력하고, wq! <엔터> 하면 저장하고, vi를 종료.
> openssh 서비스 시작, 종료, 상태 확인
$sudo service ssh stop
$sudo service ssh start
$sudoservice ssh status
> 서버 IP 확인(-I 대문자 아이)
$hostname -I
> 방화벽 설정
$sudo ufw status
$sudo ufw enable
$sudo ufw allow OpenSSH
이렇게 설정을 하면, 외부에서 ssh 22번 포트를 통해서 터미널로 접근할 수 있습니다.
이상으로 우분투(Ubuntu) 22.04.2 LTS 서버 설치와 기본적인 접근을 위한 설치 방법에 대해서 포스팅을 마치도록 하겠습니다. 다음 포스팅은 nginx를 이용한 웹서버 설치 방법에 certbot을 이용한 https 인증 방법에 대해서 다뤄보도록 하겠습니다.
가정집에서 설치하다 보니 certbot 설치를 통한 https 인증은 방화벽으로 인한 실패로 마무리 지을 것으로 예상합니다. (3일 동안 삽질만 함. T_T) 진행방법은 제대로 하는 것이니 따라 하면 정상적으로 될 것입니다. 단, ISP(통신사에서) 방화벽이 열려 있어야만 가능한 부분입니다.
'IT이야기' 카테고리의 다른 글
Windows11에서 Windows 보안 앱을 열면 종료되는 문제 해결 (0) | 2023.03.16 |
---|---|
Ubuntu 22.04.2 LTS에 LAMP 스택 설치 (0) | 2023.03.14 |
Ubuntu 22.04.2 LTS에 Apache2(아파치) 설치 방법 (0) | 2023.03.14 |
HTML form 태그에서 구글로 메일 보내는 방법 : 구글 앱 스크립트 (0) | 2023.03.05 |
구형 맥북프로 Macos 업그레이드 방법 (1) | 2023.03.01 |
댓글