도메인 별로 워드프레스 루트폴더 지정 연결(WordPress 아파치 웹서버 포트 설정)

2

두 개의 워드프레스 사이트(블로그,쇼핑몰등)를 한 서버에 연결할 때 서로 다른 도메인을 이용하게 될테고 두 도메인 모두 같은 서버IP로 연결됩니다. 그후 웹서버가 방문자가 어떤 도메인으로 왔는지에 따라 루트폴더를 안내해줄 뿐입니다.

이번 글에서는 HTTPS 접속용 443포트는 다루지 않고 HTTP 접속용 80포트를 설정하는 방법에 대해 다룹니다. HTTP용 포트설정은 필수이니까요. HTTPS는 다음글에 올리도록 하겠습니다.

같은서버 IP로 도메인 연결

먼저 자신의 두 번째 도메인의 DNS설정을 수정해서 첫번재 워드프레스가 사용하는 같은 서버의 IP로 연결해주세요. 

새로 연결한 도메인이 작동할때까지는 시간이 걸립니다.

저는 테스트용이므로 second.starry.info 서브도메인으로 추가했습니다.

 

하나의 서버에 하나의 워드프레스 블로그만 운영 하다가 두 번째 워드프레스 사이트를 추가하게될 때 고려해야할 점이 있는데 이것은 기존에 설정해둔 https 설정입니다.

앞서 첫번째 워드프레스를 설치하고 설정을 완료했을때 첫 번째 블로그를 HTTPS 설정까지 끝냈었죠. 이때 HTTPS 리다이렉팅 설정을 해둔 것때문에 두번째 도메인을 연결하면 두번째 도메인 역시도 HTTPS로 리다이렉팅 되어버립니다.(워드프레스 루트폴더의 .htaccess 파일에서 리다이렉팅 설정을 했었다면 관계없을 겁니다)

그래서 두번째 도메인이 같은 서버IP에 연결되면 두 번째도메인에 대한 인증서는 서버에 없기때문에 사파리 웹브라우저에서는 ‘신뢰할 수 없는 사이트‘ 경고가 나오고 크롬 웹브라우저에서는 ‘안전하지 않은 사이트‘로 분류되어 접속이 불가능합니다.

사파리 웹브라우저에서 인증서 경고창이 나타난다
사파리에서 인증서 경고
크롬 웹브라우저에서 인증서경고
크롬 인증서 경고: “안전하지 않음”

 

이 문제를 해결하기위해서는 두 번째 도메인에 대한 SSL 인증서를 추가로 발급받아야 하는데, 문제는 발급과정에서  해당도메인이 HTTPS로 접속이 되기때문에 인증서를 발급 해주질 않습니다.

그래서 우선은 기존에 서버에 설정해둔 HTTPS 리다이렉팅을 잠시 꺼두겠습니다.

HTTPS 리다이렉팅 꺼두기

예전에 ‘https 로 리다이렉팅‘ 글에서 설정했던 HTTPS 리다이렉팅 설정을 잠시 꺼주겠습니다. 여러분은   ‘서브도메인 링크주소 리다이렉팅 방법‘ 글에서 httpd-prefix.conf 파일이 아닌 다른파일을 수정하셨다면 해당 파일에서 설정을 꺼주세요. 저는 httpd-prefix.conf로 해뒀기때문에 해당 파일을 수정해줍니다. 

만일 자신이 첫 번째워드프레스의 루트폴더에 있던 .htaccess 파일을 수정해서 리다이렉팅을 설정했었다면  그 설정은 첫번째 워드프레스 사이트만 영향받으므로 꺼주지 않아도 될 것입니다.

 

예전에 제가 했던대로 그대로 따라 했다면 우리가 수정했던 비트나미 워드프레스의 리다이렉팅 설정인 httpd-prefix.conf 파일은 /opt/bitnami/apps/wordpress/conf 폴더에 있습니다. 사용하는 FTP 클라이언트 프로글램을 이용해서 해당파일을 엽니다.

httpd-prefix.conf 파일위치

아래 스크린샷처럼  HTTPS 리다이렉팅 설정했던 두개의 줄 앞에 #을 붙여서 주석으로 만들어버리고, DocumentRoot “첫번째 워드프레스루트경로” 라고 쓰여진 줄도 삭제하거나 앞에 #을 붙여서 주석처리해준 다음 파일을 저장합니다.

