사이트 도메인 변경 후기

박현민·2023년 11월 26일

어제 사이트의 도메인을 변경하는 날이었다.

사수 없이 해야하다보니깐 걱정이 많이 되었다. 중간에 오류나면 어쩌나 싶기도 하고.. 그렇다고 개발서버가 있는것도 아니고...

도커 컨테이너에 기존의 서버 파일을 그대로 가져다 쓰면 편하겠지만 이 기회에 서버 구축도 해보고싶다는 생각이 들어 구축부터 해봤다.

먼저 서버 스펙은 다음과 같다.

  • 운영체제 : CentOS
  • 웹서버 : Apache (컴파일)
  • WAS : Apache-Tomcat
  • tomcat connector(mod_jk)

자세한 버전은 안적었지만 도커 컨테이너에서는 모든 버전을 다 맞춰서 진행했다.

1. 서버 구축

첫번째 관문) 아파치 설치

단순히 yum으로 패키지를 설치한게 아니라 compile 방식으로 설치되어 있었다.
불필요한 자원 낭비를 위해 컴파일 방식으로 설치한다고 한다.

구축 과정에서 오류날때마다 패키지 설치를 해주며 진행했다.

apache, apr, apr-util을 다운로드 해준다.
서버의 설치 로그를 보면 apr, apr-util은 미리 설치해서 넣어둔거같은데 컨테이너 빌드하면서 apr-util쪽에서 계속 오류나길래 그냥 다른 방식으로 설치했다.

  • 아파치 폴더/srclib/apr
  • 아파치 폴더/srclib/apr-util

이렇게 넣어두고

./configure --prefix=아파치가 설치될 경로 --with-included-apr
make && make install

를 입력해주면 된다.

환경설정을 해주고 설치한다.

두번째 관문) 톰캣 설치

톰캣은 간단하게 압축해제만 해도 됐다.
프레임워크 위치정도만 설정해주면 된다.

세번째 관문) 아파치-톰캣 커넥터

아파치는 웹서버, 톰캣은 웹어플리케이션 서버이다.
이 둘을 연결해주기 위해서 mod_jk라는 커넥터를 사용한다.
이때 AJP라는 프로토콜을 사용한다.

현재 서버에는 하나의 아이피에 여러개의 톰캣 서버가 있다.
그러니깐 여러개의 도메인이 동일한 아이피를 가지게 되어 서버로 들어오고, 아파치는 도메인 네임에 따라 연결해줄 톰캣을 지정하는 것이다.

mod_jk에서 사용할 워커를 지정하고, 그 이후 vhost 설정파일의 JKMOUNT에 도메인에 해당하는 워커를 연결해주면 된다.

설치는

커넥터 폴더/configure --with-apx=아파치폴더/bin/apxs
make && make install

역시 환경설정 후 설치한다.

2. 도메인 변경

대망의 도메인 변경 시간이다.
미리 설정하고 업로드 하는 식으로 할까 했지만, 실전의 맛을 느껴보고싶어 vi에디터를 통해 수정하는 방식으로 했다.

1. 아파치 설정

아이피가 바뀐다는 말이 있었는데 다행히 바뀌지는 않았다.
만약에 바뀌었으면 httpd.conf의 ServerName설정이 고정아이피로 되어있으니 이 부분을 변경해주면 된다.

  1. httpd-vhosts.conf 수정
    vhost를 설정하는 파일이다.
    여기에는 도메인 별로 연결할 톰캣을 작성해준다.
    ServerName을 변경될 도메인 이름으로 수정해준다.
    JkMount는 커넥터의 workers를 적어주면 된다.
  2. ssl 인증서 변경(httpd-ssl.conf)
    그냥 인증서 파일만 변경해주면 된다.
    서버 개인키의 경우 비밀번호 해제를 안해주면 아파치 서버를 실행할때마다 비밀번호를 물어본다. 기존에도 비밀번호는 없었기때문에 비밀번호는 해제해두었다.
    openssl rsa -in 파일.pem -out 파일

2. 코드 변경

다음은 프레임워크 내부의 코드변경이다.
그냥 다 찾아서 변경하면 된다.

3. 톰캣 설정

server.xml 내부에

<Host name="도메인 이름">

여기의 도메인 이름을 변경하기만 하면 된다.

4. SSO 관련 설정 변경

가장 걱정한 SSO관련 설정 변경이다.
다행히도 이 부분은 지원을 해주어서 sso톰캣 서버를 건들거나 하는 일은 없었다.
그냥 sso 관련해서 로그인 페이지 url이나 id 정도만 변경해준게 전부이다.




생각보다 더 일찍끝나서 "해치웠나?" 라는 생각을 하고있었는데....

도메인이 잘못되었다구요??

하하! 다른 사이트 연동까지 끝났는데 도메인이 잘못되었다고 한다.
내가 담당하는 사이트가 모든 사이트에 접근하는 허브같은 곳이라 여기가 바뀌면 다른 사이트에서도 변경되어야 할 수 도 있는 위험이 있는 곳이다.
오타같은 문제는 아니고 애초에 도메인 네임을 정할때부터 잘못정한듯 하다.

가장 간단하게 해결하는거는 고객이 원하는 주소로 들어왔을때, 현재 설정된 도메인으로 리다이렉트해주는 방법이었다.
리다이렉트 하는 방법은 전에 로컬에서 테스트했던 부분이 있어 그대로 적용했다.

어짜피 아이피 주소가 같기때문에 아파치 vhost 설정에서 고객이 원하는 도메인 주소로 들어오면 주소를 redirect 해주는 방식으로 해결했다.

완벽하게 해결하려면 도메인을 다시 바꾸어야하지만 고거는 바뀔부분이 많아 진행하지는 못했다.

후기

우리쪽부분은 혼자하는거라 걱정이 많았지만 그래도 잘 된거같다.
혹시 아파치에서 오류나면 어쩌나... 생각하면서 로컬에서 서버 구축이랑 테스트를 해본게 큰 도움이 되었다.

다행이다!

0개의 댓글