오라클 무료 VPS PostgreSQL + Teldrive
Teldrive에 오라클 무료 VPS를 데이터베이스 서버로 활용
「텔레그램을 무제한 클라우드 저장소로 활용 | Telegram Drive」, 「텔레그램 저장소 마운트 | Rclone + Teldrive」 성공 후 한창 자료를 전송하고 있을 때, 문득 이런 생각이 뒤통수를 후려치듯 떠올랐다. 바로 Teldrive에 사용할 데이터베이스 서버로 오라클 무료 VPS를 활용할 수 있겠다는 것이다. 그래서, 그리고 이번에도 역시 맨땅에 헤딩하듯 고난의 구글링 끝에 내 의지를 ‘얼추’ 관철할 수 있었다. ‘얼추’라는 부사가 붙은 것은 ‘오라클 VPS PostgreSQL + Teldrive’ 조합을 사용했을 때, 업로드 및 파일/폴더 관리는 잘 되었지만, Teldrive WebUI에서 스트리밍/다운로드가 안 되는 문제가 있다(아직 해결 못 했고, 이건 내가 뭔가 설정을 잘못해서 나에게만 일어나는 문제일 수도 있다).
아무튼, 이 글은 훗날에 이 방법을 다시 사용해야 할 때를 대비한 정리 차원의 글이고, ‘이 방법’에 필요한 설명은 모두 구글에서 찾을 수 있으므로 대부분의 설명은 링크로 대신할 것이다.
「Teldrive 사용에 관한 몇 가지 팁」
전체 과정 정리
1. 오라클 무료 VPS 인스턴스에 우분투 설치
2. VPS에 PostgreSQL 설치
3. PostgreSQL에 pgroonga 패치
4. PostgreSQL 네트워크 설정
5. VPS 인스턴스 특정 서비스 포트 열기
6. VPS(우분투) 방화벽(iptables) 설정
7. 로컬 PC의 데이터베이스를 VPS로 복제
1. 오라클 무료 VPS 인스턴스에 우분투 설치
「[Oracle Cloud] 오라클 클라우드 VM 인스턴스 생성 및 원격 접속」
오라클 VPS에서 새 인스턴스를 생성하고, PuTTY(SSH, 텔넷, rlogin, raw TCP를 위한 클라이언트)를 사용해 VPS에 접속하는 과정이 잘 설명되어 있다. 인스턴스에 설치할 리눅스 OS는 우분투 최신 버전을 사용했다.
2. 오라클 VPS에 PostgreSQL 설치
오라클 VPS에 PostgreSQL을 설치하는 방법은 PostgreSQL 홈페이지에 잘 나와 있다. 'Automated repository configuration, To manually configure the Apt repository, follow these steps', 이렇게 두 방법이 있는데, ‘자동’이 아니라 ‘수동’ 방법을 사용해 설치해야 PostgreSQL 최신 버전(현재 16)이 설치된다.
3. PostgreSQL에 pgroonga 패치
Teldrive에서 다국어 검색을 위해선 PostgreSQL에 pgroonga 패치를 해야 한다. 앞에서 PostgreSQL 16버전을 설치했으니, ‘How to install for the official PostgreSQL’ 방법을 사용하면 된다.
4. PostgreSQL 네트워크 설정 | 5. VPS 인스턴스 특정 서비스 포트 열기 | 6. VPS(우분투) 방화벽(iptables) 설정
「[PostgreSQL 설치와 운영] #3. pg_hba.conf 설정하기(원격 접속 설정)」
「오라클 클라우드 Free Tier에 PostgreSQL 서버 설치하기(Ubuntu 22.04)」오라클 VPS에 설치한 PostgreSQL 서버를 외부에서 접속하려면 (PostgreSQL 설정 파일인) pg_hba.conf postgresql.conf 파일들과 우분투 방화벽(iptables)과 VPS 인스턴스 네트워크를 수정해야 한다(「[Linux] vi 편집기 사용법 및 명령어」, vi 텍스트 편집기 사용법 참고).
네트워크 관련 설정이 완료되면, (윈도우에서 PostgreSQL 설치하면 사용할 수 있는 GUI 관리 도구인) 내 PC에서 pgAdmin 도구를 통해 오라클 VPS PostgreSQL 서버에 접속할 수 있다(그 전에 postgres 암호 설정 필요, 「postgres 유저 비밀번호 변경」).
참고로 iptables 값은 재부팅되면 초기화되는데, 이를 방지하라면 다음 글 참고, 「Ubuntu iptables 저장, 리부팅 뒤 자동 복구」
7. 로컬 PC의 데이터베이스를 VPS로 복제
「[Postgresql] pgadmin을 이용한 database 백업 및 복구(DB 이전)」
만약 로컬 PostgreSQL 서버의 DB를 오라클 VPS PostgreSQL 서버로 복제하고 싶다면, pgAdmin 도구로 간단하게 해결할 수 있다. 단, 복제 대상 DB는 새로 생성한 DB여야 한다.
즉, 1. 로컬 DB 백업, 2. 오라클에서 새 DB 생성, 3. 방금 전에 백업한 DB를 새 DB로 복원.
마무리
이렇게 사용하면 로컬 PC에서 데이터베이스 서버를 구동해야 하는 부담을 덜 수 있다. 하지만, (내가 뭔가 설정을 잘못해서인지) Teldrive WebUI를 통해 업로드 및 파일/폴더 관리는 잘 되는데, 스트리밍/다운로드가 안 된다. 처음엔 잘 되었다가 조금 시간이 지나면 안 되는데, 아직 해결하지 못했다. 이 취소선을 그은 문제를 드디어 해결했다. config.toml 파일에 다음 두 가지 옵션을 추가하면 되는데, 다만, 두 옵션 모두를 추가해야 하는지, 아니면 그중 하나만 추가해도 되는지는 피곤하고 귀찮아서 테스트하지는 못했다.
[tg]
device-model = "rclone/v1.67.4"
disable-stream-bots = true
신의 가호로 모든 게 성공했다면, 로컬 DB 서버와 오라클 DB 서버를 사용하는 config.toml 파일 두 개를 사용하면 된다(예: teldrive run --config config1.toml).
비록 보잘 것 없지만 광고 수익(Ad revenue)은 블로거의 콘텐츠 창작 의욕을 북돋우는 강장제이자 때론 하루하루를 이어주는 즐거움입니다
0 comments:
댓글 쓰기
댓글은 검토 후 게재됩니다.
본문이나 댓글을 정독하신 후 신중히 작성해주세요