이 문서는 CenterStageCafe24에 이식해서 동작시키면서 작성하였다. 차후 다시 다른 곳에 마이그레이션이 필요할때 참고하면 된다.


Introduction

Log

  1. 계정 확보 http://cafe24.com 에 유료

    • 비용 : 1달 500원, 초기 세팅비 5000원 1년 결제했다. 10400원 계정 200M
    • 계약기간 2006-07-31 ~ 2007-07-30

Stand Alone

일단 CenterStage 폴더에서 이렇게 띄운다.

nohup start_standalone.py &

서버 관리자 분에게 메일 결과 이렇게 하지 말라고 했다. 흠. 사서 고생인가, 다행스럽게도 Python 2.4 을 업그레이드 해주었다. 다음에는 vim 7.0 좀 설치해달라고 해야지 과연 해줄까나.. :-)

cgi on Apache

일단, standalone 으로 윤곽을 잡고 다시 작업! ScriptAlias 없어도 잘 돌아가는구나.

시작 CGI 파일 잡기

기본 제공되는 cgi 파일에서 패스만 잡아주면 된다.

   1 #!/usr/bin/env python
   2 # -*- coding: utf-8 -*-
   3 import os
   4 from os.path import dirname, join, normpath,abspath, exists
   5 def normjoin(*paths):
   6     return normpath(join(*paths))
   7 prefix=normjoin(abspath(dirname(__file__)),'CenterStage')
   8 # System path configuration
   9 import sys
  10 sys.path.insert(0, normjoin(prefix,'config'))
  11 sys.path.insert(0, normjoin(prefix,r'./share/Lib/site-packages'))
  12 
  13 from MoinMoin.request import RequestCGI
  14 request = RequestCGI()
  15 request.run()

이 CGI로 오기위한 index.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
  <head><meta http-equiv="refresh" content="0;URL=http://neocoin.cafe24.com/cs.cgi"></he>
  <body>Click <a href="http://neocoin.cafe24.com/cs.cgi">here</a> to go to the CenterStage.</body>
</html>

이미지를 위한 경로를 링크로 잡고

config 파일은 건드리기 싫어서, 기본 이미지 및 자원 디렉토리를 symbolic link wiki 로 연결시킨다. 그리고 wiki 디렉토리로 url 로 잘못와도 대문을 향하도록 index.html 도 symbolic link!

ln -s ..생략../htdoc www/wiki
ln -s ..생략../www/index.html index.html

단축키를 위한 JavaScript 잡고

HotKey 중 이런 마이그레이션에 영향을 받는 것은 주소가 들어 있는 자바스크립트로 구현된 녀석들 뿐이다. kbd.js 에 prefix 값만 http://neocoin.cafe24.com/cs.cgi/ 로 변경!

NanoStage와 연결을 위해서 위의 같은 방법 반복

ns.cgi 스크립트 파일로 연결시켰다. 단, cgi farmconfig.py 를 하든, 이므로 어떻게 접근하냐의 문제가 발생하는데 일단 farmconfig.py 로 다중 위키 정책을 따랐다. 그래서 cs.cgi 에 동일 위치에 ns.cgi이름으로 링크 시키고 다음 세팅으로 바꾸었다.

wikis = [
    #('nano',        r'^(127.0.0.1|ns).*$'), #Standalone Server
    ('nano',        r'^.*ns\.cgi.*$'),       #cgi
    ('center',      r'^.*'),
    ]

이 부분이 구동방법에서 기존 Python 소스를 건드린 유일한 부분 같다. 저 두세팅을 하나로 만들 방법을 강구해 봐야 한다.

설치 용이와 소스를 열어두기 위한 방법

CenterStageExtension/ParserCenterStageExtension/Macro에 구동중이고 추가된 Local 스크립트들을 링크시켜두었다. 위험성 때문에 타인은 수정 못하는 권한 부여, *Nix 만세!

Tip

vi에서 utf-8 수정하기

vimrc

set enc=utf-8
set fenc=utf-8
map <F5> :w<CR>:!python % <CR>
set nu

기본 인코딩 utf-8 그러나 Python에서는 반드시 가장 상단에 encoding utf-8 을 써주어야만 제대로 동작한다.

putty접속시 창->변환 에서 수신한 데이터를 utf-8로 가정하도록 바꾼다.


CategoryProject

CenterStageOnCafe24 (last edited 2012-06-29 14:39:59 by NeoCoin)