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
'Server & OS > Linux' 카테고리의 다른 글
| [Ubuntu] 웹 브라우저로 SSH 접속하는 Shell In A Box 설치 (0) | 2022.02.08 |
|---|---|
| [Linux] setup-ipsec-vpn 스크립트로 L2TP/IPsec VPN 서버 구축 (0) | 2021.08.13 |
| [Ubuntu Server 18.04] Netplan으로 고정 IP 설정 (0) | 2021.07.28 |
| [Ubuntu] Nginx stream으로 RDP 프록시 설정 (0) | 2021.06.30 |
| [Ubuntu 18.04] 커널 버전 업데이트하고 이전 커널로 되돌리기 (0) | 2021.05.22 |
서울
--:--:--
-전체 글
-카테고리
오늘 방문