General idea

들어가며

블로그 호스팅을 해주는 서비스 업체의 블로깅 서비스를 이용하면 여러 가지 편한 점이 많은데, 개인 블로그로 인터넷에 돌아다니는 정보를 스크랩해서 약간의 광고수익을 노리는 사람이 아니라면, 대개 블로그에 찾아오는 사람도 많지 않고 대부분 기록에 중점을 두게 된다. 이 기록을 블로그 업체가 잘 보관해주긴 하지만 내가 원하는 형태로 보관을 해주는 것도 아니고, 내가 가져다가 편하게 이리 저리 바꿔 쓰기도 불편하다. 또 내가 원하는 형식으로 작성할 수도 없고 블로그 업체에서 돈을 들여 플랫폼을 전반적으로 뜯어고치기 전까진 답답한 인터페이스로 계속해서 작업을 해야한다.

그런 의미에서 개인이 자신의 시스템으로 블로그를 호스팅하는 것도 방법이다. 요새처럼 미니보드 PC가 흔해진 세상에서는, 또 가정으로 들어오는 인터넷의 속도가 엄청나게 빠르고 특별한 트래픽 제한이 없는 상황에서는 블로그 업체에 특별히 의존할 필요도 없고, 데이터를 보관하는 것도 다양한 클라우드 업체를 이용하여 정기적으로 백업/업데이트 할 수 있으므로 설정만 잘 해놓으면 이 편이 훨씬 더 안전하다고 볼 수 있다. 다만 유명 블로거가 되어 유입 트래픽을 감당할 수 없는 경우라면 개인이 호스팅하는 것은 그다지 좋지 못한 방법일 수 있다.

어떻게 하면 되나?

고전적인 방법은 APM (apache+php+mysql)을 이용하고 wordpress와 같은 플랫폼을 이용하는 것인데, 이렇게 사용하는 사람들이 매우 많은 것으로 알고 있다. 그런데, 이 방법을 쓰면 사실 좋은 장비에 호스팅하고 있는 경우라면 모를까 개인이 미니보드PC를 통해서 호스팅하기엔 다소 불편함이 있다. wordpress 자체가 php 기반으로 돌고 있지만, 외부와도 접속을 이런 저런 이유로 자꾸 시도하고 개인 블로그로서는 사실상 별 필요없는 기능들을 많이 가지고 있기 때문에 속도가 느리다. 사실 블로그의 기능은 이미 작성된 내용을 잘 보여줄 수 있으면 그뿐이다. 방명록이나 리플을 다는 기능들은 그다지 사용빈도가 높지 않을 뿐더러 외부에서 악용하려는 시도가 있고, 그 때문에 이들을 구분하는 기능을 붙이고..그런 식으로 자주 사용하지 않는 기능 때문에 불필요한 기능이 계속해서 달라붙는 악순환을 거듭하게 된다. 워드프레스도 플러긴이 상당히 많아서 스스로 퍼블리싱한 내용을 스냅샷으로 찍어 저장해두고 또 다른 요구 시도가 있을 땐 저장된 snapshot을 내보내는 cache 기능이 있긴 하지만 역시 빠르고 기민하지 못하고, 작성과 수정을 거듭할 때엔 역시나 효율이 좋지 못하다.

또 apached와 같은 webserver도 기능을 많이 탑재하고 있는 관계로 무겁고, 그렇다고 lighttpd 같은 가벼운 웹서버를 사용하려면 또 나름의 부담이 있다. 이번 기회에 apache와 lighttpd를 모두 접할 기회가 있었는데 확실히 동작은 lighttpd가 빨랐다. 또 서버 설정 측면에 있어서도 훨씬 직관적인 면이 있었는데, 개인이 사용하기엔 lighttpd가 좋겠다는 생각이다.

블로그 플랫폼도 되도록이면 기능이 최소화되고 블로그를 보여주는 부분 역시 불필요하게 dbms를 굴리는 것 보단 file based로 움직이는 게 편하다고 보는데, 그런 면에 있어서는 grav가 여러 가지로 유리해 보였다. 문서작성은 markdown으로 하고, wordpress만큼은 아니지만 theme이며 plugin도 나름 충실해서 블로그 뿐만아니라 다양한 용도로 활용이 가능하게 되어있다는 것이 장점이다.

어떻게 사용하나?

일단 grav 사이트로 가서 필요한 것들을 다운 받거나 github에서 pulling하면 된다. apache와 php는 필요하다. apache가 아니면 nginx/lighttpd도 가능하고 물론. 검색 기능이라든가 방명록을 통해 메일보내는 기능 등등은 모두 php를 이용한 것인데, 나쁘지 않다. 오히려 유명 포털에서 제공하는 블로그에 들어가서 뭔가 작업하는 것보다 훨씬 더 일에 집중이 잘 된다. 불필요한 광고나 시선을 끄는 뉴스들이 보이지 않으니까 말이다.

Grav는 일종의 플랫폼의 형태를 취하려했는지 모르지만, git을 활용해서 수시로 업데이트가 가능하게 했고 theme 역시 같은 방법으로 굴러가게 되어있어서 간편하다. 현재 이 사이트도 grav로 만들었다. 사실 다른 블로그 플랫폼을 들여다가 설치해놓고 비교하느라 많은 시간이 걸렸지 grav라는 플랫폼 자체의 설치는 매우 직관적이고 설정도 간편하다.

HTTPS 지원

요새 대부분의 사이트들은 HTTP가 아닌 HTTPS 사이트들이다. HTTP로 접속하면 HTTPS로 redirection 시키게 되어있기도 하고 아예 열어놓지 않는 경우도 있다. 서버 인증서의 경우 별도 인증기관에 돈을 내고 받도록 되어있긴 하는데, 꼭 그럴 필요 없이 let’s encrypt 같은 무료 기능을 이용해서 발급과 갱신을 할 수 있다. 이것은 사실 갱신용 스크립트를 crond을 이용해서 주기적으로 갱신받도록 하면 별 문제 없이 오래도록 사용할 수 있다.

Blog 작성

작성은 외부 어디에서든 작성이 가능하지만, 여러 가지 blog를 동시에 업데하고 관리하기 위해서 git과 xcode를 사용하여 작성 관리한다. Visual studio code도 사용하지만 편의성은 xcode가 훨씬 높다. Xcode로 무슨 blogging을 하느냐 할 수 있는데, Xcode는 git과 markdown을 잘 지원한다. Xcode에 100점을 준다면 VS code에는 70점 정도 주고 싶을 정도다.

이 과정에서 여러 가지 노우하우나 팁이 필요하다. 일단 어느 정도 스스로 팁을 만들어가게 되면 작성하기가 매우 편리해진다. 구조도 수시로 바꿀 수 있고 내용도 수시로 업데이트할 수 있다. 물론 나란 사람의 관심사가 왜 이렇게 다양하고 넓고 집중력이 없이 이곳 저곳 우왕좌왕하는지도 수 없이 많은 폴더가 널려있는 것을 보면서 파악할 수 있다. 그러나 이 작업이 좋은 것은 이런 작업 마저 하지 않으면 내가 어떤 생각으로 머릿속이 복잡한지 알 수 없는데, 비록 hierarchical한 정도가 그리 높진 않아도 이런 식으로 정리를 하고 보면 내게 필요없는 어떤 생각/관심의 가지를 쳐내야 할지 알 수 있게 된다.