'공부좀 합시다/Linux / Unix'에 해당되는 글 18건
- 2012/03/13 LetMeLove Centos6 에서 외부로 라우팅이 안될경우
- 2011/11/23 LetMeLove 아파치+톰켓*2 사용시 도메인별로 사용 톰켓 지정하기(mod_jk) (9)
- 2011/10/08 LetMeLove SSH 접속시 지연현상 해결하기 (1)
- 2011/07/13 LetMeLove 상용 RHEL5에서 YUM 사용하기 (2)
- 2010/04/28 LetMeLove 아파치 한글파일 처리모듈
- 2010/04/28 LetMeLove SSL 운영(https)시 도메인기반 Virtual host가 안되는 이유
- 2010/04/28 LetMeLove 아파치 mod_expires 캐쉬 모듈 설치하기
- 2009/02/25 LetMeLove 아파치 톰켓 연동 하기
- 2008/07/09 LetMeLove sshd 에서 root 로 로그인 막기
- 2008/07/07 LetMeLove sulinux1.5에서 VSFTP 패시브모드 활성화 (1)
아파치+톰켓*2 사용시 도메인별로 사용 톰켓 지정하기(mod_jk)
## workers.properties
worker.list=worker1, worker2
worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=8009
worker.worker1.lbfactor=1
worker.worker2.type=ajp13
worker.worker2.host=localhost
worker.worker2.port=8010
worker.worker2.lbfactor=1
## mod_jk_worker1.conf
jkMount /*.jsp worker1
jkMount /servlet/* worker1
jkMount /*.do worker1
jkMount /*.action worker1
jkMount /*.mbs worker1
## mod_jk_worker2.conf
jkMount /*.jsp worker2
jkMount /servlet/* worker2
jkMount /*.do worker2
jkMount /*.action worker2
jkMount /*.mbs worker2
## httpd.conf
LoadModule jk_module modules/mod_jk.so
<IfModule mod_jk.c>
JkWorkersFile conf/workers.properties
JkLogFile logs/mod_jk.log
JkLogLevel info
JkLogStampFormat \"[%a %b %d %H:%M:%S %Y] \"
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
JkRequestLogFormat \"%w %V %T\"
</IfModule>
<VirtualHost *>
ServerAdmin goosey@letmelove.net
DocumentRoot /home/k2webwizard3_2
ServerName devwizard32.letmelove.net
ErrorLog logs/devwizard32.letmelove.net-error_log
CustomLog logs/devwizard32.letmelove.net-access_log common
conf/mod_jk_worker1.conf
</VirtualHost>
<VirtualHost *>
ServerAdmin goosey@letmelove.net
DocumentRoot /home/mbs
ServerName mbs.letmelove.net
ErrorLog logs/mbs.letmelove.net-error_log
CustomLog logs/mbs.letmelove.net-access_log common
conf/mod_jk_worker2.conf
</VirtualHost>
대부분의 원인은 SSH접속시에 SSH데몬이 네임서버를 조회를 하는데, 서버의 DNS포트가
방화벽으로 막혀 있거나, /etc/resolve.conf에 네임서버의 설정이 되어있지 않을경우
네임서버를 조회하는 시간만큼의 접속지연이 발생을 하며, 이는 해결하는 방법은
첫째. 서버의 네임서버가 정상적으로 조회되도록 /etc/resolve.conf 파일에 네임서버를 설정
둘째. 첫째 방법을 하였는데도 안될경우 방화벽에서 포트가 막혀있는지 확인
셋째. /etc/ssh/sshd_config 파일에서 useDNS = yes 의 주석을 해제하고 no로 변경
정말 간만에 포스팅이네요 ^^;;; ㅋㅋㅋㅋ
오늘은 상용 RHEL5 에서 Yum 업데이트를 사용 가능하도록 저장소
URL을 변경하는 방법 입니다
=============================================================
#cd /etc/yum.repos.d
#mv rhel-debuginfo.repo rhel-debuginfo.repo.bak
#vi rhel-debuginfo.repo
[base]
name=CentOS-$releasever - Base
baseurl=http://mirror.centos.org/centos/5/os/$basearch/
gpgcheck=1
#released updates
[update]
name=CentOS-$releasever - Updates
baseurl=http://mirror.centos.org/centos/5/updates/$basearch/
gpgcheck=1
:wq
#rpm --import http://mirror.centos.org/centos/5/os/i3 ··· centos-5
#yum list
============================================================
위와 같이 yum을 실행하시면, 정상적으로 실행이 되어짐을 확인 하실수 있습니다.
mod_url README 문서
# $Id: README,v 1.2 2007/06/05 19:41:48 oops Exp $
mod_url 은 서버와 클라이언트간의 URL 인코딩이 맞지 않을 경우 이를 수정해 주는 아
파치 모듈입니다. 이 모듈은 Apache 1.x 에서 작동을 하며, Apache 2.x 에서의 사용은
다음의 URL 을 참고 하십시오:
http://modurl.kldp.net 또는
http://kldp.net/projects/modurl/
1. Compile
1.1 DSO(동적) 빌드
shell> apxs -i -c mod_url.c
또는 mod_url 소스 디렉토리에서 다음의 명령을 실행 하십시오:
shell> make
1.2 정적 빌드
shell> cp mod_url.c /path/apache-src/src/modules/extra/
shell> cd /path/apache-src
shell> ./configure .... --add-module=mod_url.c ...
2. 사용법
1. conf/httpd.conf 를 수정합니다. 다음의 LoadModule 라인을 추가하세요:
LoadModule redurl_module modules/mod_url.so
2. mod_url 을 활성시키고, 인코딩 변수를 알맞게 설정 합니다:
<IfModule mod_url.c>
CheckURL On
ServerEncoding EUC-KR
ClientEncoding UTF-8
</IfModule>
3. 디렉토리별 설정이 가능 합니다. 다음의 예제를 참고하세요:
<Directory /path/some>
<IfModule mod_url.c>
CheckURL Off
</IfModule>
</Directory>
## 아파치 2.0.X
Apache 2 를 위한 mod_url README 문서
# $Id: README,v 1.1 2007/06/05 19:50:35 oops Exp $
mod_url 은 서버와 클라이언트간의 URL 인코딩이 맞지 않을 경우 이를 수정해 주는 아
파치 모듈입니다. 이 모듈은 Apache 2.x 에서 작동을 하며, Apache 1.x 에서의 사용은
다음의 URL 을 참고 하십시오.
http://modurl.kldp.net/ 또는
http://kldp.net/projects/modurl/
현재 버전은 다음의 apache 버전에서 테스트가 되었습니다:
2.0.52
2.2.3
주의!!!:
이 모듈은 아마도 Thread Safe 하지 못합니다. 그러므로 apache의 thread mpm 에서
사용하는 것은 권장하지 않습니다.
1. Compile
1.1 DSO(동적) 빌드
shell> apxs -i -c mod_url.c
또는 mod_url 소스 디렉토리에서 다음의 명령을 실행 하십시오:
shell> make
1.2 정적 빌드
shell> cp -r mod_url/ /path/apache-src/src/modules/url
shell> rm /path/apache-src/src/modules/url/GNUmakefile
shell> cd /path/apache-src
shell> ./configure .... --enable-modules=all ..
or
shell> ./configure --enable-url=shared ...
2. 사용법
1. conf/httpd.conf 를 수정합니다. 다음의 LoadModule 라인을 추가하세요:
LoadModule redurl_module modules/mod_url.so
2. mod_url 을 활성시키고, 인코딩 변수를 알맞게 설정합니다:
<IfModule mod_url.c>
CheckURL On
ServerEncoding EUC-KR
ClientEncoding UTF-8
</IfModule>
3. 디렉토리별 설정이 가능 합니다. 다음의 예제를 참고 하세요:
<Directory /path/some>
<IfModule mod_url.c>
CheckURL Off
</IfModule>
</Directory>
한편 Channy's Blog( http://channy.creation.net/blog/?p=444 )에 따르면 TLS 프로토콜(RFC 2246)의 확장 규약(RFC 3546)에서 웹 서버와 브라우저 사이의 통신을 할 때 서버명을 미리 보내는 SNI(Server Name Indication)을 추가하였다고 한다. 따라서, 브라우저와 서버가 지원하게 되면 쉽게 virtual 설정이 가능할 날이 올 것으로 보인다.
==============================================================
Why can't I use SSL with name-based/non-IP-based virtual hosts?
The reason is very technical. Actually it's some sort of a chicken and egg problem: The SSL protocol layer stays below the HTTP protocol layer and encapsulates HTTP. When an SSL connection (HTTPS) is established Apache/mod_ssl has to negotiate the SSL protocol parameters with the client. For this mod_ssl has to consult the configuration of the virtual server (for instance it has to look for the cipher suite, the server certificate, etc.). But in order to dispatch to the correct virtual server Apache has to know the Host HTTP header field. For this the HTTP request header has to be read. This cannot be done before the SSL handshake is finished. But the information is already needed at the SSL handshake phase. Bingo!
1) mod_expires 소스 위치 : httpd-2.0.59/modules/metadata
2) apxs를 이용해서 컴파일(소스 위치에서 실행)
# /usr/local/apache2/bin/apxs -c mod_expires.c
# /usr/local/apache2/bin/apxs -i -a mod_expires.la
3) httpd.conf 를 보면 아래 부분이 추가 되어 있다.
LoadModule expires_module modules/mod_expires.so
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 1 month"
# 제외할 디렉토리
<Directory "/usr/local/apache/htdocs/temp">
ExpiresActive Off
</Directory>
</IfModule>
[아파치 설치]
#cd /usr/local/src
#wget http://apache.tt.co.kr/httpd/httpd-2.0.63.tar.gz
#tar zxvf httpd-2.0.63.tar.gz
#./configure --prefix=/usr/local/apache-2.0.63 --enable-proxy --enable-rewrite --enable-so --enable-speling --enable-ssl --enable-vhost-alias --enable-mods-shared=all --enable-deflate
#make
#make install
#cd /usr/local
#ln -s /usr/local/apache-2.0.63 apache
[JDK 설치]
#cd /usr/local
#rz
#chmod 0755 j2sdk1.4.2_13.bin
#ln -s j2sdk1.4.2_13 java
#vi /etc/profile
JAVA_HOME=/usr/local/java
export JAVA_HOME
CATALINA_HOME=/usr/local/tomcat
export CATALINA_HOME
PATH=$PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin
CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$CATALINA_HOME/lib
export CLASSPATH=/usr/local/java/jre/lib/ext/sqljdbc.jar
export PATH
export JAVA_OPTS="-Xms256m -Xmx1024m -XX:MaxPermSize=128m"
[톰켓 설치]
#cd /usr/local
#wget http://apache.mirror.cdnetworks.com/tom ··· 7.tar.gz
#tar zxvf apache-tomcat-5.5.27.tar.gz
#ln -s apache-tomcat-5.5.27 tomcat
[mod jk 설치]
1. mod_jk 파일을 준비
http://mirror.korea.ac.kr/apache/tomcat ··· aries%2F
사이트에서 지신의 시스템에 맞는 mod_jk.so 파일을 다운로드 받습니다.
예를 들어 리눅스에 아파치 2.0버전을 사용시
[root@demo conf]#wget http://mirror.korea.ac.kr/apache/tomcat ··· .0.61.so
위의 파일을 받아서 /usr/local/apache/modules 폴더에 mod_jk.so로 저장합니다.
2. mod_jk.conf파일 작성
[root@demo ~]#cd /usr/local/apache/conf/
[root@demo conf]#vi mod_jk.con
LoadModule jk_module modules/mod_jk.so
<IfModule mod_jk.c>
JkWorkersFile conf/workers.properties
JkLogFile logs/mod_jk.log
JkLogLevel info
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
JkRequestLogFormat "%w %V %T"
JkMount /*.jsp worker1
JkMount /servlet/* worker1
#JkMount /*/servlet/* worker1
#JkMount /*/*.jsp worker1
</IfModule>
3. workers.properties 파일 작성
[root@demo conf]#vi workers.properties
worker.list=worker1
worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=8009
4. httpd.conf 파일 수정
[root@demo conf]#vi httpd.conf
AddType application/x-gzip .gz .tgz
## mod_jk
Include conf/mod_jk.conf
## jwizard.k2web.co.kr
<VirtualHost *>
ServerAdmin khan@k2web.co.kr
DocumentRoot /home/k2webwizard
ServerName jwizard.k2web.co.kr
ErrorLog logs/jwizard.k2web.co.kr-error_log
CustomLog logs/jwizard.k2web.co.kr-access_log common
JkMount /*.jsp worker1
JkMount /servlet/* worker1
</VirtualHost>
5. 데몬 리스타트
* 톰켓을 내린후 아파치를 내리고 톰켓을 먼저 올린 후 아파치를 올려야 합니다.
[root@demo conf]#/usr/local/tomcat/bin/shutdown.sh
[root@demo conf]#/usr/local/apache/bin/apachectl stop
[root@demo conf]#/usr/local/tomcat/bin/startup.sh
[root@demo conf]#/usr/local/apache/bin/apachectl start
[root@localhost]#vi /etc/ssh/sshd_config
# Authentication:
#LoginGraceTime 2m
PermitRootLogin no
#StrictModes yes
#MaxAuthTries 6
[root@localhost]#vi /etc/pam.d/su
auth required pam_wheel.so allow group=wheel
[root@localhost]#vi /etc/group
wheel:x:10:root,goosey
## 맨 아래 라인에 아래내용을 추가
pasv_min_port=32768
pasv_max_port=32868
[root@localhost]#vi /etc/sysconfig/iptables
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p 50 -j ACCEPT
-A RH-Firewall-1-INPUT -p 51 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 23 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 25 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 32768:32868 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT
위 와같이 설정 후 ftp데몬과 iptables를 재실행 하여 주시면 오케이~



댓글을 달아 주세요
댓글 RSS 주소 : http://letmelove.net/blog/rss/comment/109