1. sqlite 설치
# wget http://www.sqlite.org/sqlite-amalgamation-3.6.16.tar.gz
# tar xvfz sqlite-amalgamation-3.6.16.tar.gz
# cd sqlite-3.6.16
# ./configure
# make
# make install
2. python 설치
1) 패키지 다운로드 및 작업 디렉토리 진입
# cd
# wget http://www.python.org/ftp/python/2.6.6/Python-2.6.6.tgz
# tar xvfz Python-2.6.6.tgz
# cd Python-2.6
2) 기존 python에 덮어 쓰지 않게끔 설정
3) 컴파일 및 설치
# make
# make install
4) root의 .bash_profile 추가
5) 심볼릭 링크 생성
6) 공용라이브러리 등록
# cat >> /etc/ld.so.conf.d/opt-python2.6.conf
/opt/python2.6/lib (hit enter)
(hit ctrl-d to return to shell)
# ldconfig
7) setuptool 설치
# cd
# wget http://pypi.python.org/packages/2.6/s/setuptools/setuptools-0.6c9-py2.6.egg
# sh setuptools-0.6c9-py2.6.egg --prefix=/opt/python2.6
8) MySQLdb 패키지 설치:
# cd
# wget http://sourceforge.net/projects/mysql-python/files/mysql-python-test/1.2.3c1/MySQL-python-1.2.3c1.tar.gz/download
# tar xvfz MySQL-python-1.2.3c1.tar.gz
# cd MySQL-python-1.2.3c1
# python setup.py build
# python setup.py install
- 빌드 과정 중 에러가 발생하면 MySQL-dev 관련 패키지를 추가로 설치한다. (yum install mysql-dev*)
- $ python2.6 setup.py build 시 /usr/bin/ld: cannot find -lpython2.6 에러발생하면 python2.6 setup.py build_ext --library-dirs=/opt/python2.6/lib/ 시도
9) PIL(Python Image Library) 설치
# cd
# wget http://effbot.org/downloads/Imaging-1.1.6.tar.gz
# tar xvfz Imaging-1.1.6.tar.gz
# cd Imaging-1.1.6
# python setup.py install
10) 파이썬 2.6 설치 검증:
# cd
# python
Python 2.6.2 (r262:71600, Aug 5 2009, 00:51:31)
[GCC 4.1.2 20080704 (Red Hat 4.1.2-44)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import sqlite3
>>> import MySQLdb
>>> import Image
>>>
MySQLdb 임포트시 경고 메시지가 출력되는 경우가 있는데 재로그인 하면 사라진다. (이유는 모름. 누가 설명 좀.)
* Genshi
easy_install 설치시 구 버전이 설치되어 trac 에서 요구하는 버전을 설치 할 수 없다. 다운 받아서 설치.
# svn export http://svn.edgewall.org/repos/genshi/trunk genshi
# cd genshi
# python setup.py install
* 한글 설정을 위한 babel, Locale Data 설치.
babel 다운로드
# mkdir temp
# cd temp
# svn co http://svn.edgewall.org/repos/babel/trunk babel
# cd babel
* Locale Data 설치
# wget http://unicode.org/Public/cldr/1.6.1/core.zip
# unzip core.zip
* Element Tree 패키지 설치 - locale 적용을 위해 필요하다.
* 빌드 설절 및 CLDR 데이터의 변환하고 설치를 진행한다.
# python ./setup.py egg_info
# python ./scripts/import_cldr.py ./ <- ./ 는 설치 경로(babel 폴더에 core.zip을 풀었으므로)
# python ./setup.py install
# python ./setup.py test <- test
* 옵션 사항.
# easy_install pytz
# easy_install docutils
# easy_install epydoc
# easy_install Pygments
3. mod_python 설치
yum install mod_python
하니 apache 도 같이 받아져서 다운 받아서 깔았다.
다운로드 : http://www.modpython.org/
# tar zxvf mod_python-3.3.1.tgz
#cd mod_python-3.3.1
#./configure --with-apxs=/usr/local/web/apache/bin/apxs --with-python=/usr/bin/python
#make
#make install
./configure 옵션은 자기 환경에 맞는 값을 넣어주면 된다.
make 시 mod_python-3.3.1/src/connobject.c 부분에서 에러 시
mod_python-3.3.1/src/connobject.c 를 열어
while ((bytes_read < len || len == 0) &&
!(b == APR_BRIGADE_SENTINEL(bb) ||
APR_BUCKET_IS_EOS(b) || APR_BUCKET_IS_FLUSH(b))) {
하면 된다.
4. trac 설치
# svn export https://svn.edgewall.com/repos/trac/trunk trac-trunk
# cd trac-trunk
# python ./setup.py complile_catalog --use-fuzzy <= po 파일을 mo 파일로 변환.
# python ./setup.py install
# trac-admin --version
버전 확인하면 현재(trac-admin 0.12dev) 라고 뜬다.
5. trac와 svn, apache 연동
# mkdir /home/trac/test
# trac-admin /home/trac/test initevn
# chown apache.apache -R /home/trac/test
httpd.conf 수정
<Location /trac>
SetHandler mod_python
PythonHandler trac.web.modpython_frontend
PythonOption TracEnv /home/trac/test
#PythonOption TracEnvParentDir /home/trac <= 첫페이지에 프로젝트 리스트가 뜬다.
PythonOption TracUriRoot /trac/
</Location>
아파치 재실행후
http://localhost/trac 확인.
svn 이 연결이 제대로 안되어 있을 것이다.계정도 없고.
※에러사항들
* 화면이 하얗게 나오고 로그에 아래와 같이 나올때
- Python에서 참조하고 있는 expat verison이랑 Apache 소스 컴파일시에 아파치에서 사용하는 expat library랑 version이 맞지 않으면 mod_python에서 문제가 발생한다.
해결방안.
mv /usr/local/apache2/lib/libexpat.so.0.1.0 /usr/local/apache2/lib/libexpat.so.0.1.0.old
ln -s /lib/libexpat.so.0.5.0 /usr/local/apache2/lib/libexpat.so.0.1.0
* mod_python 에러
페이지 맨 마지막 줄에 db에 read _write 권한이 있어야 한다고 뜨는 경우. 기본 apache가 httpd.conf 에 User, Group 이 Daemon 으로 되어 있어서 그렇다.
apache 로 설정 해 주었으므로 이 부분을 수정하여 주면 된다.
mod_python 설정 참고 페이지 : http://trac.edgewall.org/wiki/TracModPython
'개발 > Linux' 카테고리의 다른 글
[Linux] 리눅스 LVM 사용법 및 복구방법 (0) | 2012.08.06 |
---|---|
[Linux] find 와 grep를 이용한 파일/문자열/디렉터리 찾기 및 치환 (0) | 2012.07.03 |
[Linux] System Service 등록 (0) | 2011.02.28 |
[LINUX] 마스크레이딩과 포트포워딩. (0) | 2011.02.10 |
[LINUX] hostname 변경 (0) | 2011.02.07 |