지난 포스팅에서 AWS에 인스턴스를 생성하고 EIP를 할당해 보았다. 그때 SSH키 또한 발급을 받았었는데, 오늘은 그것을 사용해서 인스턴스 서버에 접속해 볼 것이다. 나는 윈도우 유저이기 때문에 puTTy
를 사용하여 이 과정을 진행해 보려고 한다.
먼저 puTTy에 대해 알아볼까?
puTTy (⏪클릭 시 사이트로 이동)란, 서버에 접속하여 명령어를 전송하는 원격 서버 접속 프로그램이다. 쉽게 말해 리눅스를 원격 제어할 때 사용하는 프로그램이다.
모두들 사이트에 들어가 puTTy를 다운로드 받았다면 긴 여정을 또 시작해 보자... 😂
puTTy를 설치하면 puTTygen
이 함께 설치되는데 이를 실행해 본다.
실행 후 'Load' 버튼을 클릭한다.
확장자를 All Files(.)로 바꾸고 내 SSH키 파일을 찾아 연다. 그러면 영어로 'Sucessfully...' 하고 Private Key를 저장하라는 긴 안내창이 뜨는데 그냥 '확인'을 클릭하면 된다. 왜냐하면 가상 서버에 접속하기 위해서는 Private Key를 하나 생성해야 하기 때문이다.
안내창이 말해 줬으니 'Save private key' - '예'
를 클릭하고 내 Private key를 저장해 준다. 그러면 정해 준 이름대로 .ppk
확장자 파일이 생성된 것을 볼 수 있다!
다음 단계에 들어가기 전에 접속하고자 하는 인스턴스의 IP 주소를 알아야 한다. AWS의 EC2 대시보드에 들어가서 퍼블릭 IPv4 주소
를 복사해 두자. 💡
이제 puTTygen이 아닌 puTTy
를 실행해 보자.
Host Name에 ubuntu@내 IP 주소
를 작성한다. 그리고 Saved Sessions에 원하는 이름을 작성 후 'Save'를 클릭한다.
Connection - SSH - Auth - Credentials
에 들어와 아까 생성한 Private Key 파일을 업로드하고 'Open'을 선택한다.
이러면 서버에 접속하게 되는 것이다!
여기서부터는 터미널에 명령어 입력이 많아 명령어 부분은 이처럼
블록 처리를 하여 조금 더 쉽게 볼 수 있도록 작성해 보았다! 👏
이런 터미널 창이 떴다면
sudo apt-get update
sudo apt-get upgrade
위 두 명령어를 입력해 준다.
왜 이 명령어를 입력해야 하지? 💦
- apt-get update : 운영 체제에서 사용 가능한 패키지들과 그 버전에 대한 정보를 업데이트하는 명령어이다. 설치되어 있는 패키지를 최신으로 업데이트하는 것이 아닌, 설치 가능한 리스트를 업데이트하는 것이다.
- apt-get upgrade : 운영 체제에
apt-get install
명령으로 설치한 패키지들을 최신 버전으로 업그레이드하는 명령어다. apt-get upgrade 명령을 이용하면 apt-get update로 가져온 각 패키지들의 최신 버전에 맞게 업그레이드를 한다.
이러한 이유로 인해 명령어를 입력해 주어야 한다. 이 과정에서 제법 긴 로딩이 시작되니 인내심을 가지고 기다리자. 😉
이제 Java(Open JRE, JDK)와 Tomcat을 설치해야 한다. 이미 이클립스나 톰캣을 설치해서 사용 중이라도 우리는 서버에 프로젝트를 올릴 것이므로 Open JRE와 JDK를 다시 설치해야 한다.
터미널에 sudo apt-get install openjdk-8-jre
명령어를 입력한다. 중간에 Y/N이 나오면 'Y'를 입력하면 된다.
다 설치했으면 이번에는 sudo apt-get install openjdk-8-jdk
명령어를 입력한다. 위와 같은 순서로 설치를 진행하면 된다.
JRE와 JDK가 모두 설치되었으면 java -version
과 javac -version
을 입력해서 버전을 확인해 본다.
또한 which javac
명령어를 입력하여 자바 위치를 알아내고,
readlink -f 각자의 자바 위치
명령어를 입력하여 자바 위치의 풀 경로를 알아낸다.
이제 환경 변수 설정을 해 주어야 한다.
sudo nano /etc/profile
을 입력하면 위와 같이 나노 편집기 창에 들어갈 수 있다.
나노 편집기 맨 아래 쪽에 사진처럼 명령어 세 줄을 입력한다.
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH
export CLASS_PATH=$JAVA_HOME/lib:$CLASS_PATH
이것을 모두 입력했으면 Ctrl+o
를 누른 뒤 Enter를 눌러 저장한다. 그리고 나노 편집기를 나가야 하므로 Ctrl+x
를 누른다.
sudo nano /etc/profile
을 입력하여 방금 입력한 세 줄이 잘 저장되었는지 확인 후 다시 Ctrl+x
를 눌러 빠져나간다. 그리고 source /etc/profile
로 리로드를 해 준 뒤 sudo reboot now
를 입력하여 서버를 끈다. 이때 에러창이 뜨면 그냥 '확인'을 누르면 된다.
자, 그리고 다시 서버를 재접속한다! 위 2-1과 2-2의 과정을 반복하면 서버에 접속할 수 있다.
접속 후 echo $JAVA_HOME
과 JAVA_HOME/bin/javac -version
을 입력하여 자바 환경 변수를 제대로 설정했는지 확인한다. 위와 같이 뜨면 제대로 설정이 된 것이다. 👍
이제 Tomcat을 명령어로 설치해 주면 되는데 터미널에서 sudo apt-get install tomcat8
명령어로 자동 설치를 하려고 하니 오류가 생겼다. 내가 설치하려고 하는 Tomcat8이 puTTy에는 없는 것이었다..!
잠깐 현타가 왔지만.. 😀
포기하지 않고 다른 방법을 열심히 찾아보았고, 결론적으로는 Tomcat8 설치에 성공했다!
만약 나와 같은 어려움을 겪는 사람이 있다면 아래와 같은 방법으로 해 보기를 추천한다.
여기서 링크를 먼저 복사해 준다.
다시 터미널로 돌아와 wget 복사한주소
명령어를 입력한다.
sudo mv apache-tomcat-8.5.96 /usr/share
명령어를 입력해 Tomcat 파일을 이동해 준다.
sudo ufw allow 8080/tcp
명령어를 입력해 방화벽 설정을 변경해 준다.
$ sudo nano /etc/systemd/system/tomcat.service
입력 후 아래의 명령어를 추가한다. 환경 변수를 추가해 주는 것이다.
[Unit]
Description=Tomcat9
After=network.target
[Service]
Type=forking
Environment=CATALINA_PID=/opt/tomcat/tomcat9.pid
Environment=JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64
Environment=CATALINA_HOME=/opt/tomcat
Environment=CATALINA_BASE=/opt/tomcat
Environment="CATALINA_OPTS=-Xms512m -Xmx512m" # optional
Environment="JAVA_OPTS=-Dfile.encoding=UTF-8" # optional
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
[Install]
WantedBy=multi-user.target
입력 후 Ctrl+o - Enter - Ctrl+x
로 뒤로 간 뒤, sudo systemctl daemon-reload
로 서비스 관리자를 다시 시작한다.
먼저 cd /usr/share/apache-tomcat-8.5.96/bin
입력 후
/usr/share/apache-tomcat-8.5.96/bin$ ./startup.sh
를 입력해 주면......
드디어 성공이다. 😭
정말로 톰캣이 정상적으로 작동 중인지 우리 인스턴스의 퍼블릭 IPv4 주소:8080
주소로 들어가 보자.
이렇게 반가운 고양이 얼굴이 나오면 성공이다. 이렇게 톰캣 설치까지 끝!
오늘은 puTTy로 SSH 키를 이용하여 ubuntu 서버에 접속해 보았다. 비록 톰캣을 설치하는 과정에서 멘탈이 나갈 뻔했으나.. 중요한 것은 오류에 꺾이지 않는 마음이라는 다짐으로 폭풍 구글링을 통해 결국 해결할 수 있었다. 그리고 마냥 어렵게만 느껴졌던 명령어 입력이 갖은 고난으로 인해 익숙해지는 계기가 된 것 같아 살짝 뿌듯한 마음으로 이번 포스팅을 마무리한다. 👏