최근에 자료 정리를 위해 시놀로지 NAS를 이용하여 파일서버를 구축했다.
시놀로지 NAS에 지식 정리를 위한 블로그 또한 구축하고자 마음먹었는데, HTML, CSS, Javascript 등의 웹 언어를 이용하여 서비스를 구축하기에는 많은 노력이 필요하다고 판단했다.
따라서, 비교적 간편하게 블로그를 구축하기 위한 도구를 다음 두 가지로 분류하여 비교했다.
- Contents Management System (CMS): WordPress, Shopify, Joomla 등…
- Static Site Generator: Jykill, Hugo 등…
WordPress를 이용하여 블로그를 구축해본 경험이 있는데, 본인이 경험하거나 예상하는 CMS의 문제점을 다음과 같이 정리할 수 있었다.
- 보안이 취약하다. (WordPress 한정)
- 예를 들어, 기본 설정상태에서는 (URL)/wordpress/wp-admin.php 페이지로 접근하면 로그인을 시도할 수 있다.
- 또한, wp-config.php 파일에서는 DB명, 관리자ID, 암호 등을 모두 평문으로 관리한다.
- 이외에도, 제로데이 취약점이 발견된 경우에 공격이 들어올 수 있다.
- 플러그인과 소스코드 수정 등으로 위 취약점 일부를 보완할 수 있으나, 개인 블로그를 구축에 많은 노력을 기울이긴 어렵다고 판단했다.
- 웹 서비스를 위해 DBMS를 사용한다.
- 잘 관리하지 않으면, 보안이 취약할 수 있다.
- 시놀로지 OS 업데이트시, DB가 꼬이는 등의 문제로 인해 웹 서비스가 마비될 수 있다.
- 웹페이지 파일 뿐만 아니라 DB 파일 등도 모두 백업해야 하기 때문에, 백업 과정이 복잡하다.
- 백업 플러그인이 대부분 유료거나 부분유료이다.
반면, Static Site Generator는 다음과 같은 장점을 가진다.
- 오픈소스 기반인 도구가 많다.
- 무료로 제공하는 테마가 많다.
- 많은 사용자가 기능 추가 방법을 정리해두었다.
- 마크다운 위주의 컨텐츠 작성이 가능하다.
- 웹 서비스를 위해 DBMS가 필요하지 않다.
- 테마에서 제공하는 간단한 컨텐츠 작성 방법이 존재한다.
- 이외에도, 많은 사용자가 정리한 기능 추가 방법을 사용할 수 있다.
- 빌드 결과가 정적 페이지들로 이루어져있다.
- 비교적 보안 관리가 용이하다.
- 블로그 백업이 용이하다.
- Github Pages, Netlify 등의 정적 페이지 호스팅 서비스도 활용 가능하다.
위와 같은 분석 결과를 근거로, 블로그 저작에 Static Stie Generator를 사용하기로 했다.
Static Site Generator 중 Hugo를 선택한 이유는 다음과 같이 정리할 수 있다.
- Hugo가 Jykill보다 빌드 속도가 빠르다. (대규모의 웹페이지를 작성하는 것이 아니기 때문에, 저작 도구 선택에 큰 영향은 미치지 않았다.)
- Hugo와 Jykill의 테마를 확인해본 결과, Hugo Refresh가 가장 마음에 들었다.