httpd-prefix.conf 파일 수정

참고: 위 스크린샷에서 두 번째 빨간박스에 있는 4개 줄은 이제 필요없으므로 삭제해도 됩니다. 

 

그리고 한가지 확인하고 갈게 있는데 두 번째 워드프레스의 설정파일인 wp-config.php 파일을 열어봐서 아래와 같은 두줄에 http가 아닌 https로 되어있다면 http로 바꾸고 저장합니다. 이것도 나중에 다시 https로 되돌려줄 겁니다.

/opt/bitnami/apps/wordpress/두번째_워드프레스_루트폴더/wp-config.php

wp_siteURL과 WP_home 설정

아파치 재시작

sudo /opt/bitnami/ctlscript.sh restart apache

접속하는 도메인별로 워드프레스 루트폴더 나눠주기(아파치 웹서버 80포트 설정)

 HTTPS SSL 인증서 설정 글에서 했던 것처럼  /opt/bitnami/apache2/conf/bitnami 폴더의 bitnami.conf 파일을 수정해 줄 차례입니다.

bitnami.conf 파일위치
bitnami.conf 파일위치

이파일을 수정하기 전에 만일을 대비해서 원본은 백업해두도록 합니다. 저는 복사해서 bitnami.conf.backup 이라는 이름으로 백업본을 만들었습니다:

bitnami.conf 파일 백업하기
나의 bitnami.conf 백업파일

 

bitnami.conf 파일에서 설정 값을 바꿔줌으로써 방문자가 어떤 도메인으로 들어왔느냐에 따라 접속할 폴더를 아파치 웹서버가 지정해줍니다. 그런데 이 파일내용에서 한가지 알아둬야할 것이 있습니다. 80포트에 대한 설정과 443포트에 대한 설정이 따로 있다는 것인데요. 80포트는 HTTP로 접속해왔을 때,  443은 HTTPS로 접속해왔을 때의 설정입니다. 이 파일내용을 보면 아래처럼 그 내용이 나눠져있은 것을 볼 수 있습니다.

아파치 웹서버 버추얼호스트 포트 설정파일 내용

<VirtualHost _default_:포트번호> 로 시작해서 </ViertualHost>로 끝나는 부분까지가 해당 포트 설정에 대한 값입니다.

 

이 글에서는 80포트로 들어왔을 때(HTTP로 들어왔을 때) 도메인에 따라 분류 해주겠습니다.

저는 아래 그림처럼 단순히 구분이 쉽게 가도록 # Default SSL Viertual Host Configuration 이라고 써진  줄 위에 주석 3줄을 추가해주겠습니다. 이건 그냥 개인적인 선호도이므로 따라 하지 않으셔도 됩니다. HTTPS 설정 시작줄을 쉽게 구분하기위한  지극히 개인적인 용도입니다.

포트별 설정 구분을 위한 주석문장 추가

 

그리고 위에있던 <VirtualHost _default_:80> 으로 시작해서 </VirtualHost>로 끝나는 부분까지 전부 삭제합니다

기존에 있던 80포트설정을 모두 지운다

 

위에 삭제하고 남은 공간에 아래와 같은 형태로 작성 해줄 겁니다. 

########## 80 포트 설정
#  ————————-첫 번째 사이트
 <VirtualHost *:80>
 ServerName 첫번째도메인주소
 ServerAlias www.첫번째도메인주소
 DocumentRoot /opt/bitnami/apps/wordpress/htdocs/
 <Directory /opt/bitnami/apps/wordpress/htdocs/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
                Require all granted
        </Directory>
          # Bitnami applications installed with a prefix URL (default)
          Include “/opt/bitnami/apache2/conf/bitnami/bitnami-apps-prefix.conf”
 </VirtualHost>
 
# ————————두 번째 사이트
 <VirtualHost *:80>
 ServerName 두번째도메인주소
 DocumentRoot /opt/bitnami/apps/wordpress/두번째_WP_루트폴더이름/
      <Directory /opt/bitnami/apps/wordpress/두번째_WP_루트폴더이름/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
                Require all granted
        </Directory>
          # Bitnami applications installed with a prefix URL (default)
          Include “/opt/bitnami/apache2/conf/bitnami/bitnami-apps-prefix.conf”
 </VirtualHost>
########## 80 포트 설정 끝

 

