Hugh_휴 님의 블로그

[실습] 우분투 인프라 구성 Development 서버 구성(아파치2&톰캣9/마리아DB) 본문

실습 연습

[실습] 우분투 인프라 구성 Development 서버 구성(아파치2&톰캣9/마리아DB)

Hugh_휴 2026. 3. 27. 16:52

 

인프라 구성 실습 완료하기까지 한 20시간 걸린 것 같다. 컴퓨터랑 친하지 않아서 오래 걸렸는데, 처음 10시간은 ai없이 최대한 해보려고 했었다.ai 없이 하다보면 처음에는 울고 싶지만 나중에는 그래도 조금은 익숙해진다. 정리한다고 정리했는데, 빠진 부분들은 ai와 검토하면서 하면 될 듯 싶다. 화이팅해라.

 

1. Development Server: IP 고정 할당

네트워크 설정을 위해 가장 먼저 고정 IP를 할당해야 합니다.

Step 1: 네트워크 도구 설치 및 확인

ifconfig 명령어를 사용하기 위해 net-tools를 설치합니다.

 

1) sudo apt install net-tools
2) ifconfig
3) sudo vi /etc/netplan/00-installer-config.yaml
4) sudo netplan apply
5) ifconfig
6) ping google.com

 

Step 2: Netplan 설정 변경

/etc/netplan/ 경로의 설정 파일을 수정합니다. (주의: Tab 키 대신 띄어쓰기로 간격을 맞춰야 합니다.)

# This is the network config written by 'subiquity
network:
  ethernets:
    ens33:
      dhcp4: false
      addresses: [192.168.0.231/24]
      gateway4: 192.168.0.2
      nameservers:
              addresses: [8.8.8.8, 8.8.4.4]

  version: 2

 

 

2. Apache2 및 Tomcat9 설치

Apache2 설치

sudo apt-get install apache2

 

Tomcat9 설치 및 실행

(설치)
sudo apt-get install default-jdk   # jdk 11 version
sudo apt-get install tomcat9
(시작)
sudo systemctl start tomcat9
윈도우 브라우저에서 http://ip:8080 접속

 

3. Apache2 & Tomcat9 연동 (mod_jk)

Step 1: mod_jk 모듈 설치

sudo apt-get install libapache2-mod-jk

 

 

Step 2: 구성 파일 수정

1) 000-default.conf 수정

sudo nano /etc/apache2/sites-available/000-default.conf

