Apache/ko

"아파치 HTTP 서버"는 효율적이고 확장성있는 웹 서버이며 인터넷에서 가장 인기있는 웹 서버 중 하나입니다.

Emerge
Apache event MPM을 활용하려면 make.conf에 다음 줄을 추가하십시오:

If you want to use the Apache worker MPM, then add the following to make.conf:

그리고 threads USE 플래그를 활성화하십시오:

그 다음 Apache를 이머지 하십시오:

전역 지원
전역 USE 플래그를 활성화 하면 다른 패키지에 아파치 기능을 지원합니다. 이 USE 플래그는 아파치에 의존성이 걸려있는 프로그램을 이머지할 때 를 자동으로 설치합니다.

USE 변수를 설정한 후, 시스템을 업데이트하여 바뀐 설정을 적용하십시오.

파일
시스템에서 동작하는 아파치는 두가지 주요 파일에서 설정합니다:


 * 젠투 apache2 초기화 스크립트 설정 파일�


 * apache2 서버 기존 설정 파일 ����

위치에 있는 파일은 젠투 init 스크립트 설정 파일입니다. 이 파일에서 유일한 활성 행은 APACHE2_OPTS 변수 부분입니다:

이 줄에서는 전체 설정중 일부를 활성화 하거나 비활성화 하는  구문을 사용하여 다양한 설정 파일을 해석합니다. 나중에 이 게시글에서 다시 다루도록 하겠습니다.

아파치 서버의 기존 설정 파일 - httpd.conf
파일은 아파치 서버의 기본 설정 파일입니다. 사실 이 파일은 설정의 항목 포인트일 뿐입니다. 전체 설정은 디렉터리의 여러 파일로 나누어져있으며,   지시어로 합쳐집니다. 예를 들어 의  구문은 에서 로 끝나는 모든 파일을 대상으로 합니다.

위의 하위 섹션에서 언급한 내용을 고려하여, 모듈 설정 파일(/etc/apache2/modules.d의 파일)이 거의 항상 로 시작하므로, 일치하는 옵션을  파일의 APACHE2_OPTS 변수에서   플래그를 사용하여 설정하면 에 들어있는 파일 하나의 내용은 설정한 부분끼리만 모입니다. 설정 파일은  구문으로 시작하지 못했을 때 이 규칙에 대한 예외로 존재하므로 결과 설정에 항상 포함됩니다.

기본 설정
아파치를 새로 설치한 다음의 설정은 다음과 같이 여러가지 설정 파일의 모음으로 이루어져 있습니다. 의 항목 포인트에서 시작하도록 하겠습니다.

첫 생존 신호
위의 초기 설정내용에서 보셨다시피 이미 설치한 가상 호스트의  디렉터리는 서버 이름을 localhost로 지정한 입니다. index.html을 에서 설정하므로 모든 요소를 올바르게 설치했는지 여부를 보려면 http://www.localhost를 열어보십시오.

페이지에 "It works !" 메시지가 나타나야 합니다.

mod_security 활성화
를 설치하십시오:

파일의 APACHE2_OPTS 변수에  모듈을 활성화하십시오:

와 파일을 편집하여 모듈을 처리한 다음 아파치를 다시 시작하십시오.

PHP 지원 활성화
USE 플래그를 넣고 PHP를 설치한 다음 모듈을 활성화 하십시오:

PHP 모듈이 동작하는지 시험하기 전,  파일이 있는지, 다음 정의가 있는지 확인하십시오:

내용이 없으면 직접 입력하십시오.

PHP 모듈이 잘 동작하는지 확인하려면, 테스트 페이지를 만드십시오:

이제 를 숨기든지 이름을 바꾸시고  테스트 페이지를 여십시오.

표에서는 나타내고자 하는 PHP 설정을 보여줍니다.

PHP 버전 수정
아파치에서 다루는 PHP 버전을 바꾸려면, 우선  서버 애플리케이션 프로그래밍 인터페이스(SAPI) 목록에서 존재하는 버전을 확인하십시오:

선택할 버전으로 바꾸십시오:

위 예제에서 을 앞서 보여드린  요청 출력 결과에 나타난 숫자 값으로 바꾸십시오.

가상 호스트
각각의 가상 호스트에 아파치 데몬에서 도달 및 접근 가능한  디렉터리를 제공하십시오. 이  와 가상 호스트 서버 이름을 제공하는  디렉터리의 가상 호스트 파일을 추가하십시오. 파일에 이 도메인 이름에 대한 항목을 추가하는 것을 잊지 마십시오.

