웹사이트 검색

CentOS 6에서 Apache 가상 호스트를 설정하는 방법


상태: 더 이상 사용되지 않음

이 문서에서는 더 이상 지원되지 않는 CentOS 버전에 대해 설명합니다. 현재 CentOS 6을 실행하는 서버를 운영 중인 경우 지원되는 버전의 CentOS로 업그레이드하거나 마이그레이션하는 것이 좋습니다.

이유:

대신 참조:

다음 DigitalOcean 자습서에서는 CentOS 7 서버에 Apache 웹 서버를 설치하는 방법과 가상 호스트 파일을 설정하는 방법에 대해 설명합니다.

  • CentOS 7에 Apache 웹 서버를 설치하는 방법

가상 호스트 정보

가상 호스트는 단일 IP 주소에서 둘 이상의 도메인을 실행하는 데 사용됩니다. 이것은 하나의 가상 사설 서버에서 여러 사이트를 실행해야 하는 사람들에게 특히 유용합니다. 사이트는 사용자가 사이트에 액세스한 방법에 따라 방문자에게 다른 정보를 표시합니다. VPS에 추가할 수 있는 가상 호스트의 수에는 제한이 없습니다.

설정

이 자습서의 단계를 수행하려면 사용자에게 루트 권한이 있어야 합니다. 3단계와 4단계의 초기 서버 설정에서 설정하는 방법을 확인할 수 있습니다. 또한 단계에서 사용자를 참조하는 경우 www라는 이름을 사용합니다. 자신에게 맞는 사용자 이름을 구현할 수 있습니다.

또한 Apache가 가상 서버에 이미 설치되어 실행 중이어야 합니다. 그렇지 않은 경우 다음 명령을 사용하여 다운로드할 수 있습니다.

sudo yum install httpd

1단계 - 새 디렉터리 만들기

가상 호스트 생성의 첫 번째 단계는 새 웹사이트의 정보를 보관할 디렉토리를 생성하는 것입니다.

이 위치는 나중에 Apache 가상 구성 파일의 문서 루트가 됩니다. 코드 줄에 -p를 추가하면 이 명령은 새 디렉터리의 모든 부모를 자동으로 생성합니다.

sudo mkdir -p /var/www/example.com/public_html

가상 호스트가 작동하는지 테스트하려면 실제 DNS 승인 도메인 또는 IP 주소를 지정해야 합니다. 이 자습서에서는 올바른 도메인 이름에 대한 자리 표시자로 example.com을 사용합니다.

그러나 승인되지 않은 도메인 이름을 사용하여 프로세스를 테스트하려는 경우 6단계에서 로컬 컴퓨터에서 작동하게 만드는 방법에 대한 정보를 찾을 수 있습니다.

2단계 - 권한 부여

루트 시스템에 디렉터리를 유지하는 대신 사용자에게 디렉터리 소유권을 부여해야 합니다.

 sudo chown -R apache:apache /var/www/example.com/public_html 

또한 모든 사람이 새 파일을 읽을 수 있도록 하는 것이 중요합니다.

 sudo chmod 755 /var/www

이제 모든 권한이 완료되었습니다.

3단계 - 페이지 만들기

구성 디렉토리 내에 index.html이라는 새 파일을 만들어야 합니다.

sudo vi /var/www/example.com/public_html/index.html

파일에 일부 텍스트를 추가하여 IP가 가상 호스트로 리디렉션될 때 볼 수 있도록 할 수 있습니다.

<html>
  <head>
    <title>www.example.com</title>
  </head>
  <body>
    <h1>Success: You Have Set Up a Virtual Host</h1>
  </body>
</html>

저장 및 종료

4단계 - 가상 호스트 켜기

다음 단계는 Apache 구성 파일 자체에 들어가는 것입니다.

sudo vi /etc/httpd/conf/httpd.conf

찾아야 할 몇 줄이 있습니다.

텍스트가 아래에 보이는 것과 일치하는지 확인하세요.

#Listen 12.34.56.78:80
Listen 80

문서 맨 아래로 스크롤하여 Virtual Hosts라는 섹션으로 이동합니다.

NameVirtualHost *:80
#
# NOTE: NameVirtualHost cannot be used without a port specifier
# (e.g. :80) if mod_ssl is being used, due to the nature of the
# SSL protocol.
#    

#    
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for requests without a known
# server name.
# 
<VirtualHost *:80>
     ServerAdmin webmaster@example.com
     DocumentRoot /var/www/example.com/public_html
     ServerName www.example.com
     ServerAlias example.com
     ErrorLog /var/www/example.com/error.log
     CustomLog /var/www/example.com/requests.log
</VirtualHost>

