OS/Linux | Posted by 스루 2009/08/28 15:09

[CentOS] Hudson 설치 & Trac 연동.



1. Hudson 설치.

다운로드 : http://hudson.gotdns.com/latest/hudson.war

hudson 은 간단히 war 파일로 되어 있으며,
was에 Deploy 하는 방법과 Hudson 자체 Servlet Container 를 사용하는 띄우는 방법 2가지가 존재한다.

여기서는 자체 Servlet Container 를 사용한 방법에 대해 설명한다.

다운로드한 war 파일을 임의의 폴더로 복사한다.
실행 방법.

# java -jar hudson.war --httpPort=9023

port 를 적지 않는 경우에는 기본 8080으로 잡힌다.
이와 같이 실행하면

~사용자/.hudson 폴더에 실행중에 발생하는 모든 데이터를 저장한다.
이 폴더를 바꾸고 싶다면 환경 변수에 설정하거나 실행중 옵션으로 주어도 된다.

# export HUDSON_HOME=/hudson

or

# java -DHUDSON_HOME=/hudson -jar hudson.war --httpPort=9023


2. Trac 연동.

플러그인 다운로드 : http://trac-hacks.org/wiki/HudsonTracPlugin

플러그인을 다운로드 받는다.

python-feedparser 가 설치 되어 있어야한다.
다운로드 : http://www.feedparser.org/


# unzip hudsontracplugin-r6444.ziip
# cd hudsontracplugin
# python setup.py install
# service httpd restart


하면 /usr/lib/python2.4/site-package 밑으로 .egg 파일이 복사가 되었다고 한다.
trac 관리자 -> 플러그인 페이지에서 활성화를 해준다.

trac.ini 에서 [hudson] 이 생겼다.

feed_ur= http://localhost:9023/rssAll
main_page=http://localhost:9023/


 자기한테 맞는 값을 넣어 주면 된다.







OS/Linux | Posted by 스루 2009/08/27 18:19

[CentOS] Oracle 11g 설치.


1. 필요한 패키지 깔기.

root 계정에 접속되어 있어야 한다.

설치되어 있어야 할 패키지.

make-3.81
binutils-2.17.50.0.6
gcc-4.1.1
libaio-0.3.106
libaio-devel-0.3.106
libstdc++-4.1.1
libstdc++-devel-4.1.1
sysstat-7.0.0
libgcc-4.1.1
elfutils-libelf-0.125
elfutils-libelf-devel-0.125
glibc-common-2.5
glibc-devel-2.5
gcc-c++-4.1.1
compat-libstdc++-33-3.2.3
compat-db
setarch
make
xorg-x11-deprecated-libs-devel

설치 시 없을 경우 사전 검사에서 에러가 난다. 보고 찾아서 설치 하면 된다.


2. 사용자 계정 추가 

# groupadd oinstall
# groupadd dba
# useradd -m -g oinstall -G dba oracle
# passwd oracle


3. 디렉토리 생성

# mkdir /oracle
# chown -R oracle.dba /oracle
# chmod -R 755 /oracle


4. hosts 파일

/etc/hosts

자신의 IP  호스네임


원래는

자신의 IP 호스트네임.도메인네임.com 호스트네임

이나  저렇게 위에 방식으로만 적어줘도 된다.

단, 호스트내의 다른 도메인명과 충돌되어서는 안된다.


호스트 네임은

#hostname
XXX

라고 나온다.


5. 커널 파라미터 설정.
/etc/sysctl.conf 

이 숫자들 보다 크면 수정 하지 않아도 된다고 한다.

kernel.shmall = 2097152
kernel.shmmax = 2147483648
# 이 아래는 추가 했음
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 6553600
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 262144

값이 다르다면 설치 과정에서 에러가 나니 그때 맞춰 주면 된다. ;


변경이 완료 되면


# /sbin/sysctl -p

에러가 나오지 않으면 된다.


6. oracle 사용자 계정의 Shell limit 설정.

Linux 계정 별로 실행되는 프로세스와 열린 파일 수를 제한한다. 이를 위해 /etc/security/limits.conf 를 편집한다.
아래에 추가하자.

#<domain>      <type>  <item>         <value>
    oracle            soft     nproc            2047
    oracle            hard    nproc            16384
    oracle            soft     nofile             1024 
    oracle            hard    nofile             65536


