보안서버 구축에 필요한 무료 SSL 인증서 발급기관 - startssl

리눅스/APACHE|2015. 1. 16. 16:50
반응형

무료로 사용할 수 있는 SSL인증서를 발급해주는 곳이 있었다. 

이름하여 StartSSL 이라는 곳!

검색 중 어떤 사람이 startssl에서 인증서를 발급받아 1년간 무료로 사용하였고 1년 후에도 갱신을 통하여 계속 무료로 사용하고 있다는 이야기를 보게 되었는데...

실제로 우리나라 검색엔진 등에서 startssl관련해 찾아보니 이미 사용하고 있는 사람이 꽤 된다. 

인증서 발급 및 관련 정보는 아래의 링크를 참조

내용 중에 startssl에서 발급된 인증서가 IE에서는 발급기관을 확인하지 못해서 에러가 있다는 말도 있었는데 지금은 이 문제가 해결된 듯 하다. 

무료로 SSL 인증서 발급이라...
참으로 기특한 발급기관이 아닐 수 없다ㅋ

혹시 이번 키사에서 보안서버 구축하세요!!!!
라고 핍박을 받고 계신 분들이시라면 함 참고하시면 도움 될 듯. 

 

[출처] Nes's Random Blogz (http://blog.nemesys.co.kr/tt/entry/보안서버-구축에-필요한-무료-SSL-인증서-startssl)

반응형

댓글()

에러 로그 "x16x03x01" 200 1960

리눅스/APACHE|2015. 1. 16. 16:49
반응형

아파치 에러 로그에 아래와 같은 로그가 찍힐 경우 httpd.conf 의 NameVirtualHost 부분에

포트를 지정하지 않아 발생하는 문제입니다.

80 포트만 사용하면 문제가 없는데, 두 개 이상의 포트를 사용 할때(예: 80, 443) 발생이 됩니다.

 

[에러]

192.168.10.2 - - [22/Sep/2011:07:14:30 +0900] "x16x03x01" 200 1960

 

[해결]

httpd.conf 파일에서 아래 부분 확인 후 포트를 추가하여 줍니다.

 

NameVirtualHost 192.168.10.1:80    < 서버 IP 뒤에 포트 추가

...... (중간 생략) ......

<VirtualHost 191.168.10.1:80>         < 서버 IP 뒤에 포트 추가
 

ssl 포트를 추가 사용할 경우 ssl.conf 나 httpd-ssl.conf 등에서

<VirtualHost _default_:443>             < 이처럼 포트를 각각 지정해주어야 합니다.

 

반응형

댓글()

ssl key 파일 암호 없애는 방법

리눅스/APACHE|2015. 1. 16. 16:49
반응형

암호를 없애는 방법이라고 해도 암호를 알고있어야 없앨수 있습니다.

 

이것이 필요한 이유는 암호를 묻지않고 구동하게 하거나

윈도우에 설치된 apache 에서 구동하기 위함입니다.

보통은 후자의 경우에 사용됩니다.

 

윈도우에 설치된 apache 의 경우 ssl 인증파일 설정 후 apache 를 시작하면
구동이 되지 않는경우가 있습니다.

key 파일에 암호가 걸려있어서 그렇기 때문인데
아래와 같은 명령으로 암호를 없애주고 나면 apache 가 정상으로 실행됩니다.

 

c:> openssl rsa -in sysdocu.key -out sysdocu.key
(key 파일 암호 입력)

 

* 참고 : 인증서 및 키파일은 재발급 되지 않기 때문에

              작업 전에 꼭 사본을 남겨 놓고 작업하시기 바랍니다.

반응형

댓글()

스마트캐싱 (squid 2.6) 설정 - 80포트 멀티도메인

리눅스/APACHE|2015. 1. 16. 16:49
반응형

아래 squid.conf 는 squid 2.6 버전에서 사용하던 파일 내용입니다.

 

하나의 IP에 여러 도메인을 사용할 경우

이 모든 도메인이 squid 적용을 받게 하려면 아래 룰을 참고하시기 바랍니다.

 

목적은 'squid를 80포트로 사용하기' 입니다.

 

단순히 squid 설정으로만 되지않아 iptables 와 같이 사용하였습니다.

 

