본문 바로가기

문당(文堂)

아이디어 - 티들리위키 5를 이용한 개인 커뮤니티(일종의 'CMS' 구축)

상황 : 개인적인 생각이나 스크랩 자료 등을 보관할 간단한 CMS(ContentContents Management System) 사이트를 구축하려고 함. 기존에 XE를 사용하였으나 개인적 사정으로 폐쇄, Microsoft Teams는 너무 무거웠고 네이버 카페나 네이버 밴드의 경우 아이디가 해킹당하면(털리면) 개인 CMS 뿐 아니라 다른 가입된 카페/밴드까지 다 유출된다는(털린다는) 문제점이 있음. 카카오 아지트나 콜라비를 써봤지만 '내 공간'이라는 느낌이 들지 않음.

문제점 : XpressEngine(XE), Wordpress(설치형), phpBB 등의 서비스는 반드시 '서버'가 있어야 함. 그런데 서버를 개인이 직접 구축하기엔 무리가 크므로 '호스팅'을 받아야 하는데 이 비용도 부담이 될 수 있음. 또한 자칫 잘못하면 데이터 유출의 우려가 있으므로 관리를 잘해주어야 함. 이것은 바쁜 생활에서 간단히 사용하기에는 부담.

대안 1 : 시놀로지, 큐냅 등의 NAS를 구입해서 서버를 구축한다.

대안 1의 장점 : 한번 구입 시 호스팅 비용은 들지 않음. 또한 내가 직접 관리하는 서버고 관리만 잘해준다면 일반 호스팅에 비해 비교적 안전

대안 1의 문제점 : 이미 무제한 용량의 Google Drive를 가지고 있기에 NAS를 구입해도 '서버' 용도로 밖에 활용할 수 없음. 그런데 '서버'용도로 구입을 해야 할 만큼 NAS 장비가 절실한 것은 아님. (탁상용 블루투스 스피커 정도의 사이즈로 간이 서버가 출시된다면 또 모르겠지만)

대안2 : 카카오 아지트, Microsoft Teams, 네이버 카페, 네이버 밴드, 콜라비 등의 서비스를 활용한다.

대안 2의 장점 : 서버를 구축할 필요도, 복잡한 관리도 필요 없음. 계정만 잘 관리하면 됨.

대안 2의 단점 : '내 공간'이라는 느낌이 크게 안 들고 데이터 유출에 대한 우려가 존재함.

대안 3 : TiddlyWiki를 이용한다.

대안 3의 단점 : '언제 어디서나' 접근할 수 있도록 만드는 게 쉽지 않음

대안 3의 장점 : 쉽다, 심플하다, 아기자기한 맛이 있다.

 

하여 가장 간단하면서도 나름대로 확실한 듯하여 티들리 위키로 결정했다. 하지만 문제가 있었다. 티들리 위키는 HTML 파일 하나에 모든 게 들어가는 방식이다. 따라서 기본적으로 한대의 장치에서만 쓸 수 있다. 컴퓨터에서 위키를 수정하면 그건 그 컴퓨터에 있는 그 파일에만 남는다.

나에겐 3개의 컴퓨팅 디바이스가 있다.(컴퓨터, 스마트패드, 스마트폰) 이 중 스마트패드는 최근 컴퓨터에 오래 앉아 있어야 할 일이 생기면서 잘 안 들여다 보기는 하지만 어쨌든 거기서도 보도록 할 필요가 있고, 스마트폰은 아침에 눈떴을 때 잠깐, 잠에 들기 전에 잠깐씩 볼 필요가 있다.

 

그래서 돌아가지도 않는 머리를 굴려보니 두가지 아이디어가 나왔다.

(1) 구글드라이브와 동기화를 한다. (2) 아니면 큰맘 먹고 NAS를 산다.

 

1번은 좋은데 문제는 스마트기기측에서는 동기화가 안된다는 점이다. PC에서는 구글 드라이브 파일스트림을 이용하면 자동 동기화가 되는데 안드로이드와 iPadOS에서는 쓸만한 자동 동기화 앱이 없는듯 하다. (자동 동기화 조건 : 앱을 일부러 실행시키지 않아도 백그라운드 동기화가 될 것, 전원 연결이 되어 있지 않아도 동기화가 될 것, Wi-Fi가 연결되어 있지 않는 상황에서 Wi-Fi가 연결되는 상황으로 전환되어도 동기화가 깨지지 않을 것.)

2번은 겨우 '서버'기능 하나를 위해 NAS를 사기에는 조금 그랬다.

그래서 생각해 낸게 안드로이드폰을 만능 머신으로 바꾸어주는 Termux에 서버를 돌리자는 것이었다. Windows10에서는 리눅스 운영체제를 내부에 설치해서 사용해 볼 수 있다. 이를 생각하면 된다. Termux는 쉽게 말하면 루팅 없이도 사용 가능한 리눅스 운영체제를 실행시켜주는 앱이다. 쉽게 말해서 하나의 리눅스 운영체제를 앱으로 만들었다고 생각하면 된다. (물론 쉽게 말해 그렇다는 것이다.)

