Если нужно через интернет подключиться к удалённой машине, на которой запущен веб-сервер, то существуют 2 варианта: один подходит для режима продакшн (RAILS_ENV=production), другой - для разработки (RAILS_ENV=development). Оба варианта предполагают, что веб-приложение было предварительно отлажено или хотя-бы способно запускаться без ошибок. Для разработки они не подходят.
1. Допустим, нужно во время разработки
быстро показать предварительные результаты работы сайта.
Тогда проще всего использовать сервис
ngrok.
Для Убунту нужно установить пакет
ngrok-client. Версия пакета для Убунту 14.04 установилась у меня без проблем и на более ранней, 12.04.
Запустив веб-сервер (порт 3000 для Webrick), следом запускать команду
ngrok 3000
которая запустится в режиме вывода в stdout. Прервать сессию можно при помощи Ctrl-C.
При запуске покажет URL, по которому можно получить доступ к локальной машине. Что-то типа
3e7ddc7.ngrok.com
Проверять любым HTTP клиентом так:
С удалённой машины через веб-браузер или в командной строке
curl -i http://3e7ddc7.ngrok.com
Но ради безопасности хоста сервера я бы не стал оставлять сессию ngrok надолго.
2. Когда всё отлажено и поставлено на поток, нужно интегрировать приложение на сервер. Обычно используются nginx/Apache в качестве фронта + Unicorn/Passenger в качестве бэкенда.