1. 비밀번호 초기화
캘리버를 잘 사용하다가 갑자기 비밀번호가 생각 안나는 경우가 있다.
물론, "Forgot Password" 버튼을 사용하여 패스워드 재설정을 생각할 수 도 있지만, 이는 SMTP 서버 및 이메일 주소를 제대로 설정했을 경우에나 가능하고 그렇지 않은 경우는 무용지물이다.
캘리버 컨테이너의 경우 "/config" 폴더 아래 app.db 파일에 사용자 ID 및 비밀번호 등이 저장되어 있다. 이를 초기화 하기 위해서는 Portainer를 실행, 컨테이너 리스트에서 캘리버 컨테이너의 쉘로 접속한다.
그리고 아래 명령들을 이용하여 app.db 파일을 백업해 둔다.
# cd /config
# mv app.db app_backup.db
다시 캘리버 컨테이너 상세 정보에서 "Duplicate/Edit" 버튼을 클릭한다.
그리고 아래쪽으로 스크롤하여 "Deploy the container" 버튼을 누른다.
아래와 같은 경고 메시지가 나오면 "Replace" 버튼을 클릭한다.
이제 컨테이너 재생성이 완료되었다.
이 작업을 수행하면 지워진 app.db 파일이 초기 파일로 복구된다.
이제 캘리버에 다시 접속하면 아래처럼 Basic Configuration 화면이 나온다. Library Configuration에 "/books"를 입력하고 "Save" 버튼을 누른다.
이제 초기 사용자 ID인 admin 과 비밀번호인 admin123으로 로그인 할 수 있다.
아래는 admin으로 로그인한 화면이다.
이제 사용자 버튼을 클릭한 후 새로운 ID 및 비밀번호를 설정하면 해당 계정정보로 로그인 가능하다.
2. 설정 복구
위 절차를 통해 사용자 ID 및 비밀번호 복구가 가능하다. 또한 저장된 전자책 정보는 그대로 살아있다.
그러나 app.db에 저장되어 있던 책장(Shelf) 이나 북마크 정보가 사라져 버린다.
이를 복구하기 위해서는 아까 복사해둔 app_backup.db파일을 활용하면 된다.
우선 아래 명령으로 app.db, app_backup.db 파일을 /books 폴더로 복사도록 한다. /books 폴더는 라즈베리파이의 외장 HDD로 마운트 되어 있어 윈도우PC에서 바로 접속 및 수정이 가능하다.
# cd /config
# cp -p app* /books
이제 윈도우 탐색기에서 라즈베리파이로 접속해 보면 아래처럼 복사된 app.db, app_backup.db 파일이 보인다.
이제 "DB Browser for SQLite" 프로그램을 이용하여 app.db 파일을 오픈한다. 해당 프로그램은 https://sqlitebrowser.org/서 다운로드 받을 수 있다.
파일을 연 다음 아래 "데이터 보기" 탭을 선택하고 "user" 테이블을 선택하면 아까 수정한 사용자 ID 및 비밀번호 해쉬값을 찾을 수 있다.
이 비밀번호 해쉬값을 복사해 두도록 한다.
이제 app_backup.db 파일을 열고, 위와 동일한 위치로 이동하여 복사해둔 비밀번호 해쉬값을 붙여 넣도록 한다. 그리고 "적용" 버튼을 클릭한다.
이제 app_backup.db 데이터베이스를 저장하고 종료한다.
다시, 캘러버 컨테이너의 쉘로 돌아가 "cp -p /books/app_backup.db /config/app.db" 명령어를 이용하여 app_backup.db 파일을 app.db파일로 복사하도록 한다.
이제 캘리버 웹사이트에 다시 접속, 새로운 사용자로 로그인하면 로그인도 성공할 뿐만 아니라, 기존의 책장 및 북마크 정보도 모두 복구 가능하다.
'라즈베리파이' 카테고리의 다른 글
ubooquity를 이용한 온라인 도서관 구축하기-1 (3) | 2020.08.12 |
---|---|
캘리버(Calibre) Forgot Password 버튼 없애기 (0) | 2020.07.21 |
webdav 이용, 네트워크 드라이브 연결 3 - 권한 문제 해결 (0) | 2020.07.15 |
webdav 이용, 네트워크 드라이브 연결 2 - RaiDrive로 원격 접속 (0) | 2020.07.14 |
webdav 이용, 네트워크 드라이브 연결 1 - 설치 (4) | 2020.07.14 |