Шаг 1: Подготовка к установке

Первым делом создайте каталог для Discourse и склонируйте репозиторий:

sudo mkdir /var/discourse
sudo git clone https://github.com/discourse/discourse_docker.git /var/discourse
cd /var/discourse

Шаг 2: Настройка Discourse

Запустите настройку Discourse:

sudo ./discourse-setup

По умолчанию форум будет доступен по адресу forum.domain.com. Чтобы изменить настройки для работы с подпапкой, отредактируйте файл:

sudo nano /var/discourse/containers/app.yml
Добавьте параметр DISCOURSE_RELATIVE_URL_ROOT: /forum. Измените порты на 8080, так как порты 80 и 443 будут использоваться Apache с ProxyPass на 8080.

  - "8080:80"   # http
#  - "8443:443" # https

Готовый отредактированный файл app.yml  можно скачать тут

Шаг 4: Пересборка Discourse

Пересоберите Discourse после внесения изменений в файл:

cd /var/discourse
sudo ./launcher rebuild app

После пересборки убедитесь что нет ошибок и контейнер запущен

docker ps

Шаг 5: Настройка Apache

Установите и настройте Apache в качестве проксирующего сервера:

sudo apt update
sudo apt install apache2
sudo a2enmod proxy
sudo a2enmod ssl
sudo a2enmod proxy_http
sudo a2enmod proxy_balancer

Создайте новый файл конфигурации для виртуального хоста Discourse:

sudo nano /etc/apache2/sites-available/discourse.conf

 

Добавьте следующую конфигурацию, заменив домен и путь к SSL на свой:

<VirtualHost *:80>
    ServerName test.domain.com
    DocumentRoot /var/www/html
</VirtualHost>

<VirtualHost *:443>
    ServerName test.domain.com
    DocumentRoot /var/www/html
    ProxyPass /forum http://test.domain.com:8080/forum
    ProxyPassReverse /forum http://test.domain.com:8080/forum

    SSLEngine on
    SSLCertificateFile /etc/ssl/test.domain.com/test.domain.com.cer
    SSLCertificateKeyFile /etc/ssl/test.domain.com/test.domain.com.key
    SSLCertificateChainFile /etc/ssl/test.domain.com/test.domain.com_chain.cer
</VirtualHost>

Активируйте новый виртуальный хост и перезапустите Apache:

sudo a2ensite discourse
sudo systemctl restart apache2

Шаг 6: Проверка статуса

Проверьте статус Apache, чтобы убедиться, что ошибок нет:

systemctl status apache2

Теперь ваш форум будет доступен по адресу https://domain.com/forum.

Комментарии:
Пока нет комментариев к этой публикации.
Войдите , чтобы оставить свой комментарий.