레이블이 APACHE인 게시물을 표시합니다. 모든 게시물 표시
레이블이 APACHE인 게시물을 표시합니다. 모든 게시물 표시

OpenSSL + Apache 2.0.X (RPM설치시 예제)

■mod_sslインストール


[root@centos ~]# yum -y install mod_ssl ← mod_sslインストール

■WebサーバーSSL設定

(1)サーバー用秘密鍵・証明書作成

[root@centos ~]# cd /etc/pki/tls/certs/ ← ディレクトリ移動※CentOS5の場合

[root@centos ~]# cd /usr/share/ssl/certs ← ディレクトリ移動※CentOS4の場合

[root@centos certs]# sed -i 's/365/3650/g' Makefile ← サーバー用証明書有効期限を1年から10年に変更

[root@centos certs]# make server.crt ← サーバー用秘密鍵・証明書作成
umask 77 ; \
        /usr/bin/openssl genrsa -des3 1024 > server.key
Generating RSA private key, 1024 bit long modulus
.................++++++
............++++++
e is 65537 (0x10001)
Enter pass phrase: ← 任意のパスワードを応答※表示はされない
Verifying - Enter pass phrase: ← 任意のパスワードを応答(確認)※表示はされない
umask 77 ; \
        /usr/bin/openssl req -utf8 -new -key server.key -x509 -days 3650 -out server.crt -set_serial 0
