diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000..dd6c3f5 Binary files /dev/null and b/.DS_Store differ diff --git a/.classpath b/.classpath index 32ecc3f..72d3e03 100644 --- a/.classpath +++ b/.classpath @@ -1,96 +1,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - + \ No newline at end of file diff --git a/.env.production b/.env.production index a0c9a97..2803eb5 100644 --- a/.env.production +++ b/.env.production @@ -1,29 +1,22 @@ -# PLM WACE 운영환경 설정 +# App Service Configuration +# Note: These keys (DB_URL, DB_USER, DB_PASSWORD) might need adjustment +# based on how the actual Java application reads them (e.g., from System.getenv()). +# The JNDI approach suggested earlier might ignore these direct env vars. +# DB_URL=jdbc:postgresql://plm-ilshin-db:5432/ilshin +# DB_USER=postgres +# DB_PASSWORD=ilshin0909!! -# 애플리케이션 환경 -NODE_ENV=production - -# 데이터베이스 설정 -DB_URL=jdbc:postgresql://localhost:5432/waceplm -DB_USERNAME=postgres -DB_PASSWORD=waceplm0909!! - -# PostgreSQL 환경 변수 +# DB Service Configuration POSTGRES_DB=waceplm POSTGRES_USER=postgres POSTGRES_PASSWORD=waceplm0909!! -# JVM 옵션 (운영환경용) -JAVA_OPTS=-Xms1024m -Xmx2048m -XX:PermSize=512m -XX:MaxPermSize=1024m - -# 로그 레벨 -LOG_LEVEL=INFO - -# 개발 모드 플래그 -DEBUG=false - -# SSL 설정 -SSL_ENABLED=true - -# 도메인 설정 -DOMAIN=waceplm.esgrin.com \ No newline at end of file +# You can add other environment-specific variables here +# Example: TOMCAT_JAVA_OPTS="-Xmx512m -Xms256m" +DB_URL=jdbc:postgresql://wace-plm-db:5432/waceplm +DB_USERNAME=postgres +DB_PASSWORD=waceplm0909!! +DB_DRIVER_CLASS_NAME=org.postgresql.Driver +DB_MAX_TOTAL=200 +DB_MAX_IDLE=50 +DB_MAX_WAIT_MILLIS=-1 \ No newline at end of file diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 9b95ea2..0000000 --- a/.gitignore +++ /dev/null @@ -1,67 +0,0 @@ -# 환경 설정 파일 -.env.* -!.env.*.example -!.env.production - -# 로그 파일 -logs/ -*.log - -# 백업 파일 -backup_*.sql -*.bak - -# IDE 설정 -.vscode/ -.idea/ -*.swp -*.swo - -# OS 생성 파일 -.DS_Store -Thumbs.db - -# 빌드 결과물 -target/ -build/ -dist/ - -# 임시 파일 -*.tmp -*.temp - -# Docker 볼륨 데이터 -postgres_data/ - -# 컴파일된 클래스 파일 -*.class - -# 패키지 파일 -*.jar -*.war -*.ear - -# Maven -target/ -pom.xml.tag -pom.xml.releaseBackup -pom.xml.versionsBackup -pom.xml.next -release.properties - -# 대용량 파일 (필요시 Git LFS 사용) -# db/dbexport.pgsql - -# 쿠키 파일 -cookies.txt - -# 압축 파일 -*.zip -*.tar.gz -*.rar - -# 문서 임시 파일 -~$* - -# SVN 파일들 -.svn/ diff --git a/.project b/.project index 06c4464..d17950f 100644 --- a/.project +++ b/.project @@ -1,41 +1,22 @@ - samduck + wace-plm - - org.eclipse.wst.jsdt.core.javascriptValidator - - - org.eclipse.jdt.core.javabuilder - - org.eclipse.wst.common.project.facet.core.builder - - - - - org.eclipse.wst.validation.validationbuilder - - - - org.eclipse.jem.workbench.JavaEMFNature - org.eclipse.wst.common.modulecore.ModuleCoreNature - org.eclipse.wst.common.project.facet.core.nature org.eclipse.jdt.core.javanature - org.eclipse.wst.jsdt.core.jsNature - 1756446253951 + 1754642369857 30 diff --git a/DATABASE_INIT_GUIDE.md b/DATABASE_INIT_GUIDE.md deleted file mode 100644 index b02fac9..0000000 --- a/DATABASE_INIT_GUIDE.md +++ /dev/null @@ -1,183 +0,0 @@ -# WACE PLM 데이터베이스 초기화 가이드 - -## 개요 - -WACE PLM 시스템의 데이터베이스를 초기화하는 방법을 설명합니다. `db/dbexport.pgsql` 파일을 사용하여 PostgreSQL 데이터베이스에 초기 데이터를 임포트할 수 있습니다. - -## 방법 1: 독립실행환경 (Standalone) - 권장 - -로컬 PostgreSQL 컨테이너를 포함한 완전한 독립실행환경입니다. 데이터베이스가 자동으로 초기화됩니다. - -### 사용법 - -```bash -# 독립실행환경으로 시작 (로컬 DB 포함) -./start-docker-linux.sh -e standalone - -# 또는 Docker 정리 후 시작 -./start-docker-linux.sh -e standalone -c -``` - -### 특징 - -- 로컬 PostgreSQL 컨테이너 자동 생성 -- `dbexport.pgsql` 파일 자동 임포트 -- 외부 데이터베이스 의존성 없음 -- 접속 정보: - - 애플리케이션: http://localhost:8090 - - 데이터베이스: localhost:5432 - - 사용자: postgres - - 비밀번호: waceplm0909!! - -## 방법 2: 기존 환경에서 데이터베이스 초기화 - -기존 개발환경이나 운영환경에서 외부 데이터베이스에 초기 데이터를 임포트합니다. - -### 사용법 - -```bash -# 개발환경 데이터베이스 초기화 -./start-docker-linux.sh -e dev -i - -# 운영환경 데이터베이스 초기화 -./start-docker-linux.sh -e prod -i - -# 데이터베이스 초기화만 실행 (컨테이너 시작 안함) -./start-docker-linux.sh -i -``` - -### 특징 - -- 기존 데이터 자동 백업 생성 -- 연결 테스트 후 임포트 실행 -- 임포트 결과 검증 -- Docker를 사용한 안전한 임포트 - -## 방법 3: 수동 스크립트 사용 - -### PostgreSQL 클라이언트 직접 사용 - -```bash -# 기본 설정으로 초기화 -./init-db.sh - -# 사용자 정의 설정으로 초기화 -./init-db.sh dev 211.115.91.141 11132 waceplm postgres waceplm0909!! -``` - -### Docker를 사용한 초기화 - -```bash -# 기본 설정으로 초기화 -./init-db-docker.sh - -# 사용자 정의 설정으로 초기화 -./init-db-docker.sh 211.115.91.141 11132 waceplm postgres waceplm0909!! -``` - -## 파일 구조 - -``` -db/ -├── 00-create-roles.sh # 데이터베이스 역할 생성 스크립트 -└── dbexport.pgsql # 데이터베이스 덤프 파일 (200MB+) - -# 새로 추가된 파일들 -├── docker-compose.standalone.yml # 독립실행환경 설정 -├── init-db.sh # 수동 DB 초기화 스크립트 -├── init-db-docker.sh # Docker 기반 DB 초기화 스크립트 -└── start-docker-linux.sh # 통합 실행 스크립트 (업데이트됨) -``` - -## 환경별 설정 - -### 개발환경 (dev) -- Docker Compose: `docker-compose.dev.yml` -- 환경 변수: `.env.development` -- 외부 DB: 211.115.91.141:11132 - -### 운영환경 (prod) -- Docker Compose: `docker-compose.prod.yml` -- 환경 변수: `.env.production` -- 외부 DB: 설정에 따라 - -### 독립실행환경 (standalone) -- Docker Compose: `docker-compose.standalone.yml` -- 로컬 PostgreSQL 컨테이너 사용 -- 자동 DB 초기화 - -## 주의사항 - -1. **대용량 파일**: `dbexport.pgsql` 파일이 200MB 이상이므로 임포트에 시간이 걸릴 수 있습니다. - -2. **백업**: 기존 데이터가 있는 경우 자동으로 백업이 생성됩니다. - - 백업 파일명: `backup_YYYYMMDD_HHMMSS.sql` - -3. **권한**: 스크립트 실행 전 권한을 확인하세요. - ```bash - chmod +x *.sh - ``` - -4. **연결 테스트**: 임포트 전에 데이터베이스 연결을 테스트합니다. - -5. **에러 처리**: 임포트 실패 시 백업 파일을 사용하여 복원할 수 있습니다. - -## 트러블슈팅 - -### 연결 실패 -```bash -# 데이터베이스 서비스 상태 확인 -docker ps | grep postgres - -# 네트워크 연결 확인 -telnet [DB_HOST] [DB_PORT] -``` - -### 임포트 실패 -```bash -# 로그 확인 -./start-docker-linux.sh -l - -# 수동 복원 -psql -h [HOST] -p [PORT] -U [USER] -d [DB] < backup_YYYYMMDD_HHMMSS.sql -``` - -### 권한 문제 -```bash -# 스크립트 권한 확인 -ls -la *.sh - -# 권한 부여 -chmod +x *.sh -``` - -## 예시 사용 시나리오 - -### 최초 설치 시 -```bash -# 1. 독립실행환경으로 시작 (권장) -./start-docker-linux.sh -e standalone - -# 2. 또는 개발환경에서 DB 초기화 후 시작 -./start-docker-linux.sh -e dev -i -``` - -### 데이터 리셋 시 -```bash -# 1. 컨테이너 중지 -./start-docker-linux.sh -s - -# 2. Docker 정리 후 재시작 -./start-docker-linux.sh -e standalone -c -``` - -### 운영환경 배포 시 -```bash -# 1. 데이터베이스 초기화 -./start-docker-linux.sh -e prod -i - -# 2. 애플리케이션 시작 -./start-docker-linux.sh -e prod -``` - -이 가이드를 통해 WACE PLM 시스템의 데이터베이스를 안전하고 효율적으로 초기화할 수 있습니다. diff --git a/Dockerfile b/Dockerfile index 3154711..e988f1c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -8,7 +8,7 @@ COPY WebContent /usr/local/tomcat/webapps/ROOT COPY src /usr/local/tomcat/webapps/ROOT/WEB-INF/src # Copy custom Tomcat context configuration for JNDI -COPY ./tomcat-conf/context.xml /usr/local/tomcat/conf/context.xml +# COPY ./tomcat-conf/context.xml /usr/local/tomcat/conf/context.xml # Copy database driver if needed (PostgreSQL driver is already in WEB-INF/lib) # COPY path/to/postgresql-driver.jar /usr/local/tomcat/lib/ diff --git a/README.md b/README.md index 56c9691..2659b05 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# PLM 솔루션 (WACE PLM) +# PLM 솔루션 (ILSHIN) ## 프로젝트 개요 @@ -66,7 +66,7 @@ 이 프로젝트는 제공된 `Dockerfile` 및 `docker-compose.yml` 파일을 사용하여 Docker 컨테이너 환경에서 실행할 수 있습니다. 1. **Docker 및 Docker Compose 설치:** 시스템에 Docker와 Docker Compose가 설치되어 있어야 합니다. -2. **데이터베이스 파일 준비:** `waceplm.pgsql` 파일이 프로젝트 루트 디렉토리에 있는지 확인합니다. (필요시 `docker-compose.yml`에서 파일 경로 수정) +2. **데이터베이스 파일 준비:** `ilshin.pgsql` 파일이 프로젝트 루트 디렉토리에 있는지 확인합니다. (필요시 `docker-compose.yml`에서 파일 경로 수정) 3. **Docker Compose 실행:** 프로젝트 루트 디렉토리에서 다음 명령어를 실행합니다. ```bash docker-compose up --build -d @@ -77,4 +77,4 @@ **참고:** - 애플리케이션이 데이터베이스 연결 정보를 읽는 방식 (예: JNDI, 환경 변수, 설정 파일)에 따라 `docker-compose.yml`의 `app` 서비스 환경 변수 또는 Tomcat 설정 파일 (`context.xml` 등) 수정이 필요할 수 있습니다. -- `SETTING_GUIDE.txt`에 명시된 Tomcat 컨텍스트 경로 (`/waceplm`)를 사용하려면 `Dockerfile`에서 `WebContent`를 `/usr/local/tomcat/webapps/waceplm`로 복사하거나 Tomcat 설정을 변경해야 할 수 있습니다. 현재 설정은 `/` (ROOT) 경로로 배포됩니다. +- `SETTING_GUIDE.txt`에 명시된 Tomcat 컨텍스트 경로 (`/ilshin`)를 사용하려면 `Dockerfile`에서 `WebContent`를 `/usr/local/tomcat/webapps/ilshin`로 복사하거나 Tomcat 설정을 변경해야 할 수 있습니다. 현재 설정은 `/` (ROOT) 경로로 배포됩니다. diff --git a/SETTING_GUIDE.txt b/SETTING_GUIDE.txt index f333ca5..8fafdb4 100644 --- a/SETTING_GUIDE.txt +++ b/SETTING_GUIDE.txt @@ -1,3 +1,3 @@ - - + + \ No newline at end of file diff --git a/WebContent/WEB-INF/lib/INICrypto_v3.1.6_signed.jar b/WebContent/WEB-INF/lib/INICrypto_v3.1.6_signed.jar new file mode 100644 index 0000000..83a622f Binary files /dev/null and b/WebContent/WEB-INF/lib/INICrypto_v3.1.6_signed.jar differ diff --git a/WebContent/WEB-INF/lib/IntegratedCadServer.jar b/WebContent/WEB-INF/lib/IntegratedCadServer.jar new file mode 100644 index 0000000..d99cc40 Binary files /dev/null and b/WebContent/WEB-INF/lib/IntegratedCadServer.jar differ diff --git a/WebContent/WEB-INF/lib/NETSSSOScriptAgent.jar b/WebContent/WEB-INF/lib/NETSSSOScriptAgent.jar new file mode 100644 index 0000000..3d25c7e Binary files /dev/null and b/WebContent/WEB-INF/lib/NETSSSOScriptAgent.jar differ diff --git a/WebContent/WEB-INF/lib/aopalliance-1.0.jar b/WebContent/WEB-INF/lib/aopalliance-1.0.jar new file mode 100644 index 0000000..578b1a0 Binary files /dev/null and b/WebContent/WEB-INF/lib/aopalliance-1.0.jar differ diff --git a/WebContent/WEB-INF/lib/aspectjrt-1.8.4.jar b/WebContent/WEB-INF/lib/aspectjrt-1.8.4.jar new file mode 100644 index 0000000..1a87be0 Binary files /dev/null and b/WebContent/WEB-INF/lib/aspectjrt-1.8.4.jar differ diff --git a/WebContent/WEB-INF/lib/aspectjweaver-1.8.4.jar b/WebContent/WEB-INF/lib/aspectjweaver-1.8.4.jar new file mode 100644 index 0000000..4458ba4 Binary files /dev/null and b/WebContent/WEB-INF/lib/aspectjweaver-1.8.4.jar differ diff --git a/WebContent/WEB-INF/lib/cglib-3.1.jar b/WebContent/WEB-INF/lib/cglib-3.1.jar new file mode 100644 index 0000000..25a5df1 Binary files /dev/null and b/WebContent/WEB-INF/lib/cglib-3.1.jar differ diff --git a/WebContent/WEB-INF/lib/commons-beanutils-1.9.1.jar b/WebContent/WEB-INF/lib/commons-beanutils-1.9.1.jar new file mode 100644 index 0000000..2cf4aa1 Binary files /dev/null and b/WebContent/WEB-INF/lib/commons-beanutils-1.9.1.jar differ diff --git a/WebContent/WEB-INF/lib/commons-codec-1.9.jar b/WebContent/WEB-INF/lib/commons-codec-1.9.jar new file mode 100644 index 0000000..ef35f1c Binary files /dev/null and b/WebContent/WEB-INF/lib/commons-codec-1.9.jar differ diff --git a/WebContent/WEB-INF/lib/commons-collections-3.2.1.jar b/WebContent/WEB-INF/lib/commons-collections-3.2.1.jar new file mode 100644 index 0000000..c35fa1f Binary files /dev/null and b/WebContent/WEB-INF/lib/commons-collections-3.2.1.jar differ diff --git a/WebContent/WEB-INF/lib/commons-digester-1.8.1.jar b/WebContent/WEB-INF/lib/commons-digester-1.8.1.jar new file mode 100644 index 0000000..7abda96 Binary files /dev/null and b/WebContent/WEB-INF/lib/commons-digester-1.8.1.jar differ diff --git a/WebContent/WEB-INF/lib/commons-fileupload-1.3.2.jar b/WebContent/WEB-INF/lib/commons-fileupload-1.3.2.jar new file mode 100644 index 0000000..4975590 Binary files /dev/null and b/WebContent/WEB-INF/lib/commons-fileupload-1.3.2.jar differ diff --git a/WebContent/WEB-INF/lib/commons-httpclient-3.1.jar b/WebContent/WEB-INF/lib/commons-httpclient-3.1.jar new file mode 100644 index 0000000..7c59774 Binary files /dev/null and b/WebContent/WEB-INF/lib/commons-httpclient-3.1.jar differ diff --git a/WebContent/WEB-INF/lib/commons-io-2.2.jar b/WebContent/WEB-INF/lib/commons-io-2.2.jar new file mode 100644 index 0000000..84ca565 Binary files /dev/null and b/WebContent/WEB-INF/lib/commons-io-2.2.jar differ diff --git a/WebContent/WEB-INF/lib/commons-io-2.5.jar b/WebContent/WEB-INF/lib/commons-io-2.5.jar new file mode 100644 index 0000000..1234918 Binary files /dev/null and b/WebContent/WEB-INF/lib/commons-io-2.5.jar differ diff --git a/WebContent/WEB-INF/lib/commons-lang3-3.1.jar b/WebContent/WEB-INF/lib/commons-lang3-3.1.jar new file mode 100644 index 0000000..a85e539 Binary files /dev/null and b/WebContent/WEB-INF/lib/commons-lang3-3.1.jar differ diff --git a/WebContent/WEB-INF/lib/commons-logging-1.1.3.jar b/WebContent/WEB-INF/lib/commons-logging-1.1.3.jar new file mode 100644 index 0000000..ab51254 Binary files /dev/null and b/WebContent/WEB-INF/lib/commons-logging-1.1.3.jar differ diff --git a/WebContent/WEB-INF/lib/commons-net-3.3.jar b/WebContent/WEB-INF/lib/commons-net-3.3.jar new file mode 100644 index 0000000..f4f19a9 Binary files /dev/null and b/WebContent/WEB-INF/lib/commons-net-3.3.jar differ diff --git a/WebContent/WEB-INF/lib/cos.jar b/WebContent/WEB-INF/lib/cos.jar new file mode 100644 index 0000000..ea39c98 Binary files /dev/null and b/WebContent/WEB-INF/lib/cos.jar differ diff --git a/WebContent/WEB-INF/lib/egovframework.rte.ptl.mvc-3.1.0.jar b/WebContent/WEB-INF/lib/egovframework.rte.ptl.mvc-3.1.0.jar new file mode 100644 index 0000000..33d9741 Binary files /dev/null and b/WebContent/WEB-INF/lib/egovframework.rte.ptl.mvc-3.1.0.jar differ diff --git a/WebContent/WEB-INF/lib/external-debug.jar b/WebContent/WEB-INF/lib/external-debug.jar new file mode 100644 index 0000000..08c848d Binary files /dev/null and b/WebContent/WEB-INF/lib/external-debug.jar differ diff --git a/WebContent/WEB-INF/lib/ezmorph-1.0.6.jar b/WebContent/WEB-INF/lib/ezmorph-1.0.6.jar new file mode 100644 index 0000000..30fad12 Binary files /dev/null and b/WebContent/WEB-INF/lib/ezmorph-1.0.6.jar differ diff --git a/WebContent/WEB-INF/lib/fontbox-2.0.6.jar b/WebContent/WEB-INF/lib/fontbox-2.0.6.jar new file mode 100644 index 0000000..1dbee7a Binary files /dev/null and b/WebContent/WEB-INF/lib/fontbox-2.0.6.jar differ diff --git a/WebContent/WEB-INF/lib/gson-2.3.1.jar b/WebContent/WEB-INF/lib/gson-2.3.1.jar new file mode 100644 index 0000000..250132c Binary files /dev/null and b/WebContent/WEB-INF/lib/gson-2.3.1.jar differ diff --git a/WebContent/WEB-INF/lib/httpclient-4.5.13.jar b/WebContent/WEB-INF/lib/httpclient-4.5.13.jar new file mode 100644 index 0000000..218ee25 Binary files /dev/null and b/WebContent/WEB-INF/lib/httpclient-4.5.13.jar differ diff --git a/WebContent/WEB-INF/lib/httpcore-4.4.13.jar b/WebContent/WEB-INF/lib/httpcore-4.4.13.jar new file mode 100644 index 0000000..163dc43 Binary files /dev/null and b/WebContent/WEB-INF/lib/httpcore-4.4.13.jar differ diff --git a/WebContent/WEB-INF/lib/jackson-core-asl-1.9.13.jar b/WebContent/WEB-INF/lib/jackson-core-asl-1.9.13.jar new file mode 100644 index 0000000..bb4fe1d Binary files /dev/null and b/WebContent/WEB-INF/lib/jackson-core-asl-1.9.13.jar differ diff --git a/WebContent/WEB-INF/lib/jackson-mapper-asl-1.9.13.jar b/WebContent/WEB-INF/lib/jackson-mapper-asl-1.9.13.jar new file mode 100644 index 0000000..0f2073f Binary files /dev/null and b/WebContent/WEB-INF/lib/jackson-mapper-asl-1.9.13.jar differ diff --git a/WebContent/WEB-INF/lib/json-lib-2.2.2-jdk15.jar b/WebContent/WEB-INF/lib/json-lib-2.2.2-jdk15.jar new file mode 100644 index 0000000..27e7c7c Binary files /dev/null and b/WebContent/WEB-INF/lib/json-lib-2.2.2-jdk15.jar differ diff --git a/WebContent/WEB-INF/lib/json-lib-ext-spring-1.0.2.jar b/WebContent/WEB-INF/lib/json-lib-ext-spring-1.0.2.jar new file mode 100644 index 0000000..954872f Binary files /dev/null and b/WebContent/WEB-INF/lib/json-lib-ext-spring-1.0.2.jar differ diff --git a/WebContent/WEB-INF/lib/json-simple-1.1.1.jar b/WebContent/WEB-INF/lib/json-simple-1.1.1.jar new file mode 100644 index 0000000..66347a6 Binary files /dev/null and b/WebContent/WEB-INF/lib/json-simple-1.1.1.jar differ diff --git a/WebContent/WEB-INF/lib/jsoup-1.14.3-sources.jar b/WebContent/WEB-INF/lib/jsoup-1.14.3-sources.jar new file mode 100644 index 0000000..8d98af8 Binary files /dev/null and b/WebContent/WEB-INF/lib/jsoup-1.14.3-sources.jar differ diff --git a/WebContent/WEB-INF/lib/jsoup-1.14.3.jar b/WebContent/WEB-INF/lib/jsoup-1.14.3.jar new file mode 100644 index 0000000..a2f961b Binary files /dev/null and b/WebContent/WEB-INF/lib/jsoup-1.14.3.jar differ diff --git a/WebContent/WEB-INF/lib/jstl-1.2.jar b/WebContent/WEB-INF/lib/jstl-1.2.jar new file mode 100644 index 0000000..0fd275e Binary files /dev/null and b/WebContent/WEB-INF/lib/jstl-1.2.jar differ diff --git a/WebContent/WEB-INF/lib/jxl.jar b/WebContent/WEB-INF/lib/jxl.jar new file mode 100644 index 0000000..4a1fc64 Binary files /dev/null and b/WebContent/WEB-INF/lib/jxl.jar differ diff --git a/WebContent/WEB-INF/lib/log4j-1.2.17.jar b/WebContent/WEB-INF/lib/log4j-1.2.17.jar new file mode 100644 index 0000000..1d425cf Binary files /dev/null and b/WebContent/WEB-INF/lib/log4j-1.2.17.jar differ diff --git a/WebContent/WEB-INF/lib/log4jdbc-remix-0.2.7.jar b/WebContent/WEB-INF/lib/log4jdbc-remix-0.2.7.jar new file mode 100644 index 0000000..0956c0a Binary files /dev/null and b/WebContent/WEB-INF/lib/log4jdbc-remix-0.2.7.jar differ diff --git a/WebContent/WEB-INF/lib/mail.jar b/WebContent/WEB-INF/lib/mail.jar new file mode 100644 index 0000000..e4159c3 Binary files /dev/null and b/WebContent/WEB-INF/lib/mail.jar differ diff --git a/WebContent/WEB-INF/lib/mybatis-3.2.3.jar b/WebContent/WEB-INF/lib/mybatis-3.2.3.jar new file mode 100644 index 0000000..1ac3064 Binary files /dev/null and b/WebContent/WEB-INF/lib/mybatis-3.2.3.jar differ diff --git a/WebContent/WEB-INF/lib/mybatis-spring-1.2.1.jar b/WebContent/WEB-INF/lib/mybatis-spring-1.2.1.jar new file mode 100644 index 0000000..95c031f Binary files /dev/null and b/WebContent/WEB-INF/lib/mybatis-spring-1.2.1.jar differ diff --git a/WebContent/WEB-INF/lib/nls-debug.jar b/WebContent/WEB-INF/lib/nls-debug.jar new file mode 100644 index 0000000..c5c4f34 Binary files /dev/null and b/WebContent/WEB-INF/lib/nls-debug.jar differ diff --git a/WebContent/WEB-INF/lib/ojdbc5.jar b/WebContent/WEB-INF/lib/ojdbc5.jar new file mode 100644 index 0000000..13d7feb Binary files /dev/null and b/WebContent/WEB-INF/lib/ojdbc5.jar differ diff --git a/WebContent/WEB-INF/lib/pdfbox-2.0.6.jar b/WebContent/WEB-INF/lib/pdfbox-2.0.6.jar new file mode 100644 index 0000000..3b8c42b Binary files /dev/null and b/WebContent/WEB-INF/lib/pdfbox-2.0.6.jar differ diff --git a/WebContent/WEB-INF/lib/poi-3.11.jar b/WebContent/WEB-INF/lib/poi-3.11.jar new file mode 100644 index 0000000..0a34fb7 Binary files /dev/null and b/WebContent/WEB-INF/lib/poi-3.11.jar differ diff --git a/WebContent/WEB-INF/lib/poi-ooxml-3.11.jar b/WebContent/WEB-INF/lib/poi-ooxml-3.11.jar new file mode 100644 index 0000000..fa0dc02 Binary files /dev/null and b/WebContent/WEB-INF/lib/poi-ooxml-3.11.jar differ diff --git a/WebContent/WEB-INF/lib/poi-ooxml-schemas-3.11.jar b/WebContent/WEB-INF/lib/poi-ooxml-schemas-3.11.jar new file mode 100644 index 0000000..c5bf6a1 Binary files /dev/null and b/WebContent/WEB-INF/lib/poi-ooxml-schemas-3.11.jar differ diff --git a/WebContent/WEB-INF/lib/postgresql-42.2.16.jre7.jar b/WebContent/WEB-INF/lib/postgresql-42.2.16.jre7.jar new file mode 100644 index 0000000..02243ef Binary files /dev/null and b/WebContent/WEB-INF/lib/postgresql-42.2.16.jre7.jar differ diff --git a/WebContent/WEB-INF/lib/scsl.jar b/WebContent/WEB-INF/lib/scsl.jar new file mode 100644 index 0000000..f28a2e4 Binary files /dev/null and b/WebContent/WEB-INF/lib/scsl.jar differ diff --git a/WebContent/WEB-INF/lib/slf4j-api-1.7.7.jar b/WebContent/WEB-INF/lib/slf4j-api-1.7.7.jar new file mode 100644 index 0000000..bebabd9 Binary files /dev/null and b/WebContent/WEB-INF/lib/slf4j-api-1.7.7.jar differ diff --git a/WebContent/WEB-INF/lib/slf4j-log4j12-1.7.7.jar b/WebContent/WEB-INF/lib/slf4j-log4j12-1.7.7.jar new file mode 100644 index 0000000..950293b Binary files /dev/null and b/WebContent/WEB-INF/lib/slf4j-log4j12-1.7.7.jar differ diff --git a/WebContent/WEB-INF/lib/spring-aop-3.2.4.RELEASE.jar b/WebContent/WEB-INF/lib/spring-aop-3.2.4.RELEASE.jar new file mode 100644 index 0000000..614fdd4 Binary files /dev/null and b/WebContent/WEB-INF/lib/spring-aop-3.2.4.RELEASE.jar differ diff --git a/WebContent/WEB-INF/lib/spring-beans-3.2.4.RELEASE.jar b/WebContent/WEB-INF/lib/spring-beans-3.2.4.RELEASE.jar new file mode 100644 index 0000000..b655873 Binary files /dev/null and b/WebContent/WEB-INF/lib/spring-beans-3.2.4.RELEASE.jar differ diff --git a/WebContent/WEB-INF/lib/spring-context-3.2.4.RELEASE.jar b/WebContent/WEB-INF/lib/spring-context-3.2.4.RELEASE.jar new file mode 100644 index 0000000..1c55132 Binary files /dev/null and b/WebContent/WEB-INF/lib/spring-context-3.2.4.RELEASE.jar differ diff --git a/WebContent/WEB-INF/lib/spring-core-3.2.4.RELEASE.jar b/WebContent/WEB-INF/lib/spring-core-3.2.4.RELEASE.jar new file mode 100644 index 0000000..1438f4b Binary files /dev/null and b/WebContent/WEB-INF/lib/spring-core-3.2.4.RELEASE.jar differ diff --git a/WebContent/WEB-INF/lib/spring-expression-3.2.4.RELEASE.jar b/WebContent/WEB-INF/lib/spring-expression-3.2.4.RELEASE.jar new file mode 100644 index 0000000..eab0ca6 Binary files /dev/null and b/WebContent/WEB-INF/lib/spring-expression-3.2.4.RELEASE.jar differ diff --git a/WebContent/WEB-INF/lib/spring-jdbc-3.2.4.RELEASE.jar b/WebContent/WEB-INF/lib/spring-jdbc-3.2.4.RELEASE.jar new file mode 100644 index 0000000..2c68d9c Binary files /dev/null and b/WebContent/WEB-INF/lib/spring-jdbc-3.2.4.RELEASE.jar differ diff --git a/WebContent/WEB-INF/lib/spring-oxm-3.2.4.RELEASE.jar b/WebContent/WEB-INF/lib/spring-oxm-3.2.4.RELEASE.jar new file mode 100644 index 0000000..784d4f7 Binary files /dev/null and b/WebContent/WEB-INF/lib/spring-oxm-3.2.4.RELEASE.jar differ diff --git a/WebContent/WEB-INF/lib/spring-test-3.2.4.RELEASE.jar b/WebContent/WEB-INF/lib/spring-test-3.2.4.RELEASE.jar new file mode 100644 index 0000000..c0e4ea5 Binary files /dev/null and b/WebContent/WEB-INF/lib/spring-test-3.2.4.RELEASE.jar differ diff --git a/WebContent/WEB-INF/lib/spring-tx-3.2.4.RELEASE.jar b/WebContent/WEB-INF/lib/spring-tx-3.2.4.RELEASE.jar new file mode 100644 index 0000000..305507c Binary files /dev/null and b/WebContent/WEB-INF/lib/spring-tx-3.2.4.RELEASE.jar differ diff --git a/WebContent/WEB-INF/lib/spring-web-3.2.4.RELEASE.jar b/WebContent/WEB-INF/lib/spring-web-3.2.4.RELEASE.jar new file mode 100644 index 0000000..3857273 Binary files /dev/null and b/WebContent/WEB-INF/lib/spring-web-3.2.4.RELEASE.jar differ diff --git a/WebContent/WEB-INF/lib/spring-webmvc-3.2.4.RELEASE.jar b/WebContent/WEB-INF/lib/spring-webmvc-3.2.4.RELEASE.jar new file mode 100644 index 0000000..31d81c9 Binary files /dev/null and b/WebContent/WEB-INF/lib/spring-webmvc-3.2.4.RELEASE.jar differ diff --git a/WebContent/WEB-INF/lib/spring-ws-core-2.1.4.RELEASE.jar b/WebContent/WEB-INF/lib/spring-ws-core-2.1.4.RELEASE.jar new file mode 100644 index 0000000..c2a45ee Binary files /dev/null and b/WebContent/WEB-INF/lib/spring-ws-core-2.1.4.RELEASE.jar differ diff --git a/WebContent/WEB-INF/lib/spring-xml-2.1.4.RELEASE.jar b/WebContent/WEB-INF/lib/spring-xml-2.1.4.RELEASE.jar new file mode 100644 index 0000000..903e88f Binary files /dev/null and b/WebContent/WEB-INF/lib/spring-xml-2.1.4.RELEASE.jar differ diff --git a/WebContent/WEB-INF/lib/stax-api-1.0-2.jar b/WebContent/WEB-INF/lib/stax-api-1.0-2.jar new file mode 100644 index 0000000..015169d Binary files /dev/null and b/WebContent/WEB-INF/lib/stax-api-1.0-2.jar differ diff --git a/WebContent/WEB-INF/lib/tibero6-jdbc.jar b/WebContent/WEB-INF/lib/tibero6-jdbc.jar new file mode 100644 index 0000000..64d1568 Binary files /dev/null and b/WebContent/WEB-INF/lib/tibero6-jdbc.jar differ diff --git a/WebContent/WEB-INF/lib/tiles-api-3.0.5.jar b/WebContent/WEB-INF/lib/tiles-api-3.0.5.jar new file mode 100644 index 0000000..5a353b1 Binary files /dev/null and b/WebContent/WEB-INF/lib/tiles-api-3.0.5.jar differ diff --git a/WebContent/WEB-INF/lib/tiles-autotag-core-runtime-1.1.0.jar b/WebContent/WEB-INF/lib/tiles-autotag-core-runtime-1.1.0.jar new file mode 100644 index 0000000..95a7d96 Binary files /dev/null and b/WebContent/WEB-INF/lib/tiles-autotag-core-runtime-1.1.0.jar differ diff --git a/WebContent/WEB-INF/lib/tiles-core-3.0.5.jar b/WebContent/WEB-INF/lib/tiles-core-3.0.5.jar new file mode 100644 index 0000000..daddb49 Binary files /dev/null and b/WebContent/WEB-INF/lib/tiles-core-3.0.5.jar differ diff --git a/WebContent/WEB-INF/lib/tiles-el-3.0.5.jar b/WebContent/WEB-INF/lib/tiles-el-3.0.5.jar new file mode 100644 index 0000000..6a8f886 Binary files /dev/null and b/WebContent/WEB-INF/lib/tiles-el-3.0.5.jar differ diff --git a/WebContent/WEB-INF/lib/tiles-extras-3.0.5.jar b/WebContent/WEB-INF/lib/tiles-extras-3.0.5.jar new file mode 100644 index 0000000..467087c Binary files /dev/null and b/WebContent/WEB-INF/lib/tiles-extras-3.0.5.jar differ diff --git a/WebContent/WEB-INF/lib/tiles-jsp-3.0.5.jar b/WebContent/WEB-INF/lib/tiles-jsp-3.0.5.jar new file mode 100644 index 0000000..ffbbb1c Binary files /dev/null and b/WebContent/WEB-INF/lib/tiles-jsp-3.0.5.jar differ diff --git a/WebContent/WEB-INF/lib/tiles-request-api-1.0.6.jar b/WebContent/WEB-INF/lib/tiles-request-api-1.0.6.jar new file mode 100644 index 0000000..bdbf933 Binary files /dev/null and b/WebContent/WEB-INF/lib/tiles-request-api-1.0.6.jar differ diff --git a/WebContent/WEB-INF/lib/tiles-request-jsp-1.0.6.jar b/WebContent/WEB-INF/lib/tiles-request-jsp-1.0.6.jar new file mode 100644 index 0000000..ac94444 Binary files /dev/null and b/WebContent/WEB-INF/lib/tiles-request-jsp-1.0.6.jar differ diff --git a/WebContent/WEB-INF/lib/tiles-request-servlet-1.0.6.jar b/WebContent/WEB-INF/lib/tiles-request-servlet-1.0.6.jar new file mode 100644 index 0000000..7f88090 Binary files /dev/null and b/WebContent/WEB-INF/lib/tiles-request-servlet-1.0.6.jar differ diff --git a/WebContent/WEB-INF/lib/tiles-request-servlet-wildcard-1.0.6.jar b/WebContent/WEB-INF/lib/tiles-request-servlet-wildcard-1.0.6.jar new file mode 100644 index 0000000..d67fa7a Binary files /dev/null and b/WebContent/WEB-INF/lib/tiles-request-servlet-wildcard-1.0.6.jar differ diff --git a/WebContent/WEB-INF/lib/tiles-servlet-3.0.5.jar b/WebContent/WEB-INF/lib/tiles-servlet-3.0.5.jar new file mode 100644 index 0000000..3df3486 Binary files /dev/null and b/WebContent/WEB-INF/lib/tiles-servlet-3.0.5.jar differ diff --git a/WebContent/WEB-INF/lib/tiles-template-3.0.5.jar b/WebContent/WEB-INF/lib/tiles-template-3.0.5.jar new file mode 100644 index 0000000..ac5df6f Binary files /dev/null and b/WebContent/WEB-INF/lib/tiles-template-3.0.5.jar differ diff --git a/WebContent/WEB-INF/lib/wsdl4j-1.6.1.jar b/WebContent/WEB-INF/lib/wsdl4j-1.6.1.jar new file mode 100644 index 0000000..67a35fc Binary files /dev/null and b/WebContent/WEB-INF/lib/wsdl4j-1.6.1.jar differ diff --git a/WebContent/WEB-INF/lib/xercesImpl-2.11.0.jar b/WebContent/WEB-INF/lib/xercesImpl-2.11.0.jar new file mode 100644 index 0000000..0aaa990 Binary files /dev/null and b/WebContent/WEB-INF/lib/xercesImpl-2.11.0.jar differ diff --git a/WebContent/WEB-INF/lib/xml-apis-1.4.01.jar b/WebContent/WEB-INF/lib/xml-apis-1.4.01.jar new file mode 100644 index 0000000..4673346 Binary files /dev/null and b/WebContent/WEB-INF/lib/xml-apis-1.4.01.jar differ diff --git a/WebContent/WEB-INF/lib/xmlbeans-2.6.0.jar b/WebContent/WEB-INF/lib/xmlbeans-2.6.0.jar new file mode 100644 index 0000000..d1b6627 Binary files /dev/null and b/WebContent/WEB-INF/lib/xmlbeans-2.6.0.jar differ diff --git a/WebContent/WEB-INF/lib/xmlpull-1.1.3.1.jar b/WebContent/WEB-INF/lib/xmlpull-1.1.3.1.jar new file mode 100644 index 0000000..cbc149d Binary files /dev/null and b/WebContent/WEB-INF/lib/xmlpull-1.1.3.1.jar differ diff --git a/WebContent/WEB-INF/lib/xpp3_min-1.1.4c.jar b/WebContent/WEB-INF/lib/xpp3_min-1.1.4c.jar new file mode 100644 index 0000000..813a9a8 Binary files /dev/null and b/WebContent/WEB-INF/lib/xpp3_min-1.1.4c.jar differ diff --git a/WebContent/WEB-INF/lib/xstream-1.4.5.jar b/WebContent/WEB-INF/lib/xstream-1.4.5.jar new file mode 100644 index 0000000..e8f66b3 Binary files /dev/null and b/WebContent/WEB-INF/lib/xstream-1.4.5.jar differ diff --git a/cookies.txt b/cookies.txt new file mode 100644 index 0000000..f81c366 --- /dev/null +++ b/cookies.txt @@ -0,0 +1,5 @@ +# Netscape HTTP Cookie File +# https://curl.se/docs/http-cookies.html +# This file was generated by libcurl! Edit at your own risk. + +#HttpOnly_localhost FALSE / FALSE 0 JSESSIONID 99DCC3F6CD4594878206E184A83A6A58 diff --git a/db/.DS_Store b/db/.DS_Store new file mode 100644 index 0000000..5008ddf Binary files /dev/null and b/db/.DS_Store differ diff --git a/docker-compose.standalone.yml b/docker-compose.standalone.yml deleted file mode 100644 index 717e733..0000000 --- a/docker-compose.standalone.yml +++ /dev/null @@ -1,63 +0,0 @@ -version: '3.8' - -services: - wace-plm: - build: - context: . - dockerfile: Dockerfile.dev - container_name: wace-plm-standalone - ports: - - "8090:8080" - environment: - CATALINA_OPTS: >- - -DDB_URL=jdbc:postgresql://wace-plm-db:5432/waceplm - -DDB_USERNAME=postgres - -DDB_PASSWORD=waceplm0909!! - -Xms512m - -Xmx1024m - volumes: - - wace-plm-project_data:/data_storage - - wace-plm-app_data:/path/inside/container - - ./logs:/usr/local/tomcat/logs - - ./WebContent:/usr/local/tomcat/webapps/ROOT - depends_on: - wace-plm-db: - condition: service_healthy - restart: unless-stopped - networks: - - wace-plm-network - - wace-plm-db: - image: postgres:16-alpine - container_name: wace-plm-db-standalone - environment: - POSTGRES_DB: waceplm - POSTGRES_USER: postgres - POSTGRES_PASSWORD: waceplm0909!! - POSTGRES_INITDB_ARGS: "--encoding=UTF8 --locale=C" - volumes: - - postgres_data:/var/lib/postgresql/data - - ./db/00-create-roles.sh:/docker-entrypoint-initdb.d/00-create-roles.sh - - ./db/dbexport.pgsql:/docker-entrypoint-initdb.d/01-dbexport.sql - ports: - - "5432:5432" - healthcheck: - test: ["CMD-SHELL", "pg_isready -U postgres -d waceplm"] - interval: 10s - timeout: 5s - retries: 5 - restart: unless-stopped - networks: - - wace-plm-network - -volumes: - wace-plm-project_data: - driver: local - wace-plm-app_data: - driver: local - postgres_data: - driver: local - -networks: - wace-plm-network: - driver: bridge diff --git a/env.development.example b/env.development.example index dcc4d0e..8e34e0a 100644 --- a/env.development.example +++ b/env.development.example @@ -1,17 +1,17 @@ -# PLM WACE 개발환경 설정 +# PLM ILSHIN 개발환경 설정 # 애플리케이션 환경 NODE_ENV=development # 데이터베이스 설정 -DB_URL=jdbc:postgresql://211.115.91.141:11133/waceplm +DB_URL=jdbc:postgresql://211.115.91.141:11132/ilshin DB_USERNAME=postgres -DB_PASSWORD=waceplm0909!! +DB_PASSWORD=ilshin0909!! # PostgreSQL 환경 변수 (내부 DB 사용 시) -POSTGRES_DB=waceplm +POSTGRES_DB=ilshin POSTGRES_USER=postgres -POSTGRES_PASSWORD=waceplm0909!! +POSTGRES_PASSWORD=ilshin0909!! # 애플리케이션 포트 APP_PORT=8090 diff --git a/env.production.example b/env.production.example index 4e64a31..7d1e0de 100644 --- a/env.production.example +++ b/env.production.example @@ -1,17 +1,17 @@ -# PLM WACE 운영환경 설정 +# PLM ILSHIN 운영환경 설정 # 애플리케이션 환경 NODE_ENV=production # 데이터베이스 설정 -DB_URL=jdbc:postgresql://localhost:5432/waceplm +DB_URL=jdbc:postgresql://localhost:5432/ilshin DB_USERNAME=postgres -DB_PASSWORD=waceplm0909!! +DB_PASSWORD=your_production_password # PostgreSQL 환경 변수 -POSTGRES_DB=waceplm +POSTGRES_DB=ilshin POSTGRES_USER=postgres -POSTGRES_PASSWORD=waceplm0909!! +POSTGRES_PASSWORD=your_production_password # JVM 옵션 (운영환경용) JAVA_OPTS=-Xms1024m -Xmx2048m -XX:PermSize=512m -XX:MaxPermSize=1024m @@ -26,4 +26,5 @@ DEBUG=false SSL_ENABLED=true # 도메인 설정 -DOMAIN=waceplm.esgrin.com \ No newline at end of file +DOMAIN=ilshin.esgrin.com +ALT_DOMAIN=autoclave.co.kr \ No newline at end of file diff --git a/init-db-docker.sh b/init-db-docker.sh deleted file mode 100755 index fb3455b..0000000 --- a/init-db-docker.sh +++ /dev/null @@ -1,83 +0,0 @@ -#!/bin/bash - -# Docker를 사용한 데이터베이스 초기화 스크립트 -# 사용법: ./init-db-docker.sh [DB_HOST] [DB_PORT] [DB_NAME] [DB_USER] [DB_PASSWORD] - -set -e - -# 기본값 설정 -DB_HOST=${1:-"211.115.91.141"} -DB_PORT=${2:-"11132"} -DB_NAME=${3:-"waceplm"} -DB_USER=${4:-"postgres"} -DB_PASSWORD=${5:-"waceplm0909!!"} - -echo "=== Docker를 사용한 WACE PLM 데이터베이스 초기화 ===" -echo "DB 호스트: $DB_HOST" -echo "DB 포트: $DB_PORT" -echo "DB 이름: $DB_NAME" -echo "DB 사용자: $DB_USER" -echo "==================================================" - -# Docker 설치 확인 -if ! command -v docker &> /dev/null; then - echo "Docker가 설치되어 있지 않습니다." - exit 1 -fi - -# 현재 디렉토리 확인 -if [ ! -f "db/dbexport.pgsql" ]; then - echo "db/dbexport.pgsql 파일을 찾을 수 없습니다." - echo "프로젝트 루트 디렉토리에서 실행해주세요." - exit 1 -fi - -# PostgreSQL 클라이언트 컨테이너를 사용하여 연결 테스트 -echo "데이터베이스 연결 테스트 중..." -if ! docker run --rm postgres:16-alpine psql "postgresql://$DB_USER:$DB_PASSWORD@$DB_HOST:$DB_PORT/$DB_NAME" -c "SELECT 1;" > /dev/null 2>&1; then - echo "데이터베이스 연결에 실패했습니다." - echo "연결 정보를 확인해주세요." - exit 1 -fi - -echo "데이터베이스 연결 성공!" - -# 백업 생성 -BACKUP_FILE="backup_$(date +%Y%m%d_%H%M%S).sql" -echo "기존 데이터 백업 생성 중: $BACKUP_FILE" -docker run --rm -v "$(pwd):/workspace" postgres:16-alpine pg_dump "postgresql://$DB_USER:$DB_PASSWORD@$DB_HOST:$DB_PORT/$DB_NAME" > $BACKUP_FILE 2>/dev/null || echo "백업 생성 실패 (기존 데이터가 없을 수 있습니다)" - -# 역할 생성 -echo "데이터베이스 역할 생성 중..." -docker run --rm postgres:16-alpine psql "postgresql://$DB_USER:$DB_PASSWORD@$DB_HOST:$DB_PORT/$DB_NAME" -c "CREATE ROLE IF NOT EXISTS pro_search; CREATE ROLE IF NOT EXISTS search_user;" || echo "역할 생성 실패 (이미 존재할 수 있습니다)" - -# 데이터베이스 임포트 -echo "데이터베이스 임포트 시작..." -echo "파일 크기: $(du -h db/dbexport.pgsql | cut -f1)" -echo "대용량 파일 처리 중... (시간이 오래 걸릴 수 있습니다)" - -# Docker 볼륨 마운트를 사용하여 SQL 파일 임포트 -docker run --rm -v "$(pwd)/db:/db" postgres:16-alpine psql "postgresql://$DB_USER:$DB_PASSWORD@$DB_HOST:$DB_PORT/$DB_NAME" -v ON_ERROR_STOP=1 -f /db/dbexport.pgsql - -if [ $? -eq 0 ]; then - echo "데이터베이스 임포트 완료!" -else - echo "데이터베이스 임포트 실패!" - echo "백업 파일을 사용하여 복원할 수 있습니다: $BACKUP_FILE" - exit 1 -fi - -# 임포트 검증 -echo "임포트 검증 중..." -TABLE_COUNT=$(docker run --rm postgres:16-alpine psql "postgresql://$DB_USER:$DB_PASSWORD@$DB_HOST:$DB_PORT/$DB_NAME" -t -c "SELECT COUNT(*) FROM information_schema.tables WHERE table_schema = 'public';" | tr -d ' ') -echo "생성된 테이블 수: $TABLE_COUNT" - -if [ "$TABLE_COUNT" -gt 0 ]; then - echo "데이터베이스 초기화가 성공적으로 완료되었습니다!" - echo "백업 파일: $BACKUP_FILE" -else - echo "데이터베이스 초기화에 문제가 있을 수 있습니다." - echo "테이블이 생성되지 않았습니다." -fi - -echo "=== 초기화 완료 ===" diff --git a/init-db.sh b/init-db.sh deleted file mode 100755 index 5933ae6..0000000 --- a/init-db.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/bin/bash - -# 데이터베이스 초기화 스크립트 -# 사용법: ./init-db.sh [환경] [DB_HOST] [DB_PORT] [DB_NAME] [DB_USER] [DB_PASSWORD] - -set -e - -# 기본값 설정 -ENV=${1:-"dev"} -DB_HOST=${2:-"211.115.91.141"} -DB_PORT=${3:-"11132"} -DB_NAME=${4:-"waceplm"} -DB_USER=${5:-"postgres"} -DB_PASSWORD=${6:-"waceplm0909!!"} - -echo "=== WACE PLM 데이터베이스 초기화 ===" -echo "환경: $ENV" -echo "DB 호스트: $DB_HOST" -echo "DB 포트: $DB_PORT" -echo "DB 이름: $DB_NAME" -echo "DB 사용자: $DB_USER" -echo "==================================" - -# PostgreSQL 클라이언트 설치 확인 -if ! command -v psql &> /dev/null; then - echo "PostgreSQL 클라이언트가 설치되어 있지 않습니다." - echo "Ubuntu/Debian: sudo apt-get install postgresql-client" - echo "CentOS/RHEL: sudo yum install postgresql" - exit 1 -fi - -# 데이터베이스 연결 테스트 -echo "데이터베이스 연결 테스트 중..." -export PGPASSWORD=$DB_PASSWORD -if ! psql -h $DB_HOST -p $DB_PORT -U $DB_USER -d $DB_NAME -c "SELECT 1;" > /dev/null 2>&1; then - echo "데이터베이스 연결에 실패했습니다." - echo "연결 정보를 확인해주세요." - exit 1 -fi - -echo "데이터베이스 연결 성공!" - -# 백업 생성 (기존 데이터가 있는 경우) -BACKUP_FILE="backup_$(date +%Y%m%d_%H%M%S).sql" -echo "기존 데이터 백업 생성 중: $BACKUP_FILE" -pg_dump -h $DB_HOST -p $DB_PORT -U $DB_USER -d $DB_NAME > $BACKUP_FILE 2>/dev/null || echo "백업 생성 실패 (기존 데이터가 없을 수 있습니다)" - -# 역할 생성 -echo "데이터베이스 역할 생성 중..." -if [ -f "db/00-create-roles.sh" ]; then - psql -h $DB_HOST -p $DB_PORT -U $DB_USER -d $DB_NAME -c "CREATE ROLE IF NOT EXISTS pro_search; CREATE ROLE IF NOT EXISTS search_user;" || echo "역할 생성 실패 (이미 존재할 수 있습니다)" -fi - -# 데이터베이스 임포트 -echo "데이터베이스 임포트 시작..." -if [ -f "db/dbexport.pgsql" ]; then - echo "dbexport.pgsql 파일을 임포트합니다..." - echo "파일 크기: $(du -h db/dbexport.pgsql | cut -f1)" - - # 대용량 파일 처리를 위한 설정 - psql -h $DB_HOST -p $DB_PORT -U $DB_USER -d $DB_NAME -v ON_ERROR_STOP=1 < db/dbexport.pgsql - - if [ $? -eq 0 ]; then - echo "데이터베이스 임포트 완료!" - else - echo "데이터베이스 임포트 실패!" - echo "백업 파일을 사용하여 복원할 수 있습니다: $BACKUP_FILE" - exit 1 - fi -else - echo "db/dbexport.pgsql 파일을 찾을 수 없습니다." - exit 1 -fi - -# 임포트 검증 -echo "임포트 검증 중..." -TABLE_COUNT=$(psql -h $DB_HOST -p $DB_PORT -U $DB_USER -d $DB_NAME -t -c "SELECT COUNT(*) FROM information_schema.tables WHERE table_schema = 'public';" | tr -d ' ') -echo "생성된 테이블 수: $TABLE_COUNT" - -if [ "$TABLE_COUNT" -gt 0 ]; then - echo "데이터베이스 초기화가 성공적으로 완료되었습니다!" - echo "백업 파일: $BACKUP_FILE" -else - echo "데이터베이스 초기화에 문제가 있을 수 있습니다." - echo "테이블이 생성되지 않았습니다." -fi - -unset PGPASSWORD -echo "=== 초기화 완료 ===" diff --git a/setup.sh b/setup.sh index c6bae68..750bfe0 100755 --- a/setup.sh +++ b/setup.sh @@ -20,7 +20,7 @@ fi if [ -z "$(git config --global user.email)" ]; then echo "Git 이메일을 설정합니다..." - git config --global user.email "developer@wace-plm.local" + git config --global user.email "developer@plm-ilshin.local" fi # Git 기본 설정 @@ -136,12 +136,12 @@ echo "⚙️ 환경 설정 중..." if ! grep -q "# PLM Project Aliases" ~/.bashrc; then cat >> ~/.bashrc << 'EOF' -# WACE PLM Project Aliases -alias wace-plm-setup='cd ~/wace-plm && ./setup.sh' -alias wace-plm-build='cd ~/wace-plm && ./dev_git_only.sh' -alias wace-plm-clean='cd ~/wace-plm && rm -rf WebContent/WEB-INF/classes/* && echo "Build artifacts cleaned"' -alias wace-plm-logs='cd ~/wace-plm && docker-compose logs -f' -alias wace-plm-restart='cd ~/wace-plm && docker-compose restart' +# PLM Project Aliases +alias plm-setup='cd ~/plm-ilshin && ./setup.sh' +alias plm-build='cd ~/plm-ilshin && ./dev_git_only.sh' +alias plm-clean='cd ~/plm-ilshin && rm -rf WebContent/WEB-INF/classes/* && echo "Build artifacts cleaned"' +alias plm-logs='cd ~/plm-ilshin && docker-compose logs -f' +alias plm-restart='cd ~/plm-ilshin && docker-compose restart' EOF echo "✅ PLM 프로젝트 alias가 ~/.bashrc에 추가되었습니다." fi @@ -179,11 +179,11 @@ echo "🎉 PLM 프로젝트 환경 설정이 완료되었습니다!" echo "================================================================" echo "" echo "📌 추가된 명령어들:" -echo " wace-plm-setup : 이 설정 스크립트 재실행" -echo " wace-plm-build : 프로젝트 빌드 및 Git 작업" -echo " wace-plm-clean : 빌드 산출물 정리" -echo " wace-plm-logs : Docker 로그 확인" -echo " wace-plm-restart : Docker 컨테이너 재시작" +echo " plm-setup : 이 설정 스크립트 재실행" +echo " plm-build : 프로젝트 빌드 및 Git 작업" +echo " plm-clean : 빌드 산출물 정리" +echo " plm-logs : Docker 로그 확인" +echo " plm-restart : Docker 컨테이너 재시작" echo "" echo "💡 터미널을 재시작하거나 'source ~/.bashrc'를 실행하여" echo " 새로운 alias를 사용할 수 있습니다." diff --git a/src/com/pms/common/utils/Constants.java b/src/com/pms/common/utils/Constants.java index d6e300d..1344908 100644 --- a/src/com/pms/common/utils/Constants.java +++ b/src/com/pms/common/utils/Constants.java @@ -4,8 +4,8 @@ public class Constants { public static final String SYSTEM_NAME = "PMS"; // Company Name - public static final String COMPANY_NAME = "우성에스이(주)"; - public static final String COMPANY_NAME_ENG = "woosung"; + public static final String COMPANY_NAME = "(주)웨이스"; + public static final String COMPANY_NAME_ENG = "wace"; public static final String COMPANY_OBJID = "1786508140"; public static final String SUPER_ADMIN = "plm_admin"; @@ -13,33 +13,33 @@ public class Constants { public static final String SYSTEM_URL = "http://localhost:80"; /*Application Root Directory Path*/ - public static final String applicationRootDir = "D:\\workspace\\"+COMPANY_NAME_ENG+""; + public static final String applicationRootDir = "/path/inside/container"; //파일 저장 디렉토리 - public static final String FILE_STORAGE = "Z:\\PLM\\"+COMPANY_NAME_ENG+"\\DATA"; + public static final String FILE_STORAGE = "/data_storage"; //WBS Import 템플릿 업로드 디렉토리 - public static final String WBS_EXCEL_IMPORT_UPLOAD = FILE_STORAGE+"\\WBS_EXCEL_IMPORT"; + public static final String WBS_EXCEL_IMPORT_UPLOAD = FILE_STORAGE + "/WBS_EXCEL_IMPORT"; - //파트 도면파일 저장위치 - //도면 자동연결 시 사용 - public static final String PART_DRAWING_STORAGE = "D:\\PLM_DATA\\"+COMPANY_NAME_ENG+"\\DATA\\PART_DATA"; + //파트 도면파일 저장위치 (Linux 컨테이너 경로) + // /home/plm-ilshin/project_data/PART_DATA 와 매핑된다고 가정 + public static final String PART_DRAWING_STORAGE = FILE_STORAGE + "/PART_DATA"; - public static final String PROPERTIES_PATH = applicationRootDir+"\\src\\com\\pms\\resources\\config.properties"; + public static final String PROPERTIES_PATH = applicationRootDir+"/src/com/pms/resources/config.properties"; /** * 구조검토 제안서 PPT 미리보기 기능을 위한 서버의 경로를 지정한다. */ - public static final String STRUCTURE_FILE_SERVER_PATH = "http://211.48.180.237"; + public static final String STRUCTURE_FILE_SERVER_PATH = "https://waceplm.esgrin.com`"; //PART Import 템플릿 업로드 디렉토리 - public static final String PART_EXCEL_IMPORT_UPLOAD = FILE_STORAGE+"\\PART_EXCEL_IMPORT"; + public static final String PART_EXCEL_IMPORT_UPLOAD = FILE_STORAGE + "/PART_EXCEL_IMPORT"; //PART Import 템플릿 업로드 디렉토리 public static final String PART_EXCEL_IMPORT_TEMPLATE = ""; //PART Import 템플릿 업로드 디렉토리 - public static final String PART_ATTACH_FILE_PAKEGE = FILE_STORAGE+"\\PART_ATTACH_FILE_PACKAGE"; + public static final String PART_ATTACH_FILE_PAKEGE = FILE_STORAGE + "/PART_ATTACH_FILE_PACKAGE"; diff --git a/start-docker-linux.sh b/start-docker-linux.sh index 3b22fd5..ea90872 100644 --- a/start-docker-linux.sh +++ b/start-docker-linux.sh @@ -1,7 +1,7 @@ #!/bin/bash # ============================================================================== -# WACE PLM Docker 실행 스크립트 (Linux용) +# PLM ILSHIN Docker 실행 스크립트 (Linux용) # ============================================================================== set -e # 오류 발생 시 스크립트 종료 @@ -38,21 +38,18 @@ WACE PLM Docker 실행 스크립트 (Linux용) 사용법: $0 [OPTION] 옵션: - -e, --env ENV 환경 설정 (dev|prod|standalone) [기본값: dev] + -e, --env ENV 환경 설정 (dev|prod) [기본값: dev] -c, --clean Docker 시스템 정리 실행 -r, --restart 컨테이너 재시작 (중지 후 시작) -s, --stop 컨테이너 중지 -l, --logs 컨테이너 로그 확인 - -i, --init-db 데이터베이스 초기화 (dbexport.pgsql 임포트) -h, --help 도움말 출력 예시: $0 # 개발환경 실행 $0 -e dev # 개발환경 실행 $0 -e prod # 운영환경 실행 - $0 -e standalone # 로컬 DB 포함 독립실행환경 $0 -e dev -c # 개발환경 실행 (Docker 정리 포함) - $0 -i # 데이터베이스 초기화 $0 -s # 컨테이너 중지 $0 -l # 로그 확인 @@ -128,8 +125,6 @@ stop_containers() { if [ "$ENVIRONMENT" = "prod" ]; then docker-compose -f docker-compose.prod.yml down - elif [ "$ENVIRONMENT" = "standalone" ]; then - docker-compose -f docker-compose.standalone.yml down else docker-compose -f docker-compose.dev.yml down fi @@ -163,10 +158,6 @@ start_containers() { log_info "Git 업데이트 완료" fi - elif [ "$ENVIRONMENT" = "standalone" ]; then - compose_file="docker-compose.standalone.yml" - log_step "독립실행환경 컨테이너 시작 중..." - log_info "로컬 PostgreSQL 데이터베이스가 포함됩니다." else compose_file="docker-compose.dev.yml" log_step "개발환경 컨테이너 시작 중..." @@ -184,8 +175,6 @@ check_status() { if [ "$ENVIRONMENT" = "prod" ]; then docker-compose -f docker-compose.prod.yml ps - elif [ "$ENVIRONMENT" = "standalone" ]; then - docker-compose -f docker-compose.standalone.yml ps else docker-compose -f docker-compose.dev.yml ps fi @@ -197,129 +186,11 @@ show_logs() { if [ "$ENVIRONMENT" = "prod" ]; then docker-compose -f docker-compose.prod.yml logs -f - elif [ "$ENVIRONMENT" = "standalone" ]; then - docker-compose -f docker-compose.standalone.yml logs -f else docker-compose -f docker-compose.dev.yml logs -f fi } -# 데이터베이스 초기화 -init_database() { - log_step "데이터베이스 초기화 시작..." - - # dbexport.pgsql 파일 존재 확인 - if [ ! -f "db/dbexport.pgsql" ]; then - log_error "db/dbexport.pgsql 파일을 찾을 수 없습니다." - exit 1 - fi - - log_info "파일 크기: $(du -h db/dbexport.pgsql | cut -f1)" - - # 환경에 따른 데이터베이스 연결 정보 설정 - if [ "$ENVIRONMENT" = "standalone" ]; then - # standalone 환경은 로컬 DB 컨테이너 사용 - log_info "standalone 환경: 로컬 PostgreSQL 컨테이너가 자동으로 초기화됩니다." - return 0 - else - # 외부 DB 사용 환경 - if [ -f ".env.development" ] && [ "$ENVIRONMENT" = "dev" ]; then - source .env.development - elif [ -f ".env.production" ] && [ "$ENVIRONMENT" = "prod" ]; then - source .env.production - fi - - # 환경 변수에서 DB 정보 추출 - DB_HOST=$(echo $DB_URL | sed -n 's/.*\/\/.*@\([^:]*\):.*/\1/p') - DB_PORT=$(echo $DB_URL | sed -n 's/.*:\([0-9]*\)\/.*/\1/p') - DB_NAME=$(echo $DB_URL | sed -n 's/.*\/\([^?]*\).*/\1/p') - - if [ -z "$DB_HOST" ] || [ -z "$DB_PORT" ] || [ -z "$DB_NAME" ]; then - log_error "데이터베이스 연결 정보를 추출할 수 없습니다." - log_error "DB_URL: $DB_URL" - exit 1 - fi - - log_info "데이터베이스 연결 정보:" - log_info " 호스트: $DB_HOST" - log_info " 포트: $DB_PORT" - log_info " 데이터베이스: $DB_NAME" - log_info " 사용자: $DB_USERNAME" - - # Docker를 사용하여 데이터베이스 초기화 실행 - log_info "Docker를 사용하여 데이터베이스 초기화 중..." - - # 연결 테스트 - if ! docker run --rm postgres:16-alpine psql "postgresql://$DB_USERNAME:$DB_PASSWORD@$DB_HOST:$DB_PORT/$DB_NAME" -c "SELECT 1;" > /dev/null 2>&1; then - log_error "데이터베이스 연결에 실패했습니다." - log_error "연결 정보를 확인해주세요." - exit 1 - fi - - log_info "데이터베이스 연결 성공!" - - # 기존 데이터 확인 - EXISTING_TABLES=$(docker run --rm postgres:16-alpine psql "postgresql://$DB_USERNAME:$DB_PASSWORD@$DB_HOST:$DB_PORT/$DB_NAME" -t -c "SELECT COUNT(*) FROM information_schema.tables WHERE table_schema = 'public';" | tr -d ' ') - - if [ "$EXISTING_TABLES" -gt 0 ]; then - log_warn "기존 데이터가 발견되었습니다. (테이블 수: $EXISTING_TABLES)" - log_warn "계속하면 기존 데이터가 덮어쓰여집니다." - - # 운영환경에서는 추가 확인 - if [ "$ENVIRONMENT" = "prod" ]; then - log_warn "운영환경에서 데이터베이스를 초기화하려고 합니다!" - log_warn "정말 계속하시겠습니까? 기존 데이터가 모두 삭제됩니다." - log_warn "계속하려면 'YES'를 입력하세요:" - read -r confirmation - if [ "$confirmation" != "YES" ]; then - log_info "데이터베이스 초기화가 취소되었습니다." - exit 0 - fi - fi - else - log_info "빈 데이터베이스입니다. 초기화를 진행합니다." - fi - - # 백업 생성 - BACKUP_FILE="backup_$(date +%Y%m%d_%H%M%S).sql" - log_info "기존 데이터 백업 생성 중: $BACKUP_FILE" - docker run --rm -v "$(pwd):/workspace" postgres:16-alpine pg_dump "postgresql://$DB_USERNAME:$DB_PASSWORD@$DB_HOST:$DB_PORT/$DB_NAME" > $BACKUP_FILE 2>/dev/null || log_warn "백업 생성 실패 (기존 데이터가 없을 수 있습니다)" - - # 역할 생성 - log_info "데이터베이스 역할 생성 중..." - docker run --rm postgres:16-alpine psql "postgresql://$DB_USERNAME:$DB_PASSWORD@$DB_HOST:$DB_PORT/$DB_NAME" -c "CREATE ROLE IF NOT EXISTS pro_search; CREATE ROLE IF NOT EXISTS search_user;" || log_warn "역할 생성 실패 (이미 존재할 수 있습니다)" - - # 데이터베이스 임포트 - log_info "데이터베이스 임포트 시작... (시간이 오래 걸릴 수 있습니다)" - docker run --rm -v "$(pwd)/db:/db" postgres:16-alpine psql "postgresql://$DB_USERNAME:$DB_PASSWORD@$DB_HOST:$DB_PORT/$DB_NAME" -v ON_ERROR_STOP=1 -f /db/dbexport.pgsql - - if [ $? -eq 0 ]; then - log_info "데이터베이스 임포트 완료!" - else - log_error "데이터베이스 임포트 실패!" - log_error "백업 파일을 사용하여 복원할 수 있습니다: $BACKUP_FILE" - exit 1 - fi - - # 임포트 검증 - log_info "임포트 검증 중..." - TABLE_COUNT=$(docker run --rm postgres:16-alpine psql "postgresql://$DB_USERNAME:$DB_PASSWORD@$DB_HOST:$DB_PORT/$DB_NAME" -t -c "SELECT COUNT(*) FROM information_schema.tables WHERE table_schema = 'public';" | tr -d ' ') - log_info "생성된 테이블 수: $TABLE_COUNT" - - if [ "$TABLE_COUNT" -gt 0 ]; then - log_info "데이터베이스 초기화가 성공적으로 완료되었습니다!" - if [ -f "$BACKUP_FILE" ]; then - log_info "백업 파일: $BACKUP_FILE" - fi - else - log_warn "데이터베이스 초기화에 문제가 있을 수 있습니다." - log_warn "테이블이 생성되지 않았습니다." - fi - fi - - log_info "데이터베이스 초기화 완료" -} - # 메인 실행 함수 main() { local ENVIRONMENT="dev" @@ -327,7 +198,6 @@ main() { local RESTART=false local STOP_ONLY=false local SHOW_LOGS=false - local INIT_DB=false # 인자 파싱 while [[ $# -gt 0 ]]; do @@ -352,10 +222,6 @@ main() { SHOW_LOGS=true shift ;; - -i|--init-db) - INIT_DB=true - shift - ;; -h|--help) show_help exit 0 @@ -369,12 +235,12 @@ main() { done # 환경 검증 - if [[ "$ENVIRONMENT" != "dev" && "$ENVIRONMENT" != "prod" && "$ENVIRONMENT" != "standalone" ]]; then - log_error "유효하지 않은 환경: $ENVIRONMENT (dev, prod, standalone만 허용)" + if [[ "$ENVIRONMENT" != "dev" && "$ENVIRONMENT" != "prod" ]]; then + log_error "유효하지 않은 환경: $ENVIRONMENT (dev 또는 prod만 허용)" exit 1 fi - log_info "WACE PLM Docker 실행 스크립트 시작" + log_info "PLM ILSHIN Docker 실행 스크립트 시작" log_info "환경: $ENVIRONMENT" # 시스템 체크 @@ -383,19 +249,10 @@ main() { # 환경 변수 로드 if [ "$ENVIRONMENT" = "prod" ]; then load_env_vars "production" - elif [ "$ENVIRONMENT" = "standalone" ]; then - # standalone 환경은 별도 환경 변수 파일이 없으므로 기본값 사용 - log_info "standalone 환경: 내장 설정 사용" else load_env_vars "development" fi - # 데이터베이스 초기화만 하는 경우 - if [ "$INIT_DB" = true ]; then - init_database - exit 0 - fi - # 로그만 확인하는 경우 if [ "$SHOW_LOGS" = true ]; then show_logs @@ -424,22 +281,18 @@ main() { # 상태 확인 check_status - log_info "WACE PLM Docker 실행 완료!" + log_info "PLM ILSHIN Docker 실행 완료!" log_info "애플리케이션 접속:" if [ "$ENVIRONMENT" = "prod" ]; then - log_info " - https://waceplm.esgrin.com" - - elif [ "$ENVIRONMENT" = "standalone" ]; then - log_info " - http://localhost:8090" - log_info " - 데이터베이스: localhost:5432 (postgres/waceplm0909!!)" + log_info " - https://ilshin.esgrin.com" + log_info " - https://autoclave.co.kr" else log_info " - http://localhost:8090" fi log_info "로그 확인: $0 -l" log_info "컨테이너 중지: $0 -s" - log_info "데이터베이스 초기화: $0 -i" } # 스크립트 실행