(멀티도메인 사용을 하려는데 squid 8080포트는 되지만 squid 80포트로는 멀티도메인 사용이 잘 되지 않아 몇 일 고생했습니다.

혹시 squid 설정만으로 80포트 사용할 수 있으신분은 알려주시면 감사하겠습니다. ^^)

 

squid.conf 내용

hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin ? php php3 htm html jsp js css asp aspx
cache deny QUERY
acl apache rep_header Server ^Apache
broken_vary_encoding allow apache

cache_swap_low 90
cache_swap_high 95

cache_replacement_policy lru

memory_replacement_policy lru
cache_dir null /tmp

emulate_httpd_log on
log_ip_on_direct on
mime_table /etc/squid/mime.conf
log_mime_hdrs off
log_fqdn off
check_hostnames off
allow_underscore off
hosts_file /etc/hosts
request_header_max_size 6 KB
quick_abort_min 16 KB
quick_abort_max 16 KB
quick_abort_pct 95

negative_ttl 60 seconds
collapsed_forwarding on
forward_timeout 2 minutes
connect_timeout 60 seconds
read_timeout 1 minutes
request_timeout 1 minutes
persistent_request_timeout 1 minute
client_lifetime 1 day
half_closed_clients off
pconn_timeout 60 seconds
shutdown_lifetime 60 seconds

acl BLOCK_URI urlpath_regex -i ../ ... .. .ida .IDA .cnf .dll passwd boot .exe cmd  default.ida XXXXXX /bin/sh  wget

acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443
acl Safe_ports port 80      # http
acl Safe_ports port 8080    # http
acl Safe_ports port 21      # ftp
acl Safe_ports port 443     # https
acl Safe_ports port 1025-65535  # unregistered ports
acl CONNECT method CONNECT
acl_uses_indirect_client on

log_uses_indirect_client off
http_access allow all
http_access allow manager localhost
http_access deny BLOCK_URI
http_access deny !Safe_ports
http_access deny CONNECT !SSL_portsf

reply_header_max_size 20 KB
cache_mgr squid
cachemgr_passwd sysdocu@ all        // squid 계정 패스워드 입력
mail_from squid@sysdocu.com

httpd_suppress_version_string on

 

# ---------  Important -------------- #
cache_effective_user squid
cache_effective_group squid

visible_hostname sysdocu.com        // squid 적용할 도메인을 입력해줍니다. 추가 가능
visible_hostname www.sysdocu.com

visible_hostname img.sysdocu.com

maximum_object_size 15 MB
minimum_object_size 10 KB
maximum_object_size_in_memory 1024 KB

access_log /home/squid/logs/access.log squid
cache_log /home/squid/logs/cache.log
cache_store_log /home/squid/logs/store.log

logformat combined %>a %ui %un [%tl] "%rm %ru HTTP/%rv" %Hs %<st "%{Referer}>h" "%{User-Agent}>h" %Ss:%Sh

pid_filename /var/run/squid.pid

cache_mem 2 GB
cache_peer 192.168.10.2 parent 80 0        // 서버 IP와 웹서버 포트를 입력해줍니다.

http_port 8080 accel defaultsite=sysdocu.com:80 vhost        // squid 적용할 도메인을 입력해줍니다. 추가가능
http_port 8080 accel defaultsite=www.sysdocu.com:80 vhost
http_port 8080 accel defaultsite=img.sysdocu.com:80 vhost

refresh_pattern -i .jpg$ 0 100% 86400 reload-into-ims
refresh_pattern -i .gif$ 0 70% 86400 reload-into-ims
refresh_pattern -i .png$ 0 70% 86400 reload-into-ims
refresh_pattern -i .swf$ 0 70% 86400 reload-into-ims
# ---------  Important -------------- #

 

logfile_rotate 1
memory_pools on
memory_pools_limit 0
client_db off
always_direct allow all
error_directory /usr/local/squid/share/errors/Korean
uri_whitespace deny
coredump_dir /home/squid/cache
high_response_time_warning 1500
store_dir_select_algorithm least-load

 

현재 squid.conf 로는 웹포트 80, squid 포트 8080으로 설정하였습니다.

하지만 소스에서 이미지 경로를 sysdocu.com:8080/rabbit.jpg 등으로 수정하여 사용하지 않으려면

아래와 같이 iptables 로 룰을 추가해 주도록합니다.

 

iptables 룰 추가

