Network & Server Factory

개인 공부 기록

Server & OS/Linux

[Ubuntu] Apache2 포트 기반 가상 호스트 설정

1nfra 2021. 7. 30. 01:53
Apache2 한 대에서 1000번 포트는 web1, 2000번 포트는 web2 디렉터리를 보여 주도록 포트 기반 가상 호스트를 설정했습니다. apache2.conf, 000-default.conf, ports.conf 세 파일을 수정합니다.

1. 구성

포트 DocumentRoot
1000 /var/data/web1
2000 /var/data/web2

 

기본 디렉터리(/var/www)는 이미 사용 중이어서 /var/data 아래에 새 디렉터리를 만들었습니다.

2. 준비

2.1 Apache2 설치

apt-get install -y apache2

2.2 디렉터리와 테스트 페이지

사이트별 디렉터리를 만들고, 구분할 수 있게 index.html을 하나씩 넣습니다.

mkdir -p /var/data/web1 /var/data/web2
echo 'WEB1' > /var/data/web1/index.html
echo 'WEB2' > /var/data/web2/index.html

3. 설정

3.1 apache2.conf: 디렉터리 접근 허용

Apache가 /var/data 디렉터리를 사용할 수 있도록 허용합니다. 기존 /var/www 설정 블록(작성 당시 170~174번 줄)을 복사해 바로 아래에 붙이고 경로만 /var/data로 바꿉니다.

vi /etc/apache2/apache2.conf
<Directory /var/data/>
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>

/var/data 디렉터리 블록 추가

3.2 000-default.conf: 포트별 사이트 연결

포트마다 연결할 디렉터리를 지정합니다.

vi /etc/apache2/sites-available/000-default.conf
<VirtualHost *:1000>
    DocumentRoot /var/data/web1
</VirtualHost>
<VirtualHost *:2000>
    DocumentRoot /var/data/web2
</VirtualHost>

1000번은 web1, 2000번은 web2로 연결

3.3 ports.conf: 포트 추가

Apache가 1000, 2000번 포트에서도 요청을 받도록 추가합니다.

vi /etc/apache2/ports.conf
Listen 80
Listen 1000
Listen 2000

3.4 서비스 재시작

service apache2 restart

4. 결과

서버IP:1000과 서버IP:2000으로 접속하면 각각 WEB1, WEB2 페이지가 나옵니다. 한 서버에서 여러 사이트가 동작하는 것을 확인했습니다.

1000번 포트 접속

2000번 포트 접속

5. 정리

  • 새 디렉터리는 apache2.conf에서 접근을 허용해야 합니다.
  • 포트 기반 가상 호스트는 VirtualHost 설정과 ports.conf의 Listen을 함께 추가합니다.
  • 방화벽을 쓰고 있다면 추가한 포트도 열어야 합니다.
728x90
서울
--:--:--
-전체 글
-카테고리
오늘 방문