๐Ÿ‡จ๐Ÿ‡ณ ๋„๋ฉ”์ธ ์ด๋ฆ„ ๋ณ€๊ฒฝ ๋ฐฉ๋ฒ• | Discourse ๋„๋ฉ”์ธ ๋ณ€๊ฒฝํ•˜๋Š” ๋ฒ•

์ด ๊ธ€์€ ์˜์–ด ์›๋ฌธ์—์„œ ๋ฒˆ์—ญ๋˜์—ˆ์Šต๋‹ˆ๋‹ค: Change the domain name or rename your Discourse

:warning: GitHub์˜ ์„ค์น˜ ๊ฐ€์ด๋“œ ํŽ˜์ด์ง€์˜ ๋‚ด์šฉ์„ ์ฐธ๊ณ ํ•˜์—ฌ Discourse ์ธ์Šคํ„ด์Šค๋ฅผ ์„ค์น˜ํ•œ ํ›„, ํ•ด๋‹น ์ธ์Šคํ„ด์Šค์˜ ๋„๋ฉ”์ธ ์ด๋ฆ„์„ ๋ณ€๊ฒฝํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์•ˆ๋‚ด์„œ์ž…๋‹ˆ๋‹ค. Discourse ๊ณต์‹ ํ˜ธ์ŠคํŒ… ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉ ์ค‘์ด๋ผ๋ฉด, ํ˜ธ์ŠคํŒ…๋œ Discourse๋ฅผ ์œ„ํ•œ ๋„๋ฉ”์ธ ์ด๋ฆ„ ๊ตฌ์„ฑ ํŽ˜์ด์ง€์˜ ์ƒ์„ธ ๋‚ด์šฉ์„ ์ฐธ๊ณ ํ•˜์‹ญ์‹œ์˜ค.

๊ฐ€๋ น, ํ˜„์žฌ Discourse ์ธ์Šคํ„ด์Šค์˜ ๋„๋ฉ”์ธ ์ด๋ฆ„์„ talk.foo.com์—์„œ talk.bar.com์œผ๋กœ ๋ณ€๊ฒฝํ•˜๋ ค๊ณ  ํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

๊ณผ์ •์„ ์‹œ์ž‘ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

DNS ๊ณ ๊ธ‰ ์„ค์ •์—์„œ TTL์„ ๋‚ฎ๊ฒŒ(low) ์„ค์ •

๋ชจ๋“  ์‚ฌ์šฉ์ž์—๊ฒŒ ๋„๋ฉ”์ธ ์ด๋ฆ„์ด ๋ณ€๊ฒฝ๋˜์—ˆ์Œ์„ ์•Œ๋ฆฌ๊ณ  ์‹ถ์œผ๋ฏ€๋กœ, ๋„๋ฉ”์ธ DNS์˜ TTL(์กด์† ์‹œ๊ฐ„)์„ ๋‚ฎ๊ฒŒ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด 60๋ถ„์œผ๋กœ ์„ค์ •ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ด ์„ค์ •์˜ ์ฃผ์š” ๋ชฉ์ ์€ DNS ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ๋” ๋น ๋ฅด๊ฒŒ ์ ์šฉ๋˜๋„๋ก ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์บ์‹œ ์กด์žฌ๋กœ ์ธํ•ด ์ธํ„ฐ๋„ท์—์„œ DNS ๋ณ€๊ฒฝ์€ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฌ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

์‚ฌ์ดํŠธ์—์„œ ๊ธฐ์กด ๋„๋ฉ”์ธ ๊ด€๋ จ ๋ชจ๋“  ๊ตฌ์„ฑ ์ œ๊ฑฐ

/admin/site_settings์— ์ ‘์†ํ•˜์—ฌ ๊ธฐ์กด ๋„๋ฉ”์ธ ๊ด€๋ จ ๊ตฌ์„ฑ์„ ๋ชจ๋‘ ๊ฒ€์ƒ‰ํ•˜์‹ญ์‹œ์˜ค.

๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ ๊ธฐ์กด ๋„๋ฉ”์ธ ๊ด€๋ จ ๊ตฌ์„ฑ์ด ๋ฐœ๊ฒฌ๋˜๋ฉด, ํ•ด๋‹น ๊ตฌ์„ฑ์„ ์ˆ˜์ •ํ–ˆ๋Š”์ง€ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค.

app.yml ํŒŒ์ผ์—์„œ Discourse ๊ตฌ์„ฑ ํŽธ์ง‘