iptables -t nat -A PREROUTING -p tcp -s 0.0.0.0/0 -d 192.168.10.2 --dport 80 -j DNAT --to 192.168.10.2:8080

 

80포트로 접속시 squid 포트인 8080 으로 연결시키라는 뜻입니다.

 

부팅할때 자동으로 iptables 룰이 올라오도록 /etc/rc.d/rc.local 에 추가를 해줍니다.

 

[참고]

80 포트 접속 > 8080 포워딩 > 80 이미지 로딩 시도 > 8080 접속시도 > .... 와 같이 loop 되지 않나.. 하는 걱정은 안하셔도 됩니다.

  

웹브라우져를 통해 처음 서버의 iptables에 접근하면

iptables 가 80포트로 접속한 요청은 8080으로 포워딩 시켜주며 역할을 다하게 됩니다.

squid 8080 포트에서는 로컬 서버의 80포트(이때는 iptables 를 거치지 않습니다.)의 이미지를 가져오게 됩니다.

반응형

댓글()

소스 설치한 아파치를 부팅시 자동 구동되게 하기

리눅스/APACHE|2015. 1. 16. 16:48
반응형
[root@sysdocu ~]# cp -arp /usr/local/apache/bin/apachectl /etc/init.d/httpd

[root@sysdocu ~]# vi /etc/init.d/httpd

#!/bin/sh

#
# chkconfig: - 85 15 
# description: Apache is a World Wide Web server. 

# It is used to serve HTML files and CGI. 

#

(생략)


위 내용 추가


[root@sysdocu ~]chkconfig --add httpd
[root@sysdocu ~]chkconfig --level 2345 httpd on


반응형

댓글()

웹페이지 파일 자체 언어셋 설정

리눅스/APACHE|2015. 1. 16. 16:48
반응형

euc-kr 이나 utf-8 등 수정하여 사용하면 됩니다.

 


첫번째 방법

<haed>
    <meta http-equiv='Content-Type' content='text/html; charset=euc-kr'>
</haed>

 


두번째 방법

<?
    header("Content-Type: text/xml; charset=utf-8");
?>

반응형

댓글()

JDK, JDBC, JRE 설치하기

리눅스/APACHE|2015. 1. 16. 16:47
반응형

jdbc 는 mysql 연결 방식으로 설명 드립니다.

설명에 나오는 각 버전은 현재 날짜(2011. 01. 27)의 최신버전입니다.

 

설치파일 버전

- JDK 1.6.0_23

- JRE 1.6.0_23

- JDBC 5.1.14

 

1. 다운로드

최신버전을 아래 URL 에서 다운받으시면 됩니다.

그리고 서버에 upload 하여 설치 준비를 합니다.

 

JDK : http://www.oracle.com/technetwork/java/javase/downloads/index.html

JRE : http://www.oracle.com/technetwork/java/javase/downloads/index.html

JDBC : http://dev.mysql.com/downloads/connector/j/

 

 

2. 설치

파일이 위치한 디렉토리로 이동합니다.

 

1) JDK

[root@sysdocu ~]# sh jdk-6u23-linux-i586-rpm.bin

 

2) JRE

[root@sysdocu ~]sh jre-6u23-linux-i586-rpm.bin

 

3) JDBC

[root@sysdocu ~]tar xvzf mysql-connector-java-5.1.14.tar.gz

[root@sysdocu ~]cp mysql-connector-java-5.1.14/mysql-connector-java-5.1.14-bin.jar /usr/java/jdk1.6.0_23/jre/lib/ext

   (mysql-connector-java-5.1.14-bin.jar 파일을 java 홈디렉토리로 복사합니다.)

 

 

3. 기타 설정

/etc/profile 을 열어 아래 내용을 추가합니다.

 

1) JDK

JAVA_HOME=/usr/java/jdk1.6.0_23
PATH=$PATH:$JAVA_HOME/bin:/usr/local/php/bin
export JAVA_HOME
export PATH=$PATH:/usr/local/bin:/usr/local/tomcat/bin    // tomcat 이 설치되어 있을 경우 tomcat 부분 추가
export JAVA_HOME=/usr/java/jdk1.6.0_23
export CATALINA_HOME=/usr/local/tomcat    // tomcat 이 설치되어 있을 경우 추가
 

2) JRE

추가사항 없습니다.

 

3) JDBC

export CLASSPATH=$CLASSPATH:/usr/java/jdk1.6.0_23/jre/lib/ext/mysql-connector-java-5.1.14-bin.jar

 

