1.7. Apache 이름 기반 가상 호스트 구성


이름 기반 가상 호스트를 사용하면 Apache가 서버의 IP 주소로 해석되는 다양한 도메인에 다양한 콘텐츠를 제공할 수 있습니다.

별도의 문서 루트 디렉터리를 사용하여 example.comexample.net 도메인 모두에 가상 호스트를 설정할 수 있습니다. 두 가상 호스트는 모두 정적 HTML 콘텐츠를 제공합니다.

사전 요구 사항

  • 클라이언트 및 웹 서버는 example.comexample.net 도메인을 웹 서버의 IP 주소로 확인합니다.

    이러한 항목을 DNS 서버에 수동으로 추가해야 합니다.

프로세스

  1. httpd 패키지를 설치합니다.

    # yum install httpd
    Copy to Clipboard Toggle word wrap
  2. /etc/httpd/conf/httpd.conf 파일을 편집합니다.

    1. example.com 도메인에 다음 가상 호스트 구성을 추가합니다.

      <VirtualHost *:80>
          DocumentRoot "/var/www/example.com/"
          ServerName example.com
          CustomLog /var/log/httpd/example.com_access.log combined
          ErrorLog /var/log/httpd/example.com_error.log
      </VirtualHost>
      Copy to Clipboard Toggle word wrap

      이러한 설정은 다음을 구성합니다.

      • <VirtualHost *:80> 지시문의 모든 설정은 이 가상 호스트에 따라 다릅니다.
      • DocumentRoot는 가상 호스트의 웹 콘텐츠 경로를 설정합니다.
      • ServerName은 이 가상 호스트가 콘텐츠를 제공하는 도메인을 설정합니다.

        여러 도메인을 설정하려면 ServerAlias 매개 변수를 구성에 추가하고 이 매개 변수에서 공백으로 구분된 추가 도메인을 지정합니다.

      • CustomLog는 가상 호스트의 액세스 로그 경로를 설정합니다.
      • ErrorLog는 가상 호스트의 오류 로그 경로를 설정합니다.

        참고

        Apache는 ServerNameServerAlias 매개 변수에 설정된 도메인과 일치하지 않는 요청에도 구성에 있는 첫 번째 가상 호스트를 사용합니다. 여기에는 서버의 IP 주소로 전송된 요청도 포함됩니다.

  3. example.net 도메인에 대해 유사한 가상 호스트 구성을 추가합니다.

    <VirtualHost *:80>
        DocumentRoot "/var/www/example.net/"
        ServerName example.net
        CustomLog /var/log/httpd/example.net_access.log combined
        ErrorLog /var/log/httpd/example.net_error.log
    </VirtualHost>
    Copy to Clipboard Toggle word wrap
  4. 두 가상 호스트 모두에 대한 문서 루트를 생성합니다.

    # mkdir /var/www/example.com/
    # mkdir /var/www/example.net/
    Copy to Clipboard Toggle word wrap
  5. /var/www/ 내에 없는 DocumentRoot 매개변수에서 경로를 설정한 경우 두 문서 루트에서 httpd_sys_content_t 컨텍스트를 설정합니다.

    # semanage fcontext -a -t httpd_sys_content_t "/srv/example.com(/.*)?"
    # restorecon -Rv /srv/example.com/
    # semanage fcontext -a -t httpd_sys_content_t "/srv/example.net(/.\*)?"
    # restorecon -Rv /srv/example.net/
    Copy to Clipboard Toggle word wrap

    이러한 명령은 /srv/example.com//srv/example.net/ 디렉터리에 httpd_sys_content_t 컨텍스트를 설정합니다.

    restorecon 명령을 실행하려면 policycoreutils-python-utils 패키지를 설치해야 합니다.

  6. firewalld 를 사용하는 경우 로컬 방화벽에서 포트 80 을 엽니다.

    # firewall-cmd --permanent --add-port=80/tcp
    # firewall-cmd --reload
    Copy to Clipboard Toggle word wrap
  7. httpd 서비스를 활성화하고 시작합니다.

    # systemctl enable --now httpd
    Copy to Clipboard Toggle word wrap

검증

  1. 각 가상 호스트의 문서 루트에 다른 예제 파일을 생성합니다.

    # echo "vHost example.com" > /var/www/example.com/index.html
    # echo "vHost example.net" > /var/www/example.net/index.html
    Copy to Clipboard Toggle word wrap
  2. 브라우저를 사용하고 http://example.com에 연결합니다. 웹 서버는 example.com 가상 호스트의 예제 파일을 보여줍니다.
  3. 브라우저를 사용하고 http://example.net에 연결합니다. 웹 서버는 example.net 가상 호스트의 예제 파일을 보여줍니다.
맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat