'apache'에 해당되는 글 3건

  1. 2010.12.20 Apache+ASP.NET(퍼옴) (1)
  2. 2008.10.15 apache rotatelogs
  3. 2007.11.15 Apache + SSL on Windows 관련 URL (1)

Apache+ASP.NET(퍼옴)

Windows 2010.12.20 20:34
Mod_AspDotNet : http://sourceforge.net/projects/mod-aspdotnet/
Apache Homepage : http://www.apache.org/

이 문서는 WIndows XP에서 아파치 서버를 구동하는 경우를 기준으로 쓴다.
미완성 프로젝트라고는 하지만, 아직까지는 별다른 기능상의 제약을 만난적은 없다.

위의 Mod_AspDotNet의 링크에서 지원모듈을 다운받아서 설치하면 아파치 설정문서에 아래와 같은 항목이 추가된다.

# Use the asp.net handler for all common ASP.NET file types
AddHandler asp.net asax ascx ashx asmx aspx axd config cs csproj licx rem resources resx soap vb vbproj vsdisco webinfo

<IfModule mod_aspdotnet.cpp>

    # Mount the IBuySpy C# example application
    AspNetMount /WebApp "C:/webpubs/wwwroot/webapp"
    AspNetMount /WebApp "C:/webpubs/wwwroot/webapp/island"

    # Map all requests for /StoreCSVS to the IBuySpy application files
    Alias /WebApp "C:/webpubs/wwwroot/webapp"
    Alias /WebApp "C:/webpubs/wwwroot/webapp/island"

    # Allow asp.net scripts to be executed in the IBuySpy example
    <Directory "C:/webpubs/wwwroot/webapp">
        Options FollowSymlinks ExecCGI
        Order allow,deny
        Allow from all
        DirectoryIndex Default.htm Default.aspx
    </Directory>
    <Directory "C:/webpubs/wwwroot/webapp/island">
        Options FollowSymlinks ExecCGI
        Order allow,deny
        Allow from all
        DirectoryIndex Default.htm Default.aspx
    </Directory>

    # For all virtual ASP.NET webs, we need the aspnet_client files
    # to serve the client-side helper scripts.
    AliasMatch /aspnet_client/system_web/(\d+)_(\d+)_(\d+)_(\d+)/(.*) \
          "C:/Windows/Microsoft.NET/Framework/v$1.$2.$3/ASP.NETClientFiles/$4"
    <Directory \
          "C:/Windows/Microsoft.NET/Framework/v*/ASP.NETClientFiles">
        Options FollowSymlinks
        Order allow,deny
        Allow from all
    </Directory>

</IfModule>

빨간색으로 강조되어있는 부분처럼 디스크상의 절대경로를 수정하면 모든설정 완료.
제일 마지막 구문에서 알 수 있듯이, 컴퓨터상에 .NET FrameWork지원 모듈이 설치되어 있어야 이 모듈도 정상적으로 돌아간다.
위의 설정을 보면 알 수 있지만, 똑같은 구문이 경로만 다르게 2개 잡혀있는것을 알 수 있다.
ASP.NET을 지원하는 폴더를 더 늘리고싶다면 위와 같이, 각 구문을 복사해서 절대경로만 알맞게 수정해주면 된다.
아쉽게도 하위 디렉토리까지 모두 지원해주지는 않는다.

신고
Posted by She쥐포s

apache rotatelogs

Unix 2008.10.15 21:23
아파치를 관리하다보면 별도의 설정이 없다면 로그 Size가 겉잡을 수 없이 커지게 된다.
로그 Size가 커지면 아파치 서버에 부하를 주게 된다.

이럴 경우 아파치의 rotatelogs를 이용하여 로그를 관리할 수 있다.

1) 일정간격으로 rotate
    CustomLog "|/usr/local/apache/bin/rotatelogs /usr/local/apache/logs/access_log 86400" common
    86400초 단위로 logrotate, 파일이름은 access_log.[timestamp]의 형식으로 저장되며 date의 포맷을
    사용할 수 있다. 즉 access_log.%m%d-%H%M%S 의 형태로 access_log.월일-시분초의 포맷으로
    저장할 수 있다.

2) 일정 Size로 rotate
    CustomLog "|/usr/local/apache/bin/rotatelogs /usr/local/apache/logs/access_log.%m%d-%H%M%S 100M" common
    로그의 Size를 100MB로 지정한다.