(000-default.conf 파일 수정)
DocumentRoot /var/www/html
JkMount /* tomcat   # 추가 작성

 

2) workers.properties 설정

sudo nano /etc/apache2/workers.properties

(workers.properties 파일 수정)
workers.tomcat_home=/usr/share/tomcat9  # Tomcat9 설치 경로
workers.java_home=/usr/lib/jvm/java-11-openjdk-amd64  # JDK 설치 경로
 
worker.list = tomcat9   # tomcat 대신 다른 이름 사용 가능
 
worker.tomcat.port = 8009
worker.tomcat.host = localhost 
worker.tomcat.type = ajp13
worker.tomcat.lbfactor = 1

 

3) jk.conf 수정

sudo nano /etc/apache2/mods-available/jk.conf

( jk.conf 파일 수정)
JkWorkersFile /etc/libapache2-mod-jk/workers.properties   # 기존 코드
JkWorkersFile /etc/apache2/workers.properties             # 수정 코드

 

4) Tomcat server.xml 수정 (AJP 활성화)

sudo nano /etc/tomcat9/server.xml

(server.xml 파일 수정)
<!-- Define an AJP 1.3 Connector on port 8009 -->
	
	# 주석 해제
	<Connector port="8009" protocol="AJP/1.3" redirectPort="8443"/>
    
** port 설정
   - Web Service Server : 8009
   - DB Server : 8010
   - Development Server : 8011
   - Log Server : 8012
   - DB Backup Server : 8013

 

4. Apache2 & Tomcat9 연동 테스트

Step 1) war 파일 전송 → Windows to Ubuntu

(패키지 목록 업데이트 및 설치)
sudo apt update
sudo apt install openssh-server

( SSH 서비스 활성화 및 동작 확인)
sudo systemctl status ssh

(방화벽 설정 (UFW))
sudo ufw allow ssh
sudo ufw reload

(외부에서 접속)
ssh [유저명]@[서버IP주소]

 

in Ubuntu, 

- SSH 설치
  sudo apt install openssh-server


in Windows CMD,

- 전송하려는 파일이 있는 경로로 이동
- scp 파일이름 Ubuntu계정@ip:/home/Ubuntu계정
예)
scp "C:\Users\ASUS\Downloads\edu_009-SK뉴스쿨_7기_네트워크기초&인프라기초_실습자료_v1.0\ROOT.war" kisec@192.168.0.230:/home/kisec

 

Step 2) 파일 압축 해제

(ROOT.war 파일 복사)
sudo cp ROOT.war /var/lib/tomcat9/webapps/ROOT

(ROOT.war 파일 경로로 이동)
cd /var/lib/tomcat9/webapps/ROOT

(ROOT.war 파일 압축 해제)
sudo jar xvf ROOT.war

Step 3) jsp 페이지 접속

(Apache2, Tomcat9 Restart)
sudo systemctl restart apache2
sudo systemctl restart tomcat9

 

Step 4) ROOT.war 파일 경로로 이동

윈도우 브라우저에서 http://ip:8080/index.jsp 접속

 

5. 마리아 DB 설치

sudo apt-get install mariadb-server

sudo mysql_secure_installation     # mysql 보안 설정 (패스워드 설정 포함)


# 현재 MariaDB의 root 패스워드가 없으므로 Enter
Enter current password for root (enter for none): Enter
OK, successfully used password, moving on...


Set root password? [Y/n]     y 	# MariaDB root 패스워드 설정 질의
New password:  
Re-enter new password: 


# 익명의 접근에 대한 질의이며, 보안을 위해 차단
Remove anonymous users? [Y/n]   y

# 외부로의 연결 허용
Disallow root login remotely? [Y/n]   n

# 테스트용으로 생성된 데이터베이스 삭제 여부 질의
Remove test database and access to it? [Y/n]   y

# 현재 설정된 값에 대한 적용 여부 질의
Reload privilege tables now? [Y/n]   y


#접속방법
sudo mysql -u root -p

6. 마리아 DB Database, Table 생성

#Database 생성
CREATE DATABASE 데이터베이스명;

use 생성한 데이터베이스 명

#Table 생성
CREATE TABLE 테이블명 (id varchar(20) primary key, pw varchar(20));

#생성한 Table, Column 확인
show tables;    # 데이터베이스 내 테이블 보여주기
desc login;     # login 테이블 컬럼 내림차순 정렬

내가 생성한 데이터베이스, 테이블
데이터베이스: SCH
table: login

 

7. MariaDB와 Apache Tomcat 연동

Step 1) MariaDB - root 사용자 권한 부여

#mysql.user 조회
SELECT Host, User, Password from mysql.user;

#권한 부여
GRANT ALL PRIVILEGES ON DB이름.* TO root@'IP주소' IDENTIFIED BY '패스워드';
FLUSH PRIVILEGES;      # 변경사항 적용

 

Step 2)50-server.cnf - MariaDB 환경 설정 수정

sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf

#50-server.cnf 파일 수정
bind-address = 127.0.0.1   # 기존 코드
bind-address = 0.0.0.0     # 수정 코드

#재시작
sudo systemctl restart mariadb

#설정이 제대로 변경했는지 확인
netstat -ntlp | grep 3306

 

Step 3) 방화벽 열기

#방화벽 활성화
sudo ufw allow 22/tcp
sudo ufw enable

# 3306 포트 허용
sudo ufw allow 3306/tcp

# 방화벽 설정 적용
sudo ufw reload

# 잘 열렸는지 확인
sudo ufw status

 

Step 4) 웹서버와 연결확인