차례:
이 튜토리얼에서는 Ubuntu 18.04에서 Apache 가상 호스트를 설정하는 방법에 대한 단계별 지침을 제공합니다.
Apache Virtual Hosts를 사용하면 단일 컴퓨터에서 둘 이상의 웹 사이트를 실행할 수 있습니다. 가상 호스트를 사용하면 사이트 문서 루트 (웹 사이트 파일이 포함 된 디렉토리)를 지정하고 각 사이트에 대해 별도의 보안 정책을 작성하며 다른 SSL 인증서 등을 사용할 수 있습니다.
이 자습서는 Ubuntu 18.04 Bionic Beaver 용으로 작성되었지만 Ubuntu 16.04 Xenial Xerus에도 동일한 단계를 사용할 수 있습니다.
전제 조건
이 학습을 계속하기 전에 다음 전제 조건을 충족하는지 확인하십시오.
- 공용 서버 IP를 가리키는 도메인 이름이 있습니다.
example.com
사용합니다.이 지침에 따라 Apache를 설치했습니다. sudo 권한이있는 사용자로 로그인했습니다.
디렉토리 구조 만들기
문서 루트는 도메인 이름에 대한 웹 사이트 파일이 요청에 응답하여 저장되고 제공되는 디렉토리입니다. 문서 루트를 원하는 위치로 설정할 수 있습니다.이 안내서에서는 다음 디렉토리 구조를 사용합니다.
/var/www/ ├── domain1.com │ └── public_html ├── domain2.com │ └── public_html ├── domain3.com │ └── public_html
기본적으로
/var/www
디렉토리의 서버에서 호스트하려는 각 도메인에 대해 별도의 디렉토리를 만듭니다. 이러한 각 디렉토리 내에 도메인 웹 사이트 파일을 저장할
public_html
디렉토리를 만듭니다.
example.com
도메인의 루트 디렉토리를 작성하여 시작하십시오.
sudo mkdir -p /var/www/example.com/public_html
테스트 목적으로 도메인 문서 루트 디렉토리 내에
index.html
파일을 작성하십시오.
편집기를 열고 데모 파일을 작성하십시오.
/var/www/example.com/public_html/index.html
Welcome to example.com Success! example.com home page!
Welcome to example.com Success! example.com home page!
이 안내서에서는 sudo 사용자로 명령을 실행하고 새로 작성된 파일 및 디렉토리는 루트 사용자가 소유합니다.
권한 문제를 피하기 위해 도메인 문서 루트 디렉토리의 소유권을 Apache 사용자 (
www-data
)로 변경할 수 있습니다.
sudo chown -R www-data: /var/www/example.com
가상 호스트 생성
Ubuntu 시스템에서 기본적으로 Apache Virtual Hosts 구성 파일은
/etc/apache2/sites-available
디렉토리에 저장되며
/etc/apache2/sites-available
enabled 디렉토리에 대한 심볼릭 링크를 작성하여 활성화 할 수 있습니다.
선택한 편집기를 열고 다음 기본 가상 호스트 구성 파일을 작성하십시오.
ServerName example.com ServerAlias www.example.com ServerAdmin [email protected] DocumentRoot /var/www/example.com/public_html Options -Indexes +FollowSymLinks AllowOverride All ErrorLog ${APACHE_LOG_DIR}/example.com-error.log CustomLog ${APACHE_LOG_DIR}/example.com-access.log combined
ServerName example.com ServerAlias www.example.com ServerAdmin [email protected] DocumentRoot /var/www/example.com/public_html Options -Indexes +FollowSymLinks AllowOverride All ErrorLog ${APACHE_LOG_DIR}/example.com-error.log CustomLog ${APACHE_LOG_DIR}/example.com-access.log combined
ServerName example.com ServerAlias www.example.com ServerAdmin [email protected] DocumentRoot /var/www/example.com/public_html Options -Indexes +FollowSymLinks AllowOverride All ErrorLog ${APACHE_LOG_DIR}/example.com-error.log CustomLog ${APACHE_LOG_DIR}/example.com-access.log combined
-
ServerName
:이 가상 호스트 구성과 일치해야하는 도메인입니다. 도메인 이름이어야합니다.ServerAlias
:www
하위 도메인과ServerAlias
가상 호스트와도 일치해야하는 다른 모든 도메인DocumentRoot
: Apache가 도메인 파일을 제공 할 디렉토리입니다.Options
:이 지정 문은 특정 디렉토리에서 사용 가능한 서버 기능을 제어합니다.-
-Indexes
: 디렉토리 목록을 방지합니다.FollowSymLinks
:이 옵션은 웹 서버에 기호 링크를 따르도록 지시합니다.
AllowOverride
:.htaccess
파일에 선언 된 지시문이 구성 지시문을 재정의 할 수있는 것을 지정합니다.ErrorLog
,CustomLog
: 로그 파일의 위치를 지정합니다. -
구성 파일 이름을 원하는대로 지정할 수 있지만 도메인 이름을 가상 호스트 구성 파일 이름으로 사용하는 것이 가장 좋습니다.
새로운 가상 호스트 파일을 활성화하려면 가상 호스트 파일에서
sites-enabled
디렉토리로의 심볼릭 링크를 만들어야합니다.이 디렉토리는 시작하는 동안 apache2가 읽습니다.
가상 호스트를 활성화하는 가장 쉬운 방법은
a2ensite
도우미를 사용하는 것입니다.
sudo a2ensite example.com
다른 옵션은 아래와 같이 심볼릭 링크를 수동으로 만드는 것입니다.
sudo ln -s /etc/apache2/sites-available/example.com.conf /etc/apache2/sites-enabled/
완료되면 다음을 사용하여 구문 오류에 대한 구성을 테스트하십시오.
sudo apachectl configtest
오류가 없으면 다음 출력이 표시됩니다.
Syntax OK
변경 사항을 적용하려면 Apache 서비스를 다시 시작하십시오.
sudo systemctl restart apache2
마지막으로 모든 것이 예상대로 작동하는지 확인하려면 선택한 브라우저에서
http://example.com
을 열면 다음과 같은 내용이 표시됩니다.
결론
단일 Ubuntu 서버에서 여러 도메인을 호스팅하기 위해 아파치 가상 호스트 구성을 작성하는 방법을 배웠습니다. 위에서 설명한 단계를 반복하고 모든 도메인에 대한 추가 가상 호스트를 만들 수 있습니다.
아파치 우분투이 게시물은 설치 방법 램프 스택-온-우분투 -18-04 시리즈의 일부입니다.
이 시리즈의 다른 게시물:
• Ubuntu 18.04에서 Apache를 설치하는 방법 • Ubuntu 18.04에서 Apache 가상 호스트를 설정하는 방법 • Ubuntu 18.04에서 Let 's Encrypt를 사용하여 Apache 보안 유지하기 • Ubuntu 18.04에서 MySQL을 설치하는 방법 • Ubuntu 18.04에서 PHP를 설치하는 방법우분투 18.04에서 openvpn 서버를 설정하는 방법
VPN을 사용하면 원격 VPN 서버에 연결하여 트래픽 데이터를 비공개로 유지하여 연결을 암호화하고 안전하게 웹에서 서핑 할 수 있습니다. 이 튜토리얼은 OpenVPN을 설치하고 구성하여 자체 VPN 서버를 설정하는 과정을 안내합니다.
데비안 9에서 아파치 가상 호스트를 설정하는 방법
Apache Virtual Hosts를 사용하면 단일 컴퓨터에서 둘 이상의 도메인을 호스팅 할 수 있습니다. 이 튜토리얼에서는 데비안 9에서 Apache 가상 호스트를 설정하는 방법을 안내합니다.
우분투 18.04에서 암호화하자 안전한 아파치
이 튜토리얼에서는 Ubuntu 18.04의 certbot 도구를 사용하여 Let 's Encrypt로 Apache를 보호하는 방법에 대한 단계별 지침을 제공합니다.