맥미니 서버를 재구축하면서 가장 큰 고민은 위키를 어떻게 구성할 것인가? 였습니다. 보통 글을 작성할 때는 마크다운(Markdown) 형식으로 글을 작성하고 저장 관리합니다.

처음 글을 작성할 때는 Visual Studio Code 혹은 MOU를 이용하였습니다. 저장한 파일은 시놀로지 CloudStation으로 공유(언제나 파일을 읽고 싶어서)합니다. 사실 텍스트 파일이기 때문에 파일 단위로 접근해서 볼 수 있지만 검색 & 체계적인 관리를 하고 싶어서 .md 로 저장된 파일을 위키로 표시해주는 서비스가 필요하였습니다. 그 때 Gollum이 매우 유용합니다.

나의 위키 구축 결과는 다음과 같습니다.

  • 맥 혹은 웹에서 .md 파일의 작성 & 저장
  • 위키는 웹에서 검색/보기 제공
  • 저장된 md 파일은 GFM(Github Flavored Markdown) 형식
  • 저장된 md 파일은 CloudStation의 wiki 폴더 아래에 모두 관리
  • 저장된 md 파일은 CloudStation <-> Wiki 서비스에서 실시간 동기화

Gollum 의 설치

Gollum의 설치 방법을 따라 설치합니다. 다음은 설치하면서 기록한 내용입니다.

1. brew 설치

Gollum을 MacOSX에 설치하기 위해서 brew를 이용합니다. brew가 설치되지 않은 경우에는 다음의 명령어로 설치합니다.

$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

2. gollum 의존 패키지 설치 (yosemite)

xcode를 이용하여 빌드할 수 있도록 다음과 같이 xcode-select를 설치합니다. cc 등을 사용할 수 있게 해줍니다.

$ xcode-select --install

OSX Yosemite의 기준으로 다음과 같이 설치합니다.

$ brew install icu4c
$ sudo gem install nokogiri -v '1.6.6.2' -- --use-system-libraries --with-xml2-include=/usr/include/libxml2 --with-xml2-lib=/usr/lib
$ sudo gem install charlock_holmes -- --with-icu-dir=/usr/local/opt/icu4c

3. gollum 설치

$ sudo gem install gollum

약간의 워닝이 발생하지만 무시하고 설치합니다. gollum 설치는 상당한 시간이 걸립니다. Ruby 관련 패키지 받는데 오래 걸린다고 생각되는데 커피 한 잔 하면서 기다립니다.

다음으로는 자신이 선호하는 Markdown 문법을 설치합니다. Github 문법이 깔끔하고 무난하기 때문에 아래 구문과 같이 GFM으로 설치합니다.

$ sudo gem install github-markdown

4. gollum 환경설정 (git)

설치과 모두 완료되면 git으로 md 파일들을 관리할 수 있도록 환경설정을 합니다.

5. 보안 설정

개인적으로만 사용하는 위키이지만 항상 개인정보 및 보안에 신경을 써야합니다. 간단하게 ID/Password로 인증할 수 있는 Basic Authentiation을 위해 authentication.rb라는 파일을 다음과 같이 생성합니다.

# authentication.rb
module Precious
    class App < Sinatra::Base
        use Rack::Auth::Basic, "Restricted Area" do |username, password|
            [username, password] == ['아이디', '암호']
        end
    end
end

Ruby는 잘 안 써보았지만 이런 쉬운 설정 방법들을 보면 한 번쯤 공부해보고 싶은 언어입니다. 위와 같이 ID, PW를 설정한 뒤 다음의 명령어를 입력하면 gollum을 실행할 수 있습니다.

$ gollum --config authentication.rb

운영

Gollum Wiki

설치는 간단하게 성공하였습니다. 이제 Markdown 기반으로 글을 관리할 수 있고 이력을 Git으로 남길 수 있습니다.

실행 환경 구축

이제 위키를 OS X luancher에 등록하여 자동으로 실행하고 아파치 웹서버에 Proxy로 등록해서 도메인으로 접속할 수 있도록 설정합니다. OSX에서 서비스로 등록하고 설정하는 방법은 http://www.nomachetejuggling.com/2012/05/15/personal-wiki-using-github-and-gollum-on-os-x/ 글을 참고하였습니다.