그리고 /etc/pam.d/login 에 다음을 추가하자.
session    required    /lib/security/pam_limits.so


7. oracle 계정 환경변수 셋팅.

홈 디렉토리의 .bash_profile 에 다음을 추가한다.

export ORACLE_BASE=/oracle
export ORACLE_HOME=$ORACLE_BASE/11g;
export ORACLE_SID=orcl;

PATH=$PATH:$ORACLE_HOME/bin


8. 파일 다운로드

지금부터는 oracle 계정으로 접속하는게 좋다.


# su - oracle


http://www.oracle.com/technology/global/kr/software/products/database/index.html

#unzip linux_11r1_database_1013.zip
#chown -R oracle.oinstall ./database

 9. 설치.

# xhost +   --> root 계정으로 명령어 실행.
access control disabled, clients can connect from any host
# export LANG=c

xhost 는  루트로 로그인한 X 윈도우에서 터미널로 su - oracle 을 이용해서 oracle 계정을 사용하여 xwindow 창을 띄울 수 있도록 한다.

LAGN 설정은 한글이 다 깨져서 나와서 준다. 영어로 나온다.


#cd ./database
#./runinstaller


따라 하면 되니 따른 설명은 하지 않겠다.


다만 설치전 요구사항에 대해서 검사를 하는데.
여기서 나온 에러들은 대부분 잡아주는게 좋다.

단, Nework Configuration 에서 에러가 난다면 host 설정 한것을 ping 명령어를 통해 잘 날아가는지 확인하자. 잘 나간다면.

체크박스를 체크 하고 Next 버튼을 누른다.

또한 group 설정 화면에서 dba 를 선택 하도록 한다. 나는 oinstall 로 두개가 잡혀 있었다.


설치가 완료되면,


자동 시작 / 종료 설정

#vi /etc/oratab

orcl:/oracle/11g:Y
N을 Y로 바꿔 준다.


오라클 실행과 종료

oracle 계정으로 접속한 상태 여야 한다.


# lsnrctl start  -리스너 시작.
#sqlplus /nolog
SQL> connect orcl as sysdba
Enter password:
SQL> startup    --> 오라클 시작.


shutdown immediate-> 오라클 종료


에러사항들.. [ 대부분  Product-Specific Prerequisite Checks 에서 나온다.)


1.swap 설정.

설치를 하다 보니 SWAP이 모자르다는 에러 메시지가 나왔다. 그래서 공간을 늘렸다.

# mkdir /swaptemp
# dd if=/dev/zero = of=/swaptemp/swap_file bs=1k count=123456789
# chmod 600 /swaptemp/swap_file
# cd /swaptemp
# mkswap swap_file    -> swap_file을 swap 공간으로 쓰도록 만든다.
# swapon swap_file   -> swap 공간 적용.
# swapon -s -> 확인

count 계산 방법은 내가 만들고자 하는 공간 * 1024 하면 된다.

에러 메시지에 얼마가 필요한지 나오는데 너무 딱 맞추지 말고 조금은 넉넉하게 잡도록 하자.


swap 공간을 적용시 시스템 재부팅 시에도 적용을 하고 싶다면

# vi /etc/fstab

/swaptemp/swap_file swap swap auto 0 0

#mount -a
#swapon -s

해주면 된다.

에러가 안나야 된다.


2. 삭제.

#./runinstaller -deinstall


해주고 남은 폴더들은 삭제해 주면 된다.


swap 참고 사이트 : http://coffeenix.net/doc/RH-DOCS/rhl-cg-ko-9/s1-swap-removing.html








Trac 설치 후 사용법을 살펴 보던 중.

Milestone 저장이 되지 않는 것이었다.


"2009년 08월 25일" is an invalid date, or the date format is not known. Try "YYYY년 MM월 DD일" instead.


해당 에러 메시지가 나왔다.

Locale 도 맞고 날짜 형식도 내가 보기엔 맞다. 그런데 저장이 안되다니.

구글링을 열심히 해도 이런 에러 해결 방안이 눈에 보이지 않았다.

PythonOption 으로 TracLocale 을 주고 LC_TIME설정 하고 해도 되지 않았다.

