Isambard
(Isambard)
6월 20, 2024, 10:52오후
1
위에서 제안된 설정에서 db_id: 2 값이 무엇을 하는지 궁금합니다.
또한, 기존 멀티사이트 구성에 새 사이트를 추가하는 절차는 무엇인가요? 단순히 다음과 같은 순서인가요?
yaml 업데이트
./launcher bootstrap multisite
./launcher start multisite
전체 bootstrap이나 rebuild를 수행하면 다른 기존 사이트들에 영향을 미칠 수 있는데, 필요한 추가 데이터베이스만 추가하는 방식으로 이를 피할 방법이 있는지 궁금합니다.
pfaffman
(Jay Pfaffman)
6월 20, 2024, 11:10오후
2
db id가 더 이상 필요하지 않다고 생각합니다.
새 사이트로 multisite 파일을 편집한 다음
sv restart unicorn
을 실행하고, 그 후 데이터베이스를 마이그레이션하면 됩니다.
Isambard
(Isambard)
6월 20, 2024, 11:38오후
3
정말 큰 도움이 되네요!
Jay Pfaffman:
sv restart unicorn
재시작에 이 명령어가 빠져 있었습니다. (sv reload unicorn도 시도해 봤지만, 어째서인지 그거만으로는 충분하지 않았습니다.)
데이터베이스 생성에 관해서는, 이미 자동으로 수행할 수 있는 방법이 있을까요? rake db:create[mynewdbname]를 사용할 수 있으면 좋겠습니다. 그렇지 않다면, 짧은 셸 스크립트를 작성하겠습니다.
현재는 수동으로 (데이터베이스 생성 및 권한 설정) 한 후, RAILS_DB=newdb rake db:migrate를 실행하여 데이터를 채우고 있습니다.
Isambard
(Isambard)
6월 20, 2024, 11:42오후
4
제가 뭔가 바보 같은 짓을 하고 있지는 않은지 확인하고 싶습니다:
현재는 Docker 내부에서 multisite 파일을 편집하고 있습니다 (/var/www/discourse/config/multisite.yml)
수동으로 DB를 생성하고 있습니다
rake db:migrate를 실행하고 있습니다
sv restart unicorn을 실행하고 있습니다
또한 Docker 외부의 yaml 파일도 편집해야 하므로, 향후 재빌드나 업그레이드 시 multisite 구성이 동기화되도록 유지해야 합니다.
이미 한 곳에서 편집하고 변경 사항을 반영할 수 있는 방법이 있는데, 두 가지 다른 곳에서 multisite 구성을 편집하는 것이 바보 같은 짓은 아닌가요?
이 문서를 좀 더 정리하고, 방향성을 조금 더 명확하게 해줄 수 있을까요? 먼저, 저는 Docker에 대해 매우 초보적인 수준입니다. 리눅스 서버 운영 경험은 있지만, 전문가 수준은 아닙니다. 저는 크론 잡(cron jobs)과 셸 스크립트, 그리고 아파치 멀티 사이트 설정 같은 구식 방식의 작업을 좋아합니다. 하지만 이 작업은 제가 익숙한 것들보다 좀 더 복잡하고, 제가 잘 다루지 않는 프로그래밍 언어를 사용하고 있습니다. 혹시 데모 영상 같은 것도 있을까요? 디스코urs가 멀티 사이트 환경을 기본적으로 지원하도록 만들어져 있으면, 몇 개의 파일만 수정하면 되는 식이면 정말 좋겠습니다.
pfaffman
(Jay Pfaffman)
8월 2, 2024, 10:25오전
6
해당 텍스트 스타사를 붙여넣고 필요에 맞게 수정하면 됩니다.
또한, 모든 도메인에 대한 인증서를 발급받으려면 리버스 프록시를 사용하거나 여러 도메인/리다이렉트 설정으로 Let’s Encrypt 설정하기 를 따라야 합니다.
리버스 프록시 없이 Let’s Encrypt를 사용한 멀티사이트 구성 설정 도 참고하세요. 하지만 이전 링크에서 가져올 수 있는 필수적인 한 줄이 추가되어야 하므로 이 문서도 업데이트가 필요합니다. 업데이트하려고 노력하고 있지만 아직 해내지 못했습니다.
멀티사이트를 운영 중이라면 도메인을 어디로 지정해야 하나요? 다른 포럼을 호스팅하는 서버와 동일한 IP로 지정해야 하나요?
네, 모든 도메인을 동일한 서버 IP로 설정하세요.
Nginx 또는 Caddy 서버를 사용하여 리버스 프록시를 설정하세요.
Caddy 는 모든 도메인에 대해 무료 자동 SSL 인증서를 제공하므로 가장 좋습니다.
이 튜토리얼을 따라 Docker로 멀티사이트 설치를 성공적으로 완료했습니다. 최근 업그레이드를 시도할 때 오류가 발생하여 다음 줄을:
- exec: cd /var/www/discourse && sudo -E -u discourse bundle exec rake multisite:migrate
다음과 같이 수정해야 한다고 생각합니다:
- exec: cd /var/www/discourse && sudo -H -E -u discourse bundle exec rake multisite:migrate
누군가 이 튜토리얼을 확인하거나 수정해 주실 수 있을까요?
네. 저도 같은 문제를 겪었습니다. 그렇지 않으면 부트스트랩이 실패하므로 해당 변경 사항을 적용해야 합니다.