Назад | Перейти на главную страницу

Запустить Resin (caucho.com) на 80-м порту в Ubuntu под непривилегированным пользователем?

Не вдаваясь в проксирование или перенаправление портов, перенаправление портов и т. Д., Есть ли какой-либо собственный метод для привязки Смола (сервер Java) на порт 80 на сервере Ubuntu, в то время как Resin запускается от root, но затем работает как непривилегированный пользователь (www-data)?

Это на Ubuntu 10.10, на котором работает Resin из репозитория caucho apt. Я знаю, что если я запускаю Resin как root, я могу использовать порт 80, но, как вы понимаете, это не идеально.

Нашел ответ, терминальные cmds ниже. Эти команды предполагают, что вы используете Ubuntu 10 и установили Resin через подходящие репозитории. В моем случае www-data будет запускать authbind с идентификатором пользователя 33, который вы увидите ниже:

# aptitude install authbind
# nano -w /etc/authbind/byuid/33
# chown www-data. /etc/authbind/byuid/33
# chmod 700 /etc/authbind/byuid/33
# nano -w /etc/init.d/resin

При редактировании /etc/init.d/resin найдите:

start)

Ниже найдите:

su $USER

Удалите эту строку, заменив на:

su $USER -s /usr/local/bin/authbind --deep /bin/bash -c """$JAVA -jar $RESIN_HOME/lib/resin.jar $ARGS start""" 1>/dev/null 2>/dev/null

Найти:

stop)

Ниже найдите:

su $USER

Удалите эту строку, заменив на:

su $USER -s /bin/bash -c """$JAVA -jar $RESIN_HOME/lib/resin.jar $ARGS shutdown""" 1>/dev/null 2>/dev/null

Запишите файл и выйдите (используйте CTRL + O, CTRL + X)

Теперь вам нужно отредактировать конфигурацию смолы:

# nano -w /etc/resin/resin.xml

Убедитесь, что для вашего HTTP-порта установлено значение 80 (я считаю, что это по умолчанию, поскольку Resin по умолчанию работает как rot), и убедитесь, что следующие 2 строки также раскомментированы в файле:

www-data www-data

Сохранить и выйти (CTRL + O, CTRL + X)

Теперь запустим смолу:

# service resin start