최초 작성일 : 2021-09-25 | 수정일 : 2021-09-25 | 조회수 : |
맥미니에 macOS Server를 설치해서 웹 서비스 및 개발 서버로 사용한다.
Apache Virtual Host 설정은 블로그 도메인을 Docker로 서비스하는 Ghost로 연결할 때 사용하였다.
블로그는 글을 작성할 때 Markdown 사용이 가능한 Ghost를 이용하였다.
Wordpress, Ghost, Hugo 등 다양한 플랫폼 중 Ghost를 선택한 이유는 웹 상에서 글을 쓰고 관리하기 편리하여 Ghost를 사용하였다.
Wordpress는 너무 복잡하고 Markdown으로 쓰기에는 불편함이 많아서 제외되었다 . 현재는 Hugo를 이용하여 블로그를 운영 중이다.
왜 Apache Virtual Host를 설정할까?
Ghost를 Docker를 이용하여 설치하면 기본적으로 http://localhost:2368 로 주소가 할당됩니다.
하나의 서버에서 서비스 별로 포트를 할당하여 사용하는 경우 특정 도메인, 예를 들어 블로그 도메인 https://blog.lulab.net로 연결하는 경우 사용한다.
즉 Apache Web Server의 Virtual Host의 ProxyPass를 이용하여 https://blog.lulab.net 주소로 요청이 올 때, http://localhost:2368을 호출하여 반환 값을 전달하여 한 대의 서버에서 다수 서비스를 서브 도메인으로 제공할 때 유용한다.
물론 Proxy 특성을 이용하여 다양한 방식으로 활용 가능하다.
macOS Server의 Apache Virtual Host 설정
macOS Server의 Apache Web Server에서 Virtual Host를 설정하는 방법은 구글에 많이 검색되지만 macOS Server를 이용할 때 설정하는 방법은 적습니다.
특히 설정 위치 등이 변경된 경우가 많아서 다시 정리하였다.
// Apache conf 저장경로
/Library/Server/Web/Config/apache2/sites*.conf
위 경로에 macOS Server Apache Web Server 설정이 저장됩니다.
macOS Server에서 쉽게 웹사이트의 프록시를 설정하는 방법으로는 웹사이트에서 서비스를 추가하고 생성된 설정 파일을 수정한다.
다음은 https://blog.lulab.net 연결 설정이다.
$ sudo vi /Library/Server/Web/Config/apache2/sites/0000_127.0.0.1_34543_blog.lulab.net.conf
아래와 같이 Proxy에 대한 설정을 추가하고 저장한다.
<VirtualHost 127.0.0.1:34543>
ServerName https://blog.lulab.net:443
// SSL 설정이 필요한 경우 작성
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass / http://localhost:2368/
ProxyPassReverse / http://localhost:2368/
<Location />
Order allow,deny
Allow from all
</Location>
</VirtualHost>
macOS Server 에서 웹 서비스를 중지했다가 다시 시작하거나 다음의 명령어로 Apache Web Server를 재시작하여 설정을 적용한다.
$ sudo apachectl restart
재시작을 하면 해당 도메인으로 서비스 되는 블로그를 확인할 수 있다.
Apache의 Virtual host는 위와 같이 간단한 설정으로 적용한다.
본 글은 macOS Server 기준으로 설명하였지만 Apache Server를 사용하는 경우에는 위의 설정들이 동일한다.
Apache Server의 설치 경로 혹은 설정의 경로들이 다를 뿐이니 OS와 참고하실 수 있다.
Proxy를 이용한 연결 설정은 개인 서버에서 다양한 도메인으로 서비스를 제공할 때 유용한다.
저와 같이 맥미니 서버로 개인 프로젝트 및 블로그를 제공하는데 Proxy가 가장 편리하다.