# Apache와 프록시 리다이렉트 사용 시 Discourse가 로드되지 않음

**URL:** https://meta.discourse.org/t/discourse-not-loading-with-apache-and-proxy-redirect/157512
**Category:** Self-hosting
**Created:** [7월 12, 2020, 4:32오후 UTC](https://meta.discourse.org/t/discourse-not-loading-with-apache-and-proxy-redirect/157512 "2020-07-12T16:32:24Z")
**Posts on this page:** 1
**Showing post:** 8

<div class="post-metadata">

### Author: ![OrbitStorm](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/orbitstorm/32/186582_2.png) [@OrbitStorm](https://meta.discourse.org/u/OrbitStorm)
#### Post date: [7월 15, 2020, 10:49오전 UTC](https://meta.discourse.org/t/discourse-not-loading-with-apache-and-proxy-redirect/157512/8 "2020-07-15T10:49:05Z")

</div>

CentOS/Nginx에 지나치게 집중된 _최신_ 문서가 전무하다는 점을 감안하여 Discourse를 떠날 의향이 있었음에도, DigitalOcean에서 한 매우 관대하고 인내심 있는 분이 제가 거기에 만든 스레드에 응답하여, 시행착오 끝에 저와 같은 상황에 처한 잠재적 Discourse 사용자를 위한 쉽게 따라 할 수 있는 튜토리얼을 작성하는 데 도움을 주었습니다.

참고로, 해당 상황은 다음과 같습니다:

## Apache와 동일한 서버에 Discourse 설치 | Ubuntu 18.04 사용 | DigitalOcean

_[Bobbyiliev](https://www.digitalocean.com/community/users/bobbyiliev) @ DigitalOcean에 감사드립니다_  
[Install Discourse on a droplet with WordPress served by Apache ? | DigitalOcean](https://www.digitalocean.com/community/questions/install-discourse-on-a-droplet-with-wordpress-served-by-apache) (첫 번째 답변)

## 사전 요구 사항

- 안전을 위해 Droplet을 백업하여, 문제가 발생했을 경우 작동하는 버전으로 되돌릴 수 있도록 하세요.
- Droplet에 SSH로 접속하세요.
- Apache가 설치되어 있어야 합니다. 설치 방법은 다음 링크의 단계를 따르세요:

> **[How To Install the Apache Web Server on Ubuntu 18.04 | DigitalOcean](https://www.digitalocean.com/community/tutorials/how-to-install-the-apache-web-server-on-ubuntu-18-04)**
>
> The Apache HTTP server is the most widely-used web server in the world. It provides many powerful features including dynamically loadable modules, robust me…

## 1단계 - Docker 설치

Docker를 설치하려면 다음 링크의 단계를 따르세요:

> **[How To Install and Use Docker on Ubuntu 18.04 | DigitalOcean](https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-ubuntu-18-04)**
>
> Docker is an application that simplifies the process of managing application processes in containers. In this tutorial, you’ll install and use Docker Commun…

## 2단계 - Discourse 다운로드

먼저 Discourse 파일을 저장할 디렉터리를 생성하세요:

```plaintext
mkdir /var/discourse

```

이후 공식 Discourse Docker 이미지를 `/var/discourse`로 클론하세요.

```plaintext
git clone https://github.com/discourse/discourse_docker.git /var/discourse

```

## 3단계 - Discourse가 8080 포트를 경청하도록 설정

PostgreSQL, Redis 등 필요한 모든 서비스를 포함하고 있는 `standalone.yml` 템플릿을 사용할 것입니다.

다음 명령어로 샘플 파일을 복사하세요:

```plaintext
cp /var/discourse/samples/standalone.yml /var/discourse/containers/app.yml

```

이후 선호하는 편집기로 파일을 편집하세요. `/var/discourse/containers/app.yml` 파일을 열고 23번과 24번 줄의 포트를 업데이트하세요:

```plaintext
## which TCP/IP ports should this container expose?
expose:
  - "8080:80" # fwd host port 8080 to container port 80 (http)
  - "8443:443" # fwd host port 8443 to container port 443 (http)

```

아직 SSL 인증서가 없다면 16번 줄을 주석 처리하도록 하세요:

```plaintext
  #- "templates/web.ssl.template.yml"

```

`- "templates/web.ssl.template.yml`` 줄 앞에 # 기호를 추가하세요. 그렇지 않으면 Discourse가 시작되지 않습니다.

## 4단계 - Discourse 설정

디렉터리 변경:

```plaintext
cd /var/discourse

```

그런 다음, Discourse를 시작하세요 (서비스를 처음 시작하는 것이므로 `app.yml` 파일에 있는 새로운 변경 사항으로 애플리케이션이 부트스트랩됩니다):

```plaintext
./discourse-setup

```

**참고** : 유효한 메일 서버 설정을 제공해야 합니다. 그렇지 않으면 설정이 실패할 수 있습니다.

## 5단계 - Apache 설정

`/etc/apache2/sites-available/` 디렉터리에서 `forum.example.com.conf`라는 이름의 새 파일을 생성하고 다음 Vhost 내용을 추가하세요:

```plaintext
<VirtualHost *:80>
  ServerName forum.example.com
  ServerAlias www.forum.example.com

  <IfModule proxy_module>
    ProxyPreserveHost on
    ProxyPass / http://localhost:8080/
    ProxyPassReverse / http://localhost:8080/
  </IfModule>
</VirtualHost>

```

- 다음 명령어로 Vhost를 활성화하세요:

```plaintext
a2ensite forum.example.com

```

- Mod Proxy 활성화:

```plaintext
a2enmod proxy
a2enmod proxy_http
a2enmod proxy_balancer
a2enmod lbmethod_byrequests

```

- Apache 재시작:

```plaintext
systemctl restart apache2

```

그 후 도메인 이름을 통해 Discourse에 직접 액세스할 수 있게 됩니다.

* * *

**참고 1** : Discourse를 설치할 때 `app.yml`이 덮어쓰여지고 16/17번 줄(SSL)의 주석이 해제될 수 있습니다. 해당 줄들을 다시 주석 처리한 후 앱을 재구성해야 합니다 (디렉터리 변경을 잊지 마세요): `./launcher rebuild app`

**참고 2** : 이 가이드에서는 Discourse에 SSL이 _활성화되지_ 않습니다. 놀랍게도, Apache에 이미 활성화되어 있는 경우 Let’s Encrypt SSL을 활성화하는 방법에 대한 문서가 존재하지 않는 것으로 보입니다. 이 문제에 대한 해결책을 발견하신 분은 연락 주시기 바랍니다.

---

_[View the full topic](https://meta.discourse.org/t/discourse-not-loading-with-apache-and-proxy-redirect/157512)._
