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 덮어 쓰지 않게끔 설정

# ./configure --prefix=/opt/python2.6 --with-threads --enable-shared


3) 컴파일 설치

# make

# make install


4) root .bash_profile 추가

alias python='/opt/python2.6/bin/python'


5) 심볼릭 링크 생성

# ln -s /opt/python2.6/bin/python /usr/bin/python2.6


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 적용을 위해 필요하다.

# easy_install ElementTree



* 빌드 설절 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

Posted by 나랑살자
,
/sbin/chkconfig --add mysqld
Posted by 나랑살자
,
/etc/sysconfig/network 에서 hostname을 변경

# echo 'hostname' > /proc/sys/kernel/hostname 으로 즉시 변경 가능

'개발 > Linux' 카테고리의 다른 글

[Linux] System Service 등록  (0) 2011.02.28
[LINUX] 마스크레이딩과 포트포워딩.  (0) 2011.02.10
[LINUX] Subversion설치  (0) 2011.02.07
[LINUX] CentOS 5.5에 CMake 설치  (0) 2010.12.20
[LINUX] FIND AND REPLACE with SED  (0) 2010.12.13
Posted by 나랑살자
,

1. 설치
yum -y install subversion

2. 데몬설정
- yum으로 설치한 경우 /etc/sysconfig/subversion, /etc/init.d/subverion 화일이 없다.
- 아래의 내용으로 만들도록 한다.

- svn repository의 위치는 OPTIONS 항목에서 변경하면 된다.

vi /etc/sysconfig/subversion

# Configuration file for the Subversion service
#
# To pass additional options (for instace, -r root of directory to # server) to the svnserve binary at startup, set OPTIONS here.
#
OPTIONS="--threads --root /home/svn/repos.d"



vi /etc/init.d/subversion

#!/bin/bash
#
#   /etc/rc.d/init.d/subversion
#
# Starts the Subversion Daemon
#
# chkconfig: 2345 90 10
# description: Subversion Daemon
 
# processname: svnserve
 
source /etc/rc.d/init.d/functions
 
[ -x /usr/bin/svnserve ] || exit 1
 
### Default variables
SYSCONFIG="/etc/sysconfig/subversion"
 
### Read configuration
[ -r "$SYSCONFIG" ] && source "$SYSCONFIG"
 
RETVAL=0
prog="svnserve"
desc="Subversion Daemon"
 
start() {
        echo -n $"Starting $desc ($prog): "
        daemon $prog -d $OPTIONS
        RETVAL=$?
        [ $RETVAL -eq 0 ] && touch /var/lock/subsys/$prog
        echo
}
 
stop() {
        echo -n $"Shutting down $desc ($prog): "
        killproc $prog
        RETVAL=$?
        [ $RETVAL -eq 0 ] && success || failure
        echo
        [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$prog
        return $RETVAL
}
 
case "$1" in
        start)
        start
        ;;
        stop)
        stop
        ;;
        restart)
        stop
        start
        RETVAL=$?
        ;;
        condrestart)
        [ -e /var/lock/subsys/$prog ] && restart
        RETVAL=$?
        ;;
        *)
        echo $"Usage: $0 {start|stop|restart|condrestart}"
        RETVAL=1
esac
 
exit $RETVAL


3. 부팅시 시작 서비스로 등록
chmod 755 /etc/init.d/subversion
chkconfig --add subversion
chkconfig --level 345 subversion on
service subversion start

4. .bash_profile 수정
vi ~/.bash_profile

export SVN_EDITOR=/usr/bin/vim

'개발 > Linux' 카테고리의 다른 글

[LINUX] 마스크레이딩과 포트포워딩.  (0) 2011.02.10
[LINUX] hostname 변경  (0) 2011.02.07
[LINUX] CentOS 5.5에 CMake 설치  (0) 2010.12.20
[LINUX] FIND AND REPLACE with SED  (0) 2010.12.13
[LINUX] NFS 설치 및 설정  (0) 2010.11.11
Posted by 나랑살자
,
NFS 설치

RPM 명령어 이용 패키지 설치 확인

# rpm -qa | grep nfs
nfs-utils-1.0.6-70.EL4

# rpm -qa | grep portmap
portmap-4.0-63

yum으로 설치
# yum install portmap nfs-utils* libgssapi

rpm 으로 설치시

# wget http://mirror.oss.or.kr/pub/centos/4.4/os/i386/CentOS/RPMS/nfs-utils-lib-1.0.6-3.i386.rpm
# wget http://mirror.oss.or.kr/pub/centos/4.4/os/i386/CentOS/RPMS/libgssapi-0.8-1.i386.rpm
# rpm -Uvh *.rpm

 

NFS 서버 데몬 구동

# ntsysv
--NFS, portmap 자동 실행, iptables 방화벽을 체크 해제하고 nfs를 체크한다.

# /etc/rc.d/init.d/portmap start
portmap (을)를 시작합니다: [  확인  ]

# /etc/rc.d/init.d/nfs start
NFS 서비스를 시작하고 있습니다:  [  확인  ]
NFS 쿼터를 시작하고 있습니다: [  확인  ]
NFS 데몬을 시작함: [  확인  ]
NFS mountd를 시작하고 있습니다: [  확인  ]

NFS 서버의 공유목록을 관리하는 파일
# vi /etc/exports

-공유디렉토리 접근할 호스트(옵션)

예) /home/www 192.168.1.1(rw,sync)
-> 192.168.1.1 호스트의 접속 허용

예)/home/www 192.168.1.0/255.255.255.0(rw,sync)
-> 192.168.1.* 호스트의 접속 허용