그런데 Termux에 서버를 돌리려고 보니 잘 안되었다.

그래서 구글 플레이스토어에서 APM(Apache + PHP + MySQL의 약자로 인터넷 웹서버를 구축할 수 있게 해주는 프로그램)을 검색해서 설치했다. (사용한 앱은 KSWEB라는 앱)

과거 안드로이드 4.0 시절에 비해 안드로이드가 발전한 탓인지 비교적 잘 된것 같다.

 

복잡하게 FTP니 SSH니 이런것 필요 없다.

 

폰에 미리 넣어둔 티들리 위키 파일을 안드로이드 폰의 파일 관리 앱을 이용해 메인 메모리(보통 /sdcard 등)의 htdocs 디렉터리에 옮겨 준다.

 

하지만 문제가 있다. 이렇게만 해갖고는 컴퓨터나 폰 등에서 티들리 위키를 접속해서 볼 수는 있으나 딱 거기까지다. 수정한 내용을 적용(저장) 할 수도 있어야 한다. 그래서 티들리 위키에 접속해서 수정후 저장까지도 할 수 있는 방법을 아래에 요약해 두었으니 참고하기 바란다.

 

내 안드로이드폰을 티들리위키를 구동하는 서버로 만들기 (Android 10 기준)

1. 사전에 안드로이드 폰에 티들리 위키 파일을 저장해 놓는다. (PC에서 안드로이드로 옮기는 방법 : (1) USB로 연결 후 옮김, (2) Send Anywhere이용 (3) Google Drive 등의 클라우드 서비스 이용 (4) 카카오톡 PC버전에서 '내 카톡'에 파일 전송 후 폰에서 다운로드 등등)

2. 구글플레이스토어에서 KSWEB을 검색 후 설치한다. - 앱이 안 보인다면 해당 기기 혹은 안드로이드 버전에서는 설치할 수 없는 것이다. 다른 APM앱을 알아보는 것이 좋다.

(설치 후 5일간 무료고 이후에는 유료 구입을 해야 한다.(기본기능만 있는 스텐다드 버전은 3천 900원, 프로버전은 5천원) 하지만 아무리 싸도 15만 원 정도 하는 NAS구입비용에 비하면 거의 공짜라고 볼 수 있다. 귀중한 앱을 만들어주고 5일 동안 체험까지 하게 해 준 개발자에게 감사하는 표현이라고 생각하자.)

3. 앱을 실행하고 저장소 권한을 준다. 그리고 서버가 실행된 것을 확인 한다.

4. 1에서 저장해 놓은 파일을 안드로이드 파일 탐색 앱을 이용해 내장 메모리의 htdocs 디렉터리에 이동한다.

5. PC상에서 사이트에 들어가서 녹색의 네모 모양 Code라는 이름의 아이콘을 눌러 파일을 다운로드하고 압축을 풀어 준다.

6. 4에서 다운 후 압축을 풀어준 파일에서 tw-receiver-server.php 파일을 찾아서 메모장 등으로 열어 준다.

7. 파일 위에서 4번째 줄에 hello i'm a short friendly password라는 텍스트가 있다. 이 텍스트를 지우고 설정할 암호를 입력해 준다. (이때 hello i'm a short friendly password를 감싸는 ""(큰따옴표)가 지워지지 않게 주의)

8. Ctrl + S를 눌러 저장해 준다.

9. 7번과 8번 단계를 거친 tw-receiver-server.php파일을 스마트폰 내장 메모리의 htdocs 디렉터리에 옮겨 준다.

10. 컴퓨터 등에서 웹브라우저를 열고 http://스마트폰 IP:8080/파일 이름. HTML을 입력한다. (파일 이름은 1에서 htdocs에 옮겨놓은 파일을 말함.)

11. 티들리 위키가 정상적으로 열리는 것을 확인 후 오른쪽 사이드바에 들어가서 ∨ 버튼을 누르고 '가져오기'를 누른다.

12. 파일 선택창이 뜨면 4에서 압축을 풀어준 파일에서 plugin_sendwheel_tw-receiver.json라는 파일을 열어 준다.

13. 어떤 화면이 표시되면 아무것도 건드리지 말고 '가저오기' 버튼을 누른다.

14. 화면 상단에 저장을 하고 새 로고 쳐야 한다는 창이 뜨면 저장 버튼과 새로고침을 눌러 준다.

15. 이후 티들리위키 15. 이후 티들리위키 설정판에 들어간다.

16. '플러그인'탭을 누르고 '플러그인'에서 'tw-receiver'를 눌러 준다.

17. 항목이 활성화되면 '$:/plugins/sendwheel/tw-receiver/tw-receiver-ui'를 눌러 준다.

18. 항목이 활성화 되면 Secret Key에 7에서 설정해준 암호를 입력한다. 그리고 Filename의 항목을 내 티들리위키 파일의 이름으로 바꾸어 준다.

19. Enable에 체크를 하고 바뀜을 저장해 준다.

20. 이제 어디서든 폰의 서버로 티들리위키에 접속하여 변경한 사항은 자동 저장된다.