Ghost Blog 를 Windows IIS 에서 사용하기

첫 글

을 쓰기 위해 여러 블로그들을 돌아봤는데, 그 중에 괜찮은 블로그 도구인 Ghost blog를 발견하고, 설치형은 무료라길래 냉큼 서버에 설치하는 만행을 저질렀다(..)

이제부터 시간이 될 때마다 블로그에 글 작성을 하려고 노력 해보려고 하고, 또한 Markdown 을 좀 더 잘 사용해보려고 연습 해보려고 블로그에 글을 작성할 생각이다. (제발 생각만으로 끝나지 않기를...)

첫 글은 그 염원을 담아서 Ghost Blog 를 Windows 서버에 설치하려고 삽질한 내용을 공유해 볼 생각이다.

Ghost는 Blog이고, 글을 작성할 수 있는 프로그램이다. [검색 : 고스트 블로그]
당신이 만약 위의 링크를 눌러보았다면 검색을 통해서 기본 정보들을 획득(..) 하였을 것이다.

Nodejs 로 만들어져서 서버 호스팅에서 지원하는 곳이 극히!! 없다고 해도 과언이 아니다. 그리하여 서버를 돌릴 수 없다면 그냥 자신의 PC(or Mac)에서 설치해서 일기(는 일기)장으로 쓰기에 안성맞춤이다.

모든 오픈 소스가 그러하듯.. *nix 계열 OS에 좋은 형식으로 되어져 있었기 때문에 mac에서는 겁나 하라는대로 따라 하면 금방 설치되던데.....Windows는 그게 아니더라 그래서 검색을 통해서 여러가지 문제를 처리할 수 있었다.

Ghost Blog Windows IIS 에서 사용하기

  1. Node.js 설치
    http://nodejs.org/ 들어가서 4.x 대 버전을 받는다.
    5.x 대 버전은 아직 Ghost가 지원하지 않더라. 2016년 1월 기준

  2. IIS Node 설치
    Windows 서버들은 기본적으로 IIS를 설치해서 사용한다. 그러다보니 http 80번 포트는 IIS에서 사용한다.
    IISNode - nodejs 를 IIS 랑 연결해주는 Plugin 프로그램을 설치한다. 설명서(Readme)를 보면 중간에 Installing for IIS 7.x/8.x 부분가서 서버 pc에 알맞은거 선택하면 된다. 설치 다 하고 나면 %programfiles%\iisnode\setupsamples.bat 실행(Admin 권한으로 실행) 해주고 서버에서 (iis default site가 존재한다는 가정하에) http://localhost/node 들어가서 잘 뜨나 확인하자.

  3. IIS URL Rewrite 2.0 설치
    설명서를 제대로 안 읽으면 나처럼 된다. 이거 왜 안되지?? 하면서 보낸 시간이 조금(..) 된다. Prerequisites for using 이라고 써있는 곳에서 꼭 설치하라고 되어있다.
    URL Rewrite : The Official Microsoft IIS Site

  4. Config.js 파일 수정하기
    Ghost 파일을 받았으면 적당한 폴더에 압축을 해제 한다.
    이후에 [압축 해제한 폴더]/config.js 가 존재한다. 파일을 편집기로 열어서 port: process.env.PORT 로 변경해줘야 한다. /config.js

  5. /core/index.js 파일 수정하기
    [압축 해제한 폴더]/core/index.js 를 열어서 아래와 같이 변경해주자. process.env.NODE_ENV = process.env.NODE_ENV || 'production'; core/index.js

  6. web.config 파일 만들기
    [압축 해제한 폴더]/web.config 파일을 아래의 코드로 만든다.

<?xml version="1.0" encoding="utf-8"?>  
<configuration>  
  <system.webServer>
    <httpErrors existingResponse="PassThrough" />
    <handlers>
      <add name="iisnode" path="index.js" verb="*" modules="iisnode" />
    </handlers>
    <iisnode
      node_env="%node_env%"  
      loggingEnabled="true"
      nodeProcessCommandLine="&quot;%programfiles%\nodejs\node.exe&quot;"
      />
    <rewrite>
      <rules>
        <rule name="Ghost">
          <match url="/*" />
          <conditions>
            <add input="{PATH_INFO}"
                 pattern=".+\.js\/debug\/?"
                 negate="true" />
          </conditions>
          <action type="Rewrite" url="index.js" />
        </rule>
      </rules>
    </rewrite>
  </system.webServer>
</configuration>  
  1. 폴더 권한 주기
    탐색기로 이동해서 폴더에 사용 권한을 부여해야 한다. /content/data/content/images 두 폴더는 수정 권한 까지 줘야한다. 만약에 권한 주는 방법을 모르거나 귀찮으면 IIS 설정 > Application Pool 관리 > Identity > ApplicationPoolIdentity 로 설정하면 괜찮다. ApplicationPoolIdentity

  2. 이제 사이트에가서 로그인을 해보도록 하자.
    만약 안된다면 log 를 볼 줄 아는 사람이 필요하다. -_-;; 하지만 이 글을 읽는 당신은 log 정도는 볼 수 있....(지 않을려나??)

그 덕에 나는 이렇게 블로깅을 하고 있다.

아래의 URL들의 도움이 많이 되었다.

https://www.google.co.kr/search?q=ghost+blog+사용기
https://www.google.co.kr/search?q=nodejs+windows+iis
https://github.com/tjanczuk/iisnode
https://www.google.co.kr/search?q=nodejs+80+windows+ghost
http://schwarty.com/2014/07/06/setting-up-ghost-blog-on-windows-with-iis-8-x/

Ssemi

Read more posts by this author.