Enter pass phrase for server.key: ← 上記で応答したパスワードを応答※表示はされない
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [GB]:JP ← 国名応答
State or Province Name (full name) [Berkshire]:Kanagawa ← 都道府県名応答
Locality Name (eg, city) [Newbury]:Kawasaki ← 市区町村名応答
Organization Name (eg, company) [My Company Ltd]:centossrv.com ← サイト名応答(なんでもいい)
Organizational Unit Name (eg, section) []: ← 空ENTER
Common Name (eg, your name or your server's hostname) []:centossrv.com ← Webサーバー名応答
Email Address []:webmaster@centossrv.com ← 管理者メールアドレス応答

[root@centos certs]# openssl rsa -in server.key -out server.key ← サーバー用秘密鍵からパスワード削除
Enter pass phrase for server.key: ← サーバー用秘密鍵・証明書作成時のパスワード応答※表示はされない
writing RSA key
※パスワードを削除するのは、Webサーバー起動時にパスワードを要求されないようにするため

(2)SSL設定

[root@centos certs]# vi /etc/httpd/conf.d/ssl.conf ← ApacheSSL設定ファイル編集
※CentOS5の場合
SSLCertificateFile /etc/pki/tls/certs/server.crt ← サーバー用証明書を指定

SSLCertificateKeyFile /etc/pki/tls/certs/server.key ← サーバー用秘密鍵を指定

※CentOS4の場合
SSLCertificateFile /usr/share/ssl/certs/server.crt ← サーバー用証明書を指定

SSLCertificateKeyFile /usr/share/ssl/certs/server.key ← サーバー用秘密鍵を指定

#  General setup for the virtual host, inherited from global configuration
#DocumentRoot "/var/www/html" ← #を削除(コメント解除)
↓
DocumentRoot "/var/www/html"

■Apache設定反映

(1)Apache設定反映

[root@centos certs]# /etc/rc.d/init.d/httpd restart ← Apache再起動
httpd を停止中:                                            [  OK  ]
httpd を起動中:                                            [  OK  ]

(2)ポート443番のOPEN
ルーター側の設定でポート443番をOPENする。
※ルーターの設定は各ルーターのマニュアルまたはメーカー別ルーターポート開放手順を参照

아파치 소스 설치의 경우가 더 많을 걸로 예상되어서 잠시 정리하면 ...

1. /usr/local/apache2/conf/httpd.conf 에서 httpd-ssl.conf 찾아서
include를 해제해 준다
약 400~450 사이쯤에 아래와 같은 부분이 있다
# Secure (SSL/TLS) connections
# Include conf/extra/httpd-ssl.conf
※ 위 # 삭제 아래와 같이
Include conf/extra/httpd-ssl.conf

2. vi /usr/local/apache2/conf/extra/httpd-ssl.conf (파일 열고)

3. 76째 줄부터 몇가지 설정을 해 준다
# General setup for the virtual host
DocumentRoot "/html/webroot" <-- 알맞게 변경
DirectoryIndex index.php index.html index.htm <-- 이 부분 추가
ServerName www.thenamed.net:443 <-- 해당 도메인으로 변경
ServerAdmin xxxx@xxxx.jp <-- 알맞게 변경
ErrorLog "/usr/local/apache2/logs/error_log"
TransferLog "/usr/local/apache2/logs/access_log"

4. 약 100번째 줄에서 부터 두가지 변경
SSLCertificateFile "/usr/local/apache2/conf/server-dsa.crt"
위를 아래와 깉이 변경
SSLCertificateFile "/usr/local/ssl/www.thenamed.net.crt"

5. 약 110번째 줄에서 부터
SSLCertificateKeyFile "/usr/local/apache2/conf/server-dsa.key"
아래 처럼 변경
SSLCertificateKeyFile "/usr/local/ssl/www.thenamed.net.key"

즉 인증서(crt)과 키(key)파일을 저장한 위치를 설정해 주면 된다.

마지막으로 /usr/local/apache2/bin/apachectl restart

https://www.example.com 자기도메인으로 접속해 보면 정상적으로 보여야 한다
하지만 OpenSSL 이기 때문에 인증되자 않은 사용자라고 경고메세지가 뜨는데
이는 원도우계열이라면 MS에 인증서 비용을 제출해야 MS에서 경고메세지가
안 뜨도록 인증된 사용자라고 등록해 준다 ..

녹색방퍠와 빨간방패가 뜬다면 빨간 방패를 눌러 사이트에 접속하도록 하자..

TIP. VeriSign과 같은 등록대행 업체를 이용한다면
중계인증자까지 등록 해야 한다
SSLCACertificateFile 부분을 찾아 경로에 맞게 세팅한다.
확장자는 .ca.crt이다
SSLCACertificateFile /usr/local/ssl/www.verisign.net.ca.crt
(SSLCACertificateFile는 주석 처리 되어 있으니 경로에 맞게 세팅)

Apache기초명령어

Apache Web Server
: 웹서비스를 제공하는 웹서버

Server Side Script
- PHP :
- ASP : IIS 필요
- JSP : Tomcat 필요

Client Side Script
- JavaScript
- VBScript


아파치가 설치 되어 있는지 확인
# rpm -qi htpd
# rpm -qa|grep -i httpd
# rpm -ql httpd

아파치 실행
# /etc/rc.d/init.d/httpd start

아파치 멈춤
# /etc/rc.d/init.d/httpd stop

아파치 상태 보기
# /etc/rc.d/init.d/httpd status

ntsysv 명령을 이용하여 부팅시 서비스를 동작/정지 하도록 할 수 있다.

아차피의 환경 설정 파일
# vi /etc/httpd/httpd.conf

웹서비스 하고자 하는 파일을 위치 하는 디렉토리
#cd /var/www/htm/
기본적으로 index.html 파일을 읽어 서비스를 요청한 곳으로 전송 하여 준다.


유저별 홈페이지 디렉토리 : /home/사용자계정/public_html/ 디렉토리

/etc/skel 이라는 디렉토리는 사용자 생성시 기본적으로 들어가야 할 파일들이 위치 하고 있다

apache tomcat connector mod_jk (아파치 톰캣 연동)

apache tomcat connector mod_jk (아파치 톰캣 연동)


1. Download

1) Apache

- url : http://archive.apache.org/dist/httpd/binaries/win32/

- file : apache_1.3.22-win32-x86.exe

구버젼이지만 url에 가면 최신버젼(현재 apache2.2)



2) Tomcat 5.5

- url : http://tomcat.apache.org/download-55.cgi

여기에 중간쯤 가면 5.5.27 > Binary Distributions > Windows Service Installer

- file : apache-tomcat-5.5.27.exe



3) JDK

- url : http://java.sun.com/javase/downloads/index.jsp

- file : jdk-6u4-windows-i586-p.exe

JDK는 지금 update가 6u7까지 나와있으니 원하는 것으로 download 클릭



4) eclipse WTP(Web Tool Platform)

- url : http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/europa/winter/eclipse-jee-europa-winter-win32.zip

- file : eclipse-jee-europa-winter-win32.zip

전 europa 버젼을 사용했습니다

