# CloudPanel에 Discourse 설치하기

**URL:** https://meta.discourse.org/t/install-discourse-on-cloudpanel/266422
**Category:** Sysadmins
**Tags:** unsupported-install, install
**Created:** [5월 28, 2023, 3:52오전 UTC](https://meta.discourse.org/t/install-discourse-on-cloudpanel/266422 "2023-05-28T03:52:28Z")
**Posts on this page:** 17
**Page:** 2

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [6월 8, 2023, 2:53오후 UTC](https://meta.discourse.org/t/install-discourse-on-cloudpanel/266422/21 "2023-06-08T14:53:38Z")

</div>

> [@Antonio\_Cirillo](#):
>
> 조금만 노력하면 모든 것을 더 자세히 설명할 수 있습니다.

위키로 만들어 두었습니다. 모든 것을 더 자세히 설명하도록 OP를 업데이트해 주시면 감사하겠습니다. 이 분야에 전문 지식이 있으시니, 이 토픽을 지켜보시면서 같은 길을 걸으려는 다른 분들에게 도움을 주실 수 있기를 바랍니다.

현실은 이 곳의 정규 기여자 중 Cloud Panel을 사용하는 사람이 없다는 것입니다. 또한 가이드를 만든 사람은 해당 가이드에 대한 지원을 하지 않고 있습니다. 잘못될 일이 거의 없는 표준 설치만 지원하는 것도 상당히 시간이 많이 걸립니다.

---

<div class="post-metadata">

### Author: ![Simon\_Manning](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/simon_manning/32/198596_2.png) [@Simon\_Manning](https://meta.discourse.org/u/Simon_Manning)
#### Post date: [6월 8, 2023, 3:27오후 UTC](https://meta.discourse.org/t/install-discourse-on-cloudpanel/266422/22 "2023-06-08T15:27:30Z")

</div>

> [@pfaffman](#):
>
> 위키로 만들었습니다.

👍 반대하는 사람이 없다면, 시간이 날 때 제 제안들을 반영하겠습니다. 자연스럽게 흘러가도록(그리고 실제로 작동하도록) 확인하겠습니다. 적어도 `discourse-setup`를 `--skip-connection-test` 옵션과 함께 실행해야 할 것임을 알고 있습니다.

> [@pfaffman](#):
>
> 가이드를 만든 사람은 그 가이드를 지원(관리)하는 데 참여하고 있지 않습니다.

이것은 아마도 불공정하다고 생각합니다. 해당 사용자는 피드백에 기반하여 가이드를 업데이트해 왔고, 아마도 다른 사람들이 먼저 질문에 답했을 가능성이 높기 때문입니다.

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [6월 8, 2023, 3:31오후 UTC](https://meta.discourse.org/t/install-discourse-on-cloudpanel/266422/23 "2023-06-08T15:31:52Z")

</div>

> [@Simon\_Manning](#):
>
> 이건 아마도 부당할 거예요,

아마도 맞을 겁니다. 이 글이 올라온 지 하루 정도밖에 안 됐으니까요. 이 경우에는 제가 아무 말도 하지 않고 다른 사람들이 알아서 해결하는 게 더 나을 수도 있겠네요.

---

<div class="post-metadata">

### Author: ![denvergeeks](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/denvergeeks/32/327671_2.png) [@denvergeeks](https://meta.discourse.org/u/denvergeeks)
#### Post date: [6월 9, 2023, 3:13오전 UTC](https://meta.discourse.org/t/install-discourse-on-cloudpanel/266422/25 "2023-06-09T03:13:15Z")

</div>

안녕하세요!! 여기 있습니다. 도와드릴 수 있어서 기쁩니다! 바로 튜토리얼을 만들고 피드백을 요청한 이유이기도 합니다!

---

<div class="post-metadata">

### Author: ![JammyDodger](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jammydodger/32/254611_2.png) [@JammyDodger](https://meta.discourse.org/u/JammyDodger)
#### Post date: [6월 9, 2023, 12:19오후 UTC](https://meta.discourse.org/t/install-discourse-on-cloudpanel/266422/28 "2023-06-09T12:19:56Z")

</div>

> [@Simon\_Manning](#):
>
> CloudPanel에 대해 제공해주신 정보는 매우 유용하고 설명도 명확한 것 같습니다. 다만 Discourse 쪽은 표준 설치 방식과의 차이가 적어야 더 안전할 것이며, #unsupported-install 태그를 사용하여 '여기에는 위험이 도사리고 있다’는 점을 더 명확히(또는 더 분명하게) 보여줄 수 있을 것 같습니다.

#unsupported-install 태그를 추가하고, 위쪽에는 약간의 주의를 주는 문구와 함께 표준 설치 방식으로 돌아가도록 유도하는 고지를 넣었습니다. 🙂

`#here-be-dragons` 태그도 제안은 했지만, 아직 검토 중입니다… 🙂

 ![here be dragons](https://global.discourse-cdn.com/meta/original/4X/9/4/0/9401712262d3f299f37712dc6123f8eb0b73b999.png)

---

<div class="post-metadata">

### Author: ![Antonio\_Cirillo](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/antonio_cirillo/32/310246_2.png) [@Antonio\_Cirillo](https://meta.discourse.org/u/Antonio_Cirillo)
#### Post date: [6월 9, 2023, 8:06오후 UTC](https://meta.discourse.org/t/install-discourse-on-cloudpanel/266422/29 "2023-06-09T20:06:58Z")

</div>

하지만 결국, 여기서 보고된 내용을 더 자세히 따르고 다른 포럼에서 몇 가지 검색을 해본 끝에 모든 것을 설치하는 데 성공했습니다. 도움을 주신 모든 분께 감사드립니다.

---

<div class="post-metadata">

### Author: ![Canapin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/canapin/32/119591_2.png) [@Canapin](https://meta.discourse.org/u/Canapin)
#### Post date: [6월 9, 2023, 8:09오후 UTC](https://meta.discourse.org/t/install-discourse-on-cloudpanel/266422/30 "2023-06-09T20:09:59Z")

</div>

> [@Antonio\_Cirillo](#):
>
> 그리고 다른 포럼에서 몇 가지 검색을 해보았습니다

찾아보신 내용이 현재 튜토리얼에 유용한 정보가 될까요?

---

<div class="post-metadata">

### Author: ![Antonio\_Cirillo](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/antonio_cirillo/32/310246_2.png) [@Antonio\_Cirillo](https://meta.discourse.org/u/Antonio_Cirillo)
#### Post date: [6월 9, 2023, 8:15오후 UTC](https://meta.discourse.org/t/install-discourse-on-cloudpanel/266422/31 "2023-06-09T20:15:00Z")

</div>

그때는 앱의 app.yml 파일에서 메일 서버와 같은 다른 항목들도 변경해야 한다는 사실을 몰랐습니다. 여기의 가이드는 전문가들을 위해 작성되었기 때문에, 전문가들에게는 가장 명백한 사항들만 안내되어 있었고, 저처럼 경험이 없는 사람들을 위한 내용도 함께 제공되지 않았습니다. 이후 메일 설정에서 어려움을 겪었는데, 제 제공업체는 TLS로 포트 587을 사용하기 때문입니다.

---

<div class="post-metadata">

### Author: ![Canapin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/canapin/32/119591_2.png) [@Canapin](https://meta.discourse.org/u/Canapin)
#### Post date: [6월 14, 2023, 10:44오전 UTC](https://meta.discourse.org/t/install-discourse-on-cloudpanel/266422/32 "2023-06-14T10:44:35Z")

</div>

> [@denvergeeks](#):
>
> ### 도메인 준비 및 SSL 설정

@denvergeeks 님, 안녕하세요 :blob_wave:

이 가이드를 검토하고 있습니다. 🙂

다음 부분에서 Cloudflare를 사용하는 것이 필수인가요?

> 도메인 준비 및 SSL 설정

비슷한 서비스를 사용해야 하는지, 아니면 이러한 제3자 서비스 없이도 SSL이 작동할 수 있는지 궁금합니다.

* * *

다음과 같은 부분에서:

> [@denvergeeks](#):
>
> **templates:** 섹션 아래에 추가해야 합니다
> 
> ```plaintext
> - "templates/web.socketed.template.yml"
> 
> ```

왜 이렇게 해야 하는지 간단히 설명해 주시면 좋겠습니다 (각주로도 괜찮습니다) 🙂

---

<div class="post-metadata">

### Author: ![denvergeeks](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/denvergeeks/32/327671_2.png) [@denvergeeks](https://meta.discourse.org/u/denvergeeks)
#### Post date: [6월 14, 2023, 6:02오후 UTC](https://meta.discourse.org/t/install-discourse-on-cloudpanel/266422/33 "2023-06-14T18:02:37Z")

</div>

@Canapin 내장된 CloudPanel SSL 사용 방법은 여기에서 확인하실 수 있습니다…

> **[SSL/TLS Certificates | CloudPanel | Documentation](https://www.cloudpanel.io/docs/v2/frontend-area/tls/)**
>
> By default, a self-signed certificate is generated.

네임서버와 SSL 모두 Cloudflare를 사용하는 것은 제 개인적인 선호입니다.

많은 분들이 Cloudflare를 사용하시죠. 제 워크플로우에서 Cloudflare를 사용하기 때문에, Cloudflare를 사용하시거나 사용하시길 원하시는 분들을 위해 튜토리얼에 Cloudflare 관련 내용을 제공했습니다.

Cloudflare를 사용할 필요는 없습니다. 도메인을 CloudPanel IP 주소로 가리키기 위해 평소 사용하시던 네임서버를 자유롭게 사용하시면 됩니다. 저는 평소 Cloudflare를 사용하곤 합니다.

또한 Cloudflare 대신 또는 Cloudflare와 함께 다른 SSL 제공업체를 사용하실 수도 있습니다.

원하시면 다른 네임서버 및 SSL 제공업체에 대한 사용 방법도 추가하실 수 있습니다.

이 설명이 도움이 되셨기를 바랍니다!

---

<div class="post-metadata">

### Author: ![Canapin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/canapin/32/119591_2.png) [@Canapin](https://meta.discourse.org/u/Canapin)
#### Post date: [6월 15, 2023, 12:07오후 UTC](https://meta.discourse.org/t/install-discourse-on-cloudpanel/266422/34 "2023-06-15T12:07:56Z")

</div>

테스트 도메인 canapin.ovh를 사용하여 Cloudflare를 리버스 프록시로 설정하는 방법에 대해 작성하신 가이드를 꼼꼼히 따라 진행했는데, 현재 Cloudflare 오류가 발생하고 있습니다:

[https://canapin.ovh](https://canapin.ovh)

가이드를 따르는 것 외에도, Cloudflare의 다른 설정들은 모두 기본값으로 두었고 가이드에서 언급한 부분만 수정했습니다.

고급 설치에 대해 잘 모르기 때문에 이 오류가 가이드와 관련이 없을 수도 있습니다. 다만 가이드에 누락된 부분이 있는 것이 아니라면요. 다른 사용자가 성공적으로 설정했으므로, 제 환경 쪽에 문제가 있을 가능성이 더 높아 보입니다. 🙂

---

<div class="post-metadata">

### Author: ![denvergeeks](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/denvergeeks/32/327671_2.png) [@denvergeeks](https://meta.discourse.org/u/denvergeeks)
#### Post date: [6월 21, 2023, 3:29오전 UTC](https://meta.discourse.org/t/install-discourse-on-cloudpanel/266422/35 "2023-06-21T03:29:10Z")

</div>

@Canapin (마지막으로) 다음을 실행하셨는지 기억하시나요?

`./launcher start app`

(이것은 가능한 원인 중 하나입니다.)

❔ 더 많은 정보를 제공해 주시면 더 도움을 드릴 수 있습니다.❔

---

<div class="post-metadata">

### Author: ![Canapin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/canapin/32/119591_2.png) [@Canapin](https://meta.discourse.org/u/Canapin)
#### Post date: [6월 21, 2023, 11:10오전 UTC](https://meta.discourse.org/t/install-discourse-on-cloudpanel/266422/36 "2023-06-21T11:10:06Z")

</div>

네, 제 컨테이너는 실행 중이고 문제가 될 수 있는 부분은 여러 가지일 수 있습니다… 하지만 지원되지 않는 설치 환경에 익숙하지 않은 제가 여러분의 토픽에 불필요한 정보를 남기는 것은 피하고 싶어서요 😛

---

<div class="post-metadata">

### Author: ![volanar](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/volanar/32/318163_2.png) [@volanar](https://meta.discourse.org/u/volanar)
#### Post date: [1월 10, 2025, 4:34오후 UTC](https://meta.discourse.org/t/install-discourse-on-cloudpanel/266422/37 "2025-01-10T16:34:25Z")

</div>

저는 fastpanel을 사용하는데, discourse를 사용하려면 하나의 설정만 있으면 됩니다. fastpanel은 wordpress보다 더 복잡한 애플리케이션을 설치하기 위해 더 많은 기능(포스트그레SQL, 클라우드 자동 백업, apache/nginx 등)을 제공합니다. Discourse는 fastpanel에서 매우 잘 작동합니다!

 ![백엔드 시스템, 특히 주소와 유형 옵션이 있는 Reverse proxy에 대한 구성 설정. (AI 이미지 캡션)](https://global.discourse-cdn.com/meta/original/4X/3/4/d/34d1fae69ef2ee30fdeb7fb45b7e91e75f8f04f1.png)

---

<div class="post-metadata">

### Author: ![RandomGuy1](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/randomguy1/32/199807_2.png) [@RandomGuy1](https://meta.discourse.org/u/RandomGuy1)
#### Post date: [2월 5, 2025, 2:43오전 UTC](https://meta.discourse.org/t/install-discourse-on-cloudpanel/266422/38 "2025-02-05T02:43:15Z")

</div>

> [@denvergeeks](#):
>
> `./launcher bootstrap app`

안녕하세요, 올바르게 설정하는 법을 배우면 제 프로젝트에 상당한 비용 절감을 가져다줄 수 있는 훌륭한 튜토리얼을 올려주셔서 감사합니다. 일단 제대로 설정을 완료하고 나면 일석이조의 효과를 볼 수 있을 것 같습니다. 요즘 경기가 좋지 않아서 어디에서든 비용 절감이 시급한 상황입니다.

튜토리얼을 살펴보니 단계가 그렇게 많지 않아서, 한번 시도해 볼 만하다고 생각했고 지금은 거의 성공 직전이라고 생각합니다.

하지만 bootstrap 단계에서 실패했습니다.

```plaintext
Status: Downloaded newer image for discourse/base:2.0.20250129-0720
docker.io/discourse/base:2.0.20250129-0720
2.0.20250129-0720: Pulling from discourse/base
Digest: sha256:01b8516e5504c0e9bc3707773015ff4407be03a89154194ff3b5b8699291bc26
Status: Image is up to date for discourse/base:2.0.20250129-0720
docker.io/discourse/base:2.0.20250129-0720
/usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups.rb
/usr/local/bin/pups --stdin
I, [2025-02-05T01:45:55.552861 #1] INFO -- : Reading from stdin
I, [2025-02-05T01:45:55.600413 #1] INFO -- : File > /etc/runit/1.d/remove-old-socket chmod: +x chown:
I, [2025-02-05T01:45:55.612817 #1] INFO -- : File > /etc/runit/3.d/remove-old-socket chmod: +x chown:

FAILED
--------------------
Errno::ENOENT: No such file or directory @ rb_sysopen - /etc/nginx/conf.d/discourse.conf
Location of failure: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/replace_command.rb:11:in `read'
replace failed with the params {"filename"=>"/etc/nginx/conf.d/discourse.conf", "from"=>"/listen 80;/", "to"=>"listen unix:/shared/nginx.http.sock;\nset_real_ip_from unix:;\n"}
bootstrap failed with exit code 1
**FAILED TO BOOTSTRAP** please scroll up and look for earlier error messages, there may be more than one.
./discourse-doctor may help diagnose the problem.
70d853c5066a283a84838676ef16a243cc6f418cee8802eb34b1edfc598a7bd9
root@Vultr2409:/var/discourse# 

```

이 문제를 해결해 달라고 Deepseek에게 물어봤는데, 다음 내용으로 `/etc/nginx/conf.d/discourse.conf` 파일을 수동으로 생성하라고 제안했습니다:

```plaintext
server {
    listen 80;
    server_name <mydomain.com (replaced by my domain)>;
    location / {
        proxy_pass http://unix:/shared/nginx.http.sock;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

```

```plaintext
root@Vultr2409:/var/discourse# ./launcher rebuild app
x86_64 arch detected.
Ensuring launcher is up to date
Launcher is up-to-date
2.0.20250129-0720: Pulling from discourse/base
Digest: sha256:01b8516e5504c0e9bc3707773015ff4407be03a89154194ff3b5b8699291bc26
Status: Image is up to date for discourse/base:2.0.20250129-0720
docker.io/discourse/base:2.0.20250129-0720
/usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups.rb
/usr/local/bin/pups --stdin
I, [2025-02-05T02:21:24.487508 #1] INFO -- : Reading from stdin
I, [2025-02-05T02:21:24.505619 #1] INFO -- : File > /etc/runit/1.d/remove-old-socket chmod: +x chown:
I, [2025-02-05T02:21:24.510777 #1] INFO -- : File > /etc/runit/3.d/remove-old-socket chmod: +x chown:

FAILED
--------------------
Errno::ENOENT: No such file or directory @ rb_sysopen - /etc/nginx/conf.d/discourse.conf
Location of failure: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/replace_command.rb:11:in `read'
replace failed with the params {"filename"=>"/etc/nginx/conf.d/discourse.conf", "from"=>"/listen 80;/", "to"=>"listen unix:/shared/nginx.http.sock;\nset_real_ip_from unix:;\n"}
bootstrap failed with exit code 1
**FAILED TO BOOTSTRAP** please scroll up and look for earlier error messages, there may be more than one.
./discourse-doctor may help diagnose the problem.
1c7c2a9d055439d23b9300f77e4bc6e912d4db5cf372ea1261e7b8bccb1be3ee

```

GPT가 제안한 해결책 중 `#- "templates/web.template.yml"` 부분을 주석 처리하는 방법도 시도해 봤지만 작동하지 않았습니다. 도움을 주시면 정말 감사하겠습니다!

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [2월 5, 2025, 5:53오후 UTC](https://meta.discourse.org/t/install-discourse-on-cloudpanel/266422/39 "2025-02-05T17:53:43Z")

</div>

nginx 설정에서 상당한 변경 사항이 있었습니다. 이것이 테스트 통과를 의미하는 건지, 아니면 다른 건지 궁금합니다.

하지만 지금 한 번 더 시도해 보시는 것도 좋습니다.

---

<div class="post-metadata">

### Author: ![volanar](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/volanar/32/318163_2.png) [@volanar](https://meta.discourse.org/u/volanar)
#### Post date: [2월 6, 2025, 11:03오전 UTC](https://meta.discourse.org/t/install-discourse-on-cloudpanel/266422/40 "2025-02-06T11:03:36Z")

</div>

> [@pfaffman](#):
>
> nginx 설정에 상당한 변경 사항이 있었습니다.

최신 nginx 설정 파일의 위치를 알려 주실 수 있을까요? 현재 제 discourse는 기본 구성으로 fastpanel에 연결되어 있습니다. 모든 것이 정상적으로 작동하고 있지만, discourse가 최적의 상태로 작동하도록 더 정밀한 설정을 하고 싶습니다.

[이전 페이지](https://meta.discourse.org/t/install-discourse-on-cloudpanel/266422.md?page=1)