Trac 이슈 에는 올라와 있었지만 해결 방안이 아주 예전 011월  해야지만 저장 되는 문제점 해결 방안만 있을뿐 그렇다한 답변이 없었다.

그래서 일단 무작정 에러 나는 부분을 찾았다.

parse_date 하는 부분에서 Locale 날짜 포맷과 맞지 않아서 계속 에러가 난것.

값을 직접 넣거나 time.strftime('%x') 해서 넣으면 들어간다.

그럼 파라미터 문제이지 않을까 생각을 했다.

그러나 다른 한글들은 잘 저장 된다.

날짜 포맷만 이상한 것일까...

소스를 보다 타이존을 인코딩 한게 있어 응용해서 넣었다.

/usr/lib/python2.4/site-pakages/Trac-0.12dev-py2.4.egg/trac/util/datefmt.py

216 줄 아래.
text = to_unicode(text).encode('utf', 'replace')


text 가 파라미터 값이다.
에러 메시지에서 "YYYY년 MM월 DD일" 문구를 만들기 위해 utf 로 인코딩 한것을 보고 비슷하게 따라해서 만들었다.

저장 성공!.

인코딩 값을 하드 코딩이 아닌 가지고 오기 위해 수정

encoding = locale.getlocale(locale.LC_TIME)[1]
text = to_unicode(text).encode(encoding, 'replace')



테스트 성공 후 . 완료 날짜.(시간까지) 테스트 하니.
이런 또 떡하니 에러 메시지가.

경고 : 완료된 날짜는 미래가 아닐지도 모릅니다.

이건 또 뭔가.
에러 나는 부분을 찾으니. 현재 시간보다 넘어온 값이 커서 생기는 에러 이다.(경고 메시지 번역이 참 이상하다)

테스트를 여러번 하니 내가 저장한 시간과 뿌려주는 시간도 다르다는 것을 알게 되었다.
어제 시간 때문에 건드리다가 생각난 Trac 페이지 상단에 있는 설정에 있는 시간/날짜 부분.

여기서 Asia/Seoul 을 선택했는데. 아래에 메시지가 써 있었다. 시스템 시간이 아니다.
저기서 가지고 오는 시간이 이상한거 같다. Trac 버그인가 ;
테스트 시 몇분 차이가 있었다.

그래서 기본설정으로 변경 후 테스트 하니 잘 된다.


ps. 며칠 삽질 했더니 김이 빠진다. ;









OS/Linux | Posted by 스루 2009/08/19 18:09

[CentOS] Trac 환경 설정.



1. 저장소와 동기화 할 수 없습니다.

trac 설치 후 화면에 저장소와 동기화 할 수 없습니다. 라는 메시지 나오면

# trac-admin [프로젝트이름] resync

해주고,  안되면

아파치 설치 폴더 modules 에 mod_dav_svn.so 파일이 있는지 확인하자.
yum 으로 subversion 을 설치하고, apache를 컴파일 설치 하였더니. 연동 파일 mod_dav_svn.so 파일을 얻을 방법을 못찾았다.
그래서 같은 버전으로 컴파일 하여 얻었다.

svn 컴파일 설치는 : http://srue.net/82

2. trac 사용자 설정
# htpasswd -c /home/trac/passwd/htpasswd admin
New Password :
Re-type new Passwd:

-c 옵션은 처음 생성시에만 넣는다.

권한 설정.
#chown -R apache.apache /home/trac/passwd/htpasswd


3. trac admin 설정.
# trac-admin /home/trac/test permission add admin TRAC_ADMIN


4. Trac 변경 사항 적용

# trac-admin [ProjectName] upgrade
# trac-admin [ProjectName] resync


5. 필수 플러그인 설치.


IniAdminPlugin
trac.ini 파일을 직접 수정하지 않고 웹에서 수정 가능 하도록 해주는 플러그인
다운로드 : http://trac-hacks.org/wiki/IniAdminPlugin

# unzip iniadminplugin_0.11-r6404.zip
# cd iniadminplugin/0.11
#python setup.py install
# service httpd restart

trac 프로젝트 사이트에 들어가면 한글 페이지 기준.

관리 -> 플러그인 으로 들어가면 IniAdmin0.2 플로그인 설치 된것이 보인다. 이걸 클릭하면 활성화 체크 박스가 보인다 체크를 하고 저장을 하면 왼쪽 메뉴에 trac.ini 가 뜬다.

