Эти виртуальные машины работают очень медленно, и я не рекомендую использовать их для размещения сообщества.
Тем не менее, этого может быть достаточно для размещения очень небольшого сообщества, которому не важна скорость, или для личных проектов/тестов.
Требования
- Номер кредитной карты — списания не произойдет, но она необходима для регистрации бесплатного аккаунта
- Доменное имя
- Провайдер электронной почты
- Установка Discourse будет идентична официальному руководству, однако в этом уроке мы подробно разберем интерфейс и настройку Oracle.
В этом уроке мы будем исходить из того, что вы используете Windows 10, и для подключения к серверу по SSH будем использовать PuTTY.
Создание бесплатной пробной версии
Сначала создайте пробный аккаунт на Oracle Cloud Free Tier | Oracle
Регистрация аккаунта происходит не мгновенно, и вам, возможно, придется подождать несколько минут, часов (а в некоторых случаях и дней), пока ваш аккаунт не будет подтвержден.
После создания аккаунта перейдите на https://cloud.oracle.com и войдите в систему.
Создание сервера
Нажмите «Create a VM Instance» (VM означает «Виртуальная машина»):
Настройка сервера
(Необязательно) переименуйте свой экземпляр во что-то осмысленное, чтобы вы понимали, что он означает в списке ваших виртуальных машин:
Я назову свой так же, как доменное имя, которое буду использовать: «Canapin.win»:

В разделе Image and shape измените операционную систему по умолчанию на Ubuntu, нажав «edit»:
Выберите Canonical Ubuntu, затем нажмите Select Image в нижней части страницы:
В разделе Add SSH keys доступно несколько вариантов:
Нажмите Save Private Key и Save Public Key.
Это загрузит публичный ключ .pub и приватный ключ .key. Сохраните их в какой-либо папке.
Преобразование приватного ключа для PuTTY
На время мы прекратим работу с интерфейсом Oracle и вернемся к нему позже.
В этом уроке мы будем подключаться к серверу с помощью PuTTY. Поскольку сгенерированный приватный ключ несовместим с PuTTY, мы воспользуемся утилитой Puttygen для преобразования ключа в совместимый формат.
Установите PuTTY с официального сайта: Download PuTTY: latest release (0.83)
После установки PuTTY вы сможете найти PuTTYgen через поиск Windows:
Если он не отображается здесь, вы можете найти его по адресу:
C:\Program Files\PuTTY\puttygen.exe
Запустите PuTTYgen.
Выберите Конвертация (Conversions) → Импорт ключа (Import key):
Найдите ваш файл .key, загруженный с интерфейса Oracle, и нажмите Open, чтобы подтвердить выбор файла.
Появятся некоторые поля, которые будут автоматически заполнены. Не изменяйте их, если не знаете, что делаете.
(Необязательно) добавьте парольную фразу (passphrase) к вашему ключу. Представьте её как пароль для повышения безопасности, который будет запрашиваться при каждом входе на сервер.
Затем нажмите Save private Key и сохраните его в папку:
Завершение создания сервера
Время вернуться к интерфейсу Oracle.
Прокрутите страницу вниз до конца и нажмите кнопку Create:
Подождите около минуты, пока сервер не будет создан. Страница и её информация будут обновляться в реальном времени. Обновлять страницу вручную не нужно:
Убедитесь, что ваш домен указывает на IP-адрес вашего нового сервера
Настройте указание вашего домена на IP-адрес сервера и подождите распространения DNS.
Это не объясняется в данном уроке и должно быть выполнено в настройках DNS у вашего провайдера доменного имени.
Запишите имя пользователя, созданное сервером
Запишите имя пользователя, которое сервер создал автоматически. Здесь имя пользователя — ubuntu.
Настройка брандмауэра Oracle
Теперь перейдем к очень специфичному разделу настройки Oracle, необходимому для работы Discourse. Мы откроем некоторые порты в брандмауэре.
Нажмите Public Subnet в разделе Primary VNIC:
Нажмите ссылку Security list в разделе Security Lists:
Нажмите Add Ingress Rules в разделе Ingress Rules:
Заполните правила следующим образом:
- Установите SOURCE CIDR в
0.0.0.0/0 - Установите DESTINATION PORT RANGE в
80, 443
Нажмите «Add Ingress Rules»:
Проверьте, что ваши правила были корректно добавлены:
Подключение к серверу по SSH с помощью PuTTY
Запустите PuTTY и в поле Host Name (or IP address) введите IP-адрес вашего newly созданного сервера:
В левом дереве меню перейдите в Connection → SSH → Auth.
В разделе «Authentification parameters» найдите ваш приватный ключ (файл с расширением .ppk, сгенерированный в PuTTYgen), нажав Browse…:
Нажмите Open:
Нажмите Accept:
Войдите в систему, введя ваше имя пользователя (ubuntu) и нажав Enter:
Введите парольную фразу, если вы задали её в PuTTYgen.
PuTTY проверит ваш приватный ключ, и вы должны быть авторизованы:
Настройка брандмауэра Ubuntu (iptables)
На этом этапе мы всё ещё не можем установить Discourse. Нам нужно открыть некоторые порты непосредственно в Ubuntu.
Войдите как root, введя sudo su и нажав Enter.
Добавьте следующие правила в iptables, введя:
iptables -I INPUT 5 -i ens3 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -I INPUT 5 -i ens3 -p tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT
Примечание: число “5” означает, что оба правила будут добавлены, начиная с 5-й строки, сразу перед правилом брандмауэра DENY ALL. Номер строки может потребоваться изменить в будущем, если Oracle изменит конфигурацию iptables по умолчанию на своём образе Ubuntu

Сохраните обновленные правила командой:
netfilter-persistent save

Установка Discourse
Теперь ваш сервер должен быть готов к установке Discourse.
Просто следуйте официальным инструкциям: discourse/docs/INSTALL-cloud.md at main · discourse/discourse · GitHub
(40 минут компиляции спустя…
)
Напомню ещё раз: бесплатные серверы Oracle работают медленно. Установка и пересборка занимают вечность.
Даже установка тем или компонентов через интерфейс иногда приводит к тайм-ауту.
Будьте предупреждены… И наберитесь терпения. ![]()
Связанное обсуждение с различной информацией и ресурсами: Self hosting for free (with caveats!) with Oracle Cloud























