Apache를 구성하는 방법 (사용 가능한 사이트와 httpd.conf)


27

Apache를 시작하고 실행하는 방법 (우분투에서 Amazon에서 실행)을 설명하는 몇 가지 기본 자습서를 따르려고 노력했습니다. 모든 자습서에서 httpd.conf (DocumentRoot 등을 추가하기 위해)를 구성하라고 지시했기 때문에 대부분 비워졌습니다.

이제 사이트 구성을 사이트 사용 가능 디렉토리 (/ etc / apache 아래)에 추가 한 다음 사이트 사용 가능 사이트에서 심볼릭 링크를 제공하라는 자습서 하나를 우연히 발견했습니다. 이 방법으로 구성하면 효과가있는 것 같습니다.

그러나 지금 혼란스러워합니다-어떻게 Apache를 구성해야합니까? 대부분의 튜토리얼은 여전히 ​​httpd.conf를 사용해야한다고 말합니다. 어느 것을 사용해야합니까? 차이점이 뭐야? 모든 자습서가 "잘못된"이유는 무엇입니까 (있는 경우)?

답변:


35

sites-available방법은 일반적으로 "데비안 방식"으로 간주됩니다.

  • "기본"설정 /etc/apache2/apache2.conf
  • "사용자"설정 /etc/apache2/httpd.conf
  • /etc/apache2/sites-available파일의 호스트 (일반적으로 파일 당 하나)
    • 00-domain.com, 01-otherdomain.com과 같이 번호를 매길 수 있습니다.
  • 포트 ( Listen지시문)/etc/apache2/ports.conf
  • 개조 /etc/apache2/mods-available

심볼릭 링크 또는 a2일련의 명령을 사용하여이를 조작 할 수 있습니다 .

a2ensite/a2dissite <site_config_filename>
a2enmod/a2dismod <module_name>

개인 취향에 따라 사용 아파치를 다시 시작할 수 있습니다 apachectl, /etc/init.d/apache2 (start|stop|reload|restart)또는service apache2 (start|stop|reload|restart)

예를 들어 httpd.conf가상 호스트 항목 대신 사용하는 예 는 전역 리디렉션 또는 다시 쓰기 규칙입니다. 다른 tidbits-일반적으로 apache2.conf혼자 남겨두고 sites-available디렉토리 에서 호스트에 대해 일관된 이름 지정 체계를 설정해야합니다 .


훌륭한 요약! 내가 작업했던 것보다 훨씬 명확하고 간결합니다. +1.
Steven

2
사용 가능한 사이트는 구성을 잘 모듈화합니다. 단일 사이트 구성에 쉽게 집중할 수 있습니다. 또한 서버의 사이트를 비교하거나 서버간에 사이트를 이동하거나 복제하기가 훨씬 쉽습니다.
BillThor

+1. 이러한 구성을 유지 관리해야하는 경우 '사이트 사용 가능'대신 '사이트 사용 가능'으로 이동하여 해당 사이트에서 직접 액세스하십시오. 이렇게하면 항상 현재 사용되는 사이트 구성을 결정하고 액세스 할 수 있습니다.
Ross

9

구성 파일의 위치 및 구성은 구성 가능하며 주요 릴리스 또는 배포간에 변경 될 수 있습니다.

Apache Wiki에는 구성 파일의 이름과 위치에 대한 유용한 안내서 가 있습니다.

구성 파일에는 include지시문 이 포함될 수 있으므로 구성의 일부를 더 작은 파일로 분리 할 수 ​​있습니다. 표준 Apache 구성 파일에는 많은 주석과 많은 표준 항목이 포함되어 있으므로 변경 가능성이 가장 높은 부분을 구분하는 것이 좋습니다.

기본 구성 파일의 이름은 컴파일 타임에 변경 될 수 있으며 최근 릴리스에서는에서 httpd.conf로 변경되었습니다 .apache2.conf

수년에 걸쳐 포함 된 구성 파일의 구성에도 약간의 발전이있었습니다.

예를 들어, 우분투 기반 시스템에 Apache2를 설치 apt-get install apache2했습니다. 포함 된 파일은 다음과 같습니다.

/etc/apache2$ ls
apache2.conf  envvars     mods-available  ports.conf       sites-enabled
conf.d        httpd.conf  mods-enabled    sites-available

/etc/apache2$ grep ^Include apache2.conf
Include /etc/apache2/mods-enabled/*.load
Include /etc/apache2/mods-enabled/*.conf
Include /etc/apache2/httpd.conf
Include /etc/apache2/ports.conf
Include /etc/apache2/conf.d/
Include /etc/apache2/sites-enabled/ 

/etc/apache2$ ls -l sites-enabled
total 0
lrwxrwxrwx 1 root root 26 Dec 26 12:30 000-default -> ../sites-available/default

따라서 가장 관심을 가질만한 몇 가지 구성 설정이 현재 있습니다 /etc/apache2/sites-available/default.

이것이 아파치 우분투 문서 와 일치한다는 것을 알 수 있습니다 . 이전 버전의 Apache (또는 다른 배포판)에 대한 다른 문서가있는 경우 해당 정보가 Ubuntu에서 구성되는 방식에 맞게 조정할 수 있습니다.


-2

리눅스에서 아파치는 두 가지 유형으로 설치할 수있다. 하나는 apt-get과 다른 다운로드 tar 파일로 압축을 풀고 추출합니다 .... 따라서 apt-get 프로세스에서는 외부 세계에 서비스를 제공하는 각 사이트가이 폴더에서 .conf 파일 예제 000-default.conf는 아파치 작업을 표시 할 수있는 기본 사이트입니다.

따라서 사이트에서 활성화 된 .conf 파일을 만들어 콘텐츠의 위치로 지정하면 해당 사이트가 제공됩니다.

따라서 새 정적 사이트를 추가하려면 example.conf라는 이름으로 sites-enabled 폴더에 새 .conf 파일을 만들어야합니다. 아래 줄을 추가해야합니다.

ServerAdmin webmaster @ localhost DocumentRoot / var / www / html ErrorLog $ {APACHE_LOG_DIR} /error.log CustomLog $ {APACHE_LOG_DIR} /access.log 결합

여기서 * : 80은 "포트 80을 통해 세계에 공개"를 나타냅니다. DocumentRoot / var / www / html은 "사이트 내용의 경로"를 나타냅니다.


이 잘못과 오도. a2ensite와 같은 도구 (권장)가 작동 할 수 있도록 사이트에서 사용 가능한 파일을 작성하십시오. 일반적으로 a2ensite를 사용하여 이러한 conf 파일을 사이트 사용 가능으로 심볼릭 링크합니다. apt-get은 사이트 구성과 관련이 없습니다.
HörmannHH
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.