Apache HTTP Server 문서 원본 보기
←
Apache HTTP Server
둘러보기로 가기
검색하러 가기
문서 편집 권한이 없습니다. 다음 이유를 확인해주세요:
요청한 명령은 다음 권한을 가진 사용자에게 제한됩니다:
사용자
.
이 문서는 편집하거나 다른 명령을 할 수 없도록 보호되어 있습니다.
문서의 원본을 보거나 복사할 수 있습니다.
==관리자 가이드== ===이름 기반 가상 호스트=== Apache HTTP Server에서 이름 기반의 가상 호스트를 구축 합니다. 이름 기반 가상 호스트는 하나의 서버에서 호스트명과 도메인 명으로 서로 다른 서비스를 제공할 수 있도록 해 줍니다. *이름 기반 가상 호스트 (Name Based Virtual Host) 기본 설정 (httpd.conf) :*첫번째 정의된 가상 호스트 (VirtualHost)가 디폴트로 적용되는 가상 호스트 입니다. :*ServerName : 가상 호스트의 이름 :*ServerAlias : 가상 호스트에 적용되는 여러개의 다른 이름, 스페이스로 구분하여 적어 줍니다. :*JkMountCopy On : Apache Tomcat과 연동되어 있다면 이 설정을 가상 호스트에 적용 되도록 합니다. NameVirtualHost *:80 <VirtualHost *:80> ServerName www.vtiger.co.kr ServerAlias *.vtiger.co.kr DocumentRoot /usr/local/vtiger //--- 다른 호스트명으로 redirect 한다. //--- 즉, www.vtiger.co.kr로 접속해도 자동으로 www.domainA.co.kr로 바뀐다. //Redirect / http://www.domainA.co.kr/ LogLevel info CustomLog "logs/access_log" common ErrorLog "logs/error_log" //--- JkMount /*.jsp worker1 JkMountCopy On </VirtualHost> <VirtualHost *:80> ServerName bizapp.jopenbusiness.co.kr ServerAlias *.jopenbusiness.co.kr DocumentRoot /var/www/html LogLevel info CustomLog "logs/bizapp_access_log" common ErrorLog "logs/bizapp_error_log" </VirtualHost> *참고 문헌 :*[http://httpd.apache.org/docs/2.2/vhosts/name-based.html 이름기반 가상호스트 지원] :*[http://httpd.apache.org/docs/trunk/ko/vhosts/ 아파치 가상호스트 문서] :*[http://httpd.apache.org/docs/2.2/ko/vhosts/mass.html 대량의 가상호스트를 동적으로 설정하기] ===URL rewrite 모드 설정=== *설정 위치 :*httpd.conf 파일에서 Server Config, Virtual Host, Directory 영역에서 설정 :*각 폴더에서 .htaccess 파일에서 설정 *Apache HTTP Server에 모듈 추가 LoadModule rewrite_module modules/mod_rewrite.so *.htaccess 샘플 RewriteEngine On #--- RewriteLogLevel : 0. 로그 기록 않음, 1, 2, ..., 9 # RewreteLog 로그파일명 # RewriteLogLevel 0 #--- RewriteCond TestStirng CondPattern CondPattern #--- HTTP_HOST (HTTP_HOST, SERVER_PORT), REQUEST_URI, QUERY_STRING, REQUEST_FILENAME #--- http://www.jopenbusiness.com/test -> HTTP_HOST : www.jopenbusiness.com, REQUEST_URI : /test #--- CondPattern : -f. 파일, -d. 폴더 #--- RewriteRule Pattern Substitution flag #--- Flag : F. 403 에러, G. 401. 에러, L. 여기까지 rule 적용, C. 다음 rule 계속 적용 RewriteCond %{HTTP_HOST} ^(www\.vtiger\.co\.kr) RewriteRule (.*) http://www.jopenbusiness.com/$1 [L] RewriteCond %{HTTP_HOST} ^(eapp\.test\.co\.kr) RewriteCond %{REQUEST_URI} ^/ekp/svri(/*) RewriteRule ^(.*)$ http://eapp.test.co.kr/ [L] RewriteOptions 100 *시스템 변수 ( 사용법 : %{변수명} ) :*HTTP headers: HTTP_USER_AGENT, HTTP_REFERER, HTTP_COOKIE, HTTP_FORWARDED, HTTP_HOST, HTTP_PROXY_CONNECTION, HTTP_ACCEPT :*connection & request: REMOTE_ADDR, REMOTE_HOST, REMOTE_PORT, REMOTE_USER, REMOTE_IDENT, REQUEST_METHOD, SCRIPT_FILENAME, PATH_INFO, QUERY_STRING, AUTH_TYPE :*server internals: DOCUMENT_ROOT, SERVER_ADMIN, SERVER_NAME, SERVER_ADDR, SERVER_PORT, SERVER_PROTOCOL, SERVER_SOFTWARE :*date and time: TIME_YEAR, TIME_MON, TIME_DAY, TIME_HOUR, TIME_MIN, TIME_SEC, TIME_WDAY, TIME :*specials: API_VERSION, THE_REQUEST, REQUEST_URI, REQUEST_FILENAME, IS_SUBREQ, HTTPS *참고 문헌 :*[http://httpd.apache.org/docs/2.0/ko/mod/mod_rewrite.html#rewriterule Apache HTTP Server Version 2.0 - Apache Module mod_rewrite] :*[http://kurapa.com/content-a2132_rewrite Apache rewrite 사용 방법, 2007.2] :*[http://community.365managed.com/?document_srl=54521 Apache module 4탄 - rewrite_module (1), 2009.7] :*[http://community.365managed.com/?document_srl=55006 Apache module 4탄 - rewrite_module (2)] :*[http://community.365managed.com/?document_srl=55238 Apache module 4탄 - rewrite_module (3)] :*[http://community.365managed.com/?document_srl=56589 Apache module 4탄 - rewrite_module (4)] :*[http://community.365managed.com/?document_srl=60499 Apache module 4탄 - rewrite_module (5)] :*[http://community.365managed.com/?document_srl=60508 Apache module 4탄 - rewrite_module (6)] ===Windows 서비스 등록=== *Windows 서비스로 등록 :httpd -k install -n "Apache2" *Windows 서비스에서 삭제 :httpd -k uninstall -n "Apache2" *참고 문헌 :*[http://applejara.tistory.com/287 Apache NT 서비스등록] ===HTTPS 서비스 설정=== *Apache와 함께 설치된 OpenSSL을 사용하여 개인키를 생성한다. :[[그림:Apache_SSL.png|다운로드]] :*도스창을 띄운다. cd d: cd d:/OpenBiz/31_application/Apache228/bin openssl.exe OpenSSL> req -config d:/OpenBiz/31_application/Apache228/conf/openssl.cnf -new -out jopenbusiness.csr Enter PEM pass phrase: 개인키에 사용할 암호를 입력한다. Verifying - Enter PEM pass phrase: 개인키에 사용할 암호를 한번 더 입력한다. Country Name: 국가명(KO)을 입력한다. State or Province Name: 비워둔다. Locality Name: 지역명(seoul)을 입력한다. Organization Name: 단체명으로 Apache 등록시 사용한 도메인명을 입력한다. Organizational Unit Name: 사용할 도메인(www.jopenbusiness.com)을 입력한다. Common Name: 사용할 도메인(www.jopenbusiness.com)을 입력한다. Email Address: 이메일 주소를 입력한다. A challenge password: 비워둔다. An optional company name: 비워둔다. OpenSSL> exit :*jopenbusiness.csr과 privkey.pem 파일이 생성된 것을 확인한다. <br> *Apache와 함께 설치된 OpenSSL을 사용하여 공개키를 만든다. :[[그림:Apache_SSL1.png|다운로드]] :*도스창을 띄운다. cd d: cd d:/OpenBiz/31_application/Apache228/bin openssl.exe OpenSSL> rsa -in privkey.pem -out jopenbusiness.key Enter pass phrase for privkey.pem: privkey.pem 생성시 입력한 암호를 입력한다. OpenSSL> req -config d:/OpenBiz/31_application/Apache228/conf/openssl.cnf -new -x509 -days 365 -key jopenbusiness.key -out jopenbusiness.crt Country Name: 국가명(KO)을 입력한다. State or Province Name: 비워둔다. Locality Name: 지역명(seoul)을 입력한다. Organization Name: 단체명으로 Apache 등록시 사용한 도메인명을 입력한다. Organizational Unit Name: 사용할 도메인(www.jopenbusiness.com)을 입력한다. Common Name: 사용할 도메인(www.jopenbusiness.com)을 입력한다. Email Address: 이메일 주소를 입력한다. OpenSSL> exit :*jopenbusiness.key과 jopenbusiness.crt 파일이 생성된 것을 확인한다. <br> *생성된 개인키와 공개키 관련 파일을 %APACHE_HOME%/conf 아래로 복사한다. :jopenbusiness.csr, privkey.pem, jopenbusiness.key, jopenbusiness.crt을 복사한다. <br> *%APACHE_HOME%/conf/httpd.conf 파일에 다음과 같이 작업한다. ###--- Listen 80 아래에 다음 라인을 추가한다. Listen 443 ###--- mod_ssl.so의 주석(#)을 푼다. LoadModule ssl_module modules/mod_ssl.so ###--- 다음을 파일의 하단에 추가한다. NameVirtualHost *:443 <VirtualHost *:443> SSLEngine on SSLCertificateFile "d:/OpenBiz/31_application/Apache228/conf/jopenbusiness.crt" SSLCertificateKeyFile "d:/OpenBiz/31_application/Apache228/conf/jopenbusiness.key" SSLProtocol all SSLCipherSuite HIGH:MEDIUM </VirtualHost> <br> *HTTPS를 사용할 수 있도록 443 Port를 방화벽에서 연다. :# "시작" -> "설정" -> "제어판"에서 "Windows 방화벽"을 실행한다. :# "예외" 탭을 선택하여 "포트 추가" 버튼을 클릭한다. :# 방화벽에 HTTPS에서 사용할 다음 포트를 추가한다. :# SSL, 443, TCP <br> *Apache HTTP Server를 종료한 후 다시 기동한다. <br> ===모니터링 및 튜닝=== [[튜닝#Apache_HTTP_Server|Apache HTTP Server 튜닝]] ===Timeout 설정=== *vi vi /etc/httpd/conf/httpd.conf Timeout 300 KeepAliveTimeout 15 ===PHP 설정 변경=== *[[PHP 5.2.5#PHP 설정 변경|PHP 설정 변경]] *vi /etc/php.ini :*[http://cdral.tistory.com/445 php.ini 설정, 2009.06] session.gc_maxlifetime = 10800 session.cookie_lifetime = 86400 //--- 0. 브라우저가 꺼지면 Cookie 삭제 session.cache_limiter = nocache, must-revalidate
Apache HTTP Server
문서로 돌아갑니다.
둘러보기 메뉴
개인 도구
로그인
이름공간
문서
토론
변수
보기
읽기
원본 보기
역사 보기
더 보기
검색
주요 메뉴
오픈소스 컨설팅
오픈소스
오픈소스 라이선스
오픈소스 커뮤니티
오픈소스 종류
오픈소스 현황
오픈소스 한글화
문자셋과 인코딩
Storage
Network
보안
고가용성
모니터링
오픈 API
오픈 서비스
Cloud
BigData
Android
산사랑 노트
둘러보기
인기 문서
최근 수정 문서
모든 문서
모든 분류
임의 문서
위키 사용법
자매 사이트
CMS
오비컨 홈페이지
오비컨 CMS
블로그
데모 - SuiteCRM
산사랑의 Twitter
산사랑의 Facebook
친구 사이트
공개SW 포털
OLIS
한국공개소프트웨어협회
AppCenter 지원본부
OLC
PSEG
개발자 블로그
블로터
개인 메뉴
메뉴 수정
양식함
도구
여기를 가리키는 문서
가리키는 글의 최근 바뀜
특수 문서 목록
문서 정보