:mega: ์„ ํƒ ์‚ฌํ•ญ์œผ๋กœ, ./discourse-setup ๋ช…๋ น์„ ๋‹ค์‹œ ์‹คํ–‰ํ•˜์—ฌ ๋ช…๋ น ํ”„๋กฌํ”„ํŠธ์—์„œ ์ž…๋ ฅํ•œ ์ •๋ณด๋ฅผ ํ†ตํ•ด app.yml ๊ตฌ์„ฑ ํŒŒ์ผ์— ์ƒˆ ๋„๋ฉ”์ธ ์ด๋ฆ„์„ ์—…๋ฐ์ดํŠธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

app.yml ํŒŒ์ผ์—์„œ hostname ๋‚ด์šฉ์„ ํŽธ์ง‘ํ•˜์‹ญ์‹œ์˜ค.

## Discourse ์ธ์Šคํ„ด์Šค์˜ ํ˜ธ์ŠคํŠธ ์ด๋ฆ„์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ณ€๊ฒฝ๋ฉ๋‹ˆ๋‹ค
DISCOURSE_HOSTNAME: 'talk.bar.com'

(๋˜ํ•œ, CDN์„ ์‚ฌ์šฉ ์ค‘์ด๋ผ๋ฉด app.yml ํŒŒ์ผ์—์„œ CDN ๊ด€๋ จ ๊ตฌ์„ฑ์„ ์ฃผ์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ณ€๊ฒฝ์ด ์™„๋ฃŒ๋˜๋ฉด ์ฃผ์„์„ ํ•ด์ œํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.)

์œ„ ๊ตฌ์„ฑ์„ ์™„๋ฃŒํ•œ ํ›„, Discourse๋ฅผ ๋‹ค์‹œ ๋นŒ๋“œํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค:

./launcher rebuild app

์œ„ ์žฌ๋นŒ๋“œ ๊ณผ์ •์ด ์™„๋ฃŒ๋˜๋ฉด, ์‚ฌ์ดํŠธ๋Š” ์ƒˆ ๋„๋ฉ”์ธ ์ด๋ฆ„์œผ๋กœ๋งŒ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

DNS ๊ตฌ์„ฑ ๋ณ€๊ฒฝ

  • ๊ธฐ์กด ๋„๋ฉ”์ธ์˜ DNS ๋ ˆ์ฝ”๋“œ ์‚ญ์ œ
  • ์ƒˆ ๋„๋ฉ”์ธ์˜ DNS ๋ ˆ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•˜์—ฌ Discourse ์„œ๋น„์Šค ์ฃผ์†Œ๋กœ ํฌ์ธํ„ฐ๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

์œ„ ๊ตฌ์„ฑ์„ ์™„๋ฃŒํ•˜๋ฉด, ์ƒˆ ๋„๋ฉ”์ธ ์ด๋ฆ„์œผ๋กœ Discourse ์‚ฌ์ดํŠธ์— ์ ‘๊ทผํ•˜๋Š” ๋ฐ ๋ฌธ์ œ๊ฐ€ ์—†์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์‚ฌ์ดํŠธ๋ฅผ ์žฌ๋นŒ๋“œํ•˜๋Š” ๋™์•ˆ DNS ๊ตฌ์„ฑ ์ •๋ณด๋ฅผ ๋™์‹œ์— ์ˆ˜์ •ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ชจ๋“  ๊ธฐ๋Šฅ์ด ์ •์ƒ์ ์œผ๋กœ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•œ์ง€ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค. ๊ธฐ๋Šฅ ๊ฒ€์ฆ์„ ์ˆ˜ํ–‰ํ•  ๋•Œ, ๋จผ์ € Discourse ์‹œ์Šคํ…œ์— ์ •์ƒ์ ์œผ๋กœ ๋กœ๊ทธ์ธํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ์•„๋ž˜ ์„น์…˜์—์„œ ๋‹ค๋ฃฐ ๋ฌธ์ œ์ž…๋‹ˆ๋‹คโ€ฆ

์„œ๋“œํŒŒํ‹ฐ ๋กœ๊ทธ์ธ ๋ณ€๊ฒฝ

:exclamation: ๋กœ๊ทธ์ธ ๋ฐฉ์‹์— ๋”ฐ๋ผ ๋‹ค๋ฅด์ง€๋งŒ, ๋„๋ฉ”์ธ ์ด๋ฆ„ ๋ณ€๊ฒฝ์ด ์™„๋ฃŒ๋˜๋ฉด ์„œ๋“œํŒŒํ‹ฐ ๋กœ๊ทธ์ธ์ด ๋ถˆ๊ฐ€๋Šฅํ•ด์งˆ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์ฆ‰์‹œ ์ด ๋ถ€๋ถ„์„ ์ˆ˜์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