AccountManagerPlugin 설치
계정 정보 관리 플러그인이다. - 생성, 수정, 삭제
다운로드 : http://trac-hacks.org/wiki/AccountManagerPlugin

easy_install 도 있다. 나는 컴파일하여 깔았으므로 zip 파일을 다운로드 받았다. svn 으로 받아도 된다. 페이지에 들어가 내용을 참조 하면 된다.

# unzip accountmanagerplugin_trunk-r6406.zip
# cd accountmanagerplugin/trunk
# python setup.py install
# service httpd restart


관리자 -> 플러그인  에서 TracAccountManager 0.2.1dev 플러그인의 컴포넌트 중 다음만을 활성화한다.

AccountManagerAdminPage, AccountManager, HtPasswdStore, AccountModule

또한 추가된 'Accounts' 카테고리의 'Configuration' 메뉴에서 다음과 같이 Trac 접속 계정 정보 파일을 설정해 준다.

/home/trac/htpasswd/htpasswd

Accounts 카테고리의 'Users' 메뉴를 누르면 원래 계정 리스트를 볼 수 있고 추가, 수정, 삭제 가능하여야 하는데, 아래와 같은 에러가 방생하는 경우

This password store does not support listing users

trac.ini 파일을 수정해야 한다. 직접 가서 수정 할수도 있지만, 아까 깔은 플러그인을 활용하여 trac.ini 에 account-manager 를 클릭한다.

password_store 항목을  HtPasswdStore라고 적어주고.
password_file 항목도 지정 되어 있지 않다면 계정 정보 파일을 넣어준다.

user 항목을 클릭하면 기존에 등록된 사용자리스트가 뜬다.

TimingAndEstimationPlugin
태스크 관리시 일정을 예측하고 작업한 시간을 관리하는 플러그인.
다운로드 : http://trac-hacks.org/wiki/TimingAndEstimationPlugin


# unzip timingandestimationplugin_branches_trac0.11-r6404.zip
# cd timingandestimationplugin/branches/trac0.11
# python setup.py install
# service httpd restart

Trac 프로젝트 사이트의

관리자 -> 플러그인 에서 timingandestimationplugin 0.7.8을 클릭하여 리스트에 나오는 모든 컴포넌트를 활성화한다.

이 때, 적용 버튼을 누르면 다음의 에러가 발생 할 수도 있는데,

Trac Error

TracError: The Trac Environment needs to be upgraded.

Run "trac-admin /hom/trac/test"


이 때에 다음을 실행하여 데이터베이스 스키마를 업그레이드시켜 주고 apache 를 재시작한다.

# trac-admin /home/trac/test
....
...
...

업그레이드 완료.
# service httpd restart

Trac 프로젝트 사이트에 'Management' 탭이 추가 되어 있으면 설치가 된 것이다.





로그에

client denied by server configuration: ~~~


라고 뜬다면. 아래와 같이 수정한다.

httpd.conf. 가상 호스트를 구축했다면 extra/httpd-vhosts.conf
<Directory />
   Options FollowSymLinks
   AllowOverride None
   Order deny,allow
   Deny from all (삭제 : 기본설정임)
   Allow from all (추가)
</Directory>










OS/Linux | Posted by 스루 2009/08/18 20:08

[CentOS] Trac 설치. mod_python.

1. 기초 환경 설정.

1-1. python 은 CentOS 에 기본적으로 포함 되어 있다.

1-2 python-devel
설치 되어 있어야만 mod_python 설치가 정상적으로 진행된다.

#rpm -qa | grep python-devel
#yum install python-devel

1-3 setuptools
python 패키지 관리자.
# yum install python-setuptools


1- 4  Genshi
easy_install 설치시 구 버전이 설치되어 trac 에서 요구하는 버전을 설치 할 수 없다. 다운 받아서 설치.
#svn export http://svn.edgewall.org/repos/genshi/trunk genshi
#cd genshi
#python setup.py install

1-5. Database
sqlite/mysql/postgresql 등을 지원한다.
sqlite 가 CentOS에 포함되어 있고 단일 파일로 라이브러리 형태로 되어 있다. 그래서 이걸로 결정.
설치 되어 있는 지 확인. python 이 2.4 버전 이하라면 pysqlite 도 설치 하여야 한다. 기본적으로 CentOS5.3 은 Python 2.4 포함.

