Web Servers

Apache ServerName 가상호스트 설정 방법 | 여러 도메인 운영 가이드

midworker 2025. 4. 27. 19:46
반응형

Apache HTTP Server에서 ServerName을 가상호스트(VirtualHost) 설정까지 확장하는 방법을 안내합니다. 여러 도메인을 하나의 서버에서 운영하기 위한 기본 설정 방법을 실무 기준으로 정리했습니다.

Apache ServerName 가상호스트 설정 방법 | 여러 도메인 운영 가이드

Apache ServerName과 VirtualHost 설정 방법 가이드
Apache ServerName과 VirtualHost 설정 방법 가이드


가상호스트(VirtualHost)란?

가상호스트(VirtualHost)는 하나의 Apache 서버에서 여러 개의 도메인(사이트)을 서비스할 수 있도록 하는 기능입니다. 주로 하나의 서버에 여러 웹사이트를 운영할 때 사용합니다.

Apache에서는 <VirtualHost> 블록을 사용하여 도메인별로 별도의 설정을 할 수 있습니다.


ServerName과 VirtualHost 관계

기본 Apache 설정 파일(httpd.conf)에 ServerName을 설정하는 것만으로는 하나의 기본 도메인만 처리할 수 있습니다.

여러 도메인을 운영하려면 각 VirtualHost마다 별도로 ServerName을 설정해야 합니다.

즉, 기본 ServerName + VirtualHost별 ServerName 조합으로 관리해야 서버가 올바르게 도메인별 요청을 처리할 수 있습니다.


가상호스트 설정 방법

1. httpd.conf 파일 수정

Apache 설정 파일에서 가상호스트 설정이 포함된 부분을 활성화합니다.

vi /usr/local/apache2.4/conf/httpd.conf

주석 제거:

#LoadModule vhost_alias_module modules/mod_vhost_alias.so
#Include conf/extra/httpd-vhosts.conf

아래처럼 주석(#)을 제거합니다.

LoadModule vhost_alias_module modules/mod_vhost_alias.so
Include conf/extra/httpd-vhosts.conf

2. httpd-vhosts.conf 파일 설정

이제 실제 가상호스트 설정 파일을 수정합니다.

vi /usr/local/apache2.4/conf/extra/httpd-vhosts.conf

샘플 설정 예시:

<VirtualHost *:80>
    ServerName example.com
    DocumentRoot "/usr/local/apache2.4/htdocs/example"
    ErrorLog "/usr/local/apache2.4/logs/example-error.log"
    CustomLog "/usr/local/apache2.4/logs/example-access.log" combined
</VirtualHost>

<VirtualHost *:80>
    ServerName blog.example.com
    DocumentRoot "/usr/local/apache2.4/htdocs/blog"
    ErrorLog "/usr/local/apache2.4/logs/blog-error.log"
    CustomLog "/usr/local/apache2.4/logs/blog-access.log" combined
</VirtualHost>

여기서 중요한 것은 각 VirtualHost 블록마다 ServerName을 정확히 설정하는 것입니다.


3. 서버 재기동

설정을 저장한 후 Apache를 재기동합니다.

apache_stop.sh
apache_start.sh

또는 직접 apachectl 명령어로:

/usr/local/apache2.4/bin/apachectl stop
/usr/local/apache2.4/bin/apachectl start

정상적으로 기동되면 각 도메인으로 접속 시 원하는 웹사이트로 연결됩니다.


추가 팁

운영 환경에서는 가상호스트마다 SSL(HTTPS) 설정도 함께 고려하는 것이 좋습니다. 이 경우 포트 80 대신 포트 443을 사용하며, SSL 인증서 설정이 추가로 필요합니다.

---

마무리

Apache ServerName 설정은 서버 기본 설정뿐만 아니라 가상호스트 구성에서도 매우 중요한 역할을 합니다. 초기부터 명확하게 도메인별 ServerName을 관리하면 서버 운영이 훨씬 안정적이고 체계적으로 이루어집니다.


궁금한 점이나 잘 되지 않는 부분이 있다면 댓글로 남겨주세요.

반응형