중요: 자신의 도메인주소와 워드프레스 루트폴더 경로에 맞춰서 작성해주면 되는데요. 두 번째 도메인주소를 저 처럼 서브도메인이 아닌  일반 메인도메인으로 추가하는 경우 두번째 사이트 설정을 아래처럼 두 줄로 사용하시기 바랍니다.

ServerName 두번째도메인주소

ServerAlias www.두번째도메인주소

 

 제 경우 두번째 도메인이 서브도메일 뿐이라서 아래처럼 설정했습니다.

두개 도메인에 대한 80포트 설정

 

삭제했던 부분을 위 내용대로 바꾸고 나면 파일을 저장하도록 합니다. 그리고 CLI 명령어를 이용해서 아파치 웹서버를 재시작 해주세요.

sudo /opt/bitnami/ctlscript.sh restart apache

참고: 아파치를 재시작해보았을 때 Syntax OK 메시지가 안나오고 Syntax error 같은 메시지가 나온다면 지적된 라인번호의 코드를 확인해보세요. 복사 후 붙이기를 할 때 큰따옴표나 작은따옴표가 모양이 좀 다른 따옴표로 변경되어 붙여넣어졌을 수도 있습니다. 맥컴퓨터의 경우 스마트 인용부호라는 것때문에 그러한 현상이 일어나곤 합니다. 이런경우 따옴표를 키보드로 직접 입력해보시기 바랍니다.

두 번째 도메인 접속해보기

이제 두번째 도메인으로 접속해보면 아래처럼 워드프레스 초기상태가 나옵니다.  첫 번째 도메인과 두 번째 도메인을 모두 접속해보고 서로 다르게 접속되는지 확인해봅시다.  사용하는 웹브라우저 인터넷 방문기록삭제나 캐시를 비워가면서 확인해보세요.

워드프레스 환영페이지가 나타났면 성공
워드프레스 환영페이지

 

아직 끝난게 아니니 위 화면에서 설치하기 버튼은 누르지 않도록 합니다. HTTPS 설정을 위한 두 번째 도메인의 SSL 인증서 발급과 HTTPS 설정이 남아있습니다. 다음 글에서 계속 연재됩니다.

2 댓글

  1. 안녕하세요. 이전 포스팅부터 잘 봐오던 독자입니다. ㅎㅎ
    이번 글도 너무 유익한거 같아서 따라 해보고 있는데요.
    소스 수정 다 하고 마지막에 아파치 재부팅할려고 하면 아래 링크의 이미지 처럼 뜨고 두번째 도메인은 첫번째 워드프레스로 접속이 되요.

    https://ds2nd.com/wp-content/uploads/2017/10/20171013_1507857572.png

    설명을 워낙 잘 해 주셔서 틀린건 없는거 같은데 뭐가 문제일까요..

    • 안녕하세요. 아파치 설정파일에 문법 오류가 있어서 아파치를 재시작할 수 없다고 나옵니다.

      /opt/bitnami/apache2/conf/httpd.bin 파일에 562번째 라인
      /opt/bitnami/apache2/conf/httpd.conf 파일에 22번째 라인

      이렇게 틀렸다고 나오는 군요. 하지만 위 두파일은 제 글에서 다루지 않았으므로 별도로 손대신게 아니라면 이 두파일을 포함하고있는 있는 다른 파일에서 문법 오류가 있을 것같습니다.
      include “/opt/…./bitnami-apps-prefix.conf” 처럼 써잇는게 그렇게 파일을 중간에 껴넣는 설정이거든요.

      결론적으로는 수정하신 파일에서 오타가 없는지 확인해보셔야겠습니다. 대소문자, 띄어쓰기, 라인 줄바꿈, #기호 주석처리등을 살펴보셔야겠습니다.

      가장 의심되는건 복사 붙이기를 했을 때 큰따옴표, 작은따옴표 같은 경우 자신의 컴퓨터가 다른 예쁜모양의 큰따옴표로 바꿨을 수도 있으므로 그부분은 키보드로 직접 타이핑해서 바꿔보시기 바랍니다.

      또한 내 컴퓨터가 대소문자를 임의로 수정하는 자동수정 기능을 쓰고 계신건 아닌지도 확인해보세요.

댓글을 남겨주세요.(익명, 구글, wordpress,페이스북, 트위터 계정 로그인 지원) 마크다운 문법 사용가능