# sqlite3 -version

1-6 한글 설정을 위한 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 데이터의 변환하고 설치를 진행한다.
# ./setup.py egg_info
# ./scripts/import_cldr.py ./   <-  ./ 는 설치 경로(babel 폴더에 core.zip을 풀었으므로)

# ./setup.py install
#./setup.py test   <- test



옵션 사항.
#easy_install pytz
#easy_install docutils
#easy_install epydoc
#easy_install Pygments


2. 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))) {


하면 된다.


3. 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) 라고 뜬다.


4. trac와 svn, apache 연동.

# mkdir /home/trac/test
#trac-admin /home/trac/test
#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 이 연결이 제대로 안되어 있을 것이다.계정도 없고.

※에러사항들

1. 화면이 하얗게 나오고 로그에 아래와 같이 나올때

더보기



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



2. mod_python 에러
페이지 맨 마지막 줄에 db에 read _write 권한이 있어야 한다고 뜨는 경우.
기본 apache가 httpd.conf 에 User, Group 이 Daemon 으로 되어 있어서 그렇다.

apache 로 설정 해 주었으므로 이 부분을 수정하여 주면 된다.


mod_python 설정 참고 페이지 : http://trac.edgewall.org/wiki/TracModPython



trac 권한 설정은 다음 페이에서.


'OS > Linux' 카테고리의 다른 글

[CentOS] Trac 환경 설정.  (0) 2009/08/19
Apache client denied by server configuration 에러.  (0) 2009/08/19
[CentOS] Trac 설치. mod_python.  (0) 2009/08/18
[CentOS] SVN 설정하기  (1) 2009/08/17
[CentOS] Apache 2.2 + Tomcat 6.0.X 연동하기.  (1) 2009/08/17
[CentOS] Apache 설치하기.  (2) 2009/08/14



OS/Linux | Posted by 스루 2009/08/17 16:31

[CentOS] SVN 설정하기



1. 설치.
1-1 yum으로 설치
# yum install subversion

1-2컴파일 버전.
참고 사이트 : http://www.pyrasis.com/main/Subversion-HOWTO
다운로드 ; http://subversion.tigris.org/ 

1.6 버전은 sqlite 를 지정하라고 해서 그 다운 버전을 선택했다.
make 시
/usr/bin/ld: cannot find -lexpat 
라고 뜬다면 아래와 같이 설치하자.
$yum install expat-devel

#tar zxvf subversion-1.4.6.tar.gz
#cd subversion-1.4.6
#./configure -prefix=/usr/local/svn --with-zlib --with-apxs=/usr/local/web/apache/bin/apxs --without-berkeley-db
# make
# make install

- 컴파일로 설치 시apache / module 폴더에 mod_dav_svn.so, mod_authz_svn.so 파일이 생성된다.
- yum 으로 설치시
# yum install mod_dav_svn



2. Repository 생성.
2 -1  Root 생성.
# mkdir /home/svn
# cd /home/svn
#svnadmin create --fs-type fsfs 폴더명


만든 해당 폴더에 들어가면 기본 하위 폴더들이 생성 되었다.

2-2 설정하기.

svnserve.conf - /home/svn/폴더명/conf/svnserve.conf

[general]
anon-access=none
auth-access=write
password-db=passwd
authz-db=authz
realm=Test Repository

anonymous acces 불가. 인증 방식은 passwd . 인증한 사람만 write 권한.

passwd - /home/svn/폴더명/conf/passwd

사용자 설정.
[users]
admin = admin


authz - /home/svn/폴더명/conf/authz
#[groups]
# harry_and_sally = harry,sally

[폴더명:/]
admin = rw


3 svnserve 로 서버 실행시키기.

# svnserve -d -r /home/svn --listen-port 6548


기본포트는 3690 이다.

외부에서 저븐 가능하도록 6548 을 열어두자.

iptable 을 사용해도 되고 X Winodw 프로그램을 사용해도 된다.

4. 자동 실행하게 하기(Option)
yum 으로 자동 설치시 /etc/rc.d/init.d/subversion 이 생기지 않는다.

파일 내용 보기




#OPTIONS=
OPTIONS="--threads --root /home/svn"

