Встановлення Discourse в підпапку на Ubuntu 22.04
Популярні записи
Крок 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
.