강의 사이트 만들기

원격 서버(ubuntu)에 Java 설치, MySQL 서버 구축

계란💕 2023. 9. 20. 10:24

 


  • 가비아를 통해서 서버를 빌렸다. 
    • 지난 달쯤 가비아의 컨테이너 호스팅 서비스를 이용했는데 여기에는 MySQL, Java가 모두 깔려있는 상태였다. 
    • 이번에는 IaaS 특성을 제대로 활용하기 위해 클라우드 서버를 임대했다. 
    • 전에 사용해본 AWS EC2 와  비슷한데 관리 콘솔이 한글로 되어 있고, 실시간으로 요금을 확인하는 것도 훨씬 편리했다. 초보자에게 추천!
    • 그리고 문의를 남기면 당일 날 답변을 받을 수 있어서 좋았다. 
  • 작년에도 EC2 서버에 DB를 구축해서 사용해본 경험이 있다. 
  • 이번에는 가비아를 통해 빌린 서버에 DB, Spring 애플리케이션을 모두 띄우려고 한다. 
  • 이번 포스팅에서는 ubuntu 연결 및 초기 세팅에 대해 다룬다. 


Java 설치

 

  • 가비아에서 준 pem 파일을 이용해서 ppk파일을 만들고 ubuntu에 로그인할 때 마다 이를 비밀번호처럼 사용한다. 
  • gabia_user 로그인 후 첫 화면
  • 자바가 깔려있지 않아서 아래와 같은 안내 메시지가 뜬다. 

 

 

  • ubuntu 패키지 저장소 목록을 업데이트한다. 
    • sudo apt update

 

 

  • java 11 설치
    • sudo apt install openjdk-11-jdk

 

 

  • 자바가 정상적으로 설치되었는지 확인
    • java --version

 


 MySQL설치 및 DB 연결

 

  • Mysql 설치
    • sudo apt-get install mysql-server

 

 

  • 설치 완료 후 

 

 

  • mysql이 제대로 깔렸는지 다음과 같이 확인한다. 
    • mysql --version

 

  • MySQL 서버 로그인
    • sudo mysql -u root -p
    • 설정한 비번이 없으면 바로 Enter

 

 

  • MySQL 서버 사용자 생성
    • CREATE USER '사용자명'@'ip주소' identified by '비밀번호';
    • IP 주소에 locahost를 넣었다 ?!??!

 

  • 사용자 확인
    • use mysql;
    • SELECT user, host, authentication_string from user;

 

 

  • 사용자 권한 설정
    • 다음과 같이 권한을 설정한다. 
    • grant all privileges in *.* to '사용자명'@'IP주소' ; 
      • *.*: 모든 db의 모든 테이블명에 대한 권한 부여
      • 데이터베이스명.테이블명 ... 과 같은 형태로 제한 가능하다.
    • 권한 절정 후, flush privileges; 해줘야 권한에 대한 변경 내용이 반영된다. 

 

 

  • DB 생성
    • CREATE DATABASE '데이터베이스명';

 

 

  • MySQL 설정 파일 수정
    • mysql.conf.d/mysqld.cnf (MYSQL 설정 파일) 열기
    • mysql에 대한 설정 정보가 저장된 파일이다.
    • > sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
    • 다른 곳에서 ubuntu에 올린 mysql 서버에 접속할 수 있도록 하기 위해 주석 처리가 반드시 필요하다. 
    • bind-address를 주석처리한다
    • 바꾼 다음 재시작해주면 적용된다.
    • > sudo service mysql restart;

 

 

 

  • 방화벽 설정
    • 가비아 관리 콘솔의 보안 탭에 관리 콘솔이 있다. 
    • 여기에서 인바운드 탭을 확인해보면  '3306' 번 포트가 없는 걸 볼 수 있다.
    • 위의 사진을 보면 MySQL은 기본적으로 3306 포트에서 실행이 되므로 다른 컴퓨터에서 ubuntu의 3306번 포트에 접속 가능하도록 해야한다. 
    • 방화벽 - 인바운드 규칙 탭에 MySQL - '3306' 을 넣는다.  
    • 방화벽 설정 문제가 있으면 DB 연결이 되지 않으니까 주의한다. 

참고

https://bibi6666667.tistory.com/290

 


title

 


To do list

  • 배포 방법

 


찾아보기

  • 방화벽
    • 인바운드
    • 아웃바운드