Twitter, Facebook, Google, Yahoo, GitHub ์†Œ์…œ ๋ฏธ๋””์–ด ๊ณ„์ • ๋กœ๊ทธ์ธ ๊ตฌ์„ฑ์—์„œ๋„ ์ฝœ๋ฐฑ ์ฃผ์†Œ๊ฐ€ ์ƒˆ ๋„๋ฉ”์ธ ์ด๋ฆ„๊ณผ ์ผ์น˜ํ•˜๋„๋ก ์ˆ˜์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๊ณต์‹ ๊ด€๋ จ ๋ฌธ์„œ๋ฅผ ์ฐธ๊ณ ํ•˜์—ฌ ๊ตฌ์„ฑํ•˜๊ณ  ์ˆ˜์ •ํ•˜์‹ญ์‹œ์˜ค.

์ฃผ์ œ(ํ† ํ”ฝ) ๋‚ด ๊ธฐ์กด ์‚ฌ์ดํŠธ ์ฐธ์กฐ๋ฅผ ์ƒˆ ์‚ฌ์ดํŠธ ๋„๋ฉ”์ธ์œผ๋กœ ๊ต์ฒด

ํ˜„์žฌ ๋ชจ๋“  ์ฃผ์ œ์™€ ๊ฒŒ์‹œ๊ธ€์˜ ์‚ฌ์ดํŠธ ๊ด€๋ จ ๋งํฌ๋Š” ์—ฌ์ „ํžˆ ๊ธฐ์กด ๋„๋ฉ”์ธ ์ด๋ฆ„์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ ๊ฒŒ์‹œ๊ธ€ ๋‚ด ๋งํฌ๊ฐ€ ์ƒˆ ๋„๋ฉ”์ธ ์ด๋ฆ„์œผ๋กœ ํ–ฅํ•˜๋„๋ก ์ˆ˜์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ž‘์—…์„ ์ง„ํ–‰ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค:

./launcher enter app

๊ทธ๋ฆฌ๊ณ  ์•„๋ž˜ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•˜์‹ญ์‹œ์˜ค:

discourse remap =BEFORE= =AFTER=

ํ”„๋กฌํ”„ํŠธ์— ๋”ฐ๋ผ ์ˆ˜์ •ํ•œ ํ›„, ์•„๋ž˜ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜์‹ญ์‹œ์˜ค:

rake posts:rebake

์ฃผ์ œ ๋‚ด remap์€ ์ด์ œ ๊ธฐ์กด ๋„๋ฉ”์ธ ์ฃผ์†Œ๋ฅผ ์ƒˆ ๋„๋ฉ”์ธ ์ฃผ์†Œ๋กœ ๋Œ€์ฒดํ•˜๊ฒŒ ๋˜๋ฉฐ, ๋ˆ„๋ฝ์ด ์—†๋„๋ก ๋ชจ๋“  ์ฃผ์ œ๋ฅผ ๋‹ค์‹œ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

์ด๋กœ์จ ๋„๋ฉ”์ธ ์ด๋ฆ„ ๋ณ€๊ฒฝ์„ ์œ„ํ•œ ๋ชจ๋“  ๊ตฌ์„ฑ์ด ์™„๋ฃŒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค!

(์‹œ์ž‘ํ•  ๋•Œ CDN ๊ตฌ์„ฑ ์ •๋ณด๋ฅผ ์ฃผ์„ ์ฒ˜๋ฆฌํ–ˆ๋‹ค๋ฉด, ์œ„ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์›๋ž˜๋Œ€๋กœ ๋˜๋Œ๋ฆฌ๋Š” ๊ฒƒ์„ ์žŠ์ง€ ๋งˆ์‹ญ์‹œ์˜ค.)

์ฃผ์ œ ๋‚ด ์ž…๋ ฅ ๋Œ€ํ™”์ƒ์ž๊ฐ€ ์–ด๋–ป๊ฒŒ ์ƒ์„ฑ๋˜๋Š”์ง€ ๊ถ๊ธˆํ•˜์‹ญ๋‹ˆ๊นŒ?

Discourse ๋„๋ฉ”์ธ ์ด๋ฆ„ ๋ณ€๊ฒฝ ๋ฐฉ๋ฒ• - Discourse - OSSEZ ์›๋ฌธ์„ ์ฐธ๊ณ ํ•˜์—ฌ ๋” ๋งŽ์€ ๋‚ด์šฉ์„ ์•Œ์•„๋ณด์„ธ์š”.

๊ณต์‹ ์ง€์›์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

1๊ฐœ์˜ ์ข‹์•„์š”