Настройка хостинга heroku.com + custom domain name *для новичков

    Итак, подобного материала я нигде не видел, так что считаю необходимым опубликовать данную информацию. image
    • Регистрируемся на Heroku.com письмо с линком приходит быстро, мне пришло уже через 30 секунд.
    • Далее необходимо установить git, я работал в ОС windows (как устанавливать в linux я думаю знают те, кто его используют), вот версия для win, если использовать портативную версию, то необходимо в интерфейсе командной строки, перейти в директорию (куда распаковали) git, и запустить либо оболочку git-bash.bat (лично мне удобнее с ней работать), либо использовать команды только лишь cmd, git-cmd.bat.
    • Далее, необходимо установить gem heroku командой (sudo) gem install heroku у него есть зависимости с другими гемами, вообще они сами установятся автоматически, ну а если нет, то вот ссылки для них: rest-client, launchy, json.
    • Далее создаем приложение, я создал простейшее rack-приложение (rack автоматически устанавливается когда ставим гем heroku, ну а если нет то (sudo) gem install rack ), ну а вы естественно можете создать что вам угодно, помещаем в любую папку файлик config.ru со следующим содержанием:
      run lambda { |env| [
        200,
        {"content-type" => "text/html"},
        "hello from russia, time is now #{ Time.now }"
        ] }
    • Переходим в папку с приложением, инициализируем командой git init, добавляем git add ., подписываем git commit -m 'new Rack app'.
    • Создаем приложение на heroku командой heroku create любое-название-на-английском (если не установите последний параметр, то он назовет приложение от балды, типа blooming-cloud-48), он попросит ввести email и пароль, и потом сгенерирует RSA ключики. git remote автоматически добавит!
    • Заливаем наше приложение на heroku командой git push heroku master.
    • Heroku Поддерживает пользовательские домены, DNS в формате CNAME, это условие их архитектуры. Мной был приобретен домен тут, за 85 р. в зоне .ru, пополнял баланс через yandex money, но сразу они не пришли — пришлось написать в поддержку, после этого деньги зачислили. Здесь поддерживается управление DNS записями типа CNAME, если же у вашей панели управления доменом не поддерживается эта функция, то можете посмотреть, как решается эта проблема посредством бесплатных DNS-сервисов.
    • Покупаем домен (если же у вас нет), там все элементарно.
    • Выбираем пункт «использовать сервера регистратора», жмем изменить, и теперь доступно управление зонойimage
    • Ну тут, думаю, тоже все интуитивно понятно, в первой строчке стоит @ для того, чтобы мы могли зайти на домен без префикса www, а во второй строчке с ним.
      image
    • Проверяем, работает ли DNS и наш домен командой host www.example.com, ответ должен быть примерно такого содержания (я воспользовался SSH доступом к своему приложению, и проверил оттуда) image
      если же пишет что-то типа «not found», проверьте настройки DNS, попросите пусть кто-нибудь еще проверит, или создайте соединение GRPS и проверьте через него. image
    • Перейдите в папку с вашим приложением на локальном компе, командой heroku domains:add www.somedomainname.com, привяжите домен к вашему приложению, результат примерно такой
      image
    • Переходим по адресу домена и все сразу должно заработать (у меня заработало мгновенно).
    ну вот и все
    ах да, ваше RACK|RAILS|MERB приложение, по умолчанию работает в режиме production
    приложение работает здесь it-karma.ru и www.it-karma.ru
    #update картинки перезалиты на photobucket.com, исправлены мелкие ошибки.
    Share post

    Similar posts

    Comments 23

    • UFO just landed and posted this here
        +2
        отображаются ;)
      • UFO just landed and posted this here
          –5
          Ужасное оформление.
            0
            Хабракат бы не помешал — а так неплохая статья, да, я тут как раз подыскиваю хостинг под свой супермегарельспроект, находящийся в стадии разработки :)
              +2
              Зачет, прочитал полезно! В закладки =)
                +1
                Не советую регать домены на mnogodomenov.biz. 85 рублей себестоимость для самой конторы, а значит им нет смысла перепродавать без наценки, если только они не выставят цену за продление разов в 4-10 больше ))
                В общем осторожней надо быть с этим.
                  0
                  Я так понимаю реселлеры naunet'а? Я в прошлом году регистрировал через другого реселлера — цені біла несколько больше, но боялся, тоже что могут поднять. На данный момент уже раз продлял — цена осталась та же.
                  0
                  Вообще-то уже всем известно, что хоть они и регистрируют по себестоимости, но продление у них тоже, столько же, сколько они и пишут, т.е. около 100 рублей. И повышать его они не намерены. Фишка в том, что многие после одного года реги домена, обычно не хотят продлевать его, автоматом домены уйдут регистритору, который выставит их на аукцион и получит за это денежки. Пользоваться или нет этим регистратором решать Вам. Я свой выбор уже сделал (они, кстати, оф-партнер регру ;))
                  +1
                  о чем вообще речь? хостинг чтоли какой-то?
                    +2
                    да, это облачный хостинг для ruby приложений, имеется бесплатный тариф.
                      0
                      Бесплатный тариф можно юзать для того что бы использовать в настройках домена записи типа «А»?
                        +1
                        Нет, только CNAME. В приведенной мной ссылке, есть примечание, почему нельзя. Архитектура у них просто такая вот.
                    0
                    Что нужно чтобы поставить gem heroku под windows?
                      +1
                      смотрите выше, я написал какие зависимости к каким gem'ам у него, ну а вообще они должны автоматически поставиться вместе с heroku gem'ом, если же он ни поставились то качайте их вручную эти gem'ы, отключайте интернет-соединение, переходите в папку с gem'ами и ставьте их командой gem install название_гема.gem
                        0
                        упс. Вы нормально все объясняете, просто в прошлый раз когда я ставил у меня гем пытался откомпилится, что у него не получалось :-)
                        сейчас все ок.
                        +1
                        Ну а вообще если вдруг я непонятно объясняю, то тогда смотрите саму инструкцию на heroku вот здесь
                        0
                        14 пунктов… А что будет-то в конце???
                          0
                          >если же пишет что то типа not found, проверьте настройки DNS, попросите пусть кто-нибудь еще проверит, или создайте соединение GRPS и проверьте чрез него
                          ни к чему так извращаться… для это есть замечательный сервис just-ping.com/
                            0
                            При выполнении git push heroku master под Windows вылетает ошибка «Permission denied (publickey). fatal: The remote end hung up unexpectedly»
                            Вероятно связана с SSH-ключом. Кто-нибудь сталкивался?

                          Only users with full accounts can post comments. Log in, please.