Debian 9에서 Apache 가상 호스트를 설정하는 방법

Debian 9에서 Apache 가상 호스트를 설정하는 방법

2022-06-01 last update

9 minutes reading debian apache
이 강좌에서는 Debian 9에 Apache 가상 호스트를 설정하는 방법을 설명합니다.Apache 가상 호스트를 사용하면 한 컴퓨터에서 여러 도메인을 호스팅할 수 있습니다.가상 호스트를 사용할 때, 각 도메인이나 하위 도메인에 서로 다른 문서 루트 디렉터리 (웹 사이트 파일이 포함된 디렉터리) 를 지정하고, 단독 보안 정책을 만들고, 서로 다른 SSL 인증서를 사용할 수 있습니다.비록 이 강좌는 데비안 9을 위한 것이지만, 같은 절차는 데비안 기반의 모든 발행판에 적용된다.

선결 조건

본 강좌를 계속하기 전에 다음 조건을 충족해야 합니다.
  • 도메인 이름은 서버 IP 주소를 가리킵니다.이 강좌에서 우리는 사용할 것이다 example.com.
  • 있음Apache installed on your Debian server
    .
  • user with sudo privileges로 로그인
    .
  • 디렉토리 구조 만들기

    문서 루트 디렉터리는 도메인 이름의 사이트 파일을 저장하고 요청에 따라 서비스를 제공하는 디렉터리입니다.문서 루트 디렉토리를 원하는 위치로 설정할 수 있습니다.이 안내서에서 우리는 다음과 같은 디렉터리 구조를 사용할 것이다.
    /var/www/
    ├── domain1.com
    │   └── public_html
    ├── domain2.com
    │   └── public_html
    ├── domain3.com
    │   └── public_html
    
    서버에서 위탁 관리하는 각 영역의 문서 루트는 /var/www/<domain_name>/public_html 로 설정될 것이다.먼저 첫 번째 도메인 example.com 에 대한 문서 루트 디렉터리를 만듭니다.
    sudo mkdir -p /var/www/example.com/public_html
    브라우저에서 도메인에 액세스하면 표시되는 도메인 문서 루트 디렉터리 index.html 파일도 만듭니다.가장 좋아하는 텍스트 편집기를 열고 새 파일을 만들고 다음 내용을 붙여넣습니다:/var/www/example.com/public\u html/index.html
    <!DOCTYPE html>
    <html lang="en" dir="ltr">
      <head>
        <meta charset="utf-8">
        <title>Welcome to example.com</title>
      </head>
      <body>
        <h1>Success! example.com home page!</h1>
      </body>
    </html>
    
    우리는 sudo 사용자로 이 명령을 실행하고 새로 만든 파일과 디렉터리는 루트 사용자에게 귀속됩니다.어떠한 권한 문제를 피하기 위해서, 우리는 도메인 문서 루트 디렉터리와 이 디렉터리에 있는 모든 파일의 소유권을 아파치 사용자 (www-data 로 변경합니다.
    sudo chown -R www-data: /var/www/example.com

    가상 호스트 만들기

    데비안 시스템에서, 아파치 가상 호스트 프로필은 /etc/apache2/sites-available 디렉터리에 있으며, /etc/apache2/sites-enabled 디렉터리를 가리키는 기호 링크를 만들어서 사용할 수 있습니다.열기text editor
    다음 기본 가상 호스트 프로필을 만듭니다./etc/apache 2/sitesavailable/example.일반 도메인 이름 형식입니다.ff
    <VirtualHost *:80>
        ServerName example.com
        ServerAlias www.example.com
        ServerAdmin [email protected]
        DocumentRoot /var/www/example.com/public_html
    
        <Directory /var/www/example.com/public_html>
            Options -Indexes +FollowSymLinks
            AllowOverride All
        </Directory>
    
        ErrorLog ${APACHE_LOG_DIR}/example.com-error.log
        CustomLog ${APACHE_LOG_DIR}/example.com-access.log combined
    </VirtualHost>
    
  • ServerName: 이 가상 호스트와 일치하는 도메인을 설정해야 합니다.이것은 아마 너의 도메인 이름일 것이다.
  • ServerAlias: 이 가상 호스트와 일치해야 하는 다른 모든 도메인이나 하위 도메인, 일반적으로www 하위 도메인입니다.
  • DocumentRoot: 아파치가 도메인 파일에 대한 서비스를 제공하는 디렉토리입니다.
  • Options : This directive
    특정 디렉토리에서 사용할 수 있는 서버 기능을 제어합니다.
  • -Indexes: 디렉터리 목록을 막습니다.
  • FollowSymLinks: 이 옵션을 사용하면 아파치는 기호 링크를 따릅니다.
  • AllowOverride: 파일에 설명된 구성 명령을 덮어쓸 수 있는 명령을 지정합니다.
  • .htaccess,ErrorLog: 로그 파일의 위치를 지정합니다.
  • 필요에 따라 가상 호스트 프로파일의 이름을 지정할 수 있지만 도메인 이름을 프로파일의 이름으로 사용하는 것이 좋습니다.새 가상 호스트 파일을 사용하려면 시작 시 Apache에서 읽을 수 있는 가상 호스트 파일에서 CustomLog 디렉터리에 대한 기호 링크를 만듭니다.Debian 시스템에서는 sites-enabled:
    sudo a2ensite example.com
    
    의 보조 스크립트를 사용하여 가상 호스트를 활성화할 수 있으며, 다른 옵션은 수동 create a symlink
    다음과 같습니다.
    sudo ln -s /etc/apache2/sites-available/example.com.conf /etc/apache2/sites-enabled/
    설정을 사용하면 입력을 통해 문법이 정확한지 테스트합니다.
    sudo apachectl configtest
    오류가 없으면 다음 출력을 볼 수 있습니다. (adsbygoogle=window.adsbygoogle | [])푸시({});
    Syntax OK
    
    변경 사항을 적용하기 위해 a2ensite 서비스를 다시 시작합니다.
    sudo systemctl restart apache2
    모든 것이 예상대로 작동하는지 확인하려면 가장 좋아하는 브라우저에서 apache2

    결론

    이 강좌에서 아파치 가상 호스트 설정을 만드는 방법을 배웠습니다. 단일 데비안 서버에서 여러 도메인을 호스팅할 수 있도록 합니다.다른 도메인에 대해 다른 가상 호스트를 생성하는 동일한 단계를 반복할 수 있습니다.어떤 문제에 직면하면 언제든지 논평을 발표해 주십시오.
    이 글은 How to Install LAMP Stack on Debian 9 시리즈의 일부분이다.이 시리즈의 추가 게시물: •
    How to Install Apache on Debian 9 2018년 8월 23일 •
    How to Install PHP on Debian 9 2018년 8월 30일
    Debian에서 Apache 가상 호스트를 설정하는 방법 2018년 9월 2일
    How to Install MariaDB on Debian 9 2018년 9월 12일 •
    Secure Apache with Let's Encrypt on Debian 92018년 10월 19일