본문 바로가기
IT 경험 저장소

시놀로지 Redmine 백업 및 이전

by 주니우스 2021. 1. 20.
반응형

이번에는 시놀로지에 설치한 Redmine 을 사용하다.

다른 시놀로지로 Redmine 을 옮기는 작업에 대해 글을 작성하겠습니다.

 

이 내용은 이 방법이 최선인지, 더 쉽고 자연스러운 방법이 있는지 모르는 상태에서

제가 필요에 의해 작업한 내용입니다.

다른분의 글에서 DB 백업하고 Redmine 디렉토리만 덮어 쓰면 된다고 했지만

제경우 그렇게 하면 완전히 안되더라구요.

추측컨데 제가 ckeditor 하고 lightbox2 라는 플러그인을 사용하여 일감을 작성하고 이미지들을 첨부했는데

이 플러그인으로 작성된들에 <P>태그들이 붙고 본문안에 첨부된 이미지들이 이 플러그인 데이터 경로에

별도 저장이 되어 정상 출력이 되지 않는것 같다.

 

큰 줄기로 보면 2가지 작업이 필요합니다.

첫번째는 DB 백업 하고 이전

두번째는 Redmind 디렉토리에서 files, plugins, themes 의 세가지 디렉토리 복사 후 덮어쓰기

DB 백업은 여러가지 방법이 있을테니 익숙한 방법으로 하시고

저는 SQLyog 라는 무료 mysql 클라이언트를 사용합니다. 

앞에 글에서 설치한 PhpMyAdmin 를 사용해도 되겠지만 저는 SQLyog 가 좀더 익숙하여~

 

여튼 사용하던 시놀로지 MariaDB 와 새로 설치한 시놀로지 MariaDB를 SQLyog로 접속합니다.

그러면 아래 이미지 처럼 "데이터베이스" 메뉴를 통해 몇번의 클릭으로 Redmine DB를 복사할수 있습니다.

 

데이터만 덮어쓸까 했는데 잘안되어서 아래그림처럼 새로 옮겨갈 시놀로지 Redmine DB를 

"비어있는 데이터 베이스" 로 만들어 버렸다. 그럼 그 하위에 테이블부터 뷰, 함수 등등 몽땅 삭제되고 DB 이름만 남는다.

 

그런후 아래처럼 "데이터 베이스 복사" 를 통해서 복사를 하면 그대로 옮겨간다.

주의할건 소스(구 시놀로지 DB)와 대상(신 시놀로지 DB) 가 맞는지 확인 하고 복사한다.

 

 

 

이제 시놀로지 docker -> redmine 디렉토리에서 files, plugins, themes 를 복사한 다음 이전할 새 시놀로지의

같은 경로에 덮어 쓴다. 

내 어줍잖은 추측이지만 별도의 플러그인(내 경우 ckeditor 하고 lightbox2)을 사용하지 않는다면

여기까지로 백업/이전이 끝날것 같다.

하지만 나는 ckeditor 를 통을 글을 작성하고 이미지를 본문 내에 바로 삽입을 해서 사용했기때문에

여기까지하고 접속을 하면 아래와 같이 정상적으로 보이질 않는다.

초기화면에는 글을 쓴건 아니고 이미지만 한장 걸어놨었다.

아~ 그리고 이 복사단계에서는 plugins 은 비어있어 적용되지 않지만 themes 는 적용이 된다.

나는 PurpleMine2 를 사용했는데 테마가 적용이 되면서 아래 처럼 보라색으로 화면이 바뀌었다.

 

 

위의 내용으로 봐서 해당 이미지를 불러오지 못한다는 내용으로, 해당 경로를 찾아야한다.

나도 docker의 정확한 작동 방식을 이해하는건 아니지만.

위에서 복사해 덮어쓴 디렉토리 말고 실제 docker 위의 Redmine 경로가 또 따로 있다.

SSH 로 시놀로지에 접속해서

sudo -i 명령으로 root 권한을 얻고

docker exec -it synology_redmine /bin/bash   명령을 실행하면

docker 위의 시스템 경로를 갈수 있다.

위의 plugins 디렉토리 안에 내용을 보면서 플러그인이 이곳에 설치되는것을 알수 있었다.

근데 이 plugins 폴더를 복사해서 새 시놀로지 docker위 redmine에 덮어쓰니 plugins 적용은 안되고 plugin은 

그냥 새로 설치를 해야지 적용되더라.

여튼 redmine/public 경로에 보면 "system" 디렉토리가 있다.

이 system 디렉토리를 tar 로 묶어서 DSM 에서도 보여기제 계정/home 경로에 옮겨놓는다.

이건 방법의 문제이니 각자 편한 방법으로 옮기면 된다.

아래 화면처럼 구 시놀로지 DSM 에서 system.tar 를 다운 받아 새 시놀로지 DSM 에 올려서 docker 위에 system 경로에  덮어 쓴다.

새 시놀로지에는 ckeditor 플러그인을 설치하지 않았기때문에 system 이라는 폴더가 없다.

그래도 일단 그곳에 system.tar 를 풀면 system 폴더가 생긴다.

하지만 system을 풀어 놓은것만으로는 Redmine 에 올린 글이 정상적으로 아직 안나온다.

당연히 ckeditor 플러그인을 설치 해야하는데, 

ckeditor 플러그인 설치는 좀 간단히 설명하겠음.

https://github.com/a-ono/redmine_ckeditor

 

a-ono/redmine_ckeditor

Redmine plugin for integration CKEditor. Contribute to a-ono/redmine_ckeditor development by creating an account on GitHub.

github.com

에 가보면 아래와 같은 내용이 있고 시놀로지의 Redmine 버전은 3.3.10 이니 1.1.7 버전으로 설치합니다.

docker 위 redmine/plugins 경로로 가서 ckeditor 을 다운받습니다.

wget https://github.com/a-ono/redmine_ckeditor/archive/1.1.7.tar.gz

 

압축해제

tar xvfz 1.1.7.tar.gz

 

디렉토리 이름을 변경해준다.

mv redmine_ckeditor-1.1.7 redmine_ckeditor

 

한 디렉토리 상위로 이동하여 아래 명령 실행

bundle install --without development test

(혹시 이명령에서 bundle 가 없는명령이라고 뜨면 위의

docker exec -it synology_redmine /bin/bash를 수행하지 않은거임)

 

gem uninstall rake -v '>=0.a' Remove

 

gem install rake -v '>=0.a'

 

rake redmine:plugins:migrate RAILS_ENV=production

(이 명령어를 실행하면 아래와 같은 Error 텍스트가 나오는데 나는 무시...했음 왜냐면 플러그인이 잘작동해서...!

rake aborted!
Gem::LoadError: You have already activated rake 13.0.3, but your Gemfile requires rake 13.0.1. Prepending `bundle exec` to your command may solve this)

 

이렇게 하고 난후에 Redmine에 접속을 하면 정상적으로 출력된다.

 

이렇게 해서 Redmine 데이터 이전이 끝났다.

 

반응형

'IT 경험 저장소' 카테고리의 다른 글

국내 통신사 별 DNS 주소  (0) 2022.03.29
이런저런 유용한링크  (0) 2021.04.07
이클립스 오류  (0) 2021.04.07
웹 테크트리  (0) 2021.04.07

댓글