아파치 가상 호스트 파일에 사용자/그룹 소유 권한을 할당하려면 다음과 같이 명령을 활용하십시오:

아래 두가지 가상 호스트 정의 예제에서 하나는 domainname1.com, 다른 하나는 domainname2.com에 대한 정의입니다. 호스트 부분은 같게 내버려 두지만, 와    지시자의 값은 다름을 눈여겨 보십시오:

이와 같이 IP 기반 가상 호스트 정의를 제공하는 것도 추천합니다. IP 주소를 통해 사이트에 접근하려는 사용자에게 관리자가 메시지를 뿌릴 수 있게 합니다.

가상 호스트를 넣은 다음, 서버는 새 사이트를 활성화 하기 위해 (적절하게) 재시작해야 합니다.

fcgid를 통한 PHP 활성화
와 를 설치하십시오. PHP 패키지에  USE 플래그를 넣어야 합니다:

파일을 편집하십시오:

필요한 디렉터리를 만드십시오:

PHP 래퍼에 대한 심볼릭 링크를 만드십시오:

FCGID 모듈을 활성화 하십시오:

마지막으로 아파치를 다시 시작하고 먼저 만든 페이지의  사이트가 뜨는지 확인하십시오. 값은 "CGI/FastCGI"여야 합니다.

아파치 2.4에서 mod_proxy_fcgi를 통한 PHP-FPM 활성화
mod_proxy_fcgi에서 PHP-FPM을 활성화하려면 다음 선결 조건을 만족해야합니다:
 * PHP 5.3 이상
 * Apache 2.4 이상

게다가 2.4 버전에서는 기능 동작에 몇가지 제한이 있습니다:
 * Apache 2.4.9 이상의 버전에서 유닉스 소켓 기반 PHP-FPM 통신을 활용할 경우
 * Apache 2.4.10 이상의 버전에서 SetHandler instead of ProxyPassMatch 대신 SetHandler를 활용할 경우

다음 설정은 2.4.10 이상에서만 동작합니다. 지시자에 의존하며 메인 서버 설정 또는  내에 위치합니다. 유닉스 소켓의 위치는 사이트 내지는 함수의 각각의 지정 풀을 허용하는 설정 파일의   지시어로 결정합니다.

다음 예제에서는 아파치의 PHP 모듈 설정 파일에  설정을 둡니다.

또는 ProxPassMatch 지시문을 사용할 수 있습니다. 이 옵션은 아파치 버전 2.4.0부터 2.4.8까지에 해당하는 경우에만 사용할 수 있습니다.

기본적으로  지시어는 소켓에 설정하지 않습니다. 우선 소켓 파일을 저장할 디렉터리를 만드십시오:

다음 내용에 따라 파일을 업데이트하십시오:

다음  모듈과   모듈을 활성화하십시오:

OpenRC
아파치 서버를 시작하십시오:

기본 런레벨에 아파치를 추가하십시오:

아파치 서비스를 재시작하십시오:

아파치 설정 파일을 다시 읽으십시오:

systemd
아파치 서버를 시작하십시오:

기본 런레벨에 아파치를 추가하십시오:

아파치 서비스를 다시 시작하십시오:

참고 자료
아파치 서버를 제대로 설정하기엔 어려울 수 있습니다. 아래 참고자료는 문제가 있을 경우 도움될 수 있습니다:


 * 문제 해결 안내서en

시험
아파치2가 어떤 IP 인터페이스에서 실행하고 어떤 포트 상에서 감청하는지 확인하십시오:

로컬 호스트에서 아파치 서버 연결이 동작하는지 확인하십시오:

연결 시험을 그만두려면 + 키와 키를 누르십시오.

apr_sockaddr_info_get failed for 
오류:

apache2: apr_sockaddr_info_get failed for System_Hostname

해결책:

이 오류가 나타나면 파일에 호스트 이름을 추가하십시오:

추가 참조

 * Lighttpd - 빠르고 가벼운 웹 서버입.
 * Nginx - 작고 견고한 리버스 프록시 지원 고성능 HTTP 서버

외부 자료

 * Slicehost 게시물: 젠투에 아파치 설치하기
 * Slicehost 게시물: 젠투에서 아파치 설정하기
 * Slicehost 게시물: 젠투에서 아파치 MPM 설정하기
 * Slicehost 게시물: 젠투에서 아파치 설정하기
 * Slicehost 게시물: 젠투에서 아파치 가상 호스트 설정하기
 * Slicehost 게시물: 젠투에서 아파치 mod_status 활성화 하고 사용하기
 * apache.org 문서
 * 아파치 2 mod_pagespeed