여기에 포트 번경을 하고 싶으면 위 명령어를 추가 하면 되고, 맞게 수정하여 사용하면 된다.


5. trunk , branches, tags 디렉토리 만들기.
#export SVN_EDITOR=/usr/bin/vim
#svn mkdir svn://아이피혹은도메인/repos/trunk
    (☞ 여기서 :q! 입력 → 엔터)
Log message unchanged or not specified
a)bort, c)ontinue, e)dit
    (☞ 여기서 c 입력 → 엔터)
#svn mkdir svn://아이피혹은도메인/repos/branches
#svn mkdir svn://아이피혹은도메인/repos/tags
#svn list svn://아이피혹은도메인/repos

export  SVN_DEITOR 은 .bash_profile 을 수정해서 넣어도 됩니다.



'OS > Linux' 카테고리의 다른 글

Apache client denied by server configuration 에러.  (0) 2009/08/19
[CentOS] Trac 설치. mod_python.  (0) 2009/08/18
[CentOS] SVN 설정하기  (1) 2009/08/17
[CentOS] Apache 2.2 + Tomcat 6.0.X 연동하기.  (1) 2009/08/17
[CentOS] Apache 설치하기.  (2) 2009/08/14
[CentOS] SSH 설정 하기.  (0) 2009/08/14



OS/Linux | Posted by 스루 2009/08/17 14:51

[CentOS] Apache 2.2 + Tomcat 6.0.X 연동하기.


Apache를 설치 완료 후 Tomcat 과 연동을 시도 했다.

1. Apache 설치
 Apache 설치 - 페이지 참조.

2. Tomcat 설치

다운로드 :  http://tomcat.apache.org 에서 리눅스 최신 버전 다운롣,

#tar -zxvf apache-tomcat-6.0.20.tar.gz
#mv apache-tomcat-6.0.20.tar.gz /usr/local/web/tomcat


/usr/local/web/tomcat 으로 이름을 바꾸어 저장 하였다.

3. 연동하기.
다운로드 : http://tomcat.apache.org
에서 Connetector 를 다운로드 한다.

# tar -zxvf tomcat-connectors-1.2.28-src
#./buildconf.sh
#./configure --with-apxs=/usr/local/web/apache/bin/apxs
# make
#make install

성공적으로 설치 돼었다면
/usr/local/web/apache/modules/mod_jk.so
 
파일이 생긴다.

설정하기.
/usr/local/web/apache/conf/workers.properties 작성. - 처음 설치시 존재 하지 않는다 만들기.

workers.tomcat_home=/usr/local/web/tomcat
workers.java_home=/usr/java/jdk_1.6.0.16
ps=/
worker.list=test 

worker.test.port=8009
worker.test.host=localhost
worker.test.type=ajp13
worker.test.lbfactor=1

worker.list=test  test 는 임의로 지정한다. 여러개를 생성 할 수 있다.

httpd.conf
/usr/local/web/apache/conf/httpd.conf

해당 맞는 위치에 아래 내용을 넣는다.
맞춰서 LoadModule  아래와 ifModule 은 맨 아래에 넣었다.


LoadModule jk_module modules/mod_jk.so

#
# Mod_jk settings
#
<IfModule jk_module>
     JkWorkersFile conf/workers.properties
     JkLogFile logs/mod_jk.log
 
     JkLogLevel error
</IfModule>

virtual host 주석 풀기.
#virtual hosts
include conf/extra/httpd-vhosts.conf



포트를 80 포트가 아닌 다른 포트로 바꾸었기 때문에
Listen 7695

ServerName 192.x.x.x:7695


수정.

uriworkermaps.properties
/usr/local/web/apache/conf/uriworkermaps.properties - 새로 만든다.

해당 url 로 들어오면 tomcat 으로 넘기겠다는 뜻이다.

