2008년 11월 18일 화요일

trac svn ssl 한글

참조 url :
http://kldp.org/node/84957
http://blog.daum.net/superman2up/8448779
- 글 올리신 분들께서 삭제 요청하시면 바로 삭제합니다.

debian 혹은 ubuntu에 설치 방법.

기본 설치
# apt-get install apache2 sqlite subversion python-setuptools
libapache2-mod-python libapache2-svn libapache-mod-dav openssl


svn root directory and trac root directory
/data/svn
/data/trac


프로젝트(test) 별 사용하는 디렉토리

/data/svn/test
/data/trac/test


권한 설정

# chown -R www-data.www-data /data/svn/data
# chown -R www-data.www-data /data/trac/data


ssl 설정

# openssl req -new  -x509 -nodes -out server.crt -keyout server.key

어쩌구 저쩌구 나오는데 common name에 사용하고자 하는 site의 url을 적어준다. (www.test.com)
# key, crt 파일을 /etc/apache2/ssl/ 로 이동후에 key파일은 600권한으로 변경한다.

apache2 설정

NameVirtualHost *:443
(VirtualHost *:443)
DocumentRoot /var/www-ssl

SSLEngine On
SSLProtocol -all +TLSv1 +SSLv3
SSLCipherSuite HIGH:MEDIUM:!aNULL:+SHA1:+MD5:+HIGH:+MEDIUM
SSLOptions +StrictRequire
SSLVerifyClient none
SSLCertificateFile    /etc/apache2/ssl/server.crt
SSLCertificateKeyFile /etc/apache2/ssl/server.key

(Location /svn)    # Subversion 설정
DAV svn

# any "/svn/foo" URL will map to a repository /data/svn/foo
SVNParentPath /data/svn

AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/dev_passwd
Require valid-user
(/Location)

(Location /projects) # Trac 설정
SetHandler mod_python
PythonHandler trac.web.modpython_frontend
PythonOption TracEnvParentDir /data/trac
PythonOption TracUriRoot /projects

AuthType Basic
AuthName "Trac, Issue Tracking and Documenting"
AuthUserFile /etc/dev_passwd
Require valid-user
(/Location)
(/VirtualHost)


사용자 생성

# htpasswd -cm /etc/dev_passwd user1
# htpasswd -m /etc/dev_passwd user2


저장소 생성

# svnadmin create /var/lib/svn/test
# svn mkdir file://localhost/var/lib/svn/test/branches -m "initial structure1"
# svn mkdir file://localhost/var/lib/svn/test/tags -m "initial structure2"
# svn mkdir file://localhost/var/lib/svn/test/trunk -m "initial structure3"


trac 설정

# chown -R www-data:www-data /usr/share/trac
# trac-admin /var/lib/trac/test initenv
# /etc/init.d/apache2 restart

후에
https://<서버주소>/projects 로 프로젝트가 보이면 설치 완료

한글이 안보일 경우

# easy_install babel
# easy_install Pygments
# easy_install docutils
# easy_install epydoc
# easy_install textile
# easy_install trac


한글화 관련 파일
다운로드

# unzip core.zip

babel 설치

# svn co http://svn.edgewall.org/repos/babel/trunk babel
# cd babel
# ./setup.py egg_info
# ./scripts/import_cldr.py 
# ./setup.py install


여기까지가 babel 설치

# ./setup.py test

ok 확인이면 완료(이상없이 진행되었다.)
이상이 있으면 (# easy_install pytz 실행)

# easy_install http://svn.edgewall.org/repos/getnshi/trunk
# ./setup.py test_doc

(dates.txt에서 에러 뱉어주신다. - skip)

trac 설치

# svn co https://svn.edgewall.com/repos/trac/trunk trac-trunk
# cd trac-trunk
# ./setup.py compile_catalog --use-fuzzy
# ./setup.py install


기존에 영문으로 나오던게 한글로 나오게 된다.

2008년 10월 31일 금요일

oracle table script 만들기

우선 export시 table scheme만 추출한다.

$ exp id/passwd file=./temp.dmp log=./log.log compress=n rows=n


dmp 파일을 이용해서 table create script를 생성한다.

$ imp id/passwd file=./temp.dmp indexfile=./create.sql full=y


create.sql 파일 보면 REM 부분 삭제하고 새롭게 생성할 user와 tablespace, indexspace 명을 바꿔주면 바로 생성가능하다.

2008년 9월 2일 화요일

windows python soappy

windows에 python을 설치하고 soaapy를 사용할려고 module을 설치할려고 하는데 에러가 난다.

SyntaxError: from __future__ imports must occur at the beginning of the file

server.py, client.py, types.py 이 세개 파일을 찾아서 열어보면

ident = '$Id: Server.py,v 1.21 2005/02/15 16:32:22 warnes Exp $'
from version import __version__
from __future__ import nested_scopes

이 부분을

from __future__ import nested_scopes
ident = '$Id: Server.py,v 1.21 2005/02/15 16:32:22 warnes Exp $'
from version import __version__

이렇게 변경후에 모듈을 설치하면 정상적으로 사용이 가능하다.

python openssl

openssl을 설치한 후에 CA.sh 파일을 찾는다.(/usr/lib/ssl/misc/CA.sh) 이 파일을 가지고 테스트할 key를 생성한다.

$  CA.sh -newca
$ CA.sh -newreq
$ CA.sh -sign
$ cat newkey.pem newcert.pem > server.pem
$ rm newcert.pem  newkey.pem  newreq.pem
$ CA.sh -newreq
$ CA.sh -sign
$ cat newkey.pem newcert.pem > client.pem
$ rm newcert.pem  newkey.pem  newreq.pem
$ cp demoCA/cacert.pem .

이렇게 하면 server.pem, client.pem, cacert.pem 세개의 파일이 생성된다.
twisted나 soap을 이용할때 ssl을 이용할 수 있다.

참조 url : http://twistedmatrix.com/pipermail/twisted-python/2007-May/015357.html

2008년 8월 1일 금요일

python 한글

python에서 뭐좀 할려고 하면 한글에서 자꾸 에러를 뱉어주신다.(히드라도 아니고...)
mysql 한글은

set_character_set('utf8')
execute("""set names utf8""")

시스템에서 현재 서버의 python 버전을 체크한 다음에 해당 디렉토리에 생성한다.

# /usr/lib/python*/site-package/sitecustomize.py
import sys
sys.setdefaultencoding('utf-8')

에 추가한다.

요것만 해주면 잘 돌아가 주신다.