Windows 용 64bits 컴퓨터에 WorkCenter 를 설치하는 경우 작업 절차를 설명합니다.
JVM(OpenJDK), RabbitMQ (OTP 포함), MariaDB, WorkCenter 순으로 설치합니다.
먼저 JVM openjdk 를 설치한 후 환경변수를 설정합니다.
Default 설치는 C:\Program Files 폴더에 설치됩니다.
가급적 설치 경로를 다음과 같이 지정합니다. C:\JDK\java-1.8.0 (64비트)
WorkCenter 를 실행하기 전에 반드시 setenv 파일에 JAVA_HOME 설정을 지정해야 합니다.
%WorkCenter_Home%\bin\setenv
SET JAVA_HOME=C:\JDK\java-1.8.0
#SET JAVA_HOME=C:\progra~1\java-1.8.0
1. MariaDB 설치
설치 경로가 D:\MariaDB 10.4\ 라면 D:\MariaDB 10.4\data\my.ini 파일을 아래와 같이 수정합니다.
innodb_buffer_pool_size=2018M
character-set-server=utf8
max_allowed_packet=100M
lower_case_table_names=2 // 테이블 대소문자 구분
2. DB 테이블 생성
윈도우 명령어CMD > services.msc 를 입력하여 서비스 창에서 mariaDB 서비스를 stop 후 restart 합니다.
DB Client 프로그램 DBeaver 또는 HeidiSQL (MariaDB 설치 프로그램에 포함) 을 이용해서 DB Schema 를 생성할 수 있습니다. MySQL 에 내재되어 있는 HeidSQL 에서 DB에 접속합니다.
도구 > 사용자 관리자 메뉴를 선택 한 후 WorkCenter DB 사용자 계정을 wcadmin 을 추가 및 접근 권한을 부여합니다.
파일 > 세션관리자에서 해당되는 DB서버의 IP, 사용자/암호를 입력하여 DB접속합니다.
데이터베이스를 aworksdb 라고 입력한 후 테이블 생성 (WorkCenter_MySQL.sql) 스크립트를 실행합니다.
위와 같이 WorkCenter 테이블이 생성된 것을 확인할 수 있습니다.
신규 설치가 아닌, WorkCenter v2.0.x 에서 v2.1.0 로 데이터 마이그레이션을 하는 경우에는 아래와 같이 update SQL 문을 실행합니다.
UPDATE QRTZ_JOB_DETAILS
SET JOB_CLASS_NAME='com.aworks.workcenter.service.message.mail.MailSendJob'
WHERE JOB_CLASS_NAME='com.aworks.workcenter.api.service.message.mail.MailSendJob';
UPDATE QRTZ_JOB_DETAILS
SET JOB_CLASS_NAME='com.aworks.workcenter.service.schedule.quartz.ScheduleWorkJob'
WHERE JOB_CLASS_NAME='com.aworks.workcenter.api.service.schedule.quartz.ScheduleWorkJob';
1. Erlang(otp) 과 RabbitMQ 설치 (관리자 권한으로 실행)
C:\Program Files\erl-23.1
C:\Program Files\RabbitMQ Server\rabbitmq_server-3.8.9
2. 시스템 환경변수 ERLANG_HOME 이 자동으로 설정되었는지 확인합니다.
3. RabbitMQ Management 플러그인을 설치합니다.
C:\\Program Files\\RabbitMQ Server\\rabbitmq_server-3.8.9\\sbin\>로 이동
$rabbitmq-plugins.bat enable rabbitmq_management
Plugin 설치 목록을 확인하려면 $rabbitmq-plugins.bat list 로 확인할 수 있습니다.
[E*] 또는 [e*]로 표시되면 적용 완료된 것입니다.
4. RabbitMQ 관리도구 접속 및 확인
http://<rabbitmq_server>:15672 접속하여 Admin > Add a user > 계정 및 암호, Tags 를 등록한 후 Add user 버튼을 클릭합니다.
생성한 user를 선택한 후 Set Permission 버튼을 클릭합니다.
Queue > create Queue , publish message (persistent 선택 후 ) 등 테스트 큐 및 데이터를 등록합니다.
Windows 기반 OS 에서 WorkCenter의 실행 방법은 두 가지로 나뉩니다.
aworks_workcenter_v3.1.0.zip압축파일을 풀면 아래와 같이 디렉토리 구조를 확인할 수 있습니다.
먼저, 명령프롬프트에서 실행하는 방법이고, 다른 하나는 윈도우 서비스로 등록한 후 실행하는 방법 입니다.
설정은 방식에 따라 bin/workcenter.cmd 또는 bin/cmd/setenv.cmd, bin/winsw/workcenter-app.xml 파일에서 할 수 있습니다. WorkCenter 실행 버전을 수정하기 위해 “WORKCENTER_VER” 항목 값을 setenv.cmd 파일에서 수정합니다.
수정한 값은 /home/workcenter/lib에 jar 파일이름과 연결되어 실행되므로 해당 버전 자원이 폴더 내에 존재하는지 확인이 필요합니다. 실행 방법을 위한 설정은 리눅스와 동일하고 bin 디렉토리의 관련 파일들만 다릅니다. bin 디렉토리에 대한 설명만 기술하였습니다.
디렉토리 | 파 일 | 내 용 |
---|---|---|
/bin | /cmd/setenv.cmd | Application 버전 설정 |
/cmd/setjava.cmd | JVM 환경설정 | |
/winsw/workcenter_admin.exe | Admin 프로세스의 서비스 등록을 위한 실행 파일 | |
/winsw/workcenter_admin.xml | Admin 프로세스 실행을 위한 설정 파일 | |
/winsw/workcenter-app.exe | App 프로세스의 서비스 등록을 위한 실행 파일 | |
/winsw/workcenter-app.xml | App 프로세스 실행을 위한 설정 파일 | |
/winsw/workcenter-storage.exe | Storage 프로세스의 서비스 등록을 위한 실행 파일 | |
/winsw/workcenter-storage.xml | Storage 프로세스 실행을 위한 설정 파일 | |
/pid/admin-[hostname].pid | Admin 프로세스ID 저장 파일 | |
/pid/app-[hostname].pid | App 프로세스ID 저장 파일 | |
/pid/storage-[hostname].pid | Storage 프로세스 ID 저장 파일 | |
workcenter.cmd | WorkCenter 기동/정지 등 실행스크립트 |
관리자 권한으로 Command를 실행합니다. 커맨드 창에서 WorkCenter 배포파일이 설치된 경로로 이동합니다.
WorkCenter Admin | $ workcenter_admin.exe install | 윈도우 서비스앱에서 WorkCenter Admin 서비스 설치 |
---|---|---|
$workcenter_admin.exe uninstall | 윈도우 서비스앱에서 WorkCenter admin 서비스 제거 | |
$ workcenter_admin.exe start | WorkCenter admin 서비스 시작 | |
$ workcenter_admin.exe stop | WorkCenter admin 서비스 정지 | |
WorkCenter APP | $ workcenter-app.exe install | 윈도우 서비스앱에서 WorkCenter APP 서비스 설치 |
$ workcenter-app.exe uninstall | 윈도우 서비스앱에서 WorkCenter APP 서비스 제거 | |
$ workcenter-app.exe start | WorkCenter APP 서비스 시작 | |
$ workcenter-app.exe stop | WorkCenter APP 서비스 정지 | |
WorkCenter-Storage | $ workcenter-storage.exe install | 윈도우 서비스앱에서 WorkCenter Storage 서비스 설치 |
$ workcenter-storage.exe uninstall | 윈도우 서비스앱에서 WorkCenter Storage 서비스 제거 | |
$ workcenter-storage.exe start | WorkCenter Storage 서비스 시작 | |
$ workcenter-storage.exe stop | WorkCenter Storage 서비스 정지 |
예를 들면, D:\aworks\WorkCenter3라고 가정했을 때 아래 경로로 이동 후 Service 를 install등록합니다.
D:\aworks\WorkCenter3\bin\winsw>workcenter-admin.exe install
D:\aworks\WorkCenter3\bin\winsw>workcenter-app.exe install
D:\aworks\WorkCenter3\bin\winsw>workcenter-storage.exe install
윈도우 검색 버튼을 클릭한 후 ‘서비스 또는 services.msc’ 라고 입력하면 서비스 앱이 실행됩니다.
서비스에 등록된(Install) 되어진 이후에는 서비스 앱을 통해 자동으로 시작/중지를 수행할 수 있습니다.
Workcenter를 foreground 로 바로 실행하는 경우 아래와 같이 실행합니다.
- WorkCenter Applicaton : \$workcenter.cmd app
관리자 권한으로 Command 를 실행합니다. 압축파일(zip)을 해제한 후 신규 라이브러리를 $WorkCenter_HOME/lib 경로로 복사합니다.
D:\aworks\WorkCenter\lib 디렉터리로 이동 및 jar 파일 복사
D:\aworks\WorkCenter\lib>dir
workcenter-admin-3.1.0.jar
workcenter-app-3.1.0.jar
workcenter-storage-3.1.0.jar
버전 설정 정보를 라이브러리 버전과 동일하게 변경합니다.
D:\aworks\WorkCenter\bin\cmd 디렉터리로 이동
D:\aworks\WorkCenter\bin\cmd>edit setenv.cmd
rem Application version
SET WORKCENTER_VER=3.1.0
Docker 설치
설치 경로를 지정하여 압축을 해제합니다.
환경변수 Path 변수에 Docker 설치 경로를 등록합니다.
Docker 실행을 위한 Windows 환경 설정
제어판 → 앱 및 기능 → 프로그램 및 기능 → Windows 기능 켜기/끄기 메뉴를 실행합니다.
아래의 기능을 활성화하고 재부팅을 합니다.
Hyper-V
Windows 하이퍼바이저 플랫폼
가상 머신 플랫폼
컨테이너
Docker 서비스 등록 및 실행
서비스 등록
dockerd --register-service
서비스 실행
Start-Service docker
서비스 실행 후 간단한 동작 확인 (Docker 버전 확인)
docker version
이미지 설치 (Docker Hub)
docker pull guacamole/guacd
이미지 설치 (Local)
docker load --input 이미지파일경로
이미지 확인
docker images
실행
docker run guacamole/guacd --name guacd –d –p 4822:4822
실행 확인
docker ps
docker: Error response from daemon: kernel 'C:\Program Files\Linux Containers\kernel' not found.
1. LinuxKit을 설치하여 해결
이미지 실행 시 위와 같은 오류 문구가 나타나는 경우 LinuxKit을 설치해야 합니다.
https://github.com/linuxkit/lcow/releases
최신 버전을 다운로드하여 “C:\Program Files\Linux Containers” 경로에 저장합니다.
LinuxKit 구성요소 중 initrd.img, kernel 파일이 있는지 확인하고 kernel 파일이 없는 경우 bootx64.efi 파일의 이름을 kernel로 변경하시기 바랍니다.
daemon.json 파일을 “C:\ProgramData\docker\config” 경로에 아래와 같이 작성합니다.
{ "experimental": true }
작성이 완료되었다면 docker 서비스를 재기동하기 위해 아래와 같은 명령어를 실행합니다.
Restart-Service docker
2. Docker Desktop을 설치하여 해결
Docker Desktop 내에는 LinuxKit이 포함되어 있습니다.
다만 Docker Desktop은 기업의 경우 구매하여 사용해야 합니다.