- 참고 : 설치 후 처음실행시 실행되지 않고 이상한 메세지(jvm terminated ... )나오면

제 블로그 '이클립스 처음시작시 에러 대처법'을 참고하세요. 간단함



5) Apache + Tomcat 연동 Connector

- url : http://tomcat.apache.org/download-connectors.cgi

여기에 중간쯤 Tomcat Connector JK1.2 > JK 1.2.26 Source Release zip (e.g. Windows)

> Binary Releases 클릭 > win32 > jk-1.2.26/ > mod_jk-1.2.26-httpd-2.2.4.so

- file : mod_jk-1.2.26-httpd-2.2.4.so



2. 설치하기

1) Apache

- 설치디렉토리 : C:\apache

- 하다가 설치디렉토리만 지정해 주면 됩니다.



2) Tomcat

- 설치디렉토리 : C:\tomcat

- 하다가 설치디렉토리만 지정해 주면 됩니다.



3) JDK

- 설치디렉토리 : C:\jdk1.6.0_04 <--숫자는 version 입니다. 차이가 있을 수 있습니다

- 하다가 설치디렉토리만 지정해 주면 됩니다

- 설치중간에 jre 설치 폴더를 지정해야하는데 그냥 하면 됩니다.



4) eclipse

- 설치디렉토리 : C:\eclipse

- 압축을 C:\ 에 풀어주면 됩니다.(압축파일에 eclipse 폴더가 있습니다)



3. 내컴퓨터 환경설정

; 이 부분부터 쪼까 힘듭니다...

1) 내컴퓨터 환경변수 설정

- 위치 : 내컴퓨터 > 속성 > 고급 > 환경변수 > 시스템 변수 > 새로만들기

. 변수이름 : java_home

. 변수값 : C:\jdk1.6.0_04



- 위치 : 내컴퓨터 > 속성 > 고급 > 환경변수 > 시스템 변수 > 새로만들기

. 변수이름 : classpath

. 변수값 : C:\jdk1.6.0_04\lib\tools.jar;C:\Tomcat\common\lib\servlet-api.jar



- 위치 : 내컴퓨터 > 속성 > 고급 > 환경변수 > 시스템 변수 > Path 선택 > 편집 선택

. 변수값추가 : C:\jdk1.6.0_04\bin;



4. 연동 및 edit configure

1) 사전테스트

a. Apache만 Start시키고 'http://localhost/' 실행시켜 봅니다.

apache 초기 웹화면을 확인 합니다.



b. Apache를 Stop하고 Tomcat만 Start합니다.

'http://localhost:8080' 실행시켜 봅니다

Tomcat 초기 웹화면을 확인 합니다.



2) Apache httpd.conf 편집

a. ServerName 변경

- file : C:\apache\conf\httpd.conf

- Text 편집기(메모장,UltraEdit, Editplus등)로 열어 'ServerName'을 찾아 편집

- 내용 : ServerName localhost <-- local이 아닌경우 IP나 Domain Name을 입력합니다.



b. DirectoryIndex

- file : C:\apache\conf\httpd.conf

- Text 편집기(메모장,UltraEdit, Editplus등)로 열어 'DirectoryIndex' 찾아 편집

- 내용 : index.jsp 추가




DirectoryIndex index.jsp index.html



3) Apache + Tomcat 연동

a. 파일이름변경 및 이동

- 변경전 : mod_jk-1.2.26-httpd-2.2.4.so

- 변경후 : mod_jk.so

- 변경된 mod_jk.so 파일을 C:\apache\modules\ 에 넣기



b. httpd.conf 설정

- text편집기로 C:\apache\conf\httpd.conf 파일을 엽니다.

- 'LoadModule'을 검색해서 아래의 내용을 추가합니다.




LoadModule jk_module modules/mod_jk.so




- 맨 뒤로 가서 아래의 내용도 추가합니다.



Include conf/mod_jk.conf



c. mod_jk.conf 설정

- 새 문서(Ctrl+N)을 열어 아래의 내용을 추가합니다.