설정 옵션
rw : 읽기, 쓰기 가능
ro : 읽기만 가능
secure : 클라이언트 마운트 요청시 포트를 1024 이하로 한다.
noaccess : 액세스 거부
root_squach : 클라이언트의 root가 서버의 root권한을 획득하는 것을 막는다
no_root_squash : 클라이언트의 root와 서버의 root를 동일하게 한다
sync : 파일 시스템이 변경되면 즉시 동기화한다.
all_squach : root를 제외하고 서버와 클라이언트의 사용자를 동일한 권한으로 설정한다.
no_all_squach : root를 제외하고 서버와 클라이언트의 사용자들을 하나의 권한을 가지도록 설정한다. 





 

공유 디렉토리를 만든다
# mkdir data
# chomd 777 data

 
확인
# exportfs -v
/home/data      192.168.1.1(rw,wdelay,root_squash)
-나오지 않는다면 nfs 를 재가동 해보시길 바랍니다.
# /etc/rc.d/init.d/nfs restart

[exportfs 명령어 사용법]

exportfs 명령어는 nfs서버를 다시 시작하지 않고도 공유목록을 수정할 수 있다.
- a : /etc/exports파일을 읽어 들인다.
- r : /etc/exports파일을 다시 읽어 들인다.
- u IP:/디렉토리 : 입력한 디렉토리를 공유목록에서 제외한다.
- v : 현재의 공유 목록을 확인한다.

2. 클라이언트 서버
# mkdir /home/data

mount 명령어로 NFS 서버의 공유 디렉토리를 마운트 시킨다.

# mount -t nfs 192.168.1.1:/data /home/data

 

만약 마운트가 되지 않으면 방화벽 사용 중지 (서버쪽 클라이언트쪽모두)
# /etc/init.d/iptables stop

nfs 재가동(서버측)
# /etc/rc.d/init.d/nfs restart

마운트 확인
# cat /etc/mtab | grep /home/data
192.168.1.1:/home/data /home/data1 nfs rw,addr=192.168.1.1 0 0

 

# df -h
 Filesystem            Size  Used Avail Use% Mounted on
/dev/sda2             6.8G  122M  6.3G   2% /
/dev/sda1              99M  8.5M   86M   9% /boot
none                  252M     0  252M   0% /dev/shm
/dev/sda8              54G   85M   52G   1% /home
/dev/sda7            1012M   34M  927M   4% /tmp
/dev/sda3             6.8G  919M  5.5G  15% /usr
/dev/sda5             3.9G   79M  3.6G   3% /var
192.168.1.1:/home/data
                       54G   85M   52G   1% /home/data1

부팅시 자동 마운트

# vi /etc/fstab

192.168.1.1:/home/data  /home/data              nfs     defaults        1 2

 

마운트 해제시
# umount /home/data

 

마운트가 안될때
마운트고 안될시 클라이언트 서버에도
NFS 설치 및 portmap 등 재가동 확인해보세요

'개발 > Linux' 카테고리의 다른 글

[LINUX] Subversion설치  (0) 2011.02.07
[LINUX] CentOS 5.5에 CMake 설치  (0) 2010.12.20
[LINUX] FIND AND REPLACE with SED  (0) 2010.12.13
[LINUX] HDD 복사  (0) 2010.10.28
[LINUX] TIME SYNC  (0) 2010.10.28
Posted by 나랑살자
,

[LINUX] HDD 복사

개발/Linux 2010. 10. 28. 16:03

파티션 까지 그대로 복사(바로 부팅 가능)

1. HDD Copy

# cat /dev/sda > /dev/sdb

아래 내용은 HDD Size가 서로 다를 경우 나머지 용량에 대해 처리 한다.

2. PV(Physical Volume) 생성

#mknod /dev/sda3 b 8 3
#chown root:disk /dev/sda3

#fdisk /dev/sda





파티션을 만들고 난후 재부팅
#pvcreate /dev/sda3


3. VG(Volume Group) 확장

#vgextend VolGroup00 /dev/sda3


#pvscan



#vgdisplay VolGroup00


4. LV(Logical Volume) 늘리기

#lvextend -L 12g /dev/VolGroup00/LogVol00


5. 파일 시스템 크기 조정
- LV를 파일 시스템에 반영

#resize2fs /dev/VolGroup00/LogVol00

6. 확인






출처 : http://linuxro.textcube.com/25

'개발 > Linux' 카테고리의 다른 글

[LINUX] Subversion설치  (0) 2011.02.07
[LINUX] CentOS 5.5에 CMake 설치  (0) 2010.12.20
[LINUX] FIND AND REPLACE with SED  (0) 2010.12.13
[LINUX] NFS 설치 및 설정  (0) 2010.11.11
[LINUX] TIME SYNC  (0) 2010.10.28
Posted by 나랑살자
,

[LINUX] TIME SYNC

개발/Linux 2010. 10. 28. 12:03
# yum install -y ntp.x86_64 system-config-date.noarch
# vi /etc/cron.daily/time_sync.ntp

#!/bin/bash
/usr/sbin/ntpdate -b 203.248.240.103 && /sbin/clock -w


# sh /etc/cron.daily/time_sync.ntp


'개발 > Linux' 카테고리의 다른 글

[LINUX] Subversion설치  (0) 2011.02.07
[LINUX] CentOS 5.5에 CMake 설치  (0) 2010.12.20
[LINUX] FIND AND REPLACE with SED  (0) 2010.12.13
[LINUX] NFS 설치 및 설정  (0) 2010.11.11
[LINUX] HDD 복사  (0) 2010.10.28
Posted by 나랑살자
,