Extra Form
PHP PHP 7.2
CMS XpressEngine

네이버와 같은 구조(메인사이트 아래 각자의 멀티도메인으로 구성)의 포탈사이트를 구상하고 있습니다.

 

xe 설치하여 멀티도메인으로 해보려고 vhost와  사이트메뉴추가(바로가기-URL링크) 등 여러가지 작업해보니 마지막 부분에서 성공적으로 적용되지 않습니다. 제가 완벽히 적용못한 부분이 있는 지 잘 모르겠습니다.

 

많은 노력과 시간을 들였는데 고민이 깊어집니다.

 

검색해보니 라이믹스에서는 멀티도메인 기능을 지원하는 것 같은데

 

네이버와 같은 포탈사이트를 만들기 위해서는 라이믹스(멀티도메인)로 운영해야 할 지? xe에서 더 연구해야 할 지?

 

고수님들 도움 부탁 드립니다.

  • profile

    vhost와  사이트메뉴추가(바로가기-URL링크) 등 여러가지 작업해보니 마지막 부분에서 성공적으로 적용되지 않습니다. 제가 완벽히 적용못한 부분이 있는 지 잘 모르겠습니다.

    구체적으로 뭘 어떻게 해보셨고 어디까지 성공했고 어디가 안 되어서 막혔는지 말씀을 안 해 주시니, 완벽히 적용 못한 부분이 어디인지 제3자가 알 턱이 있나요. 예를 들어 만약 vhost 설정이 문제였다면 라이믹스가 아니라 라이믹스 할아버지가 와도 안 될 수도 있습니다.

  • profile profile
    관심 정말 감사드립니다. 문제/오류와 설정한 내용/진행과정 등에 대해 자세히 기술해 볼게요.
  • profile profile

    아무래도 마지막에 멀티도메인 잘 연결 된 후 vhost에 rewrite 내용을 아래와 같이 추가한 게 이상한 것 같습니다.

    메인사이트에 ssl 적용중인데, 멀티도메인 연결된 후 멀티도메인이 http로 나와서 ssl적용하려고 아래 적용했습니다.

    추가전
    <VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot "/apm/apps/docs/job.aaa.com/"
    ServerName job.aaa.com
    ErrorLog "logs/job.aaa.com-error_log"
    CustomLog "logs/job.aaa.com-access_log" common
    </VirtualHost>

    추가후
    <VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot "/apm/apps/docs/job.aaa.com/"
    ServerName job.aaa.com
    ErrorLog "logs/job.aaa.com-error_log"
    CustomLog "logs/job.aaa.com-access_log" common
    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
    </VirtualHost>

    Rewrite 추가전에는 xe 최초 설치하면 뜨는 레이아웃이 나왔는데,
    Rewrite 추가 후 메인사이트(aaa.com)와 동일한 레이아웃과 메뉴가 나옴니다.

    제가 원하는 건 멀티도메인(job.aaa.com)은 메인(aaa.com)과 다른 별개의 사이트를 만드는 것입니다.

  • profile profile

    SSL이 적용되지 않은 job.aaa.com 쪽의 vhost 설정은 보여주셨는데, SSL이 적용된 쪽이나 aaa.com 쪽은 어떻게 설정되어 있나요? 멀티도메인으로 사용할 모든 vhost의 DocumentRoot가 동일한 폴더로 연결되어야 합니다.

     

    https가 적용되면서 멀티도메인 모듈이 헷갈려하고 있을 가능성도 있습니다.

  • profile profile
    정말 감사드립니다.

    메인사이트 vhost는 아래와 같습니다.

    <VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot "/apm/apps/docs/xe/"
    ServerName aaa.com
    ServerAlias www.aaa.com
    ErrorLog "logs/aaa.com-error_log"
    CustomLog "logs/aaa.com-access_log" common

    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
    </VirtualHost>

    메인사이트 ssl은 let'sencrypt 와일드카드(*.aaa.com)로 적용해 놓아서 멀티도메인 추가되면 https가 자동 적용될 줄 알았는데 멀티도메인이 http로 나와 Rewrite 적용했었는데, let'sencrypt에 멀티도메인 추가를 해줘야 되는 지 모르겠어요.
  • profile profile

    인증서는 도메인이 안 맞으면 그냥 에러뿜습니다. 일단 어디라도 접속이 된다면 인증서 문제는 아닌 것 같습니다.

    aaa.com와 DocumentRoot와 job.aaa.com의 DocumentRoot가 전혀 다르네요. 각 폴더에 XE가 하나씩 설치되어 있는 건가요? 100% 동일한 폴더, 동일한 XE, 동일한 DB, 멀티도메인 모듈, 이런 조합이어야 합니다. 그렇지 않다면 서로 전혀 무관한 사이트가 되니까 멀티도메인 기능을 쓰는 의미가 아예 없지요. (라이믹스를 쓰시더라도 마찬가지입니다.)

    모든 vhost의 DocumentRoot는 동일해야 합니다. /apm/apps/docs/xe/와 /apm/apps/docs/job.aaa.com/ 둘 중 하나는 버리고, 나머지 한 쪽에서 멀티도메인 쓰세요. SSL 적용 및 443 포트 연결하신 vhost는 아직도 안 보여주셨는데, 안 봐도 비디오네요. DocumentRoot 모두 똑같이 통일하고, 나머지 하나는 버리세요.

  • profile profile
    너무 감사드립니다. 말씀하신 것처럼 다시 해보겠습니다.

    저는 멀티도메인(서브도메인)은 메인도메인과 별개의 도메인이라 들어서 멀티도메인별 DB/XE core/폴더도 따로 만들려고 했습니다.
    하부메뉴별 각각의 멀티도메인으로 DB(DB명)도 따로 관리하는 구조라 생각했는데 잘못 이해했었나 봅니다.
  • profile profile

    시도하시던 방식은 멀티도메인이 아니라 그냥 한 서버에 도메인 여러 개를 각각 따로 올려놓는 것입니다. 인증서도 멀티도메인이 아니라 그냥 와일드카드이니, 사실상 멀티도메인과는 아무 관련이 없는 거죠.

    그런데 각각의 사이트를 그만큼 깔끔하게 분리하여 운영하셔도 된다면 (즉, 회원정보나 게시물 등을 전혀 공유하지 않아도 된다면) 괜히 멀티도메인도 아닌 멀티도메인을 시도하시느라 시간낭비하신 것 같네요. 굳이 하나로 합쳐서 멀티도메인 모듈에 의존하시지 말고 차라리 그렇게 따로따로 운영하는 것이 더 안정적일 수도 있습니다. 단, 이 경우에는 완벽하게 분리가 되어야 합니다. 폴더도 따로, XE도 따로, DB도 따로, vhost도 사이트마다 80포트 하나, 443포트 하나, 이렇게 각각 따로 만드셔야 합니다. 100% 분리하거나 100% 합치거나 둘 중 하나를 선택하세요.

  • profile profile
    큰 도움 깊이 감사드립니다.

    (대형포탈사이트처럼 운영하려고 하는데 ) 멀티도메인이 아니었네요.

    그런데, 사이트 분리식으로 운영하면 회원로그인은 공유할 수 있겠죠?(안되면 힘들어 져요ㅠㅠ)
    예로 네이버 메인에서 로그인하면 뉴스,증권,부동산 ... 하부메뉴에서 로그인 유지되는 것처럼요.
  • profile profile

    말씀드렸듯이, 100% 분리하거나 100% 합쳐서 멀티도메인으로 처리하거나 둘 중 하나입니다.
    분리하면 회원 로그인도 분리됩니다. DB를 따로 쓸 테니까요.

  • profile profile
    질문이 계속되어서 감사하고 죄송합니다.

    그럼 네이버의 경우, 도메인끼리 로그인이 유지시키는 기능은 멀티도메인으로 운영되는 건가요?(동일 DB 사용으로)

    아니면 분리 운영식인데 로그인 유지(회원공유?)될 수 있는 다른 기능을 적용한 건지?
    아니면 아예 다른 시스템인지요?(APM이 아닌 JAVA와 같은 건지?)
  • profile profile
    네이버는 서버를 수천~수만 대 쓰고 있을 테니 정확한 구조를 알 수는 없지만, 카페든 블로그든 검색이든 메일이든 회원정보는 모두 어떤 형태론가 하나의 DB를 공유하고 있다고 봐야겠지요. APM인지 자바인지는 중요하지 않습니다. 네이버 정도의 규모에서 여러 서비스간에 회원 DB를 공유하려면 DB도 우리가 흔히 생각하는 DB는 아닐 테고요.

    그러나 비슷한 기능을 소규모로 흉내낸다면 멀티도메인 방식에 더 가깝겠네요.
  • profile
    너무 감사드립니다. 덕분에 많은 공부가 되었습니다.

    분리해서 적용해보니 원하는 구성은 잘 나왔는데 마지막 로그인 유지가 안되네요.
    (좀 이상한 건 관리자로 로그인하니 로그인유지가 되는데, 일반회원으로 하니 로그인유지 안됩니다.)

    멀티도메인을 공부해서 다시 해봐야 겠습니다.