본문 바로가기
DEV/Spring

[Spring] 5. Ubuntu 서버 기본 설정

by 화트마 2019. 7. 13.

1. Ubuntu 서버에 JDK 설치

apt-get update
sudo apt-get install default-jdk

환경 변수 적용

- $vi /etc/bash.bashrc

- export JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64" 추가

- $source /etc/bash.bashrc (영구적용)

- $vi /etc/bash.bashrc
- export JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64" 추가
- $source /etc/bash.bashrc (영구적용)
$java -version
$echo $JAVA_HOME

위 두 명령어로 설치확인

 

2. Apache + Tomcat 설치 및 연동

 

- Apache 설치 

$sudo apt-get update
$sudo apt-get install apache2 (아파치 설치)
$apache2 -v (아파치 버전확인)
$sudo netstat -ntlp | grep apache2 (아파치 포트확인)
$sudo ufw allow 80/tcp (아파치 기본 포트 80 방화벽에 등록)
$sudo service apache2 start (아파치 실행)

http://localhost 접속 시 Apache 초기 페이지 뜨는지 확인

- Tomcat 설치

$sudo apt-get install tomcat8 (톰캣8 설치)
$sudo /usr/share/tomcat8/bin/version.sh (톰캣 버전확인)
$sudo ufw allow (톰캣 포트번호)/tcp (톰캣 포트 방화벽 등록)
$vi /etc/bash.bashrc
- export CATALINA_HOME="/etc/tomcat8" 추가 (톰캣경로 등록)
$source /etc/bash.bashrc (영구적용)
$sudo service tomcat8 start (톰캣서버 실행)

http://localhost:8080 접속 시 Tomcat 초기 페이지 뜨는지 확인

- Apache + Tomcat 연동

연동 커넥터 mod_jk 설치

$sudo apt-get install libapache2-mod-jk

> workers.properties 파일 생성

$sudo vi /etc/apache2/workers.properties

> 아래 내용 입력

workers.tomcat_home=톰캣 설치경로
workers.java_home=jdk 설치경로
 
# Define 1 real worker ajp13
worker.list=임의의 이름
 
# Set properties for tomcat1 (ajp13)
worker.임의의 이름.port = 포트      # tomat server.xml 파일 AJP/1.3 Connector의 Port 입력
worker.임의의 이름.host = 톰캣서버 아이피 주소
worker.임의의 이름.type = ajp13     # apache + tomcat 통신 프로토콜
worker.임의의 이름.lbfactor = 1

=>

workers.tomcat_home=/usr/share/tomcat8
workers.java_home=/usr/lib/jvm/java-8-openjdk-amd64

worker.list=tomcat1

# Set properties for tomcat1
worker.tomcat1.port = 8009
worker.tomcat1.host = (ubuntu 내부 ip, ifconfig 이용하여 확인)
worker.tomcat1.type = ajp13
worker.tomcat1.lbfactor = 1

 jk.conf  파일 수정 (/etc/apache2/ 경로의 workers.properties로부터 설정 정보를 가져오기 위함)

$sudo vi /etc/apache2/mods-available/jk.conf

JkWorkersFile /etc/libapache2-mod-jk/workers.properties 주석 처리 후

JkWorkersFile /etc/apache2/workers.properties 로 변경

# We need a workers file exactly once
# and in the global server
# JkWorkersFile /etc/libapache2-mod-jk/workers.properties
JkWorkersFile /etc/apache2/workers.properties

000-default.conf 파일 수정

$sudo vi /etc/apache2/sites-available/000-default.conf
<VirtualHost *:80>
        # The ServerName directive sets the request scheme, hostname and port that
        # the server uses to identify itself. This is used when creating
        # redirection URLs. In the context of virtual hosts, the ServerName
        # specifies what hostname must appear in the request's Host: header to
        # match this virtual host. For the default virtual host (this file) this
        # value is not decisive as it is used as a last resort host regardless.
        # However, you must set it for any further virtual host explicitly.
        #ServerName www.example.com

        ServerAdmin webmaster@localhost
        # DocumentRoot /var/www/html
        DocumentRoot /var/lib/tomcat8/webapps/ROOT/

        JkMount /* tomcat1

000-default.conf 파일을 보면 DocumentRoot /var/www 라고 적힌 부분이 있다. 이 부분에 #을 적어 주석으로 변경한다. 그리고 아래에 톰캣의 webapps 아래 실행할 웹프로젝트 경로를 적어준다.

 

위에서는 DocumentRoot /var/lib/tomcat8/webapps/ROOT/ 로 하였는데 webapps 아래에 기본적으로 있는 ROOT 폴더가 웹프로젝트가 있는 경로이기 때문에 이렇게 하였다.

 

만약 webapps 아래에 project 라는 폴더에 프로젝트를 배포한다면 DocumentRoot /var/lib/tomcat8/webapps/project 라고 입력해주면 된다.

 

JkMount /* tomcat1 부분은 모든 URL ( /* )을 톰캣에게 바인딩 하는 부분이다. tomcat1은 workers.properties에 입력한 연동할 톰캣의 이름이다. 

 

만약 톰캣에 배포된 프로젝트가 여러 개이고 특정 프로젝트만 URL을 바인딩 해야 한다면 /* 부분을 수정해 주면 된다. 예를 들어  배포된 프로젝트가 project1, project2 이렇게 있는데 project1만 바인딩 하려면 JkMount /project1/* tomcat1 이렇게 수정하면 된다.


톰캣의 server.xml 파일 수정

$sudo vi /etc/tomcat8/server.xml

 <Connector port = "8009" protocol="AJP/1.3" redirectPort="8443"/> 찾아서 주석 제거

    <!-- Define an AJP 1.3 Connector on port 8009 -->

    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

> 아파치 및 톰캣 재시작

$service apache2 restart
$service tomcat8 restart

> 테스트

- http://localhost:8080 접속시 뜨는 페이지(톰캣)와 http://localhost 접속시 뜨는 페이지(아파치)가 같을 경우 연동 완료. 80포트(아파치)로 접속시 8080포트(톰캣)로 연결해주는것

 

3. Tomcat Manager 설치

- 서버에 프로젝트 빌드 시 Deploy (배포)에 사용. Jenkins 연동시에도 manager를 이용하여 배포 해준다.

$apt-get install tomcat8-admin

- manager 계정 권한 설정

$sudo vi /etc/tomcat8/tomcat-users.xml

<tomcat-users> </tomcat-users> 내부에 다음 내용 추가

  <role rolename="manager"/>
  <role rolename="manager-script"/>
  <role rolename="manager-gui"/>
  <role rolename="manager-jmx"/>
  <role rolename="manager-status"/>
  <role rolename="admin"/>
  <user username="사용할ID" password="사용할PW" roles="admin,manager,manager-gui,manager-script,manager-jmx,manager-status"/>

- tomcat 재실행

$service tomcat8 restart

- 톰캣 매니져 접속 테스트

http://localhost 접속 후 manager-webapp 클릭 후 tomcat-users.xml에 설정한 계정정보 입력

다음 화면으로 들어가 지면 톰캣 매니저 설치 완료된것

 

 

4. Maven 설치

$apt install maven

$mvn -version
Apache Maven 3.3.9
Maven home: /usr/share/maven
Java version: 1.8.0_212, vendor: Oracle Corporation
Java home: /usr/lib/jvm/java-8-openjdk-amd64/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "4.4.0-59-generic", arch: "amd64", family: "unix"

 

 

출처: https://all-record.tistory.com/188 [세상의 모든 기록]

 

댓글