AWS 라이트세일 VirtualHost(가상호스트) 추가하기(bitnami wordpress) – 아파치 HTTP 서버 튜토리얼 3

AWS 라이트세일 VirtualHost(가상호스트)

버추얼 호스트(VirtualHost – 이후 가상호스트)는 아파치 웹서버의 대표적인 기능입니다. 가상호스트는 단순한 기능이 아니라 클라이언트 호스트 요청에 대한 가상적인 응답 시스템이라 이해가 조금 어려울 수 있습니다. 왜냐하면 상황에 따라 다양한 가상호스트 설정이 필요하고 운영도 다르기 때문입니다.

이 포스팅을 워드프레스 튜토리얼 쪽으로 넣을까 하다가 아파치 쪽에 넣었습니다. AWS 라이트세일의 블루프린트는 데비안과 bitnami 스택이라 아파치 공식문서에는 안나와 있는 내용이 있습니다. AWS와 bitnami 문서를 참고해야 하는데 단순히 라이트세일에 워드프레스를 설치해서 사용하는 경우 딱히 사용하지 않아도 될 겁니다. 다만 이런 기능들이 있다는 정도는 알아두면 좋을 것 같습니다.

가상호스트는 웹서버 관리자라면 당연히 알아야 하는 내용입니다. 이 포스팅에서는 AWS 라이트세일에서 bitnami 워드프레스에서 가상호스트를 추가하는 방법을 알아보겠습니다. 가상호스트는 우분투, CentOS 등 디스트로에 따라 차이가 있고 bitnami stack 같은 컨테이너에 따라 차이가 있습니다. 뭐 따지고 보면 비슷한 내용이긴 한데 막상 자신의 서버 환경에 적용할 때 헤매기도 합니다. 필자는 주로 공식문서(Docuementation)를 참고합니다. AWS 라이트세일도 문서가 잘되어 있어서 잘 따라할 줄 알면 되니까 참고하면 좋습니다.

bitnami 아파치 설정 파일

라이트세일에 bitnami 패키지를 설치하면 아파치 웹서버의 설정파일(.conf 확장자 파일)들 위치가 다릅니다. 우선 라이트세일에 SSH 접속을 해서 가상호스트 설정 파일이 어디에 있는지 찾아봅니다.

AWS 문서를 참고하면 bitnami 설치 유형에 따라 폴더가 달라집니다. 필자는 라이트세일을 신청할 때 리눅스 + 워드프레스의 블루프린트로 설치했는데 ‘접근방법 A – Approach A’가 나왔습니다. 가상호스트 폴더는 /opt/bitnami/apache2/conf/vhosts/ 입니다. 거기에 설정파일을 생성합니다. 파일이름은 하위도메인-vhost.conf처럼 지어주면 됩니다.

sudo vim /opt/bitnami/apache2/conf/vhosts/myapp-vhost.conf

ServerName은 등록된 하위 도메인 이름이고 DocumentRoot은 index.html이 있는 곳입니다. 하위 도메인은 DNS 서버에 등록되어 있어야 하고 DocumentRoot는 폴더를 만들어서 그 안에 index.html 에 메인 페이지를 넣어줍니다. 일단은 간단한 hello world 파일 정도를 넣어주면 됩니다.

가상호스트 라이트세일 bitnami

Directory 블록은 폴더 권한 등을 설정합니다. 라이트세일의 공식 문서를 참고했습니다.

<VirtualHost *:80>
    ServerName myapp.smoothiecoding.com (이런 식으로 도메인 풀네임을 적는다)
    DocumentRoot "/opt/bitnami/wordpress/sub" 
    <Directory "/opt/bitnami/wordpress/sub">
    Options +MultiViews +FollowSymLinks
    AllowOverride All
    Require all granted
    </Directory>
</VirtualHost>

sub 폴더에 적당히 index.html 파일을 만들어 줍니다.

  <html>
        <body>
                <h1>myapp test page</h1>
                </br>
                <h2>VirtualHost Setting</h2>
                <h3>Bitnami Stack</h3>
        </body>
</html>

아파치를 다시 시작해서 수정한 설정 파일을 적용합니다.

sudo /opt/bitnami/ctlscript.sh restart apache

브라우저에서 접속해봅니다. 브라우저를 한번 완전히 종료한 후에 다시 실행하는게 좋습니다.

터미널에서 바로 확인하고 싶을 때는 elinks 도 유용합니다.

라이트세일 가상호스트 페이지

정리

리눅스 웹서버 강의들을 보면 가상호스트에 대한 설명이 꽤 긴데요. 가상호스트를 충분히 활용할 수 있는 단계에 이르는 것은 시간과 경험이 필요하겠지요. 가상호스팅을 할 수 있으면 하나의 웹서버에 여러가지 도메인이나 IP를 운영할 수 있어서 트래픽이 크게 나오지 않는 프로젝트 들은 굳이 돈을 써서 서버 인스턴스를 생성할 필요없이 그냥 기존에 서버에 넣어서 운영하면 됩니다. 물론 웹사이트 운영 실무로 가면 SEO문제도 있고 서버 관리 등 그렇게 단순하지 않습니다만, 가상호스트는 웹 개발과 관리에 있어서 좀 주요한 내용으로 알아둘 필요가 있습니다. 이 포스팅 시리즈는 apache에 대한 내용인데 추후 여유가 되면 nginx 등 다른 웹서버에 대해서도 다뤄볼 생각입니다.

참고 링크

우분투 리눅스 터미널에서 SSH 접속하기 – AWS 인스턴스 사용 (라이트세일)

Lightsail WordPress에서 HTML 웹 사이트를 하위 도메인으로 호스팅하기 (amazon.com)

AWS 워드프레스 블로그 만들기 1 – AWS 라이트세일 인스턴스 생성하기

가상호스트 예 – Apache HTTP Server Version 2.4

Leave a Comment