I am installing this on the production server, which I already have a website running on port 80.
How do I specify a different port to install Discourse?
Currently it won’t let me install and says:
# ./discourse-setup
Port 80 appears to already be in use.
If you are trying to run Discourse simultaneously with another web
server like Apache or nginx, you will need to bind to a different port
See https://meta.discourse.org/t/17247
However the above link says “assumes you already have Discourse working”, but I don’t.
Yes, that does appear to be something of a chicken-and-egg problem… what the discourse-setup script does, more-or-less, is just copy samples/standalone.yml to containers/app.yml and edit a bunch of stuff in response to your answers to a bunch of questions. You can do the same thing yourself – copy the file, edit to suit. It’s how all installs used to be done before @codinghorror decided he wanted to show he could write bash scripts with the best of 'em.
what is it that actually isn’t working when using different ports? did it some months ago for a little test install and can’t see any issues …
now would have to do a more serious installation and am not sure if i should bother doing the nginx-proxy-thing or just change the ports as i did with the other…
It breaks some parts, and since isn’t a priority for us (you can just use a reverse-proxy + subdomain or subfolder) we won’t be spending time to add support for this.
well, what are these parts? i still couldn’t uncover any…
and for me at least - on a plesk managed server where it’s a bit harder to see what’s actually happening behind the scenes - this reverse-proxying so far seems over my head… and from what i found so far most plesk related howtos and threads essentially end up using different ports as well…
That’s mostly unknown, but when you use a port and find out that it didn’t work, you’ll know. And then you can’t get help here, because it’s not supposed to work.
Актуально ли это в 2020 году, что Discourse нельзя или не следует устанавливать на порт, отличный от 80/443? Или эта проблема была в итоге решена?
Установка nginx кажется слишком сложным решением для такой простой задачи! В большинстве программ можно просто указать порт, к которому нужно привязаться. И я вижу порты http/https в файле app.yml.
Называть это проблемой — небольшое преувеличение: сегодня есть очень мало причин запускать что-либо на нестандартных портах. Сейчас легко настроить прокси через nginx/traefik, а бесплатные SSL-сертификаты повсеместны.
Не могли бы вы пояснить, почему это является проблемой?
Поскольку сервер школы K-12, на который я пытаюсь установить это ПО, ограничивает устанавливаемое программное обеспечение и порты, к которым можно привязаться. Кроме того, на этом сервере уже запущен Apache на портах 80, 443 и 8080 для других служб, используемых школой.
Мне трудно представить, почему в наше время программное обеспечение для Linux-серверов не поддерживает указание порта в конфигурационном файле, чтобы пользователи могли его изменить. Так поступают все программы, о которых я могу подумать: от далёких времён Telnet и FTP до современных SSH, Apache и других.
Конечно, раньше, когда получение нескольких IP-адресов для одного хоста было сложнее, а настройка хост-заголовков — более запутанной.
Сейчас вы можете настроить один SAN-сертификат с множеством доменов и использовать обратный прокси для перенаправления трафика на разные сокеты — всё это бесплатно .
Эпоха необходимости запускать приложения на нестандартных портах давно прошла.
Мне предоставили разрешение на установку одного серверного пакета и выделение одного порта для тестирования Discourse. Сообщать им, что нам нужно привлечь другие команды на уровне школьного совета, потому что мне придется установить другое программное обеспечение обратного прокси, поскольку Discourse жестко привязан к порту, который уже используется другой командой, — это тупик. Они никогда не утвердят такие изменения.
Тогда у вас останется только два варианта: установить систему на стороннем сервере или поискать другой продукт. VPS за 5 долларов позволит вам провести всестороннее тестирование Discourse. Возможно, вам даже удастся получить бесплатную пробную версию.
Стоит рассказать им о некоторых тенденциях, которые сейчас активно внедряют многие проекты. Автоматизированная установка с использованием таких технологий, как Docker, и стандартных зависимостей портов становится нормой.
Мы предлагаем всем школам бесплатный пробный период на 3 месяца без каких-либо обязательств, подробнее: COVID-19 and Discourse
Вы можете воспользоваться этим предложением для пробного использования. Если в итоге вам всё же придётся разместить сервис самостоятельно, это не станет проблемой. Вы сможете забрать свои данные.
Как родитель, пытающийся помочь местной школе K-12 в эти времена COVID-19, моя попытка убедить весь школьный совет изменить то, как работает их ИТ-инфраструктура, скорее всего, обречена на провал.
Что касается обучения людей внедрению трендов, которые они используют, я рекомендую предоставить поддерживаемый вариант «порта», как это делают все остальные серверные программы для Linux, чтобы люди могли легко изменить TCP-порт без необходимости установки обратных прокси.
Спасибо за ссылку на covid-19, Сэм. Я сообщу им. Я не думаю, что мне позволят вносить какие-либо дальнейшие изменения в их сервер, поэтому, надеюсь, они пойдут по этому пути.
Я когда-то был университетским профессором и постоянно пытался делать именно это, так что я понимаю, о чём вы говорите. Самое простое решение — разместить всё на внешнем хостинге. Надеюсь, у них есть достаточная пропускная способность и нет правил, требующих хранения данных исключительно на кампусе.
Если вы хотите разместить сервис самостоятельно, а не на cdck, как предлагается, я могу бесплатно установить его на DigitalOcean с использованием Mailgun. Скорее всего, будет проще зарегистрировать собственный домен, если только технические специалисты не захотят создать для вас множество DNS-записей.
Кажется, мы упустили возможность это реализовать. Директор школы отменил этот проект, заявив, что решения должны исходить от школьного совета, и я не могу установить это на сервере. Стоило попробовать. Похоже, школьный совет изучает возможность использования Microsoft Teams в качестве решения.