본문 바로가기
IT지식/개발

[Apache2] 가상호스트 설정. 여러 도메인 운영하기. 도메인과 포트

by 7$ 2021. 12. 15.

하나의 서버에서 2개의 도메인으로 서비스를 운영하고 싶어 가상 호스트를 설정하기로 했다.

처음에는 동일 도메인에서 다른 포트로 호스트를 설정하려고 했으나, 사용하고 있는 구름ide 컨테이너 설정을 살펴보니

하나의 컨테이너에서 도메인을 추가할 수 있는 기능을 발견!

도메인을 하나 더 추가해서 운영해보기로 했다.

 

 

1. 각각의 도메인의 Document Root 설정

A 도메인 : /workspace/A (기존 서비스 경로)

B 도메인 : /workspace/B (추가한 서비스 경로)

 

Document Root를 결정하였으면, 테스트 파일을 생성해놓는다.

 

/workspace/A/index.html

/workspace/B/index.html

 

2. 도메인 생성하기

B 도메인과 포트 설정을 추가한다.

B 도메인은 8080 포트를 사용하기로 결정.

A 도메인은 기존에 사용하고 있던 도메인으로 기존 설정 유지.

  URL PORT
A 도메인 www.A.co.kr 80
B 도메인 www.B.co.kr 8080

 

3. 서버에 가상 호스트 설정하기

가상 호스트를 설정하기 전 apache2 설정 디렉토리들을 먼저 살펴보자.

위치 설명
/etc/apache2/apache2.conf 서버 설정과 관련 파일 
/etc/apache2/ports.conf 서버의 포트 설정 관련 파일
/etc/apache2/sites-available/000-default.conf 웹서비스의 경로 및 권한 등의 설정 파일.
디폴트 설정값이 000-default.conf 파일이다.

웹서비스를 추가할 경우 *.conf로 명명된 설정된 파일을 생성해서 사용할 수 있다.
/etc/apache2/sites-enable sites-available에 설정된 파일들 중 활성화된 설정을 심볼릭 링크로 연결된 파일들이 존재
a2ensite/a2dissite 등의 명령어를 통해 수정된다.
/etc/apache2/mods-available 모드 설정 파일들이 존재
/etc/apache2/mods-enable 활성화된 설정을 심볼릭 링크로 연결된 파일들이 존재
a2enmod/a2dismod 등의 명령어를 통해 수정된다.

 

B 도메인을 추가하였으니, 추가한 웹 서비스의 가상 호스트를 설정한다.

 

/etc/apache2/sites-available 디렉토리에서 B 도메인의 설정 파일 b-default.conf 생성

<VirtualHost *:8080>
	ServerName www.B.co.kr
	DocumentRoot /workspace/B
	
    <Directory /workspace/B>
		Options Indexes FollowSymLinks
		AllowOverride All
		Require all granted
	</Directory>

</VirtualHost>

 

그동안 사용하지 않았던 8080 포트를 열어줘야 한다.

 

/etc/apache2/ports.conf 파일에 8080 포트를 추가

Listen 80
Listen 8080

 

설정 값을 수정하였지만 아직 서버가 인식 할 수 있는 상태가 아니므로 심링크를 추가해야 한다.

a2ensite 명령어로 심링크 추가

#a2ensite b-default.conf.conf

서버를 재실행 한다.

#service apache2 restart

 

추가한 B 도메인으로 접속 하면 /workspace/B/index.html 파일이 실행되는지 확인