신고
Posted by She쥐포s
Windows용 Apache에 SSL 설정하기

o 패키지 다운로드
    - http://www.apache.org 또는
    - http://mirror.apache-kr.org 에 접속하여 SSL을 지원하는 바이너리 파일 선택
※ 현재 최신 안정버전(2.0대)은 apache_2.0.61-win32-x86-openssl-0.9.7m.msi 임(x86용)

o 패키지 설치
    - 설치과정 생략(일반 패키지 설치와 비슷)
사용자 삽입 이미지

기본설정

※ 설치디렉토리는 기본적으로 "C:\Program Files\Apache Group\Apache2"이다.

o bin 디렉토리로 이동("C:\Program Files\Apache Group\Apache2\bin")하여
   설치디렉토리 밑의 bin 디렉토리에 있는 ssleay32.dll, libeay32.dll 파일을 시스템디렉토리,
   (Windows 2000의 경우 C:\WINNT, Windows XP, 2003등은 C:\Windows)아래 system32
   디렉토리로 복사한다.

   PROMPT> copy ssleay32.dll C\WINDOWS\system32\
   PROMPT> copy libeay32.dll C\WINDOWS\system32\

사용자 삽입 이미지

o openssl.conf 파일 편집
    - 인증서를 위한 csr 파일을 만들때 입력하는 부분을 지정
    - _default로 된 값을 설정하면 추가 입력이 필요없다.
    - openssl.conf 파일은 conf 디렉토리 밑에 있다.(위치는 지정하면 되므로 상관없다)
사용자 삽입 이미지

openssl.conf 파일 편집


o CSR 생성(이과정을 마치면 privkey.pem, ww.my-server.csr 파일이 생성됨)

    PROMPT> openssl req -config openssl.cnf -new -out www.my-server.csr

※ "Common Name" 부분에 웹서버의 정확한 이름(FQDN)을 입력하지 않으면 접속시
    인증서의 이름과 다르다는 내용이 나온다.
사용자 삽입 이미지

o privkey.pem 파일에서 passphrase를 제거
    - 이과정은 private key에서 passphrase를 제거하는 과정이다.
    - key값은 아파치 서버와 관리자만 읽을 수 있어야 한다.

    PROMPT> openssl rsa -in privkey.pem -out www.my-server.key

사용자 삽입 이미지
    - .rnd 파일이 생성되는데 이 파일에는 키생성을 위한 entropy정보를 담고 있고
       private key에 대한 암호학적 공격에 사용될 수 있기 때문에 .rnd 파일을 삭제한다.
사용자 삽입 이미지

o Self Sign
    - 이 과정은 CA로부터 실제 인증서를 받기 전까지 사용할 수 있는 self-signed 인증서를
      생성하는 과정이다. 이 인증서는 1년 후에 expire된다. -days 옵션을 통해 날짜를 증가시킬
      수 있다.

    PROMPT> openssl x509 -in www.my-server.csr -out www.my-server.cert -req -signkey www.my-server.csr.key -days 365

사용자 삽입 이미지

o 아파치 설치 디렉토리의 conf 디렉토리 아래에 ssl 디렉토리를 만든다.

    PROMPT> cd "C:\Program Files\Apache Group\Apache2\conf"
    PROMPT> mkdir ssl

o 인증서 파일(www.my-server.cert)과 키(www.my-server.key) 파일을 지정한 디렉토리로 옮긴다.

    PROMPT> cd "C:\Program Files\Apache Group\Apache2\bin"
    PROMPT> move www.my-server.cert ..\conf\ssl\
    PROMPT> move www.my-server.key ..\conf\ssl\

o httpd.conf 수정(mod_ssl 사용하도록)
사용자 삽입 이미지
사용자 삽입 이미지

o ssl.conf 수정
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지

o 설정파일 문법 검사 및 아파치 시작
사용자 삽입 이미지

o 네트워크 open port 확인
사용자 삽입 이미지

o 서비스 접속 확인
사용자 삽입 이미지
사용자 삽입 이미지

o 인증서 정보 확인
사용자 삽입 이미지

o 참고 URL

○ self-signed CA 관련(mod_ssl 관련 FAQ)
http://www.modssl.org/docs/2.8/ssl_faq.html


○ apache+ssl
http://www.thompsonbd.com/tutorials/apachessl.php

신고
Posted by She쥐포s


티스토리 툴바