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

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

나는 Apache를 시작하고 실행하는 방법(우분투에서, Amazon에서 실행)을 설명하는 몇 가지 기본 튜토리얼을 따르려고 노력해 왔습니다. 모든 튜토리얼에서 (DocumentRoot 등을 추가하기 위해) httpd.conf를 구성하라고 지시했기 때문에 저는 대부분 공백으로 나왔습니다.

나는 이제 사이트 사용 가능 디렉토리(/etc/apache 아래)에 사이트 구성을 추가한 다음 사이트가 활성화된 사이트에서 심볼릭 링크하도록 지시하는 튜토리얼을 우연히 발견했습니다. 이렇게 구성하면 효과가 있는 것 같습니다.

하지만 이제 혼란스럽습니다. Apache를 어떻게 구성해야 할까요? 대부분의 튜토리얼에서는 여전히 httpd.conf를 사용해야 한다고 말하는 것 같습니다. 어느 것을 사용해야 합니까? 차이점이 뭐야? 모든 튜토리얼이 "잘못"된 이유는 무엇입니까(그렇다면)?

답변1

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>

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

httpd.conf예를 들어 vhost 항목 대신 사용하는 예 는 전역 리디렉션 또는 다시 쓰기 규칙입니다. 기타 유용한 정보 - 일반적으로 그대로 두고 apache2.conf디렉토리의 가상 호스트에 대해 일관된 이름 지정 체계를 설정했는지 확인해야 합니다 sites-available.

답변2

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

Apache Wiki에는 편리한 기능이 있습니다.가이드구성 파일의 이름과 위치.

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

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

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

예를 들어, 다음을 사용하여 Ubuntu 기반 시스템에 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에서 구성하는 방식에 맞게 조정할 수 있습니다.

답변3

Linux의 Apache는 두 가지 유형으로 설치될 수 있습니다. 하나는 apt-get이고 다른 하나는 tar 파일을 다운로드하고 추출하는 것입니다. 따라서 apt-get 프로세스 사이트는 /etc/apache2/sites-enabled 폴더에서 제공됩니다. 외부 세계에 서비스를 제공하는 각 사이트는 다음과 같이 이 폴더에 구성됩니다. .conf 파일 예 000-default.conf는 Apache 작동을 표시하도록 활성화된 기본 사이트입니다.

따라서 사이트 활성화에서 .conf 파일을 생성하고 이를 콘텐츠 위치로 지정하면 사이트가 제공됩니다.

따라서 새로운 정적 사이트를 추가하려면 사이트 사용 폴더에 example example.conf라는 이름으로 새 .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은 "사이트 콘텐츠 경로"를 나타냅니다.

관련 정보