집중해야 할 가장 중요한 행은 NameVirtualHost, 가상 호스트, 문서 루트 및 서버 이름을 말하는 행입니다. 한 번에 하나씩 가져 갑시다.

  • 변경하지 않고 NameVirtualHost의 주석을 제거합니다(숫자 기호 제거). 별표는 포트 80을 통과하는 모든 IP 주소가 가상 호스트임을 의미합니다. 시스템에 IP 주소가 하나만 있을 수 있으므로 문제가 되지 않습니다. 그러나 원하는 경우 별표를 IP 주소로 바꿀 수 있습니다.
  • &ltVirtualHost *:80> 행에 도달할 때까지 나머지 숫자 표시를 그대로 둘 수 있습니다. 거기에서 &ltVirtualHost>를 통해 모든 주석을 제거하십시오.
  • &ltVirtualHost *:80>을 그대로 둡니다. 해당 세부 정보는 NameVirtual Host 섹션의 세부 정보와 일치해야 합니다. 해당 섹션에서 별표를 IP 주소로 바꾼 경우 여기에서도 동일하게 수행해야 합니다.
  • 문서 루트가 핵심입니다! 이 섹션에서는 1단계에서 만든 새 디렉터리의 확장자를 작성합니다. 문서 루트가 올바르지 않거나 없으면 가상 호스트를 설정할 수 없습니다.
  • 서버 이름은 가상 호스트의 도메인 이름(예: www.example.com)을 포함하는 또 다른 중요한 정보입니다. 도메인 전체를 철자했는지 확인하십시오. 다음 줄에 대체 가능성을 입력합니다.
  • ServerAlias는 기본적으로 존재하지 않는 구성 파일의 새 줄입니다. 이를 추가하면 예를 들어 앞에 www가 없는 등 도메인 이름의 몇 가지 변형을 나열할 수 있습니다.

이 섹션의 나머지 줄은 가상 호스트를 설정하는 데 필요하지 않습니다. 그러나 그들이 하는 일을 아는 것은 여전히 도움이 됩니다.

  • 서버 관리자가 웹마스터의 이메일을 요청합니다.
  • 오류 로그 및 사용자 정의 로그는 서버의 모든 문제를 추적합니다. 오류 로그는 서버를 유지 관리하는 동안 발생하는 문제를 다루고 사용자 지정 로그는 서버 요청을 추적합니다. 이러한 프로세스에 대한 사용자 지정 위치를 설정할 수 있습니다.
  • &ltVirtualHost>의 주석이 제거되었는지 확인하십시오. 그런 다음 저장하고 종료합니다.

5단계 - Apache 다시 시작

구성을 많이 변경했습니다. 그러나 Apache를 다시 시작할 때까지 적용되지 않습니다.

먼저 모든 아파치 프로세스를 중지합니다.

sudo apachectl -k stop

그런 다음 아파치를 다시 시작하십시오.

sudo /etc/init.d/httpd start

다음 오류가 표시될 수 있습니다.

Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName

이 메시지는 단지 경고일 뿐이며 추가 문제 없이 가상 호스트에 액세스할 수 있습니다.

선택적 6단계 - 로컬 호스트 설정

도메인 이름을 가상 사설 서버의 IP 주소로 지정한 경우 이 단계를 건너뛸 수 있습니다. 로컬 호스트를 설정할 필요가 없습니다. 가상 호스트가 작동해야 합니다. 그러나 실제 도메인 이름에 연결하지 않고 새 가상 호스트를 사용하려면 컴퓨터에만 로컬 호스트를 설정할 수 있습니다.

이 단계를 진행하려면 컴퓨터의 관리 암호를 알아야 합니다. 그렇지 않으면 실제 도메인 이름을 사용하여 가상 호스트를 테스트해야 합니다.

Mac 또는 Linux를 사용하는 경우 컴퓨터에서 루트 사용자(su)에 액세스하고 호스트 파일을 엽니다.

nano /etc/hosts 

Windows 컴퓨터를 사용 중인 경우 Microsoft 사이트에서 호스트 파일을 변경하는 지침을 찾을 수 있습니다.

아래 예와 같이 이 파일에 로컬 호스트 세부 정보를 추가할 수 있습니다. 해당 줄이 있는 한 브라우저를 example.com으로 이동하면 해당 IP 주소에 대한 모든 가상 호스트 세부 정보가 제공됩니다.

# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting.  Do not change this entry.
##
127.0.0.1       localhost

#Virtual Hosts 
12.34.56.789    www.example.com 

그러나 나중에 혼란을 피하기 위해 완료되면 로컬 호스트 폴더에서 이러한 구성된 주소를 삭제하는 것이 좋습니다.

7단계 - 결과: 작동 중인 가상 호스트 보기

가상 호스트 설정을 마치면 온라인 상태를 확인할 수 있습니다. 브라우저에 IP 주소를 입력합니다(예: http://12.34.56.789).

내 handy

잘했어요!

더 많은 가상 호스트 추가

추가 가상 호스트를 만들려면 매번 적절한 새 도메인 이름으로 새 문서 루트를 설정하도록 주의하면서 위의 프로세스를 반복하면 됩니다. 그런 다음 아래와 같이 새 가상 호스트 정보를 Apache Config 파일에 복사하여 붙여넣기만 하면 됩니다.

<VirtualHost *:80>
     ServerAdmin webmaster@example.com
     DocumentRoot /var/www/example.com/public_html
     ServerName www.example.com
     ServerAlias example.com
     ErrorLog /etc/var/www/example.com/error.log
     CustomLog /var/www/example.com/requests.log
</VirtualHost>
<VirtualHost *:80>
     ServerAdmin webmaster@example.org
     DocumentRoot /var/www/example.org/public_html
     ServerName www.example.org
     ServerAlias example.org
     ErrorLog /var/www/example.org/error.log
     CustomLog /var/www/example.orgrequests.log
</VirtualHost>

더보기

가상 호스트를 설정했으면 FTP 서버 설치를 진행할 수 있습니다.