리눅스:Ubuntu/개발 관련

Ubuntu 20.04 에서 Apache2 Vhost 설정(추가 정리)

photoner 2021. 10. 5. 10:32
728x90
반응형

Apache2 VHost 설정하기

  • Apache Vhost 설정

Vhost란? Apache2의 Virtual host 기능을 통해서 하나의 아파치 서버에서 독립된 서버 공간을 나누는 작업을 의미한다.

설정 파일 조작

vhost에 필요로 하는, 수정해야하는 설정들은 위 그림에서 처럼 3가지이다.

ports.conf : 각 vhost 마다 사용할 포트 등록.
sites-available, -enabled : vhost에 필요한 설정 파일 등록.

먼저, /etc/apache2 경로의 sites-available/ 디렉토리 내에 필요한 파일을 구비할 것인데, sites-available 디렉토리현재 비활성 중인 사이트들의 설정 파일을 담고 있는 디렉토리이다. 

001-autotag.api 라는 이름으로 가상 환경을 나눈다. 내용은 다음과 같다.

<VirtualHost *:7011> 과 같이 해당 가상 환경에서 사용할 포트를 기재해주고,
ServerName 에는 도메인 주소가 들어간다.
DocumentRoot 의 경우, 렌더링할 웹 문서 파일이 존재하는 Default 경로라고 생각하면 되겠다.
ErrorLog 및 CustomLog 는 해당 vhost에서 발생하는 로그들을 어디에 저장할 것인가를 지정한다.
<Directory ~ > 부분은 해당 vhost에 대한 옵션들이라고 생각하면 된다.

--------------------------------------------------------------------------------------------------------------------------------------------------
[해당 내용]
<VirtualHost *:7011>
ServerName autotag.api
ServerAdmin ysho0707@gmail.com
DocumentRoot /server_app/autotag.api
ErrorLog ${APACHE_LOG_DIR}/django.api/error.log
CustomLog ${APACHE_LOG_DIR}/django.api/access.log combined
          <Directory /server_app/autotag.api>
                    Options All
                    AllowOverride All
                    Require all granted
          </Directory>
</VirtualHost>
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
--------------------------------------------------------------------------------------------------------------------------------------------------

그리고 다음으로는 sites-enabled 디렉토리를 수정할 것이다. sites-enabled 디렉토리는 현재 활성 중인 사이트의 설정 파일들을 갖는 디렉토리인데, 보통 sites-available 디렉토리에서 심볼릭 링크를 걸어서 설정 파일을 채워넣는 형태로 진행이 된다. 그 부분을 다음에서 확인할 수 있다.

sudo ln -s /etc/apache2/sites-available/001-autotag.api.conf /etc/apache2/sites-enabled/001-autotag.api.conf

위의 명령어를 통해 심볼릭 링크를 건다.

728x90

Port 수정

다음으로는 port를 재설정할 것이다.

위와 같은 경로에 ports.conf 파일이 존재하는데 이 부분에 해당 Virtual Host 공간의 접속 포트를 추가하면 된다. 위 과정 중에서 sites-available 디렉토리 내에 001-autotag.api.conf 의 가장 첫 줄에 포트 번호가 있다. 그 번호를 추가한다.

포트를 추가하면 기본 default로 정했던 7010 포트 뿐만 아니라, autotag.api 이름의 가상 호스트의 포트 또한 접속 요청으로 수용할 수 있다.

Apache2 재시작

아파치를 위와 같이 재시작하고, 접속을 시도해본다.

접속 및 테스트

위와 같이 깔끔하게 접속이 잘 된 모습을 볼 수 있다. 해당 페이지는 “hello” 를 출력하는 페이지 파일을 001-autotag.api.conf 의 DocumentRoot 경로에 기술한 경로에 사전에 집어넣어 렌더링 된 상태이다. 

해당 디렉토리에 아무 것도 넣지 않고 접속하면 아무 것도 출력되지 않으니 확인을 해야한다.
/etc/hosts를 수정한다면 다음과 같이 접속 또한 가능하다.

/etc/hosts 파일을 다음과 같이 수정하게 되면 autotag.api 라는 주소는 앞으로 192.168.0.112로 바꿔서 해석하겠다 라는 의미를 갖는다. 

여기서 중요한 것은 그 말인 즉 슨 내 컴퓨터 내에서만 적용되는 규칙이다. 외부 사람들은 백 날 autotag.api를 친다 하더라도 접속이 되지 않을 것이다.

아래와 같이 접속이 잘 되는 것을 확인할 수 있다.

 

 

 

 

 

 

728x90
반응형