자유게시판

우분투 서버 가상 호스트

작성자 정보

  • 윤스테이 작성
  • 작성일

컨텐츠 정보

본문

1단계. 업데이트합니다.
sudo apt update
sudo apt upgrade -y

2단계. 다음 명령을 사용하여 Ubuntu용 Apache 웹 서버를 설치합니다.
sudo apt install apache2 -y

3단계. 아파치 리스타트
sudo systemctl restart apache2
sudo systemctl status apache2

4단계. 'www' 폴더 안에 두 개의 새 디렉토리를 만듭니다. 이 디렉토리를 host1 및 host2로 지정하십시오.
sudo mkdir -p /var/www/host1
sudo mkdir -p /var/www/host2

'/var/www/host1/public_html' 및 '/var/www/host2/public_html' 디렉토리도 두 가상 호스트의 문서 루트를 나타냅니다.

5단계. 위에서 만든 디렉터리는 루트 사용자가 소유합니다. 일반 사용자가 이 디렉토리의 파일을 수정할 수 있도록 하려면 다음 명령을 사용하여 소유권을 변경해야 합니다.
sudo chown -R $USER:$USER /var/www/host1
sudo chown -R $USER:$USER /var/www/host2

'$USER' 변수는 현재 로그인한 사용자의 값을 사용합니다. 이제 'public_html'은 이 사용자가 소유하게 됩니다.

6단계. 이제 Apache 일반 웹 디렉토리에 대한 '읽기 액세스' 권한을 설정합니다.
sudo chmod -R 755 /var/www

7 단계. 이제 각 가상 호스트에 대한 기본 페이지 즉 index.html을 설정합니다. 이는 'echo' 명령을 사용하여 터미널에서 직접 수행할 수 있습니다.
가상 호스트1의 경우:
sudo echo “Welcome to Virtual Host 1.” > /var/www/host1/index.html
가상 호스트2의 경우:
sudo echo “Welcome to Virtual Host 2.” > /var/www/host2/index.html

8단계. 더 진행하기 전에 중간 단계를 사용하고 있습니다. 여기에서 호스트 파일을 수정하여 로컬 호스트 주소를 두 개의 가상 호스트 도메인 이름(www.host1.comwww.host2.com)에 매핑합니다. 이는 도메인 이름이 공개적으로 등록되는 것을 방지하기 위한 것입니다.
sudo sh -c "echo 127.0.0.1 www.host1.com >> /etc/hosts"
sudo sh -c "echo 127.0.0.1 www.host2.com >> /etc/hosts"

"000-default.conf\는 각 가상 호스트의 기본 파일로 사용할 수 있습니다. 이 파일을 host1.conf 및 host2.conf라는 두 가지 다른 이름으로 동일한 위치에 복사하기만 하면 됩니다.

9단계. conf파일 복사
sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/host1.conf

sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/host2.conf

10단계. 이제 파일을 열고 각 가상 호스트에 맞게 수정합니다.
예를 들어 가상 호스트1의 경우 다음 매개변수를 다음과 같이 수정해야 합니다.
<VirtualHost *:80>

    ServerAdmin

    ServerName host1

    ServerAlias www.host1.com

    DocumentRoot /var/www/host1

    ErrorLog ${APACHE_LOG_DIR}/error.log

</VirtualHost>

두 번째 파일(host2.conf)의 경우 host1 항목을 host2로 바꿉니다. 또는 두 개의 새 파일을 만들고 각 가상 호스트에 해당하는 위 내용을 입력할 수 있습니다.
host2.conf 파일은 다음과 같습니다.
<VirtualHost *:80>

    ServerAdmin

    ServerName host2

    ServerAlias www.host2.com

    DocumentRoot /var/www/host2

    ErrorLog ${APACHE_LOG_DIR}/error.log

</VirtualHost>

10단계. 이제 가상 호스트 파일을 만들었으므로 이 파일을 실제로 활성화할 시간입니다. 이를 위해 Apache는 'a2ensite'라는 도구를 제공합니다. 아래 명령을 사용하여 활성화하십시오.
sudo a2ensite host1.conf
sudo a2ensite host2.conf

11단계. 터미널에서 새 구성을 활성화하기 위해 Apache를 다시 로드하라는 메시지가 표시되지만 그 전에 다음 명령을 사용하여 "000-default.conf\로 표시되는 기본 사이트를 비활성화합니다.
sudo a2dissite 000-default.conf

12단계. 다음을 사용하여 구성 파일에서 구문 오류가 있는지 확인합니다.
sudo apache2ctl configtest

13단계. 마지막으로 apache2 서비스를 다시 로드하여 위에서 변경한 사항을 적용합니다.
sudo systemctl reload apache2

Apache 가상 호스트 설정 테스트
$ curl www.host1.com
$ curl www.host2.com

관련자료

댓글 0
등록된 댓글이 없습니다.


안정적인 DNS서비스 DNSEver

이용후기