이번 글에서는 ubuntu에서 sudo 계정 패스워드 초기화 및 sudo 계정으로 전환하는 방법을 알아보려고 한다.
최초에는 sudo 계정의 패스워드가 지정되어 있지 않으므로 1번 초기화 한 이후에 사용이 가능하다.
아래와 같이 sudo passwd root 명령어를 이용해 비밀번호를 초기화한다.
ubuntu@ip-(my-ip):~$ sudo passwd root
New password: # sudo 계정에서 사용할 패스워드 입력
Retype new password: # 한번 더 입력
passwd: password updated successfully # 패스워드 초기화 완료
이후 su, su root 명령어를 입력 후 패스워드를 한번 입력하면 사용자 계정 -> root 계정으로 변경이 가능하며
exit 명령어를 통해서는 root 계정 -> 사용자 계정으로 변경이 가능한 것을 확인할 수 있다.
sudo apt update # apt로 설치 가능한 패키지 리스트를 업데이트
sudo apt upgrade # apt로 설치한 패키지들을 업그레이드
설치한 적 없으나 혹시 몰라 Java 버전을 확인해 보니, 당연히 설치된 버전이 없다고 표시가 되지만 거기에 그치지 않고 자동으로 설치 가능한 버전과 설치 명령어를 제시해 준다. 아주 똑똑하다.
Java 버전 확인 결과 설치되어 있지 않으면, 자동으로 설치 가능한 버전과 명령어를 제시한다. 똑똑하다
나는 Tomcat 10 버전을 사용하기로 했으므로, 11 버전의 jdk를 설치하였다.
sudo apt install openjdk-11-jre-headless
설치 후 버전 확인을 다시 한번 진행하면, 아래와 같이 openjdk 버전이 정상 표시되는 것을 볼 수 있다.
ubuntu@ip-(my-ip):~$ java --version
openjdk 11.0.17 2022-10-18 # 정상 설치된 jdk 버전
OpenJDK Runtime Environment (build 11.0.17+8-post-Ubuntu-1ubuntu222.04)
OpenJDK 64-Bit Server VM (build 11.0.17+8-post-Ubuntu-1ubuntu222.04, mixed mode, sharing)
Tomcat 설치
다음으로는 Tomcat 설치를 진행한다.
우선 home 디렉토리 아래에 tomcat 폴더를 생성한다.
sudo mkdir /home/tomcat
다음으로는 tomcat 폴더 안에 tomcat 설치 파일을 다운받는다.
다운로드를 위해서는 설치 경로를 알아야 하는데, 설치 경로는 공식 다운로드 페이지 내에서 Download > Tomcat XX(다운받을 버전) 메뉴로 진입한 뒤 아래와 같이 tar.gz 파일의 URL을 복사하여 사용한다.
tar.gz 파일의 다운로드 URL 복사
cd /home/tomcat # 디렉토리 이동
sudo wget https://dlcdn.apache.org/tomcat/tomcat-10/v10.0.27/bin/apache-tomcat-10.0.27.tar.gz(복사한 URL) # tomcat 10버전 다운로드
이후 다운받은 파일을 tar 명령어를 이용하여 압축 해제한다.
사용되는 옵션의 상세 내용은 아래를 참고한다.
-v : 묶거나 파일을 풀 때 과정을 출력 -f : 파일 이름을 지정 -x : tar 압축 풀기 -z : gzip으로 압축하거나 해제
sudo tar xvfx apache-tomcat-10.0.27.tar.gz # 다운받은 파일 압축 해제
# 압축 해제된 이후 폴더 정상 생성 확인
sudo rm apache-tomcat-10.0.27.tar.gz # 원본 압축파일 삭제
압축을 해제하는 것만으로 Tomcat 설치는 완료된다.
이후 tomcat 정상 구동을 확인하기 위해 bin 폴더에 있는 startup.sh을 실행하였다.
sudo chmod -R 777 /home/tomcat/apache-tomcat-10.0.27/bin #tomcat bin 폴더의 권한을 전체 권한으로 변경
cd bin # /home/tomcat/apache-tomcat-10.0.27 폴더 내에서 bin 폴더로 한 단계 더 진입
./startup.sh # startup.sh 실행
그랬더니 아래와 같이 catalina.out 파일에 권한이 없어 로깅을 못 한다는 오류가 표시되며 구동이 되지 않는다.
구동이 되지 않는다. 권한..... 휴
나는 정상 설치가 되었는지, 현재 별다른 환경 변수 설정 없이 tomcat이 구동 가능한 상태인지를 확인하고자 하는 것이기 때문에, sudo로 계정을 변경하여 진행하기로 했다.
OS는 Amazon Linux, 레드햇 계열의 Red Hat Linux, (CentOS는 2021년 서비스 지원 종료로 없어진 듯 하다), 데비안 계열의 Ubuntu등이 제공된다.
Windows Server도 프리 티어 OS로 제공되나 프리 티어 인스턴스 사양으로는 돌리기가 버거울 것 같아 무시한다.
구글링을 하며 한참을 고민하다 우선은 Ubuntu로 생성하기로 결정했다.
반드시 '프리 티어 사용 가능' 문구가 있는 OS로 선택하여야 공짜로 받아먹을 수 있다.
인스턴스 유형은 t2.micro로 선택하였고, 키 페어는 기존에 생성해 둔 것이 없으므로 신규로 생성하였다.
나는 PuTTY를 사용하여 SSH 접속할 예정이므로 ppk 파일 형식으로 생성하였다.
신규 키 페어를 생성해야 인스턴스에 안전하게 연결이 가능하다.
생성을 클릭하면 ppk 확장자로 된 파일이 자동으로 다운로드되는데, 나중에 PuTTY 접속 설정 시 사용되기도 하고 보안 상 중요한 Key가 되므로 안전한 곳에 꼭꼭 숨겨 보관하도록 하자.
다음으로 항상 중요하고도 복잡한 네트워크 설정 단계인데, 다른 것들은 기본값으로 그대로 두었으며 보안 그룹 이름은 내 마음에 드는 이름으로 변경해 주었다.
인바운드 보안 그룹 규칙은 SSH Port(기본 22)를 활용해 해당 인스턴스에 접속하기 위한 제일 기본적인 Rule을 등록하게 되는데, 그 중 가장 중요한 소스 유형은 '위치 무관'의 경우 어떤 IP로 접속하더라도 접속 가능하도록 허용하는 것이고 '사용자 지정' 또는 '내 IP'로 선택할 경우 특정 IP를 직접 입력하거나 지금 접속하고 있는 IP로 한정하여 EC2에 접속 가능하도록 제한하는 것이다.
일반적인 가정용 인터넷 공유기 설정은 유동 IP를 할당받아 사용하도록 되어 있기도 하고, 글을 작성하는 시점에 카페에서 공용 와이파이를 사용하고 있다 보니 '위치 무관'으로 우선 생성하기로 한다.
인바운드 보안 그룹 규칙은 신경써서 생성해야 한다.
마지막으로 스토리지 부분인데, 프리 티어의 경우 SSD 타입의 스토리지까지 포함하여 총 30Gb가 무료 용량으로 제공된다. 이번 인스턴스에는 8Gb만 할당하여 쓰기로 한다.
gp2가 기본적으로 선택되어 있으나 gp3가 (서비스의 I/O 패턴에 따라 다르기는 하나) 일반적으로 더 낫다고 알고 있어 gp3로 변경하여 생성하기로 한다.
gp2와 gp3 비교. 볼륨당 최대 처리량이 더 빠르고 나머지가 동일하면 gp2의 존재 이유는...? 공부,,,해야지,,
기타 설정은 건드리지 않고 생성을 누르게 되면, 아래와 같이 약간의 시간이 지난 뒤 인스턴스 생성이 완료되었다는 메시지를 볼 수 있다.
이후 모든 인스턴스 보기 버튼을 눌러 대시보드로 이동하면, 내가 생성한 인스턴스가 한 줄 표시되고 '인스턴스 상태'가 '실행 중'으로 표시되는 것을 볼 수 있다.