추가 후 아래 명령어를 이용하여 적용해줍니다.

[root@sysdocu ~]source /etc/profile

 

반응형

댓글()

다른 도메인 세션 저장 (DB) - 세션 공유

리눅스/APACHE|2015. 1. 16. 16:47
반응형

이전의 방법은 php.ini 를 일일이 수정해 줘야 하기땜에 손이 많이 갑니다


나아진점은 
1. 세션값을 디폴트는 /tmp 밑에 저장하는데 이걸 mysql 을 이용합니다... 
   이렇게 하면 속도도 빨라지고 혹시 서버가 별개이어도 mysql 만 접근이 가능하면 문제

가 되지 않습니다. 
2. php.ini 는 전혀 수정하실 필요 없습니다. (소스상에서 설정 다 바꾸어 줍니다)

머 이정도네요....


설명 들어갑니다...

1. 먼저 아래처럼 session.inc 라는 파일이 있습니다..


[session.inc]

<? 
/* ------------------------------------------------------------------------ 
* Create a new database in MySQL called "sessions" like so: 

* CREATE TABLE sessions ( 
*      sesskey char(32) not null, 
*      expiry int(11) unsigned not null, 
*      value text not null, 
*      PRIMARY KEY (sesskey) 
* ); 
*/

$SESS_DBH = ""; 
$SESS_LIFE = get_cfg_var("session.gc_maxlifetime");

function sess_open($save_path, $session_name) 

global $SESS_DBH;

$SESS_DBH = mysql_pconnect("localhost", "heal", "moga33") or die("Can't connect to

SQL Server"); 
mysql_select_db("heal", $SESS_DBH) or die("Can't connect to SQL Server");

return true; 
}

function sess_close() 

return true; 
}

function sess_read($key) 

global $SESS_DBH, $SESS_LIFE;

$qry = "SELECT value FROM sessions WHERE sesskey = '$key' AND expiry > " . time(); 
$qid = mysql_query($qry, $SESS_DBH);

if (list($value) = mysql_fetch_row($qid)) { 
return $value; 
}

return false; 
}

function sess_write($key, $val) 

global $SESS_DBH, $SESS_LIFE;

$expiry = time() + $SESS_LIFE; 
$value = addslashes($val);

$qry = "INSERT INTO sessions (sesskey,expiry,value) VALUES ('$key', $expiry,

'$value')"; 
$qid = mysql_query($qry, $SESS_DBH);

if (! $qid) { 
$qry = "UPDATE sessions SET expiry = $expiry, value = '$value' WHERE sesskey =

'$key' AND expiry > " . time(); 
$qid = mysql_query($qry, $SESS_DBH); 
}

return $qid; 
}

function sess_destroy($key) 

global $SESS_DBH;

$qry = "DELETE FROM sessions WHERE sesskey = '$key'"; 
$qid = mysql_query($qry, $SESS_DBH);

return $qid; 
}

function sess_gc($maxlifetime) 

global $SESS_DBH;

$qry = "DELETE FROM sessions WHERE expiry < " . time(); 
$qid = mysql_query($qry, $SESS_DBH);

return mysql_affected_rows($SESS_DBH); 
}

session_set_save_handler("sess_open", "sess_close", "sess_read", "sess_write",

"sess_destroy", "sess_gc"); 
session_set_cookie_params(0, "/", ".url.com");

session_start();

?>



이 파일이 젤 중요한데요... 
요걸 세션을 쓰는곳마다 (그니까 session_start() 가 쓰이는 곳) 마다 첨부시켜주세요.... 
젤 위부분에 보면 테이블이 있습니다. 이거 mysql 에 만들어 주세요. 세션이 저장될 테이

블입니다. 
글구 젤 밑에서 두번째 줄에 보면 
session_set_cookie_params(0, "/", ".url.com"); 
이게 있는데여 요걸 그쪽 도메인에 맞게 수정해 주세요...



2. 그리구 테스트 해보는 파일....

[session.php]

<?

include "session.inc";