/*.jsp=test


test는 위에 workers.properties 에서 지정한 이름이다.


httpd-vhosts.conf
/usr/local/web/apache/conf/extra/httpd-vhosts.conf 수정한다.
기본적으로 80 포트 이나 포트를 바꾸었기때문에 수정했다. 포트를 바꾸지 않는 사람들은 수정할 필요 없다.

#포트가 바뀌었으므로 수정함.
NameVirtualHost 192.x.x.x:7695

<VirtualHost 192.x.x.x:7695>
DoucmentRoot "/home/test"
Servername centos.com
JkMountFile /usr/local/web/apache/conf/uriworkermaps.properties
#JkMount /*.jsp test          로 직접 넣어도 된다.
<Directory "/home/test">
       Options Indexes FollowSymLinks
       AllowOverride None
       Order allow,deny
       Allow from all
 </Directory>
</VirtualHost>



tomcat server.xml 수정

<Engine name="Catalina" defaultHost="centos.com">


<Host name="localhost" ...
...
</Host>

<Host name="centos.com"  appbase="/home/test" unpackWARS="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
    <Context Path="" docBase="" debug="1" allowLinking="true" reloadable="true" />
</Host>

</Engine>

핑크색은 localhost를 수정한것.

진녹색?파랑? 은 추가한 내용.


톰캣 시작 , 아파치 시작 하고

/home/test 밑에 테스트 파일 만들고 테스트~


제대로 뜨면 성공~


포트는 추가 하였으므로 방확벽을 열어 주어야 한다.~



OS/Linux | Posted by 스루 2009/08/14 18:54

[CentOS] Apache 설치하기.


운영체제를 깔때 서버 버전으로 깔아서 기본적으로 Httpd 가 설치되어 있었다.

하지만 내가 복사해야될 폴더며 내가 필요한 것들은 당췌 어디 있는지... 알 수가 없었다 ;;;

그래서 과감히 소프트웨어 추가 삭제에서 삭제를 하고, 다운 받아서 다시 깔았다.

http://www.apache.org  에서 Linux 용 최신 버전 다운


1. tar 파일의 압축을 푼다.

# tar xvf httpd-2.2.13.tar


2. 컴파일 스크립트 수행

# ./configure --with-layout=apache --prefix-/usr/local/web/apache --enable-module=so --enable-mods-shared=all --enable-so -enable-rewrite

prefix = 설치 경로
--enable-module=so 는 tomcat 연동이나 다른 연동시 필요하므로 꼭 추가.
여기서
configure: error: no acceptable C compiler found in $PATH
이런 에러가 뜬다면 gcc 가 깔려 있는지 확인하자.
# rpm -qa | grep gcc

없다면.
# yum install gcc

mod_deflate has been requested but can not be built due to prerequisite failures
에러가 난다면.

# yum -y install zlib-devel

뭐 대략적으로 설치가 안되서 나는 에러다.

3. 컴파일

# make


4. install

# make install


에러 없이 설치가 되었다면 성공.


부팅시 자동으로 띄우고 싶다면.


#cp /usr/local/web/apachectl /etc/init.d/httpd

#vi /etc/init.d/httpd


#!bin/sh 밑에 아래 내용을 넣는다.
#chkconfig: 2345 90 90
#processname: /usr/local/web/apache/bin/apachectl
#config: /usr/local/web/apache/conf/httpd.conf
#pidfile: /usr/local/web/apache/logs/httpd.conf


저장.

#chkconfig --add httpd
#chkconfig --list httpd


하면 httpd 가 있는지 확인.

# ntsysv

하면 파란 화면이 뜬다.
여기서 httpd 에 * 가 쳐져 있다면 자동 실행된다.

#service httpd start


하고

http://localhost

들어가면

It works!

라고 뜬다.







OS/Linux | Posted by 스루 2009/08/14 10:29

[CentOS] SSH 설정 하기.



SSH 가 기본적으로 깔려 있다고 가정하고.

# vi /etc/ssh/ssh_config


Port 주석을 풀어주고, 기본적으로 SSH 는 23 이지만 다른 Port 를 하고 싶다면 수정 한다.

저장을 하고

#service sshd restart

ssh 데몬을 재시작.


#ps -ef | grep ssh

로 /usr/sbin/sshd

가 떠 있는지 확인.

#netstat -ntltp | grep 포트번호

로 해당 포트번호로 받을 준비가 되어 있는지 확인.


포트 번호가 23이 아닌 다른 번호라면

X window 에서
시스템 -> 관리 ->보안 수준 빛 방화벽에서

그 외의 포트에 추가 시켜 준다.




서버가 공유기에 연결되어 있다면

포트 포워딩을 통해서 외부에서 접근 가능하도록 할 수 있다.