스프링부트로 웹 페이지 만들어보기

1. 서버 환경 준비

앞으로 차차 사용할 서버의 기초적인 셋팅을 하는 과정입니다.

당장 서버로 배포하여 웹 서버를 운영할 것이 아니기에 네트워크와 통신을 위한 방화벽과 ssh 설정 등 기초적인 설정만 하였습니다.

앞으로 필요한 시스템이나 기능들이 생각나면 그때그때 추가하고 설정하면서 나아갈 생각입니다.

 

1.1 SSH와 방화벽 설정

  • 현재는 외부로 연결하지 않고, ssh만 포트포워딩을 통해 밖에서도 노트북 등으로 접속하여 작업 할 수 있도록 하였습니다.
  • 후에 웹 페이지가 만들어지고 보안 설정들이 더 세세하게 된다면 Nginx 를 설치하고 직접 만든 서버에 여러가지 공격과 동작들을 실습해 나가고자 합니다.
  • 지금은 ssh 관련하여 OS설치 단계에서 같이 설치된 Openssh를 서버가 켜질때 같이 동작하게 하고, 포트를 열어주는 작업을 하였습니다.
  • 키를 데스크탑과 노트북에 넣어서 통신할까도 생각해보았지만, 당장은 아이디/패스워드 방식으로 ssh에 접속하도록 하였습니다.
sudo apt update && sudo apt upgrade -y #업데이트

sudo systemctl status ssh #ssh 동작확인
sudo systemctl enable ssh #Openssh가 서버 부팅과 함께 실행되도록 설정

sudo ufw allow ssh #우분투 기본 방화벽 ufw에 ssh 통신을 허용
sudo ufw enable #ufw 동작
sudo ufw status #ufw 동작 확인

sudo apt install fail2ban -y #무차별 대입공격이나 반복적인 로그인 실패를 탐지하고 차단해주는 fail2ban

 

2. 개발 환경 준비

  • IntelliJ IDEA Community 2025.2.2
  • JDK 21
  • Mysql 8.0
  • Spring Data JPA
  • Thymeleaf

일차적으로 게시판 기능부터 차근차근 제작할 예정이기에 그에 필요한 것만 준비하였습니다.

차후 기능이 늘어감에 따라 그게 필요한 기능들을 더 설치할 예정입니다.

 

 

+ Recent posts