if ($mode == 'login') 
{

if ( $logid=='toughing' && $passwd=='aaaa' ) 

echo(" 
Login OK....<br> 
");

$_logid = $logid; 
$_passwd = $passwd; 
session_register("_logid"); 
session_register("_passwd");

echo(" <meta http-equiv='Refresh' content='1; URL=session1.php'> "); 

else 

echo("Login Failure....<br>");

echo(" <meta http-equiv='Refresh' content='3; URL=$PHP_SELF'> "); 
}

exit; 

else if ($mode == 'logout') 

session_unregister("_logid"); 
session_unregister("_passwd");

echo(" <meta http-equiv='Refresh' content='0; URL=$PHP_SELF'> "); 
}

//sess_gc(1); 
echo(" 
  <form name='log' action='$PHP_SELF' method='post'> 
<input type=hidden name=mode value=login> 
아이디 <input type=text size=10 name='logid' style='border : 1 solid #666666;

font-family : 돋움'><br> 
암호 <input type=password size=10 name='passwd' style='border : 1 solid #666666;

font-family : 돋움'><br> 
<input type=submit value='확인'> 
  </form> 
");

?>



[session1.php]

<? 
include "session.inc";

if ($_logid && $_passwd) 

echo(" 
이 페이지는 로그인을 한 사람만 볼 수 있당..<br> 
<a href='test.php'>갈은 도메인</a> 
<a href='http://www.hul.com/test.php?$SID'>다른 도메인</a> 
<form name='log' action='session.php' method='post'> 
<input type=hidden name=mode value=logout> 
<input type=submit value='로그아웃'> 
</form> 
"); 
$ss = session_get_cookie_params(); 
echo("^$ss[lifetime]^$ss[path]^$ss[domain]^"); 
exit; 
}


echo("아무나 다 보는 페이지..<br>");

?> 

 

[출처] 바게의 열린공간 | BAGE (http://blog.bagesoft.com/197)

반응형

댓글()

스마트캐싱 (squid 3.2.0.3) 설정

리눅스/APACHE|2015. 1. 16. 16:47
반응형

본 매뉴얼은 웹서버포트 8080, squid 포트 80을 기준으로 작성하였습니다.

웹서버에 사용하는 도메인이 많은 가운데 한개의 도메인만 squid 적용하고 싶을 경우

웹서버를 80으로, squid 포트를 8080 (또는 3128)으로 변경하여 적용 하시기 바랍니다.

 

 

1. 다운로드

    http://squid-cache.org

 

위 URL 에서 최신 버전을 다운로드 받습니다. (2010.12.23 현재 버전 : 3.2.0.3)

squid 3.2.0.3 바로 받기 : ftp://mirror.aarnet.edu.au/pub/squid/archive/3.2/squid-3.2.0.3.tar.gz

새로운 버전을 다운로드 받아서 ftp로 업로드 시키거나 위에 기재된 버전을 wget을 이용하여 아래와같이 다운받습니다.

 

cd /usr/local/src

wget ftp://mirror.aarnet.edu.au/pub/squid/archive/3.2/squid-3.2.0.3.tar.gz

 

 

2. 설치

tar xvzf squid-3.2.0.3.tar.gz

cd squid-3.2.0.3

./configure --prefix=/usr/local/squid

make

make install

 

 

3. 설정 

사용자, 그룹 생성 및 소유자 변경

groupadd -g 3128 squid
adduser -u 3128 -g squid -d /usr/local/squid/var squid    // 홈 디렉토리가 이미 있어서 파일을 복사하지 않는다고 나옵니다.

passwd squid    // squid 계정의 패스워드를 입력합니다.

chown squid.squid -R /usr/local/squid

 

squid 설정 파일을 아래 내용으로 대체하고 도메인 및 포트는 적절하게 수정합니다.

vi /usr/local/squid/etc/squid.conf

 

hierarchy_stoplist cgi-bin ?
acl apache rep_header Server ^Apache
 

# 홈페이지 소스 (또는 특정 단어)는 캐시서버에 저장하지 않음

acl QUERY urlpath_regex cgi-bin ? php php3 htm html jsp js css asp aspx

cache deny QUERY    (이부분 포함되는지 안되는지 확인 필요)

 

# 디스크에 저장할 객체를 대체하는 방식

cache_swap_low 90

cache_swap_high 95

 

memory_replacement_policy lru
emulate_httpd_log on
log_ip_on_direct on
log_mime_hdrs off
log_fqdn off
quick_abort_min 16 KB
quick_abort_max 16 KB
quick_abort_pct 95
negative_ttl 60 seconds
connect_timeout 60 seconds
read_timeout 1 minutes
request_timeout 1 minutes
client_lifetime 1 day
half_closed_clients off
pconn_timeout 60 seconds
shutdown_lifetime 60 seconds
acl BLOCK_URI urlpath_regex -i ../ ... .. .ida .IDA .cnf .dll passwd boot .exe cmd  default.ida XXXXXX /bin/sh  wget
acl manager proto cache_object
acl localhost src 127.0.0.1/32 ::1
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 ::1
acl SSL_ports port 443
acl Safe_ports port 8080    # http
acl Safe_ports port 21      # ftp
acl Safe_ports port 443     # https
acl Safe_ports port 1025-65535  # unregistered ports
acl CONNECT method CONNECT
http_access allow all
http_access allow manager localhost
http_access deny BLOCK_URI
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
 

# ★사용자 계정과 설정한 패스워드를 입력합니다.

cache_mgr squid
cachemgr_passwd sysdocu!@#$ all    # 여기서 sysdocu!@#$ 가 패스워드입니다.
 

# squid 데몬을 실행할 사용자
cache_effective_user squid

cache_effective_group squid

 

# 사용할 도메인 등록

visible_hostname img.sysdocu.com
 

# 캐시에 저장될 파일 크기
maximum_object_size 15 MB

minimum_object_size 10 KB


cache_access_log /usr/local/squid/var/logs/access.log
cache_log /usr/local/squid/var/logs/cache.log
cache_store_log /usr/local/squid/var/logs/store.log
pid_filename /var/run/squid.pid

 

# 캐시 메모리로 잡을 메인 메모리 (1GB 식으로 해도 됌)
cache_mem 2048 MB

 

logfile_rotate 1
memory_pools on
memory_pools_limit 0
client_db off
always_direct allow all
error_directory /usr/local/squid/share/errors/ko
uri_whitespace deny
high_response_time_warning 1500

 

# 서버IP 및 웹서버 포트(8080)

cache_peer 115.68.39.11 parent 8080 0

 

# squid 가 사용할 포트(80) 및 웹서버 포트(8080)
http_port 80 accel defaultsite=img.sysdocu.com:8080

 

 

스왑디렉토리를 초기화 합니다. (추후 초기화 할때는 squid 를 중지 후 초기화 하세요.)

/usr/local/squid/sbin/squid -z

squid 를 구동합니다.

/usr/local/squid/sbin/squid

[참고]

종료방법 : pkill -9 squid

 

아래와 같이 squid 가 사용하는 포트를 확인할 수 있습니다.

netstat -nltp | grep squid

tcp        0      0 0.0.0.0:80                0.0.0.0:*                   LISTEN      1943/(squid-1)

 

※ 해당 포트번호(80) 를 iptables 에 등록하여 접근 허용하도록 합니다.

    웹서버도 허용이 되어있나 다시 확인합니다.

 

 

4. 확인

웹브라우저로 이미지 파일을 열어봅니다.

 

예) http://img.sysdocu.com/images/love.jpg

 

이미지가 뜬것을 확인했습니다.

그럼 서버내 이미지 파일 love.jpg 파일을 삭제(또는 파일명 변경)하고

위 URL 로 다시 접속해 봅니다.

 

이미지가 뜨면 성공입니다!

파일이 해당 위치에 없는데도 나타나는것은 서버 HDD에서 이미지를 읽지않고

메모리에서 읽어오기 때문입니다. 수고하셨습니다. ^^

반응형

댓글()

Apache 2.3.8 + Tomcat 6.0.0 + JAVA 연동

리눅스/APACHE|2015. 1. 16. 16:46
반응형

Apache 2.3.8, Tomcat 6.0.0 및 JAVA는 이미 설치되어 있다고 가정하고

연동 방법을 설명 드립니다.

 

1. JK connectors 다운로드

현재 최신버전은 jk 1.2.31 입니다. (2010.12.06 기준)

그리고 JK2 는 현재 개발이 되지 않고 있다는 소문이 들리기도 합니다.

 

jk 1.2.31 다운로드

cd /usr/local/src

wget www.apache.org/dist/tomcat/tomcat-connectors/jk/source/jk-1.2.31/tomcat-connectors-1.2.31-src.tar.gz

 

※ 신버전 안내 페이지 : http://tomcat.apache.org/connectors-doc/

 

 

2. JK connectors 설치

tar xvzf tomcat-connectors-1.2.31-src.tar.gz

cd tomcat-connectors-1.2.31-src/native

sh buildconf.sh

./configure --with-apxs=/usr/local/apache/bin/apxs

make

make install

 

※ httpd 2.x 이면 --with-apxs2 라고 생각이 들어도 막상 해보면 에러나는것을 보실 수 있습니다.

    apache 1.x 이나 httpd 2.x 에 관계없이 --with-apxs 라고 옵션을 줍니다.

 

mod_jk.so 가 설치된것이 확인됩니다.

ll /usr/local/apache/modules/mod_jk.so
-rwxr-xr-x 1 root root 874537 12월  6 10:36 /usr/local/apache/modules/mod_jk.so

 

 

3. 설정 및 파일 생성

각 설정파일을 열어 jk 연동 설정(파란색 부분)을 합니다.

 

vi /usr/local/apache/conf/httpd.conf

 

LoadModule jk_module modules/mod_jk.so

 

DirectoryIndex index.html index.jsp

 

<IfModule mod_jk.c>
    JkWorkersFile /usr/local/apache/conf/workers.properties
    JkShmFile /usr/local/apache/logs/mod_jk.shm
    JkLogFile /usr/local/apache/logs/mod_jk.log
    JkLogLevel info
    JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
</IfModule>

------------------------------------------------------------

vi /usr/local/apache/conf/extra/httpd-vhosts.conf

 

<VirtualHost *:80>
    DocumentRoot /home/sysdocu/public_html
    ServerName sysdocu.com

    ServerAlias www.sysdocu.com

    <Directory />
        Options FollowSymLinks
        AllowOverride None
        Order allow,deny
        Allow from all
    </Directory>
JkMount /*.jsp default
</VirtualHost>

------------------------------------------------------------

vi /usr/local/apache/conf/workers.properties    // 파일생성

 

workers.tomcat_home=/usr/local/tomcat

workers.java_home=/usr/java/jdk1.6.0_22

worker.list=default

worker.default.type=ajp13

worker.default.host=localhost

worker.default.port=8009

worker.default.lbfactor=1

worker.default.connection_pool_timeout=600

worker.default.socket_keepalive=1

 

------------------------------------------------------------

vi /usr/local/tomcat/conf/server.xml

파일을 열어 각 부분에 사용할 도메인 및 DocumentRoot 디렉토리를 입력합니다.

 

       <Host name="sysdocu.com" appBase="/home/sysdocu/public_html"

       unpackWARs="true" autoDeploy="true"

       xmlValidation="false" xmlNamespaceAware="false">

       <Context path="" docBase="/home/sysdocu/public_html" crossContext="true" debug="0" reloadable="true"/>

       <Alias>www.sysdocu.com</Alias>

       </Host>


 

 

4. 적용하기

아래 순서로 웹서버를 재시작하고 DocumentRoot 디렉토리에 jsp 소스파일을 만들어 확인합니다.

 

tomcat 중지 > apache 재시작 > tomcat 시작

반응형

댓글()

[JavaScript] 링크 클릭시 특정 주소 클립보드로 복사

반응형
테스트<-- 출력된 테스트를 클릭하면 주소가 자동으로 복사되어서 붙여넣기 하면 되는  소스.
버튼식이 아닌 텍스트 방식, 클릭시 "복사되었습니다" 이런 창도 뜨는.
 
<script language="JavaScript">
function copy_clip(strData) {
clipboardData.setData("Text", strData);
alert("클립보드로 복사되었습니다.");}
</script>
<a href="javascript:copy_clip('http://www.naver.com');">주소</a>

그 외에
 
<script language="JavaScript">
function toclip(strData)
{
var clip = document.body.createTextRange();
clip.moveToElementText(document.all(strData));
clip.select();
clip.execCommand('copy');
alert("클립보드로 복사되었습니다.");
}
</script>
<a href="javascript:toclip('url_1')">주소</a>
<span id='url_1' style="visibility:hidden;overflow:hidden;">http://www.naver.com</span>

주소는 보이지 않게해서 복사만 되는 소스
 
<script language="JavaScript">
function hideStatus()
{
len = document.links.length;
for(var i=0;i
<body onload="hideStatus();">
 
하시면 상태창에 표시되는 글이 없습니다.

 


반응형

댓글()