관리 메뉴

지나가는 이야기

[Linux] 우분투 Tomcat9, MariaDB 연동 / Ubuntu Tomcat9, MariaDB 연동 본문

OS : 운영체제/Linux : 리눅스

[Linux] 우분투 Tomcat9, MariaDB 연동 / Ubuntu Tomcat9, MariaDB 연동

지나가는 이야기 2023. 3. 24. 16:01
728x90
반응형

 

 

Ubuntu에서 Tomcat9과 MariaDB를 서로 연동해 보겠습니다. Tomcat9의 경우 이미 설치가 되어 있다는 것을 가정하고 MariaDB 설치부터 진행하며 Ubuntu 18.04.6을 기준으로 글 작성하기 때문에 다른 버전에서 같은 세팅을 할 경우 오류가 발생할 수 있습니다.

 

https://passing-story.tistory.com/entry/Linux-%EC%9A%B0%EB%B6%84%ED%88%AC-apache2-tomcat9-%EC%97%B0%EB%8F%99-Ubuntu-apache2-tomcat9-%EC%97%B0%EB%8F%99

 

[Linux] 우분투 apache2, tomcat9 연동 / Ubuntu apache2, tomcat9 연동

WAS구성 위해 apache2와 tomcat9를 설치하고 서로 연동하는 과정을 설명하겠습니다. 본문은 Ubunut18.04.6을 기준으로 작성했기 때문에 다른 버전을 사용하실 경우 예상하기 못한 오류가 발생할 수 있습

passing-story.tistory.com

위 글 이후에 진행되는 과정이니 Tomcat9를 설치 안 하셨으면 위 글을 참고하면 됩니다.

 

 


 

 

 

 

1. MariaDB 설치

# MariaDB 설치
$ sudo apt-get install mariadb-server -y && sudo apt install mariadb-client -y

위 명령어로 쉽게 설치할 수 있으며, 해당 명령어는 서버와 클라이언트 모두 설치하는 명령어다.

 

 

2. MariaDB 외부 접속 허용

원활한 개발 환경을 만들기 위해 mariadb의 외부 접속 허용을 해줘야 한다.

 

# mariadb 설정 변경
$ sudo vi /etc/mysql/mariadb.conf.d/50-server.cnf

# 수정 후 재시작
$ sudo service mariadb restart

위 명령어를 입력하여 설정 파일을 연 후 수정을 해준다.

 

수정 전

위 사진은 수정 전의 모습이다.

 

수정 후

위 사지은 수정 후의 모습으로 IP의 제한을 없애 외부에서 쉽게 접근할 수 있게 한다.

 

 

 

 

3. root 계정 패스워드 변경

# MariaDB 접속
# sudo mysql -u [계정명] -p [DB명]
$ sudo mysql -u root -p mysql

위 명령어를 통해 DB에 접근을 한다.

 

위 사진은 해당 명령어를 실행한 결과로 패스워드 입력 부분이 나오지만 초기 root 계정의 경우 패스워드가 없어 그냥 엔터를 통해 넘어간다.

 

패스워드 확인 및 변경

> select user, host, password from user;

위 구문을 통해 패스워드를 변경하기 계정을 확인한다.

 

위 사진은 해당 구문을 실행한 결과로 password 부분에 빈칸으로 되어있어 패스워드가 없는 것을 확인할 수 있다.

 

> update user set password=password(‘원하는 패스워드’) where user='root';

위 구문을 통해 원하는 패스워드를 설정할 수 있으며 

 

구문을 통해 변경된 패스워드를 확인하면 위 사진과 같이 password에 암호화된 문자가 있는 것을 볼 수 있어 정상적으로 패스워드가 변경된 것을 알 수 있다.

 

 

 

 

 

4. 테스트용 DB 생성

이제 테스트용 DB 및 테이블을 생성한다.

 

# test 데이터 베이스 생성
> create database DB이름;

# test DB에 대한 접근 권한 설정
> grant all privileges on *.* to 'root'@'%' identified by 'root패스워드';

# 변경된 설정 저장
> flush privileges;

# test DB로 이동
> use DB이름;

# 테이블 생성
> create table 테이블이름 (id varchar(20) primary key, pw varchar(20));

# 테이블에 값 삽입
> INSERT INTO 테이블이름 (id, pw) VALUES ('admin', 'admin123');

# 테이블 값 조회
> SELECT * FROM 테이블이름;

위 명령어를 통해 DB 및 테이블을 생성할 수 있다.

 

 

5. Tomcat9 MariaDB 연동

이제 Tomcat9과 MariaDB를 서로 연동해야 한다. 연동에서는 자바를 사용하기 때문에 자바와 공식 페이지에 있는 연결 파일을 설치 및 설정해야 한다.

연결 파일 다운로드 주소 : https://mariadb.com/downloads/#connectors

# java11 설치
$ sudo apt-get install openjdk-11-jdk -y

위 명령어를 통해 java 11을 설치해 준다.

 

연결 파일 다운로드 사이트에 접속하여 위 사진과 같이 Product와 Version을 설정한 후 하단의 다운로드 경로와 wget을 이용하여 다운로드한 후 파일 위치도 이동시킨다.

 

# 파일 다운로드 
$ wget https://dlm.mariadb.com/2896635/Connectors/java/connector-java-2.7.9/mariadb-java-client-2.7.9.jar

# java에 복사
$ sudo cp -a mariadb-java-client-2.7.9.jar /usr/lib/jvm/java-11-openjdk-amd64/lib

# tomcat9에 복사
$ sudo cp -a mariadb-java-client-2.7.9.jar /var/lib/tomcat9/lib/
$ sudo cp -a mariadb-java-client-2.7.9.jar /usr/share/tomcat9/lib/

위 명령어를 통해 파일 다운로드 및 복사한다. 만약 tomcat9를 기본 경로가 아닌 별도로 지정했을 경우 알맞게 수정하면 된다. 

 

6. 테스트

이제 마지막으로 정상적으로 연동되는지 확인하면 된다.

 

<%-- index.jsp 내용 --%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Connection"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF8"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Test</title>
</head>
<body>
 
<%
Connection conn = null;
String url = "jdbc:mariadb://localhost:3306/생성한DB명";
String id = "root";		// 접속을 위한 계정의 ID
String pw = "root패스워드";	// 접속을 위한 계정의 암호
Class.forName("org.mariadb.jdbc.Driver");
conn = DriverManager.getConnection(url, id, pw);
out.println("<h1>MariaDB DB 연결 성공</h1>");
%>
 
</body>
 
</html>

접속 테스트를 위해 위와 같이 index.jsp파일을 작성한다. 기존에 index.html 등 파일명이 index인 파일이 있다면 파일 이름을 변경하여 index.jsp 파일을 기본으로 적용시킨다.

 

위 사진은 해당 IP에 접속한 결과로 정상적으로 DB에 연결된 것을 볼 수 있다.

 

 

 

728x90
반응형
Comments