본 문서의 목적은 "CERT 법인 샘플웹" 서버 설치를 위해 수행하는 제반 업무에 대해 기술되어 있다.
CERT 법인 샘플웹 서버 설치의 경우 고객사에 제공하는 샘플웹 어플리케이션이며 설치는 고객사에서 자체 설치해야 한다.
항목 | 설명 | 비고 |
---|---|---|
WAS | Tomcat 8.5이상 | 상용 WAS를 이용하는 경우 상용 WAS에 준하여 설치 가능함 |
Java | Java version 1.8 이상 | |
CPU | 4core 이상 | |
Memory | 16GB 이상 |
항목 | 설명 | 비고 |
---|---|---|
WAS | Tomcat 8.5이상 | |
Database | Oracle 10g 이상, MySql 10이상, MARIA 5.6 이상 | DB 엔진의 경우 사전 설치되어 있어야 함 |
Java | Java version 1.8 |
CERT 법인 샘플웹 서버의 경우 CERT 법인 인증 서버와 관련된 테이블 생성이 선행되어야 한다.
server:
port: 9204
session:
timeout: 1800
# Spring Setting
spring:
profiles:
active: local
SERVER-HOST
, PORT
, DATABASE
, YOUR-ID
, YOUR-PASSWORD
datasource:
hikari:
connect-maria:
type: com.zaxxer.hikari.HikariDataSource
driver-class-name: org.mariadb.jdbc.Driver
jdbc-url: jdbc:mariadb://SERVER-HOST:PORT/DATABASE?allowMultiQueries=true
username: YOUR-ID
password: YOUR-PASSWORD
poolName: Hikari # ConnectionPool Name.
connection-timeout: 30000 # 풀에서 connection을 얻을 때 최대 대기 시간을 설정.(30초)
maximum-pool-size: 10 # 유휴 상태와 사용 중인 커넥션을 포함해서 풀이 허용하는 최대 커넥션 개수를 설정한다.
max-lifetime: 1800000 # 커넥션의 최대 유지 시간을 밀리초 단위로 설정. (30분)
auto-commit: false # 커넥션 풀의 auto commit 여부를 설정
data-source-properties: # hikariCp의 PreparedStatement caching을 설정하는 값.
cachePrepStmts: true # 캐시가 비 활성화되어 있으면, 아래 매개 변수중 어느것도 동작하지 않는다. 이 변수는 반드시 true 설정.
prepStmtCacheSize: 250 # 드라이버가 한 연결당 유지할 캐시 명령문 수 250 ~ 500 사이가 권장 설정 값.(기본값 : 250)
prepStmtCacheSqlLimit: 2048 # 드라이버가 캐시할 SQL문의 최대 길이. 권장 설정(2048)
useServerPrepStmts: true # 서버측의 준비된 명령문 지원 여부(기본값 : true )
connect-oracle:
type: com.zaxxer.hikari.HikariDataSource
driver-class-name: oracle.jdbc.OracleDriver
jdbc-url: jdbc:oracle:thin:@SERVER-HOST:PORT/DATABASE
username: YOUR-ID
password: YOUR-PASSWORD
poolName: Hikari # ConnectionPool Name.
connection-timeout: 30000 # 풀에서 connection을 얻을 때 최대 대기 시간을 설정.(30초)
maximum-pool-size: 10 # 유휴 상태와 사용 중인 커넥션을 포함해서 풀이 허용하는 최대 커넥션 개수를 설정한다.
max-lifetime: 1800000 # 커넥션의 최대 유지 시간을 밀리초 단위로 설정. (30분)
auto-commit: false # 커넥션 풀의 auto commit 여부를 설정
data-source-properties: # hikariCp의 PreparedStatement caching을 설정하는 값.
cachePrepStmts: true # 캐시가 비 활성화되어 있으면, 아래 매개 변수중 어느것도 동작하지 않는다. 이 변수는 반드시 true 설정.
prepStmtCacheSize: 250 # 드라이버가 한 연결당 유지할 캐시 명령문 수 250 ~ 500 사이가 권장 설정 값.(기본값 : 250)
prepStmtCacheSqlLimit: 2048 # 드라이버가 캐시할 SQL문의 최대 길이. 권장 설정(2048)
useServerPrepStmts: true # 서버측의 준비된 명령문 지원 여부(기본값 : true )
# HECATE 설정[local:로컬, dev:개발, real:운영]
hecate:
serverMode: local
*dbDriver(oracle:오라클, maria:maria, mysql) 수정
# DB Mode maria, oracle
databaseMode : oracle
# 연동 서버 관련 설정
serverInfo:
# 발급서버 도메인(인증서 폐기시 사용)
issue:
# 발급서버 로컬(local) 서버 도메인
local:
domain: http://localhost:9201
# 발급서버 개발(dev) 서버 도메인
dev:
domain: http://222.122.205.219:9201
# 발급서버 운영(real) 서버 도메인
real:
domain: http://192.168.160.85:8086,http://192.168.160.6:8086
# 인증서 폐기 API 정보
certDisuseWebAdminSign: /api/hecate/auth/business/disuse/certDisuseWebAdminSign
# 파일 관련 설정
file:
# admin(admin서버 업로드), bsnesWeb(bsnesWeb서버 업로드), all(모든 방식 업로드)
uploadTarget: bsnesWeb
reqst:
# 사업자 사용 신청 파일 업로드 정보
filePath:
# 파일 업로드 로컬(local) 경로
local: C:\\bsnesWeb\\reqst
# 파일 업로드 개발(dev) 경로
dev: /home/sysadm/bsnesWeb/upload/reqst
# 파일 업로드 운영(real) 경로
real: /home/hallowas/bsnesWeb/upload/reqst
post:
# 파일 업로드 도메인 (serverMode가 real 일 경우에만 사용, 서버 이중화 진행시 한쪽 서버에서만 파일 관리 목적으로 이용됨), 서버명(server1, server2)
targetServer: server1
server1:
serverName: server1
# server1 서버 파일 업로드 도메인
host: "http://192.168.160.82:8097"
server2:
serverName: server2
# server2 서버 파일 업로드 도메인
host: "http://192.168.160.83:8097"
# 업로드 파일 저장 API 정보
uri: /hecate/api/file/saveFile
# 위임장 파일 관련 설정 (미사용)
download:
accredit:
filePath:
# 위임장 파일 다운로드 로컬(local) 경로
local: C:\\module\\common\\
# 위임장 파일 다운로드 개발(dev) 경로
dev: /home/sysadm/bsnesWeb/download/common/
# 위임장 파일 다운로드 운영(real) 경로
real: /home/hallowas/bsnesWeb/download/common/
fileName: accredit.hwp
# sms 관련 설정
sms:
# sms 사용 여부
isUse: false
id: blockchain
pw: Bc2019~!@
host: 115.84.164.23
port: 80
sender: 0221332951
uri:
sms: /SMS/ext_sms_send.do
lms: /SMS/ext_lms_send.do
timeout: 5000
connectionTimeout: 5000
ioTimeout: 5000
userAgent: service.cityhall.connector.SmsSend@
version: 2006.08.04.31
# mail 관련 설정
mail:
# sms 사용 여부
isUse: false
clientKey: 5d4399793fbd338ec906d6a8
from: blockchain@test.co.kr
toHeader: "사업자 인증 데모"
# SDK 개인 도메인 설정.
# 개인 인증 서버 도메인 정보[운영 및 개발]
personCertifyServerDomains=http://localhost:9100
#personCertifyServerDomains=http://222.122.205.219:9102
# 개인 PC 서버 도메인 정보[운영 및 개발]
personPcServerDomains=http://localhost:9100
#personPcServerDomains=http://222.122.205.219:9103
# 개인 인증 요청 기관 코드[운영 및 개발]
personCrtfcInsttCode=0000000001
# SDK 사업자 도메인 설정.
#사업자 인증 서버 도메인 정보[운영 및 개발]
businessCertifyServerDomains=http://localhost:9201
#businessCertifyServerDomains=http://222.122.205.219:9202
# 사업자 PC 서버 도메인 정보[운영 및 개발]
businessPcServerDomains=http://localhost:9201
#businessPcServerDomains=http://222.122.205.219:9203
# 사업자 인증 요청 기관 코드[운영 및 개발]
businessCrtfcInsttCode=0000000001
# [HECATE CERT ADMIN - HTTP 연동 설정 정보]
## 도메인 정보
hecateCertAdminUrlReal=
hecateCertAdminUrlDev=http://222.122.205.222:9200
hecateCertAdminUrlLocal=http://localhost:9200
logMode
의 value 수정<property name="localMode" value="local" /> <!-- 로컬 설정 -->
<property name="devMode" value="dev" /> <!-- 개발 설정 여부 -->
<property name="realMode" value="real" /> <!-- 운영 설정 -->
<property name="logMode" value="${localMode}" /> <!-- 모드 설정 -->
<!-- 로컬 로그 폴더 설정( 로컬 테스트시 해당 value의 값을 로컬 환경에 맞게 수정 ) -->
<property name="localLogDir" value="/Users/ymkim/log/corp" />
<!-- 서버 로그 폴더 설정( 개발과 운영의 경로가 다를수 있음 ==> 업로드시 반듯이 설정 확인 ) -->
<property name="devLogDir" value="/home/sysadm/log/corp" />
<!-- 서버 로그 폴더 설정( 개발과 운영의 경로가 다를수 있음 ==> 업로드시 반듯이 설정 확인 ) -->
<property name="realLogDir" value="/bc_log/corp" />
<!-- 로그 파일명 -->
<property name="defaultLogFileName" value="/corp.log" />
<!-- 롤링 로그 파일명 -->
<property name="defaultRollingLogFileName" value="/%d{yyyy-MM-dd}_corp.log" />
"/static/business/js/modules/constants.js" 파일 내 아래 도메인 정보 및 접속 서버 모드를 수정
var localServer = "http://localhost:9204/";
var devServer = "http://222.122.205.219:9204/";
var realServer = "https://bccorp.eseoul.go.kr";
var serverModeLocal = "serverModeLocal";
var serverModeDev = "serverModeDev";
var serverModeReal = "serverModeReal";
var serverMode = serverModeLocal;
CONFIGURE SUCCESSFUL in 3s
Working Directory: /Users/ymkim/eclipse-workspace/Hecate_CERT_BusinessDemo
Gradle user home: /Users/ymkim/.gradle
Gradle Distribution: Gradle wrapper from target build
Gradle Version: 4.10
Java Home: /Library/Java/JavaVirtualMachines/jdk1.8.0_291.jdk/Contents/Home
JVM Arguments: None
Program Arguments: None
Build Scans Enabled: false
Offline Mode Enabled: false
> Task :cleanEclipseWtpComponent
> Task :cleanEclipseWtpFacet
> Task :cleanEclipseWtp UP-TO-DATE
> Task :eclipseWtpComponent
> Task :eclipseWtpFacet
> Task :eclipseWtp
BUILD SUCCESSFUL in 0s
5 actionable tasks: 4 executed, 1 up-to-date
project 우클릭 – Run As(혹은 Debug As) – Spring Boot App 클릭
로그 확인
-------------------------------------------------------------
# # ####### ###### # ######### #######
# # # # ## # # # #
# # # # # # # #
######## ####### # ####### # #######
# # # # # # # #
# # # # ## # # # #
# # ####### ###### # # # #######
:: Uracle Hecate Business Demo :: v2.0_RELEASE )
:: ServerMode [ local ]
-------------------------------------------------------------
12:07:07 [restartedMain]DEBUG [org.springframework.boot.context.logging.ClasspathLoggingApplicationListener.class] - Application started with classpath: [file:/Users/ymkim/eclipse-workspace/Hecate_CERT_BusinessDemo/bin/main/]
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v2.1.1.RELEASE)
.
.
.
.
12:07:13 [restartedMain]DEBUG [org.springframework.core.env.PropertySourcesPropertyResolver.class] - Found key 'spring.liveBeansView.mbeanDomain' in PropertySource 'systemProperties' with value of type String
12:07:13 [restartedMain]INFO [org.apache.juli.logging.DirectJDKLog.class] - Starting ProtocolHandler ["http-nio-9204"]
12:07:13 [restartedMain]INFO [org.apache.juli.logging.DirectJDKLog.class] - Using a shared selector for servlet write/read
12:07:13 [restartedMain]INFO [org.springframework.boot.web.embedded.tomcat.TomcatWebServer.class] - Tomcat started on port(s): 9204 (http) with context path ''
12:07:13 [restartedMain]INFO [org.springframework.boot.StartupInfoLogger.class] - Started HecateCertBusinessDemoApplication in 6.056 seconds (JVM running for 8.532)
12:07:13 [restartedMain]DEBUG [org.springframework.boot.logging.DeferredLog.class] - Creating new Restarter for thread Thread[main,5,main]
12:07:13 [restartedMain]DEBUG [org.springframework.boot.logging.DeferredLog.class] - Immediately restarting application
12:07:13 [restartedMain]DEBUG [org.springframework.boot.logging.DeferredLog.class] - Created RestartClassLoader org.springframework.boot.devtools.restart.classloader.RestartClassLoader@6abcc114
12:07:13 [restartedMain]DEBUG [org.springframework.boot.logging.DeferredLog.class] - Starting application com.uracle.hecate.web.HecateCertBusinessDemoApplication with URLs [file:/Users/ymkim/eclipse-workspace/Hecate_CERT_BusinessDemo/bin/main/]
tomcat_9201_HecateCertBusinessIssue
으로 변경cd /home/sysadm/tomcat/
tar -zxvf apache-tomcat-8.5.34.tar.gz
mv apache-tomcat-8.5.34 tomcat_9204_HecateCertBusinessDemo
server.xml
파일 수정을 위해 해당 경로로 이동 후 파일 opencd tomcat_9204_HecateCertBusinessDemo/conf/
vi server.xml
12405
로 변경 <Server port="12405" shutdown="SHUTDOWN">
9204
으로 변경, relaxedQueryChars 옵션 추가 <Connector executor="tomcatThreadPool"
port="9204" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="12443"
URIEncoding="UTF-8" relaxedQueryChars="^{}[]|"<>"/>
/
로 변경<Host name="localhost" appBase="/home/sysadm/source/HecateCertBusinessDemo" unpackWARs="false" autoDeploy="false">
<Context path="/" docBase="" reloadable="false"></Context>
....
</Host>
HecateCertBusinessDemo
디렉토리를 생성cd /home/sysadm/source/
mkdir HecateCertBusinessDemo
HecateCertBusinessDemo.war
파일 업로드
업로드한 war파일 압축해제unzip HecateCertBusinessDemo.war -d ./HecateCertBusinessDemo
cd /home/sysadm/tomcat/tomcat_9204_HecateCertBusinessDemo/bin/
./startup.sh
./shutdown.sh
-------------------------------------------------------------
# # ####### ###### # ######### #######
# # # # ## # # # #
# # # # # # # #
######## ####### # ####### # #######
# # # # # # # #
# # # # ## # # # #
# # ####### ###### # # # #######
:: Uracle Hecate Business Demo :: v2.0_RELEASE )
:: ServerMode [ dev ]
-------------------------------------------------------------
12:07:07 [restartedMain]DEBUG [org.springframework.boot.context.logging.ClasspathLoggingApplicationListener.class] - Application started with classpath: [file:/Users/ymkim/eclipse-workspace/Hecate_CERT_BusinessDemo/bin/main/]
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v2.1.1.RELEASE)
.
.
.
.
12:07:13 [restartedMain]DEBUG [org.springframework.core.env.PropertySourcesPropertyResolver.class] - Found key 'spring.liveBeansView.mbeanDomain' in PropertySource 'systemProperties' with value of type String
12:07:13 [restartedMain]INFO [org.apache.juli.logging.DirectJDKLog.class] - Starting ProtocolHandler ["http-nio-9204"]
12:07:13 [restartedMain]INFO [org.apache.juli.logging.DirectJDKLog.class] - Using a shared selector for servlet write/read
12:07:13 [restartedMain]INFO [org.springframework.boot.web.embedded.tomcat.TomcatWebServer.class] - Tomcat started on port(s): 9204 (http) with context path ''
12:07:13 [restartedMain]INFO [org.springframework.boot.StartupInfoLogger.class] - Started HecateCertBusinessDemoApplication in 6.056 seconds (JVM running for 8.532)
12:07:13 [restartedMain]DEBUG [org.springframework.boot.logging.DeferredLog.class] - Creating new Restarter for thread Thread[main,5,main]
12:07:13 [restartedMain]DEBUG [org.springframework.boot.logging.DeferredLog.class] - Immediately restarting application
12:07:13 [restartedMain]DEBUG [org.springframework.boot.logging.DeferredLog.class] - Created RestartClassLoader org.springframework.boot.devtools.restart.classloader.RestartClassLoader@6abcc114
12:07:13 [restartedMain]DEBUG [org.springframework.boot.logging.DeferredLog.class] - Starting application com.uracle.hecate.web.HecateCertBusinessDemoApplication with URLs [file:/Users/ymkim/eclipse-workspace/Hecate_CERT_BusinessDemo/bin/main/]