JkWorkersFile conf/workers.properties
JkLogFile logs/mod_jk.log
JkLogLevel info
JkAutoAlias "C:\Tomcat\webapps" <-- Tomcat위치를 확인 후 적어주세요
JkMount /*.jsp ajp13
JkMount /servlet/* ajp13
JkMount /jsp-examples ajp13
JkMount /jsp-examples/* ajp13
JkMount /url ajp13
JKUnmount /*.php ajp13
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
JkRequestLogFormat "%w %V %T"




- 반드시 저장할때는 mod_jk.conf로 저장하고

- 파일을 C:\apache\conf\ 에 둡니다.



d. workers.properties 설정

- 새 문서(Ctrl+N)을 열어 아래의 내용을 추가합니다.



workers.tomcat_home=C:\Tomcat <-- Tomcat 위치
workers.java_home=C:\jdk1.6.0_04 <-- JDK 설치 위치
ps=\
worker.list=ajp13
worker.ajp13.port=8009
worker.ajp13.host=localhost
worker.ajp13.type=ajp13



- 반드시 저장할때는 workers.properties 로 저장하고

- 파일을 C:\apache\conf\ 에 둡니다.



e. AJP 1.3 Connector on port 8009 확인

- file : C:\Tomcat\conf\server.xml

- Text편집기로 열어 '8009' 검색하여



이 부분이 주석처리 되어 있으면 주석 해제



5. 연동확인

1) Tomcat 을 먼저 Start합니다.

2) Apache를 Start합니다.

3) Browzer를 띄우고 'http://localhost/' 입력 후 실행하면

Tomcat 페이지가 나오면 성공 한겁니다. ^^

[출처] JDK + eclipse + Apache + Tomcat설치 및 연동하기(WindowsXP)|작성자 덕구씨

apache + tomcat 연동

인스톨 파일 다운로드#

  1. Apache 2.2.11 : http://apache.mirror.cdnetworks.com/httpd/binaries/win32/apache_2.2.11-win32-x86-no_ssl.msi
  2. JDK 6.0.11 : http://java.sun.com/javase/downloads/?intcmp=1281
  3. Tomcat 6.0.18 : http://apache.mirror.cdnetworks.com/tomcat/tomcat-6/v6.0.18/bin/apache-tomcat-6.0.18.tar.gz
  4. mod_jk : http://apache.mirror.cdnetworks.com/tomcat/tomcat-connectors/jk/binaries/win32/jk-1.2.27/mod_jk-1.2.27-httpd-2.2.10.so

설치하기#

Apache 설치하기#

인스톨러를 이용해 설치한다. 가급적이면 설치 디렉터리를 일관적으로 가져가는 것이 좋다.

mod_jk 설치하기#

설치라기 보다는 파일을 다운로드받아 Apache 설치디렉터리/modules 아래 복사해 넣는다. Apache 사이트에서는 이름을 mod_jk.so 로 바꿔서 작업하라고 권하고 있지만 개인적으로는 차후 업그레이드를 위해 그냥 사용하기를 권한다. 사실 버전은 로그를 통해서도 확인은 가능하다.

Tomcat 설치하기#

필자의 경우 Tomcat은 인스톨러 버전은 추천하지 않는다. 그냥 압축버전을 다운로드해서 그냥 압축을 풀도록 한다.

Apache 설정 추가#

  • httpd.conf
LoadModule jk_module     modules/mod_jk-1.2.27-httpd-2.2.10.so

<IfModule mod_jk.c>
 
JkWorkersFile conf/workers.properties
 
JkLogFile             logs/mod_jk.log
 
JkLogLevel    info
 
JkMountFile   conf/uriworkermap.properties
IfModule>

여기서 필자가 가장 자주 범하는 오류는 "IfModule mod_jk.c" 라고 적어야 하는데 "IfModule jk_module" 라고 적는다는 것이다.

  • workers.properties
worker.list=worker1

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

여기서 사용될 다양한 설정값이 존재한다. 물론 tomcat connector페이지에서 확인이 가능하나 너무 다양해서 어렵다. 이런 경우 아래 참고사이트를 참고하길 바란다.

  • uriworkermap.properties
/*.do=worker1

/*.jsp=worker1

테스트#

샘플소스#

<%

String msg = "test";
%>
<%= msg %>

8080 포트로 접속한 경우#

80 포트로 접속한 경우#

mod_jk 로그확인#

[Tue Dec 16 21:43:50.968 2008] [1704:4068] [info] mod_jk.c (3018): mod_jk/1.2.27 initialized 

참고사이트#