{"id":200376,"date":"2013-10-31T15:33:12","date_gmt":"2013-10-31T11:33:12","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=200376"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=200376","title":{"rendered":"<span class=\"post_title\">\u041f\u0443\u0431\u043b\u0438\u043a\u0443\u0435\u043c \u0432\u0435\u0431 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f Ruby, Python, Node.js, Perl \u0438 Java \u0432 Azure Cloud Services<\/span>"},"content":{"rendered":"<div class=\"content html_format\">   \t<img decoding=\"async\" alt=\"image\" align=\"left\" src=\"http:\/\/habr.habrastorage.org\/post_images\/b06\/428\/07a\/b0642807ac7fe037b7a71f4e2bef740f.jpg\"\/> \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u044b \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0441\u043f\u043e\u0441\u043e\u0431 \u0440\u0430\u0437\u0432\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u043d\u0438\u044f \u0432\u0435\u0431 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0445 \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0439, \u0432 \u043e\u0431\u043b\u0430\u043a\u0435 Azure Cloud Services. \u0410 \u0438\u043c\u0435\u043d\u043d\u043e \u044d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 Ruby, Python, Node.js, Perl \u0438 \u0441 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u043c\u0438 \u043e\u0433\u043e\u0432\u043e\u0440\u043a\u0430\u043c\u0438 \u0442\u0430\u043a\u0436\u0435 Java \u0438 Railo (ColdFusion). \u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u0430 Ruby \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0431\u0443\u0434\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c Redmine, \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0438\u0439 \u043d\u0430 Ruby on Rails, \u0432 Python \u043f\u043e\u0439\u0434\u0435\u0442 Lightning Fast Shop, \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0438\u0439 \u043d\u0430 Django, \u0432 Node.js \u0431\u0443\u0434\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u043f\u0440\u043e\u0435\u043a\u0442 \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c express.js, \u043d\u0430 Perl \u0431\u0443\u0434\u0435\u043c \u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043f\u0443\u0441\u0442\u043e\u0439 \u043f\u0440\u043e\u0435\u043a\u0442 Mojolicious. \u0426\u0435\u043b\u044c\u044e \u0434\u0430\u043d\u043d\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0438 \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u044d\u043a\u0441\u043a\u0443\u0440\u0441 \u043f\u043e \u0432\u0441\u0435\u043c \u044d\u0442\u0438\u043c \u0432\u0435\u0431 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u044f\u043c, \u0430 \u043b\u0438\u0448\u044c \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u0443\u0434\u043e\u0431\u043d\u044b\u0439 \u0438 \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438 \u0432 \u043e\u0431\u043b\u0430\u043a\u0435 Azure. \u0422\u0430\u043a \u0447\u0442\u043e \u043a\u043e\u0434\u0430 \u043d\u0430 Ruby, Python \u0438\u043b\u0438 Perl \u0432 \u043d\u0435\u0439 \u043d\u0435 \u0431\u0443\u0434\u0435\u0442. \u0417\u0430\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u043c\u043d\u043e\u0433\u043e \u0441\u043a\u0440\u0438\u043d\u0448\u043e\u0442\u043e\u0432, shell-\u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432 \u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439 \u043f\u043e \u0443\u043f\u0430\u043a\u043e\u0432\u043a\u0435 \u0438 \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439.<br \/>  <a name=\"habracut\"><\/a><\/p>\n<p>  \u0418\u0442\u0430\u043a, \u0447\u0442\u043e \u0436\u0435 \u0442\u0430\u043a\u043e\u0435 Azure Cloud Services \u0438 \u0441 \u0447\u0435\u043c \u0435\u0433\u043e \u0435\u0434\u044f\u0442: <\/p>\n<p>  \u041a \u0441\u043e\u0436\u0430\u043b\u0435\u043d\u0438\u044e, \u043e\u0431\u0438\u043b\u0438\u0435 \u043c\u0430\u0440\u043a\u0435\u0442\u0438\u043d\u0433\u043e\u0432\u044b\u0445 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u043e\u0432 \u0432 \u0441\u0435\u0442\u0438 \u043f\u043b\u043e\u0445\u043e \u0440\u0430\u0441\u043a\u0440\u044b\u0432\u0430\u0435\u0442 \u044d\u0442\u0443 \u0442\u0435\u043c\u0443 \u0438 \u0441\u043e\u0437\u0434\u0430\u0435\u0442 \u043c\u043d\u043e\u0433\u043e \u0448\u0443\u043c\u0430. \u0410 \u043c\u044b \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u043e\u0431\u0441\u0443\u0434\u0438\u0442\u044c \u044d\u0442\u043e\u0442 \u0432\u043e\u043f\u0440\u043e\u0441 \u0447\u0435\u043b\u043e\u0432\u0435\u0447\u0435\u0441\u043a\u0438\u043c \u044f\u0437\u044b\u043a\u043e\u043c, \u043f\u043e\u043d\u044f\u0442\u043d\u044b\u043c \u0434\u043b\u044f \u043f\u0440\u043e\u0441\u0442\u044b\u0445 \u0432\u0435\u0431 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432. \u0412\u043e \u043f\u0435\u0440\u0432\u044b\u0445, \u0447\u0442\u043e \u0432\u0430\u0436\u043d\u043e \u043f\u043e\u043d\u0438\u043c\u0430\u0442\u044c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0443, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0445\u043e\u0447\u0435\u0442 \u0443\u0437\u043d\u0430\u0442\u044c \u043a\u0430\u043a \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f Azure Cloud Services, \u044d\u0442\u043e \u0442\u043e \u0447\u0442\u043e \u0434\u0430\u043d\u043d\u0430\u044f \u0443\u0441\u043b\u0443\u0433\u0430 \u0444\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u043e\u0439 \u0444\u0430\u0431\u0440\u0438\u043a\u0443 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u043c\u0430\u0448\u0438\u043d. \u041a\u0430\u043a \u044d\u0442\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043e \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438 \u043d\u0435 \u0442\u0430\u043a \u0432\u0430\u0436\u043d\u043e, \u0433\u043b\u0430\u0432\u043d\u043e\u0435, \u0447\u0442\u043e \u043d\u0430\u043c \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e \u044d\u0442\u043e \u0442\u043e, \u0447\u0442\u043e \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 Azure \u043c\u043e\u0436\u0435\u0442 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0431\u044b\u0441\u0442\u0440\u043e \u0438 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043d\u0430\u043c \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0438\u0434\u0435\u043d\u0442\u0438\u0447\u043d\u044b\u0445 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u043c\u0430\u0448\u0438\u043d \u0441 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u043c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e\u043c \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043c\u043e\u0436\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043d\u0430\u0448 \u0432\u0435\u0431 \u0441\u0430\u0439\u0442 \u0438\u043b\u0438 \u0434\u0440\u0443\u0433\u043e\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435. <\/p>\n<p>  \u0412 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 Azure \u0432\u0441\u0435 \u044d\u0442\u0438 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0435 \u043c\u0430\u0448\u0438\u043d\u044b \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0435 \u0438 \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c Windows Server 2008, 2008 R2 \u0438 2012. \u0412\u0438\u0434\u0438\u043c\u043e, \u044d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u043d\u043e \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0442\u0430\u043a\u0438\u0445 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u043c\u0430\u0448\u0438\u043d \u043e\u0431\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0434\u0435\u0448\u0435\u0432\u043e \u0438 \u0441\u0430\u043c\u0438 \u044d\u0442\u0438 \u043c\u0430\u0448\u0438\u043d\u044b \u043f\u043e\u0442\u0440\u0435\u0431\u043b\u044f\u044e\u0442 \u043d\u0435 \u043c\u043d\u043e\u0433\u043e \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u043f\u043b\u044e\u0441 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u043c\u0438 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u043a\u0430\u043c\u0438 \u043b\u0435\u0433\u043a\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c. \u0425\u043e\u0442\u044f \u043b\u0438\u0447\u043d\u043e \u043c\u043d\u0435 \u043d\u0435 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e Azure Cloud Services \u0438 \u044d\u0442\u043e \u043b\u0438\u0448\u044c \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435. \u0413\u043b\u0430\u0432\u043d\u043e\u0435 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 VPS-\u0445\u043e\u0441\u0442\u0438\u043d\u0433\u0430 \u0432 \u0442\u043e\u043c \u0447\u0442\u043e \u043d\u0430\u043c \u043d\u0435 \u043d\u0443\u0436\u043d\u043e \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0442\u044c \u044d\u0442\u0438 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0435 \u043c\u0430\u0448\u0438\u043d\u044b. \u0421\u0438\u0441\u0442\u0435\u043c\u0430 Azure \u0441\u0430\u043c\u0430 \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0435\u0442 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u0443\u044e \u043c\u0430\u0448\u0438\u043d\u0443 \u0438 \u0441\u0430\u043c\u0430 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442 \u043d\u0430 \u043d\u0435\u0435 \u043d\u0430\u0448\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435, \u043a\u043e\u0433\u0434\u0430 \u044d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u043d\u0443\u0436\u043d\u043e. \u042d\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0438 \u0443\u0434\u0430\u043b\u044f\u0442\u044c \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0435 \u043c\u0430\u0448\u0438\u043d\u044b \u043f\u043e \u043c\u0435\u0440\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438, \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0438 \u0431\u0435\u0437 \u043d\u0430\u0448\u0435\u0433\u043e \u0443\u0447\u0430\u0441\u0442\u0438\u044f. \u0414\u043b\u044f \u0442\u043e\u0433\u043e \u0447\u0442\u043e\u0431\u044b \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u044d\u0442\u0443 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u044e \u043d\u0430\u0448\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u043e\u0441\u043e\u0431\u044b\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043e \u0438 \u0443\u043f\u0430\u043a\u043e\u0432\u0430\u043d\u043e, \u0447\u0442\u043e\u0431\u044b \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0437\u043d\u0430\u043b\u0430 \u043a\u0430\u043a \u0435\u0433\u043e \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0442\u044c. <\/p>\n<p>  \u0417\u0430\u0447\u0435\u043c \u044d\u0442\u043e \u0432\u044b\u0433\u043e\u0434\u043d\u043e \u043d\u0430\u043c: \u0412 \u043f\u0435\u0440\u0432\u0443\u044e \u043e\u0447\u0435\u0440\u0435\u0434\u044c \u044d\u0442\u043e \u044d\u043a\u043e\u043d\u043e\u043c\u0438\u044f \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432, \u0430 \u0437\u043d\u0430\u0447\u0438\u0442 \u0438 \u043d\u0430\u0448\u0438\u0445 \u0434\u0435\u043d\u0435\u0433 (\u0437\u0430\u0432\u0438\u0441\u0438\u0442, \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u043e\u0442 \u0446\u0435\u043d\u044b \u0443\u0441\u043b\u0443\u0433\u0438). \u0421\u0430\u0439\u0442\u0430\u043c \u043d\u0435 \u0432\u0441\u0435 \u0432\u0440\u0435\u043c\u044f \u043d\u0443\u0436\u043d\u043e \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432. \u0415\u0441\u043b\u0438 \u043f\u043e\u043a\u0443\u043f\u0430\u044f VPS \u0438\u043b\u0438 Dedicated \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u043c\u044b \u0432\u044b\u043d\u0443\u0436\u0434\u0435\u043d\u044b \u0431\u0440\u0430\u0442\u044c \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u0443\u044e \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043d\u0430\u043c \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u0442\u0440\u0435\u0431\u043e\u0432\u0430\u0442\u044c\u0441\u044f, \u0442\u043e \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u0441 Azure Cloud Services \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u043f\u043b\u0430\u0442\u0438\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0437\u0430 \u0442\u0435 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0435 \u043c\u0430\u0448\u0438\u043d\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u044b \u0432 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442. \u041a\u043e\u0433\u0434\u0430 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043d\u0430 \u0440\u0435\u0441\u0443\u0440\u0441 \u0431\u0443\u0434\u0435\u0442 \u0432\u043e\u0437\u0440\u0430\u0441\u0442\u0430\u0442\u044c, \u0441\u0438\u0441\u0442\u0435\u043c\u0430 Azure \u0431\u0443\u0434\u0435\u0442 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u044b\u0434\u0435\u043b\u044f\u0442\u044c \u043d\u043e\u0432\u044b\u0435 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0435 \u043c\u0430\u0448\u0438\u043d\u044b \u0434\u043b\u044f \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u043d\u0438\u044f \u043d\u0430\u0448\u0435\u0433\u043e \u0441\u0430\u0439\u0442\u0430. \u041a\u043e\u0433\u0434\u0430 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0443\u043f\u0430\u0434\u0435\u0442, \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0435 \u043c\u0430\u0448\u0438\u043d\u044b \u0432\u0435\u0440\u043d\u0443\u0442\u044c\u0441\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u0438 \u043c\u044b \u043d\u0435 \u0431\u0443\u0434\u0435\u043c \u0437\u0430 \u043d\u0438\u0445 \u043f\u043b\u0430\u0442\u0438\u0442\u044c. <\/p>\n<p>  \u0417\u0430\u0447\u0435\u043c \u044d\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u0445\u043e\u0441\u0442\u0435\u0440\u0443 (\u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 Microsoft): \u041f\u0440\u0438\u0447\u0438\u043d\u0430 \u0442\u0430 \u0436\u0435 \u2013 \u044d\u043a\u043e\u043d\u043e\u043c\u0438\u044f \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432. \u041e\u0431\u044b\u0447\u043d\u043e \u0440\u0430\u0437\u043d\u044b\u043c \u0441\u0430\u0439\u0442\u0430\u043c \u0438 \u0441\u0435\u0440\u0432\u0438\u0441\u0430\u043c \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u043d\u0443\u0436\u043d\u043e \u043d\u0435 \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e. \u0417\u043d\u0430\u0447\u0438\u0442, \u044d\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u0443 \u0437\u0430\u0445\u043e\u0441\u0442\u0438\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435 \u0432\u0435\u0431 \u0441\u0430\u0439\u0442\u043e\u0432 \u043d\u0430 \u043c\u0435\u043d\u044c\u0448\u0435\u043c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0435 \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432. \u0422\u0430 \u0436\u0435 \u044d\u043a\u043e\u043d\u043e\u043c\u0438\u044f, \u043a\u0430\u043a \u0438 \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u0441 shared hosting \u2013 \u043d\u0435 \u0432\u0441\u0435\u043c \u043d\u0443\u0436\u043d\u0430 \u043f\u0438\u043a\u043e\u0432\u0430\u044f \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 shared hosting \u043e\u0431\u044b\u0447\u043d\u043e \u0438 \u0441\u0442\u043e\u0438\u0442 \u0434\u0435\u0448\u0435\u0432\u043b\u0435. <\/p>\n<p>  \u0410 \u0442\u0435\u043f\u0435\u0440\u044c \u043d\u0435\u043f\u0440\u0438\u044f\u0442\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u2013 \u044d\u0442\u043e \u0443\u0441\u043b\u043e\u0436\u043d\u044f\u0435\u0442 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0438 \u043f\u0440\u0438\u0432\u044f\u0437\u044b\u0432\u0430\u0435\u0442 \u043d\u0430\u0441 \u043a \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435. \u0412\u0435\u0440\u043d\u0435\u0435 \u043d\u0435 \u0443\u0441\u043b\u043e\u0436\u043d\u044f\u0435\u0442, \u0430 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043c\u0435\u043d\u044f\u0435\u0442 \u043f\u043e\u0434\u0445\u043e\u0434, \u0434\u0435\u043b\u0430\u0435\u0442 \u0435\u0433\u043e \u043d\u0435 \u0441\u0442\u043e\u043b\u044c \u043f\u0440\u0438\u0432\u044b\u0447\u043d\u044b\u043c. \u0412\u0435\u0434\u044c \u043e\u0431\u044b\u0447\u043d\u043e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u043f\u0440\u0438\u0432\u044b\u043a\u043b\u0438, \u0447\u0442\u043e \u0435\u0441\u0442\u044c \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u0435\u0440\u0432\u0435\u0440, \u043a \u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 \u043c\u043e\u0436\u043d\u043e \u043e\u0442\u043a\u0440\u044b\u0442\u044c SSH \u0441\u0435\u0441\u0441\u0438\u044e \u0438\u043b\u0438 RDP, \u0433\u0434\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u043f\u043e \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u043d\u0443\u0436\u043d\u043e\u0439 \u0438\u043c \u0441\u0440\u0435\u0434\u044b. \u041d\u0435\u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430 \u0442\u043e, \u0447\u0442\u043e \u0442\u0435\u043e\u0440\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 Azure Cloud Services \u0442\u043e\u0436\u0435 \u043c\u043e\u0436\u043d\u043e \u043e\u0442\u043a\u0440\u044b\u0442\u044c RDP \u043a \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u0435, \u0442\u043e\u043b\u043a\u0443 \u043e\u0442 \u044d\u0442\u043e\u0433\u043e \u0447\u0443\u0442\u044c, \u0440\u0430\u0437\u044c\u0432\u0435 \u0447\u0442\u043e \u0432 \u043e\u0442\u043b\u0430\u0434\u043e\u0447\u043d\u044b\u0445 \u0446\u0435\u043b\u044f\u0445. \u0412\u0435\u0434\u044c \u0447\u0435\u0440\u0435\u0437 5 \u043c\u0438\u043d\u0443\u0442 \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u043c\u043e\u0436\u0435\u0442 \u043d\u0430\u043f\u043b\u043e\u0434\u0438\u0442\u044c \u0435\u0449\u0435 \u0434\u0435\u0441\u044f\u0442\u043e\u043a \u0442\u0430\u043a\u0438\u0445 \u00ab\u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432\u00bb \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0435 \u0431\u0443\u0434\u0443\u0442 \u0441\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u0432\u0430\u043c\u0438 \u0432\u0440\u0443\u0447\u043d\u0443\u044e. \u0410 \u043f\u043e\u0442\u043e\u043c \u0438 \u0432\u043e\u0432\u0441\u0435 \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u0432\u0430\u0448 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0439 \u0441\u0435\u0440\u0432\u0435\u0440 \u0431\u0435\u0437 \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u044f. <\/p>\n<p>  \u0420\u0435\u0448\u0438\u0442\u044c \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u2013 \u043d\u0443\u0436\u043d\u043e \u0443\u043f\u0430\u043a\u043e\u0432\u0430\u0442\u044c \u043d\u0430\u0448\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043f\u0435\u0440\u0435\u0434 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0435\u0439 \u0442\u0430\u043a, \u0447\u0442\u043e\u0431\u044b \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0441\u0430\u043c\u0430 \u0437\u043d\u0430\u043b\u0430 \u043a\u0430\u043a \u0435\u0433\u043e \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0442\u044c, \u043a\u0430\u043a\u0438\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u043d\u0443\u0436\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435 \u0447\u0442\u043e\u0431\u044b \u043d\u0430\u0448\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0437\u0430\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u043e. \u0412 \u044d\u0442\u043e\u0442 \u043f\u0430\u043a\u0435\u0442 \u043a\u0440\u043e\u043c\u0435 \u0441\u0430\u043c\u043e\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0434\u043e\u043b\u0436\u043d\u044b \u0432\u0445\u043e\u0434\u0438\u0442\u044c \u0442\u0430\u043a\u0436\u0435 \u0432\u0441\u0435 \u0435\u0433\u043e \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0433\u0443\u0442 \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u044c\u0441\u044f \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435 \u0434\u043b\u044f \u0435\u0433\u043e \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438. \u0410 \u0441\u0430\u043c\u043e\u0435 \u0433\u043b\u0430\u0432\u043d\u043e\u0435 \u0442\u0430\u043c \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u0442\u044c \u0441\u043a\u0440\u0438\u043f\u0442\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u043c\u043e\u0433\u0443\u0442 \u0441\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0447\u0438\u0441\u0442\u0443\u044e \u043d\u043e\u0432\u0443\u044e \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u0443\u044e \u043c\u0430\u0448\u0438\u043d\u0443 \u043f\u043e\u0434 \u043d\u0430\u0448\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435. \u0421\u0438\u0441\u0442\u0435\u043c\u0430 Azure \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0437\u0432\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u0442\u044c \u044d\u0442\u043e\u0442 \u043f\u0430\u043a\u0435\u0442 \u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0441\u043a\u0440\u0438\u043f\u0442\u044b \u043a\u0430\u0436\u0434\u044b\u0439 \u0440\u0430\u0437, \u043a\u043e\u0433\u0434\u0430 \u043d\u043e\u0432\u0430\u044f \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u0430\u044f \u043c\u0430\u0448\u0438\u043d\u0430 \u0432\u0445\u043e\u0434\u0438\u0442 \u0432 \u0441\u0442\u0440\u043e\u0439. <\/p>\n<p>  \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0442\u0430\u043a\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435, \u0447\u0442\u043e\u0431\u044b \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u0443\u044e \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u044c \u043e\u0442 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b. \u0412\u0435\u0434\u044c \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u043e\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u044c \u0438 \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0437\u0430\u0442\u0435\u043c \u043f\u0435\u0440\u0435\u0435\u0445\u0430\u0442\u044c \u043d\u0430 \u0434\u0440\u0443\u0433\u043e\u0439 \u0441\u0435\u0440\u0432\u0438\u0441 \u2013 \u043e\u0434\u0438\u043d \u0438\u0437 \u0433\u043b\u0430\u0432\u043d\u044b\u0445 \u0444\u0430\u043a\u0442\u043e\u0440\u043e\u0432 \u0442\u043e\u0440\u043c\u043e\u0437\u044f\u0449\u0438\u0445 \u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u043d\u0430 \u043e\u0431\u043b\u0430\u0447\u043d\u044b\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u044b \u043d\u0430 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442. \u041d\u0435 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e \u043c\u044b \u0432\u044b\u0431\u0440\u0430\u043b\u0438 \u043e\u0431\u0449\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u0432 \u0438 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438 \u0441 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c \u043a\u043e\u0434\u043e\u043c \u2013 \u0441\u043f\u043e\u0441\u043e\u0431\u044b \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u044d\u0442\u0438\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043d\u0430 \u0434\u0440\u0443\u0433\u0438\u0445 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430\u0445 \u043e\u0431\u0449\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b. \u0410 \u0437\u043d\u0430\u0447\u0438\u0442 \u043f\u0440\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u043c\u043e\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u0442\u044c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0441 \u043e\u0434\u043d\u043e\u0439 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u043d\u0430 \u0434\u0440\u0443\u0433\u0443\u044e. \u0418\u0442\u0430\u043a, \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0442\u0435\u043e\u0440\u0438\u0438, \u043f\u0435\u0440\u0435\u0439\u0434\u0435\u043c \u043a \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435. \u0421\u0435\u0439\u0447\u0430\u0441 \u0431\u0443\u0434\u0435\u043c \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0442\u044c \u043f\u0440\u0438\u043c\u0435\u0440 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u043e \u043a\u0430\u0436\u0434\u043e\u0439 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438 \u043f\u043e \u043e\u0447\u0435\u0440\u0435\u0434\u0438. \u0422\u0430\u043a \u043a\u0430\u043a \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0439 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438 \u0431\u0443\u0434\u0435\u0442 \u043c\u043d\u043e\u0433\u043e \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0445 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439, \u0447\u0442\u043e\u0431\u044b \u0441\u043e\u043a\u0440\u0430\u0442\u0438\u0442\u044c \u0441\u0442\u0430\u0442\u044c\u044e \u044f \u043d\u0435 \u0431\u0443\u0434\u0443 \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u0442\u044c\u0441\u044f, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u044f \u0441\u043e\u0432\u0435\u0442\u0443\u044e \u0447\u0438\u0442\u0430\u0442\u044c \u0432\u0435\u0441\u044c \u0442\u0435\u043a\u0441\u0442 \u043f\u043e\u0434\u0440\u044f\u0434, \u0434\u0430\u0436\u0435 \u0435\u0441\u043b\u0438 \u0434\u0430\u043d\u043d\u0443\u044e \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u0443\u044e \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u044e \u0432\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043d\u0435 \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442\u0435\u0441\u044c. <\/p>\n<h1>Ruby<\/h1>\n<p>  \u041d\u0430\u0447\u043d\u0435\u043c \u0441 Ruby \u0438 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0430 \u0435\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u0432\u0441\u0435 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u0442\u0430\u043a \u0447\u0442\u043e \u044d\u0442\u0430 \u0433\u043b\u0430\u0432\u0430 \u0431\u0443\u0434\u0435\u0442 \u0441\u0430\u043c\u043e\u0439 \u0434\u043b\u0438\u043d\u043d\u043e\u0439. \u0415\u0441\u043b\u0438 \u0432\u044b \u0441 Ruby \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0438 \u2013 \u043d\u0438\u0447\u0435\u0433\u043e \u0441\u0442\u0440\u0430\u0448\u043d\u043e\u0433\u043e. \u041c\u044b \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043d\u0435 \u0431\u0443\u0434\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043a\u043e\u043c\u0430\u043d\u0434, \u0430 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u043f\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0435 \u0432\u0441\u0435\u0445 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c \u043e\u0434\u043d\u043e\u0442\u0438\u043f\u043d\u044b. \u0412\u043e \u043f\u0435\u0440\u0432\u044b\u0445 \u043d\u0430\u043c \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f \u0440\u0430\u0431\u043e\u0447\u0430\u044f \u0441\u0442\u0430\u043d\u0446\u0438\u044f Windows. \u041c\u044b \u0431\u0443\u0434\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c <a href=\"http:\/\/www.helicontech.com\/zoo\/\">Helicon Zoo<\/a> \u0434\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 Ruby \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043d\u0430 IIS \u043a\u0430\u043a \u043d\u0430 \u0440\u0430\u0431\u043e\u0447\u0435\u0439 \u0441\u0442\u0430\u043d\u0446\u0438\u0438, \u0442\u0430\u043a \u0438 \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 Azure. \u041c\u0430\u043b\u043e \u0442\u043e\u0433\u043e \u0447\u0442\u043e \u0442\u0430\u043a \u0431\u0443\u0434\u0435\u0442 \u043b\u0435\u0433\u0447\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u0440\u0435\u0434\u0443 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u043d\u0430\u0448\u0435\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u0442\u0430\u043a\u0430\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u0432 Azure \u0441\u043e\u0437\u0434\u0430\u0441\u0442 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043b\u0443\u0447\u0448\u0435\u0435 \u0438 \u0431\u043e\u043b\u0435\u0435 \u043d\u0430\u0434\u0435\u0436\u043d\u043e\u0435 \u0441 \u0442\u043e\u0447\u043a\u0438 \u0437\u0440\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0440\u0435\u0448\u0435\u043d\u0438\u0435, \u0447\u0435\u043c \u0437\u0430\u043f\u0443\u0441\u043a Ruby \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 \u0441 \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u043c \u043d\u0430 80-\u043c \u043f\u043e\u0440\u0442\u0443, \u043a\u0430\u043a \u044d\u0442\u043e \u0447\u0430\u0441\u0442\u043e \u0434\u0435\u043b\u0430\u044e\u0442 \u0432 \u0434\u0440\u0443\u0433\u0438\u0445 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f\u0445. \u041f\u043b\u044e\u0441 \u0437\u0430\u043f\u0443\u0441\u043a \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0432 IIS \u0435\u0449\u0435 \u0438 \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u0442 \u043d\u0430\u043c \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0434\u0440\u0443\u0433\u0438\u0435 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438 \u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0441\u0430\u043c\u043e\u0433\u043e IIS, \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043a \u0441\u0430\u0439\u0442\u0443 \u0441\u0435\u043a\u0446\u0438\u0438 \u043d\u0430 ASP.NET \u0438 \u0434\u0440\u0443\u0433\u0438\u0445 \u044f\u0437\u044b\u043a\u0430\u0445 \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u044b\u0445 \u0432 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435, \u0441\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c SSL \u0438 URL Rewriting, \u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043c\u043d\u043e\u0433\u043e\u044f\u0434\u0435\u0440\u043d\u044b\u0435 \u043c\u0430\u0448\u0438\u043d\u044b, \u043e\u0442\u0433\u0440\u0443\u0436\u0430\u0442\u044c \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430\u043c\u0438 \u0441\u0430\u043c\u043e\u0433\u043e IIS \u0447\u0442\u043e \u0442\u0430\u043a\u0436\u0435 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0441\u044d\u043a\u043e\u043d\u043e\u043c\u0438\u0442 \u0440\u0435\u0441\u0443\u0440\u0441\u044b, \u0438 \u043c\u043d\u043e\u0433\u043e\u0435 \u0434\u0440\u0443\u0433\u043e\u0435. <\/p>\n<p>  \u0415\u0441\u043b\u0438 \u0432\u044b \u0443\u0436\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0438 \u0441 Ruby, \u0442\u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043d\u0430 \u0432\u0430\u0448\u0435\u0439 \u0440\u0430\u0431\u043e\u0447\u0435\u0439 \u0441\u0442\u0430\u043d\u0446\u0438\u0438 \u0443\u0436\u0435 \u0435\u0441\u0442\u044c \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u0430\u044f \u0438 \u0441\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f Ruby, \u0441 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u044b\u043c\u0438 gem-\u0430\u043c\u0438 \u0438 \u0442.\u0434. \u042d\u0442\u043e \u0432\u0441\u0435 \u0445\u043e\u0440\u043e\u0448\u043e, \u043d\u043e \u043a\u0430\u043a \u0435\u0435 \u043f\u0435\u0440\u0435\u043d\u0435\u0441\u0442\u0438 \u0432 Azure Cloud Services? \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0436\u0435 \u043f\u0430\u043a\u0435\u0442\u044b Helicon Zoo, \u043c\u044b \u0441\u043c\u043e\u0436\u0435\u043c \u0443\u043f\u0430\u043a\u043e\u0432\u0430\u0442\u044c \u0432\u0441\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0432 \u043e\u0434\u0438\u043d \u0430\u0440\u0445\u0438\u0432, \u0447\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u0442 \u043d\u0430\u043c \u043b\u0435\u0433\u043a\u043e \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u0442\u044c \u0435\u0433\u043e \u043d\u0430 \u0434\u0440\u0443\u0433\u0438\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0438 \u0432 Azure Cloud Services \u0432 \u0442\u043e\u043c \u0447\u0438\u0441\u043b\u0435. \u0422\u0430\u043a \u0447\u0442\u043e \u0434\u043b\u044f \u0432\u0435\u0440\u043d\u043e\u0441\u0442\u0438 \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0442\u044c \u0441\u0432\u0435\u0436\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e Ruby \u0438\u0437 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f Helicon Zoo, \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e \u043e\u0442 \u043d\u0430\u043b\u0438\u0447\u0438\u044f \u0434\u0440\u0443\u0433\u043e\u0433\u043e Ruby \u043d\u0430 \u0432\u0430\u0448\u0435\u0439 \u043c\u0430\u0448\u0438\u043d\u0435. <\/p>\n<p>  \u0418\u0442\u0430\u043a, \u043f\u0440\u043e\u0439\u0434\u0435\u043c \u043f\u043e \u0441\u0441\u044b\u043b\u043a\u0435 \u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043c <a href=\"http:\/\/www.microsoft.com\/web\/downloads\/platform.aspx\">Microsoft Web Platform Installer<\/a>. \u0417\u0430\u043f\u0443\u0441\u0442\u0438\u043c \u0435\u0433\u043e \u0438 \u043d\u0430\u0436\u043c\u0435\u043c Options \u0438 \u0432 \u043e\u0442\u043a\u0440\u044b\u0432\u0448\u0435\u043c\u0441\u044f \u043e\u043a\u043d\u0435 \u0434\u043e\u0431\u0430\u0432\u0438\u043c Helicon Zoo feed: <a href=\"http:\/\/www.helicontech.com\/zoo\/feed.xml\">http:\/\/www.helicontech.com\/zoo\/feed.xml<\/a> <\/p>\n<p>  \u041d\u0430 \u0440\u0430\u0431\u043e\u0447\u0435\u0439 \u0441\u0442\u0430\u043d\u0446\u0438\u0438 \u0441\u043e\u0432\u0435\u0442\u0443\u044e \u0442\u0430\u043a\u0436\u0435 \u0432\u044b\u0431\u0438\u0440\u0430\u0442\u044c IIS Express \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u0430, \u0442.\u043a. \u0441 \u043d\u0438\u043c \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u043e\u0449\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u043e\u0432 \u0438 \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u043c\u0435\u043d\u044c\u0448\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a. <\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/habr.habrastorage.org\/post_images\/f2f\/b3d\/7fa\/f2fb3d7fa687c989dde2210c9ab9a363.png\"\/> <\/p>\n<p>  \u0414\u0430\u043b\u0435\u0435 \u043d\u0443\u0436\u043d\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c Windows Azure SDK \u0438 \u043b\u0435\u0433\u0447\u0435 \u0432\u0441\u0435\u0433\u043e \u044d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c, \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0432\u0448\u0438\u0441\u044c \u0432\u0441\u0435 \u0442\u0435\u043c \u0436\u0435 Web Platform Installer. \u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0432 \u043f\u043e\u0438\u0441\u043a\u0435 \u00abAzure SDK 2.1\u00bb \u0438\u043b\u0438 \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0430\u0436\u043c\u0438\u0442\u0435 \u043d\u0430 <a href=\"http:\/\/wpi:placeholder&amp;amp;WindowsAzureSDK_2_1???\">\u044d\u0442\u0443 \u0441\u0441\u044b\u043b\u043a\u0443<\/a>. \u0415\u0441\u043b\u0438 \u043d\u0430 \u043c\u043e\u043c\u0435\u043d\u0442 \u043f\u0440\u043e\u0447\u0442\u0435\u043d\u0438\u044f \u0441\u0442\u0430\u0442\u044c\u0438 \u0432\u0435\u0440\u0441\u0438\u044f SDK \u0443\u0441\u0442\u0430\u0440\u0435\u0435\u0442 \u0438 \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c, \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0430\u0439\u0434\u0438\u0442\u0435 \u0431\u043e\u043b\u0435\u0435 \u043d\u043e\u0432\u0443\u044e \u0432 \u0441\u043f\u0438\u0441\u043a\u0435: <\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/habr.habrastorage.org\/post_images\/6e2\/d04\/ad3\/6e2d04ad3df4d342432954ad8c3b9387.png\"\/><\/p>\n<p>  \u0412 Azure SDK \u0432\u0445\u043e\u0434\u0438\u0442 \u043d\u0430\u0431\u043e\u0440 \u0443\u0442\u0438\u043b\u0438\u0442 \u043f\u043e \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044e \u0438 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e \u043f\u0430\u043a\u0435\u0442\u043e\u0432 \u0434\u043b\u044f Windows Azure Cloud Services, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0430\u043c \u0438 \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f. \u041c\u044b \u0431\u0443\u0434\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0443\u0442\u0438\u043b\u0438\u0442\u044b \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438 \u0438 \u043d\u0435 \u0431\u0443\u0434\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c Visual Studio \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b \u043f\u043e \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438 \u0441\u0430\u0439\u0442\u043e\u0432, \u0442\u0430\u043a \u043a\u0430\u043a \u044f \u0441\u0442\u0430\u0440\u0430\u043b\u0441\u044f \u043c\u0438\u043d\u0438\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u00ab\u043c\u0430\u0433\u0438\u0438\u00bb \u0432 \u0441\u0442\u0430\u0442\u044c\u0435. \u0422\u0435\u043c \u0431\u043e\u043b\u0435\u0435 \u0440\u0430\u0437 \u043c\u044b \u043f\u0443\u0431\u043b\u0438\u043a\u0443\u0435\u043c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043d\u0430 Ruby, \u0442\u043e \u0441\u043e\u043c\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e, \u0447\u0442\u043e \u0438\u043c\u0435\u043d\u043d\u043e Visual Studio \u0431\u0443\u0434\u0435\u0442 \u0432\u0430\u0448\u0438\u043c \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u043c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u044f \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e \u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0438\u043c\u0435\u043d\u043d\u043e \u0431\u0430\u0437\u043e\u0432\u044b\u0439 Azure SDK, \u0430 \u043d\u0435 Azure SDK for Ruby. \u0412 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u0443\u0436\u0435 \u0432\u0445\u043e\u0434\u0438\u0442 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432 Ruby \u0438 \u043d\u0430\u0431\u043e\u0440 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0438 \u043d\u0435 \u043f\u043b\u043e\u0445\u0438, \u043d\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e \u043d\u0435 \u0442\u0435, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u0443\u0434\u0443\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u044b \u0432 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435. \u0415\u0441\u043b\u0438 \u0432\u044b \u0432\u0441\u0435 \u0436\u0435 \u043f\u0440\u0438\u0432\u044b\u043a\u043b\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c Visual Studio \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043f\u0430\u043a\u0435\u0442\u043e\u0432 Azure, \u0442\u043e \u0434\u043b\u044f \u0432\u0430\u0441 \u043d\u0435 \u0441\u043e\u0441\u0442\u0430\u0432\u0438\u0442 \u0442\u0440\u0443\u0434\u0430 \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043d\u0443\u0436\u043d\u044b\u0439 \u043f\u0430\u043a\u0435\u0442 \u0432\u0440\u0443\u0447\u043d\u0443\u044e, \u043f\u043e\u043b\u044c\u0437\u0443\u044f\u0441\u044c \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435\u0439. <\/p>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c Ruby \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043d\u0430 \u043d\u0430\u0448\u0435\u0439 \u0440\u0430\u0431\u043e\u0447\u0435\u0439 \u0441\u0442\u0430\u043d\u0446\u0438\u0438. \u0415\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 \u0443\u0436\u0435 \u0435\u0441\u0442\u044c \u0433\u043e\u0442\u043e\u0432\u043e\u0435 Ruby Rack \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435, \u0442\u043e \u0432\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c Web Platform Installer, \u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u00abRuby project\u00bb \u0438\u0437 \u0441\u0435\u043a\u0446\u0438\u0438 Zoo -&gt; Templates. \u0414\u0430\u043b\u0435\u0435 \u0441\u043b\u0435\u0434\u0443\u0439\u0442\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f\u043c \u043d\u0430 \u043f\u0440\u0438\u0433\u043b\u0430\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u0432\u0448\u0435\u0433\u043e\u0441\u044f \u0448\u0430\u0431\u043b\u043e\u043d\u043d\u043e\u0433\u043e \u0441\u0430\u0439\u0442\u0430. <\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/habr.habrastorage.org\/post_images\/58f\/2fd\/246\/58f2fd2464d6deb9e349f22d0d7927bf.png\"\/><\/p>\n<p>  \u041e\u0434\u043d\u0430\u043a\u043e \u0432\u0441\u0435\u043c \u0443\u0436\u0435, \u043f\u043e\u0445\u043e\u0436\u0435, \u043d\u0430\u0434\u043e\u0435\u043b\u0430 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u00abHello World\u00bb \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439, \u0430 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0431\u043e\u043b\u0435\u0435 \u043f\u0440\u043e\u0434\u0432\u0438\u043d\u0443\u0442\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u0432\u044b\u0445\u043e\u0434\u0438\u0442 \u0437\u0430 \u0440\u0430\u043c\u043a\u0438 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0438, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043c\u044b \u043f\u0440\u043e\u0441\u0442\u043e \u0431\u0443\u0434\u0435\u043c \u0441\u0442\u0430\u0432\u0438\u0442\u044c Redmine, \u043a\u0430\u043a \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0441\u043b\u043e\u0436\u043d\u043e\u0435 \u0438 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e\u0435 Ruby on Rails \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0441 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c \u043a\u043e\u0434\u043e\u043c. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043e\u0442\u043a\u0440\u043e\u0439\u0442\u0435 \u0432\u0441\u0435 \u0442\u043e\u0442 \u0436\u0435 Web Platform Installer, \u0437\u0430\u0439\u0434\u0438\u0442\u0435 \u0432 Zoo -&gt; Applications \u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435 Redmine. \u041f\u043e \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0441\u044f \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u043e\u0441\u0442\u043e \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u0448\u0430\u0433\u0438, \u043e\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0435 \u0432 <a href=\"http:\/\/www.helicontech.com\/articles\/installing-redmine-on-windows-in-production\/\">\u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435<sup>(\u0430\u043d\u0433\u043b.)<\/sup><\/a> \u0432 \u0440\u0430\u0437\u0434\u0435\u043b\u0435 Manual installation. <\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/habr.habrastorage.org\/post_images\/38c\/46f\/90c\/38c46f90cc9e0654a71e10db4b909b65.png\"\/><\/p>\n<p>  \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u043d\u0438\u043a\u0430\u043a\u043e\u0439 \u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 Ruby, Dev Kit, gem-\u043e\u0432 \u0438 \u0434\u0430\u0436\u0435 \u0441\u0430\u043c\u043e\u0433\u043e IIS Express \u043d\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u2013 \u043e\u0431\u043e \u0432\u0441\u0435\u043c \u043f\u043e\u0437\u0430\u0431\u043e\u0442\u0438\u0442\u0441\u044f Web Platform Installer \u0438 Helicon Zoo. \u0412\u0441\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u043c\u044b\u0435 \u043f\u0430\u043a\u0435\u0442\u044b \u0431\u0443\u0434\u0443\u0442 \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u044b \u0438\u0437 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442 \u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u044b \u043d\u0430 \u0432\u0430\u0448\u0443 \u0440\u0430\u0431\u043e\u0447\u0443\u044e \u0441\u0442\u0430\u043d\u0446\u0438\u044e. \u041f\u043e\u0441\u043b\u0435 \u043e\u043a\u043e\u043d\u0447\u0430\u043d\u0438\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0432\u0441\u0435\u0445 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u0432\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u043f\u0435\u0440\u0432\u0443\u044e \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 Redmine. \u041a\u043e\u043d\u0435\u0447\u043d\u043e, \u043f\u043e-\u0445\u043e\u0440\u043e\u0448\u0435\u043c\u0443 \u0435\u0449\u0435 \u043d\u0443\u0436\u043d\u043e \u0441\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u0443\u044e \u0431\u0430\u0437\u0443 \u0434\u0430\u043d\u043d\u044b\u0445, \u043d\u043e \u0434\u043b\u044f \u043d\u0430\u0448\u0435\u0433\u043e \u0442\u0435\u0441\u0442\u0430 \u0443\u0436\u0435 \u0432\u043f\u043e\u043b\u043d\u0435 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u043e\u0439 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e SQLite. <\/p>\n<p>  \u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043d\u0430 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u0444\u0430\u0439\u043b\u043e\u0432 \u043f\u043e\u043b\u0443\u0447\u0438\u0432\u0448\u0435\u0433\u043e\u0441\u044f \u0441\u0430\u0439\u0442\u0430 (\u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f \u043d\u0430\u0436\u0430\u0442\u044c F5 \u0432 WebMatrix \u0447\u0442\u043e\u0431\u044b \u043e\u0431\u043d\u043e\u0432\u0438\u0442\u044c \u0432\u0438\u0434 \u043f\u0430\u043f\u043e\u043a): <\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/habr.habrastorage.org\/post_images\/8c5\/01c\/14f\/8c501c14f55a883db3ba187564659ac5.png\"\/><\/p>\n<p>  \u0412 \u043f\u0430\u043f\u043a\u0435 GEM_HOME \u0441\u043e\u0431\u0440\u0430\u043d\u044b \u0432\u0441\u0435 gem-\u044b, \u043e\u0442 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043d\u0430\u0448\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435. \u0418\u043c\u0435\u043d\u043d\u043e \u043e\u0442\u0442\u0443\u0434\u0430 \u043e\u043d\u0438 \u0438 \u0431\u0443\u0434\u0443\u0442 \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0442\u044c\u0441\u044f \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0440\u0430\u0431\u043e\u0442\u044b. \u0424\u0430\u0439\u043b deploy_done.rb \u2013 \u044d\u0442\u043e \u0441\u043a\u0440\u0438\u043f\u0442 deploy.rb, \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043c\u044b \u043d\u0430\u0431\u043b\u044e\u0434\u0430\u043b\u0438 \u043d\u0430 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u043c \u0448\u0430\u0433\u0435, \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 \u0441 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435\u043c \u00abApplication deployment in progress\u00bb. \u041f\u043e \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u0438 \u0435\u0433\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f Helicon Zoo \u043f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043b \u044d\u0442\u043e\u0442 \u0444\u0430\u0439\u043b \u0432 deploy_done.rb, \u0447\u0442\u043e\u0431\u044b \u0438\u0441\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u044b\u0439 \u0437\u0430\u043f\u0443\u0441\u043a \u0431\u0435\u0437 \u043d\u0430\u0434\u043e\u0431\u043d\u043e\u0441\u0442\u0438. \u0415\u0441\u043b\u0438 \u0432\u0430\u043c \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u043f\u043e-\u043d\u043e\u0432\u043e\u0439, \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u0443\u0439\u0442\u0435 \u044d\u0442\u043e\u0442 \u0444\u0430\u0439\u043b \u043e\u0431\u0440\u0430\u0442\u043d\u043e \u0432 deploy.rb \u0438 \u0441\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0433\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u043a \u0441\u0435\u0440\u0432\u0435\u0440\u0443 \u0441\u043a\u0440\u0438\u043f\u0442 \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u043f\u0443\u0449\u0435\u043d \u0441\u043d\u043e\u0432\u0430. \u0412 \u044d\u0442\u043e\u043c \u0441\u043a\u0440\u0438\u043f\u0442\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u0441\u044f \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u043d\u0430\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u044f \u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u044e\u0449\u0438\u0445 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439, \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043f\u0440\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u0438 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0439 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u0442.\u043f. \u042d\u0442\u043e \u043e\u0434\u0438\u043d \u0438\u0437 \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u0432 \u043a\u0430\u043a \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0432 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u043e \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u0432 <a href=\"http:\/\/www.helicontech.com\/zoo\/docs\/deployment.htm\">\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 Helicon Zoo<\/a><sup>(\u0430\u043d\u0433\u043b.)<\/sup>. \u0414\u0440\u0443\u0433\u043e\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u2013 \u044d\u0442\u043e \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c Helicon Zoo Manager (for IIS Express) \u0438\u0437 Start -&gt; Programs -&gt; Helicon \u2013&gt; Zoo, \u0430 \u0442\u0430\u043c, \u0432\u044b\u0431\u0440\u0430\u0432 \u043d\u0430\u0448\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435, \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0436\u0430\u0442\u044c \u043d\u0430 Start Web console \u0438\u043b\u0438 Start IDE. <\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/habr.habrastorage.org\/post_images\/3ff\/f61\/363\/3fff6136379982344fe01621513057f0.png\"\/><\/p>\n<p>  Web console \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0432 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0438 \u043e\u0442 \u043b\u0438\u0446\u0430 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f (Application pool user \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 IIS \u0438 \u0438\u043d\u0442\u0435\u0440\u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 IIS Express), \u043a\u0430\u043a \u043d\u0430 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u0435, \u0442\u0430\u043a \u0438 \u043d\u0430 \u0443\u0434\u0430\u043b\u0435\u043d\u043d\u043e\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u0435. \u041a\u043d\u043e\u043f\u043a\u0430 Start IDE \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443 (\u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u044d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0430 cmd.exe) \u0432 \u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0441\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u0441\u0440\u0435\u0434\u0435 \u0438\u0437 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0438 \u043f\u0443\u0442\u0435\u0439 \u0434\u043b\u044f \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u043e\u0433\u043e \u0432\u0435\u0431 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f. \u042d\u0442\u043e \u0442\u0430\u043a\u0436\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u0443\u0434\u0443\u0442 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u044b \u043a \u043d\u0430\u0448\u0435\u043c\u0443 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044e, \u0430 \u043d\u0435 \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u043e \u043a \u0441\u0438\u0441\u0442\u0435\u043c\u0435. \u0411\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 IDE, \u0442\u0430\u043a\u0438\u0445 \u043a\u0430\u043a Aptana \u0438\u043b\u0438 PyCharm, \u0438\u043c\u0435\u044e\u0442 \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u0443\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443, \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u044e\u0442 \u044d\u0442\u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0438 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u043c\u0438 \u043f\u0430\u043f\u043a\u0430\u043c\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0431\u043e\u043b\u0435\u0435-\u043c\u0435\u043d\u0435\u0435 \u0438\u0437\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e \u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u043f\u0440\u044f\u043c\u043e \u0438\u0437 \u0441\u0440\u0435\u0434\u044b. \u0422\u0430\u043a \u0447\u0442\u043e \u044f \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u044e \u0441\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0437\u0430\u043f\u0443\u0441\u043a \u0432\u0430\u0448\u0435\u0433\u043e \u043b\u044e\u0431\u0438\u043c\u043e\u0433\u043e IDE \u043f\u043e \u043a\u043d\u043e\u043f\u043a\u0435 Start IDE \u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0432\u0441\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u043e\u0442\u0442\u0443\u0434\u0430. \u0415\u0449\u0435 \u043c\u043e\u0436\u043d\u043e \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f \u0432 .cmd-\u0444\u0430\u0439\u043b \u043d\u0430\u0436\u0430\u0432 \u043d\u0430 Tools -&gt; Export application environment. \u042d\u0442\u043e\u0442 \u0444\u0430\u0439\u043b \u0437\u0430\u0442\u0435\u043c \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u0437\u044b\u0432\u0430\u0442\u044c \u043f\u0435\u0440\u0435\u0434 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435\u043c \u0434\u0440\u0443\u0433\u0438\u0445 \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432\u044b\u0445 \u043a\u043e\u043c\u0430\u043d\u0434 \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044b\u0445 \u0434\u043b\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0438 \u043e\u043d \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442 \u0442\u0440\u0435\u0431\u0443\u0435\u043c\u044b\u0435 \u043f\u0443\u0442\u0438 \u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0441\u0440\u0435\u0434\u044b. \u042d\u0442\u043e \u0443\u0434\u043e\u0431\u043d\u043e \u0435\u0441\u043b\u0438 \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u0432\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u043a \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044e \u043f\u043e \u0442\u0430\u0439\u043c\u0435\u0440\u0443 \u0438\u0437 Windows Scheduler. <\/p>\n<p>  \u041f\u043e\u0447\u0435\u043c\u0443 \u0442\u0430\u043a \u0432\u0430\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0438\u043c\u0435\u043d\u043d\u043e \u044d\u0442\u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b? \u041f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043e\u043d\u0438 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0442 \u0443\u043f\u0430\u043a\u043e\u0432\u0430\u0442\u044c \u0432\u0441\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u0432\u043d\u0443\u0442\u0440\u044c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f. \u0412\u0435\u0434\u044c \u043d\u0430\u0448\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0431\u0443\u0434\u0435\u0442 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043e \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u043d\u0430 Azure Cloud Services \u0438 \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0438\u043c\u0435\u0442\u044c \u043f\u0440\u0438 \u0441\u0435\u0431\u0435 \u0432\u0441\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438. \u0420\u0430\u0437\u0443\u043c\u0435\u0435\u0442\u0441\u044f, \u043c\u044b \u043c\u043e\u0433\u043b\u0438 \u0431\u044b \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c Ruby \u043a\u043e\u043c\u0430\u043d\u0434\u0443 &#8216;bundle install&#8217; \u0447\u0442\u043e\u0431\u044b \u0441\u043a\u0430\u0447\u0430\u0442\u044c \u0438\u0437 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0430 \u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0432\u0441\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043a\u0430\u0436\u0434\u044b\u0439 \u0440\u0430\u0437, \u043a\u043e\u0433\u0434\u0430 \u043d\u043e\u0432\u044b\u0439 \u0443\u0437\u0435\u043b Cloud Services \u0432\u0445\u043e\u0434\u0438\u0442 \u0432 \u0441\u0442\u0440\u043e\u0439. \u041e\u0434\u043d\u0430\u043a\u043e \u0442\u043e\u0433\u0434\u0430 \u043d\u0430\u0448\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u0432\u0438\u0441\u0435\u0442\u044c \u0435\u0449\u0435 \u0438 \u043e\u0442 \u0440\u0430\u0431\u043e\u0442\u044b \u0441\u0435\u0440\u0432\u0438\u0441\u0430 rubygems.org \u0438 \u0434\u0440\u0443\u0433\u0438\u0445 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432, 100% \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0441\u0442\u044c \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043f\u043e\u0434 \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u043c. \u041a \u0442\u043e\u043c\u0443 \u0436\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u0435\u0441\u0442\u044c \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u044c, \u0447\u0442\u043e \u043c\u044b \u0437\u0430\u0431\u0443\u0434\u0435\u043c \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u0442\u043e\u0447\u043d\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e \u043a\u0430\u043a\u043e\u0433\u043e \u043d\u0438 \u0431\u0443\u0434\u044c gem-\u0430 \u0438\u0437 \u0432\u0442\u043e\u0440\u0438\u0447\u043d\u044b\u0445 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439 \u0438 \u043d\u0430\u0448\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0432\u0434\u0440\u0443\u0433 \u043f\u0435\u0440\u0435\u0441\u0442\u0430\u043d\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u0432\u044b\u0445\u043e\u0434\u043e\u043c \u043d\u043e\u0432\u043e\u0439, \u043d\u0435\u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 gem-\u0430, \u0445\u043e\u0442\u044f \u043c\u044b \u0432\u0440\u043e\u0434\u0435 \u0431\u044b \u043d\u0438\u0447\u0435\u0433\u043e \u0438 \u043d\u0435 \u043c\u0435\u043d\u044f\u043b\u0438. \u041f\u043e\u043c\u043d\u043e\u0436\u0438\u0442\u0435 \u0432\u0441\u0435 \u044d\u0442\u0438 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u0438, \u0438 \u0432\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0435 \u043d\u0435 \u0442\u0430\u043a\u043e\u0439 \u0443\u0436 \u0438 \u043f\u0440\u0438\u0432\u043b\u0435\u043a\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0430\u043f\u0442\u0430\u0439\u043c. \u0417\u043d\u0430\u0447\u0438\u0442, \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u043c\u0438\u043d\u0438\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0447\u0438\u0441\u043b\u043e \u0432\u043d\u0435\u0448\u043d\u0438\u0445 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439, \u0447\u0442\u043e\u0431\u044b \u043f\u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043f\u0440\u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435 \u0438\u0437 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0430 \u043d\u0435 \u043a\u0430\u0447\u0430\u043b\u043e\u0441\u044c \u043d\u0438\u0447\u0435\u0433\u043e \u2013 \u0442\u043e\u0433\u0434\u0430 \u0432\u0441\u0435 \u043d\u043e\u0432\u044b\u0435 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0435 \u043c\u0430\u0448\u0438\u043d\u044b \u0431\u0443\u0434\u0443\u0442 \u0442\u043e\u0447\u043d\u044b\u043c\u0438 \u043a\u043e\u043f\u0438\u044f\u043c\u0438 \u0434\u0440\u0443\u0433 \u0434\u0440\u0443\u0433\u0430. <\/p>\n<p>  \u0418 \u0442\u0443\u0442 \u0435\u0441\u0442\u044c \u043e\u0434\u0438\u043d \u0442\u043e\u043d\u043a\u0438\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u2013 \u043f\u0440\u0438\u0432\u044b\u0447\u043a\u0430. \u0415\u0441\u043b\u0438 \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u044b \u043d\u0430 Java \u043f\u0440\u0438\u0432\u044b\u043a\u043b\u0438 \u0447\u0442\u043e \u0432\u0441\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u0442\u044c \u0443\u043f\u0430\u043a\u043e\u0432\u0430\u043d\u044b \u0441 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435\u043c \u043a\u0430\u043a \u0441\u0430\u043c\u043e \u0441\u043e\u0431\u043e\u0439 \u0440\u0430\u0437\u0443\u043c\u0435\u044e\u0449\u0435\u0435\u0441\u044f, \u0442\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u044b \u043d\u0430 Ruby \u0431\u043e\u043b\u044c\u0448\u0435 \u043f\u0440\u0438\u0432\u044b\u043a\u043b\u0438 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u0435\u0440\u0432\u0435\u0440 \u0440\u0443\u043a\u0430\u043c\u0438 \u0438 \u043d\u0430 \u0441\u0432\u043e\u0435 \u0443\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u0438\u0435. \u0422\u0430\u043a \u0447\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u0430 \u0441 Helicon Zoo \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0434\u0438\u0441\u0446\u0438\u043f\u043b\u0438\u043d\u044b, \u0430 \u0438\u043c\u0435\u043d\u043d\u043e: \u043d\u0435\u043b\u044c\u0437\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u043a\u043e\u043d\u0441\u043e\u043b\u044c \u0438\u043b\u0438 IDE \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435\u043c, \u0434\u0430\u0436\u0435 \u043d\u0430 \u0432\u0430\u0448\u0435\u0439 \u0440\u0430\u0431\u043e\u0447\u0435\u0439 \u0441\u0442\u0430\u043d\u0446\u0438\u0438, \u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u0435 \u0441\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u0432 \u043f\u0443\u0442\u0438 \u043a \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044e. \u0421\u0434\u0435\u043b\u0430\u0442\u044c \u044d\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u043b\u0438\u0431\u043e \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0432 \u043a\u043e\u043d\u0441\u043e\u043b\u044c \u0438 IDE \u0438\u0437 Helicon Zoo Manager, \u043b\u0438\u0431\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0432 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0438\u0437 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f environment.cmd \u0444\u0430\u0439\u043b \u043f\u0435\u0440\u0435\u0434 \u0437\u0430\u043f\u0443\u0441\u043a\u043e\u043c \u0434\u0440\u0443\u0433\u0438\u0445 \u043a\u043e\u043c\u0430\u043d\u0434. \u041e\u0442\u0441\u044e\u0434\u0430 \u0442\u0430\u043a\u0436\u0435 \u0441\u043b\u0435\u0434\u0443\u0435\u0442, \u0447\u0442\u043e \u043d\u0435\u043b\u044c\u0437\u044f \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0442\u044c gem-\u044b \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u043c\u043e\u0434\u0443\u043b\u0438 \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u043e. \u041f\u043e\u043b\u044c\u0437\u0443\u044f\u0441\u044c \u044d\u0442\u0438\u043c\u0438 \u043f\u0440\u0430\u0432\u0438\u043b\u0430\u043c\u0438 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043b\u0435\u0433\u043a\u043e \u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u043c\u043e\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0443\u0434\u043e\u0431\u043d\u043e \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u0442\u044c \u0441 \u043e\u0434\u043d\u043e\u0433\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u043d\u0430 \u0434\u0440\u0443\u0433\u043e\u0439. <\/p>\n<p>  \u0422\u0430\u043a \u043a\u0430\u043a \u043c\u044b \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u043b\u0438 Redmine \u043f\u0440\u044f\u043c\u043e \u0438\u0437 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f Helicon Zoo, \u0442\u043e \u0432\u0441\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u0431\u044b\u043b\u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u044b \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438. \u0422\u0435\u043f\u0435\u0440\u044c, \u0447\u0442\u043e\u0431\u044b \u043f\u0435\u0440\u0435\u043d\u0435\u0441\u0442\u0438 \u043d\u0430\u0448 Redmine \u043d\u0430 \u0434\u0440\u0443\u0433\u043e\u0439 \u0441\u0435\u0440\u0432\u0435\u0440, \u043d\u0430\u043c \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f \u043b\u0438\u0448\u044c \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c Helicon Zoo -&gt; Ruby Hosting Package \u043d\u0430 \u044d\u0442\u043e\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u0435 \u0438 \u043f\u0435\u0440\u0435\u043d\u0435\u0441\u0442\u0438 \u0441\u0430\u043c\u0443 \u043f\u0430\u043f\u043a\u0443 \u0441 \u0441\u0430\u0439\u0442\u043e\u043c. \u0412 \u043f\u0430\u043a\u0435\u0442 Ruby Hosting Package \u0443\u0436\u0435 \u0432\u0445\u043e\u0434\u0438\u0442 Ruby \u0440\u0430\u0437\u043d\u044b\u0445 \u0432\u0435\u0440\u0441\u0438\u0439, Dev kit, Helicon Zoo Module \u0438 \u0432\u0441\u0435 \u0434\u0440\u0443\u0433\u0438\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u0447\u0442\u043e \u043c\u043e\u0433\u0443\u0442 \u043f\u0440\u0438\u0433\u043e\u0434\u0438\u0442\u0441\u044f \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435. \u0412\u043c\u0435\u0441\u0442\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 Ruby Hosting Package \u043c\u043e\u0436\u043d\u043e \u0432 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u0440\u0435\u0431\u0443\u0435\u043c\u044b\u0435 \u043f\u0430\u043a\u0435\u0442\u044b \u0438\u0437 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f Helicon Zoo \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e, \u0447\u0442\u043e\u0431\u044b \u0441\u044d\u043a\u043e\u043d\u043e\u043c\u0438\u0442\u044c \u043c\u0435\u0441\u0442\u043e. \u041e\u0434\u043d\u0430\u043a\u043e \u0442\u0443\u0442 \u043f\u043e\u0432\u044b\u0448\u0430\u0435\u0442\u0441\u044f \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u044c \u0447\u0442\u043e-\u0442\u043e \u043f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u0442\u044c, \u0434\u0430 \u0438 \u043c\u0435\u0441\u0442\u0430 \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432\u044b Ruby \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0442 \u043d\u0435 \u0442\u0430\u043a \u043c\u043d\u043e\u0433\u043e \u0447\u0442\u043e\u0431\u044b \u044d\u043a\u043e\u043d\u043e\u043c\u0438\u0442\u044c. <\/p>\n<p>  \u041d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435 \u043c\u044b \u043d\u0435 \u0431\u0443\u0434\u0435\u043c \u043a\u0430\u0447\u0430\u0442\u044c \u043f\u0430\u043a\u0435\u0442\u044b Ruby \u0438 Helicon Zoo \u0438\u0437 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0430 \u0447\u0442\u043e\u0431\u044b \u043d\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u0442\u044c \u043e\u0442 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0441\u0442\u0438 \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432\u043e\u0432 \u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0442\u0430\u043a\u0436\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u0441\u043f\u043e\u0441\u043e\u0431 \u0443\u043f\u0430\u043a\u043e\u0432\u0430\u0442\u044c \u0432\u0441\u0435 \u043e\u0434\u0438\u043d \u0440\u0430\u0437, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u0442\u043e\u043c \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0442\u044c \u0438\u0437 \u0430\u0440\u0445\u0438\u0432\u0430. \u041c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c Web Platform Installer \u0438 \u0443\u0442\u0438\u043b\u0438\u0442\u0443 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438 <b>WebpiCMD.exe<\/b>. \u041d\u0430\u0439\u0442\u0438 \u0435\u0435 \u043c\u043e\u0436\u043d\u043e \u043e\u0431\u044b\u0447\u043d\u043e \u0432 \u043f\u0430\u043f\u043a\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 Web Platform Installer: C:\\Program Files\\Microsoft\\Web Platform Installer. \u042d\u0442\u0430 \u0443\u0442\u0438\u043b\u0438\u0442\u0430 \u043c\u043e\u0436\u0435\u0442 \u0443\u043f\u0430\u043a\u043e\u0432\u044b\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u044b \u0438\u0437 Web Platform Installer \u0434\u043b\u044f \u0438\u0445 \u043f\u043e\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0431\u0435\u0437 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043a \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442. <\/p>\n<p>  \u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435 \u043a\u043e\u043d\u0441\u043e\u043b\u044c \u0441 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u0438\u0432\u043d\u044b\u043c\u0438 \u043f\u0440\u0430\u0432\u0430\u043c\u0438, \u043a\u043b\u0438\u043a\u043d\u0443\u0432 \u043d\u0430 \u043d\u0435\u0439 \u043f\u0440\u0430\u0432\u043e\u0439 \u043a\u043d\u043e\u043f\u043a\u043e\u0439 \u0438 \u0432\u044b\u0431\u0440\u0430\u0432 \u043f\u0443\u043d\u043a\u0442 &#8216;Run as administrator&#8217;: <\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/habr.habrastorage.org\/post_images\/0a9\/29f\/2b0\/0a929f2b0ea15871e81ba3d21c60085f.png\"\/><\/p>\n<p>  \u042d\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u0447\u0442\u043e\u0431\u044b \u043d\u0435 \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u043b\u043e\u0441\u044c \u043d\u043e\u0432\u043e\u0435 \u043e\u043a\u043d\u043e \u043a\u043e\u043d\u0441\u043e\u043b\u0438 \u043f\u0440\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0435 WebpiCMD.exe, \u0438\u043d\u0430\u0447\u0435 \u0447\u0438\u0442\u0430\u0442\u044c \u0432\u044b\u0432\u043e\u0434 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u0442\u0440\u0443\u0434\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e. \u0421\u043e\u0445\u0440\u0430\u043d\u044f\u0442\u044c \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043e\u0447\u043d\u044b\u0435 \u043f\u0430\u043a\u0435\u0442\u044b \u0431\u0443\u0434\u0435\u043c \u0432 \u0441\u0430\u043c\u043e\u0439 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438 \u0441\u0430\u0439\u0442\u0430 \u0441 Redmine \u0432 \u043f\u0430\u043f\u043a\u0443 &#8216;offline-package&#8217;. \u0422.\u043a. \u044f \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u043b Redmine \u043f\u043e\u0434 IIS Express, \u0442\u043e \u043c\u043e\u0439 \u0441\u0430\u0439\u0442 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432 \u043f\u0430\u043f\u043a\u0435 &#8216;C:\\Users\\<b>Slov<\/b>\\Documents\\My Web Sites\\<b>redmine222<\/b>&#8216;. \u0412 \u0432\u0430\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0438\u043c\u044f \u043f\u0430\u043f\u043a\u0438 \u0431\u0443\u0434\u0435\u0442 \u0434\u0440\u0443\u0433\u0438\u043c, \u0442\u0430\u043a \u0447\u0442\u043e \u0438\u0441\u043f\u0440\u0430\u0432\u044c\u0442\u0435 \u044d\u0442\u043e \u0432 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u0435 \u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0435 \u0432 \u043a\u043e\u043d\u0441\u043e\u043b\u0438:<\/p>\n<pre><code>mkdir &quot;C:\\Users\\Slov\\Documents\\My Web Sites\\redmine222\\offline-package&quot;  WebpiCmd.exe \/offline \/Products:&lt;b&gt;RubyHostingPackage&lt;\/b&gt; \/Path:&quot;C:\\Users\\Slov\\Documents\\My Web Sites\\redmine222\\offline-package&quot; \/Feeds:http:\/\/www.helicontech.com\/zoo\/feed.xml<\/code><\/pre>\n<p>  \u041a\u0430\u043a \u0432\u0438\u0434\u043d\u043e \u0438\u0437 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u043c\u044b \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u043f\u0440\u043e\u0434\u0443\u043a\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d \u0434\u043b\u044f offline-\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c WebpiCmd.exe \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442 \u0432\u0441\u0435 \u0435\u0433\u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438, \u0431\u0438\u0442\u043d\u043e\u0441\u0442\u0438 \u0438 \u0442.\u043f. \u0412 \u043a\u043e\u043c\u0430\u043d\u0434\u0443 \u043f\u0435\u0435\u0440\u0434\u0430\u0435\u0442\u0441\u044f \u043f\u0443\u0442\u044c \u043a \u043f\u0430\u043f\u043a\u0435 \u043a\u0443\u0434\u0430 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0442\u044c \u043f\u0430\u043a\u0435\u0442\u044b \u0438 URL \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f Helicon Zoo, \u043e\u0442\u043a\u0443\u0434\u0430 \u0432\u0441\u0435 \u044d\u0442\u0438 \u043f\u0430\u043a\u0435\u0442\u044b \u0438 \u0431\u0435\u0440\u0443\u0442\u0441\u044f. \u0412\u0435\u0441\u044c \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u043c\u043e\u0436\u0435\u0442 \u0437\u0430\u043d\u044f\u0442\u044c \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0432\u0440\u0435\u043c\u044f. \u041f\u043e\u043c\u043d\u0438\u0442\u0435, \u0447\u0442\u043e \u043c\u043d\u043e\u0433\u0438\u0435 shell-\u043a\u043e\u043c\u0430\u043d\u0434\u044b \u043d\u0435 \u043b\u044e\u0431\u044f\u0442 \u043f\u0440\u043e\u0431\u0435\u043b\u044b \u0432 \u043f\u0443\u0442\u0438, \u0442\u0430\u043a \u0447\u0442\u043e \u043d\u0435 \u0437\u0430\u0431\u044b\u0432\u0430\u0435\u043c \u043a\u0430\u0432\u044b\u0447\u043a\u0438. \u042d\u0442\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442 \u043f\u0440\u043e\u0434\u0443\u043a\u0442 RubyHostingPackage \u0438 \u0432\u0441\u0435 \u0435\u0433\u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u0432 \u043f\u0430\u043f\u043a\u0443 &#8216;offline-package&#8217; \u0432\u043d\u0443\u0442\u0440\u0438 \u043d\u0430\u0448\u0435\u0433\u043e \u0432\u0435\u0431 \u0441\u0430\u0439\u0442\u0430. \u0417\u0430\u0442\u0435\u043c \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u044d\u0442\u043e\u0439 \u043f\u0430\u043f\u043a\u0438 \u043c\u043e\u0436\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c, \u0447\u0442\u043e\u0431\u044b \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043f\u0430\u043a\u0435\u0442 Ruby Hosting Package \u043d\u0430 \u0434\u0440\u0443\u0433\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u0435. \u041d\u0430 \u043c\u043e\u043c\u0435\u043d\u0442 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u0441\u0442\u0430\u0442\u044c\u0438 \u0432 Helicon Zoo \u0432\u0445\u043e\u0434\u0438\u0442 \u0441\u0435\u043c\u044c \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u043f\u0430\u043a\u0435\u0442\u043e\u0432 \u0438 \u0438\u043c\u0435\u043d\u0430 \u0443 \u043d\u0438\u0445 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435:<\/p>\n<pre><code>CFMLHostingPackage    CFML Hosting Package JavaHostingPackage    Java Hosting Package RubyHostingPackage    Ruby Hosting Package NodejsHostingPackage  Node.js Hosting Package PerlHostingPackage    Perl Hosting Package PHPHostingPackage     PHP Hosting Package PythonHostingPackage  Python Hosting Package<\/code><\/pre>\n<p>  \u0411\u043e\u043b\u0435\u0435 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e \u043f\u0440\u043e \u043e\u0444\u0444\u043b\u0430\u0439\u043d \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0443 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u043d\u0430 \u0430\u043d\u0433\u043b\u0438\u0439\u0441\u043a\u043e\u043c \u043f\u043e <a href=\"http:\/\/www.helicontech.com\/zoo\/docs\/offline.htm\">\u044d\u0442\u043e\u0439 \u0441\u0441\u044b\u043b\u043a\u0435<\/a>. \u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0435 \u0438\u043c\u0435\u043d\u0430 \u0432\u0441\u0435\u0445 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u043e\u0432 \u043c\u043e\u0436\u043d\u043e \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0432\u0448\u0438\u0441\u044c \u043a\u043b\u044e\u0447\u0435\u043c \/List \u043a\u043e\u043c\u0430\u043d\u0434\u044b WebpiCmd.exe. \u041e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u0430\u044f \u0430\u043d\u0433\u043b\u0438\u0439\u0441\u043a\u0430\u044f \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u043a \u0443\u0442\u0438\u043b\u0438\u0442\u0435 WebpiCMD.exe \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f <a href=\"http:\/\/www.iis.net\/learn\/install\/web-platform-installer\/web-platform-installer-v4-command-line-webpicmdexe-rtw-release\">\u0437\u0434\u0435\u0441\u044c<\/a>. <\/p>\n<p>  \u0415\u0441\u043b\u0438 \u0432\u044b \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u0442\u0435 \u043d\u0430 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u043f\u043e\u043b\u0443\u0447\u0438\u0432\u0448\u0435\u0439\u0441\u044f \u043f\u0430\u043f\u043a\u0438 &#8216;offline-package&#8217;, \u0442\u043e \u0432 \u043f\u0430\u043f\u043a\u0435 bin \u0443\u0432\u0438\u0434\u0438\u0442\u0435 \u0447\u0442\u043e WebpiCMD.exe \u043e\u0447\u0435\u043d\u044c \u043a\u0441\u0442\u0430\u0442\u0438 \u0443\u0436\u0435 \u0432\u043a\u043b\u044e\u0447\u0438\u043b \u0440\u0430\u0431\u043e\u0447\u0443\u044e \u043a\u043e\u043f\u0438\u044e \u0441\u0430\u043c\u043e\u0433\u043e \u0441\u0435\u0431\u044f \u0432 \u043f\u0430\u043a\u0435\u0442. \u0418\u043c\u0435\u043d\u043d\u043e \u0435\u0433\u043e \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u0432\u044b\u0437\u044b\u0432\u0430\u0442\u044c \u043d\u0430 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u0435 Azure Cloud Services, \u0447\u0442\u043e\u0431\u044b \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043d\u0443\u0436\u043d\u044b\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0431\u0440\u0430\u0442\u043d\u043e \u0438\u0437 \u043f\u0430\u043a\u0435\u0442\u0430. <\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/habr.habrastorage.org\/post_images\/3c9\/2f5\/aad\/3c92f5aad5799fb47230f1f13b1de6af.png\"\/><\/p>\n<p>  \u041f\u0440\u0435\u0436\u0434\u0435 \u0447\u0435\u043c \u0443\u043f\u0430\u043a\u043e\u0432\u0430\u0442\u044c \u043d\u0430\u0448 \u0441\u0430\u0439\u0442 \u0434\u043b\u044f Azure, \u043d\u0443\u0436\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043a \u043d\u0435\u043c\u0443 \u0441\u043a\u0440\u0438\u043f\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u0443\u0434\u0435\u0442 \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0442\u044c \u0432\u0441\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043d\u0430 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u0435. \u041f\u043e \u043f\u0440\u0430\u0432\u0438\u043b\u0430\u043c Azure \u044d\u0442\u043e\u0442 \u0441\u043a\u0440\u0438\u043f\u0442 \u0434\u043e\u043b\u0436\u0435\u043d \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u044c\u0441\u044f \u0432 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438 bin \u043f\u043e\u0434 \u043a\u043e\u0440\u043d\u0435\u043c \u0441\u0430\u043c\u043e\u0433\u043e \u0441\u0430\u0439\u0442\u0430. \u041d\u0430\u0437\u043e\u0432\u0435\u043c \u044d\u0442\u043e\u0442 \u0444\u0430\u0439\u043b startup.cmd. \u0412\u043e\u0442 \u0435\u0433\u043e \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435:<\/p>\n<p>  <b>[bin\\startup.cmd]<\/b><\/p>\n<pre><code>echo Starting installation...  rem \u0414\u0430\u0442\u044c \u043f\u0440\u0430\u0432\u0430 \u043d\u0430 \u0447\u0442\u0435\u043d\u0438\u0435 \u0438 \u0437\u0430\u043f\u0438\u0441\u044c \u043f\u0430\u043f\u043a\u0435 \u043a\u0443\u0434\u0430 \u0440\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u0430\u043d\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 icacls &quot;%RoleRoot%\\approot&quot; \/grant &quot;Everyone&quot;:F \/T  rem \u041b\u043e\u043a\u0430\u043b\u044c\u043d\u0430\u044f \u043f\u0430\u043f\u043a\u0430 AppData \u0441 \u043f\u0440\u0430\u0432\u0430\u043c\u0438 \u043d\u0430 \u0437\u0430\u043f\u0438\u0441\u044c \u043d\u0443\u0436\u043d\u0430 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b Web Platform Installer rem \u0421\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u044d\u0442\u0443 \u043f\u0430\u043f\u043a\u0443 \u0438 \u043a\u043b\u044e\u0447 \u0440\u0435\u0435\u0441\u0442\u0440\u0430 \u043d\u0430 \u043d\u0435\u0435 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0449\u0438\u0439 md &quot;%RoleRoot%\\appdata&quot; reg add &quot;hku\\.default\\software\\microsoft\\windows\\currentversion\\explorer\\user shell folders&quot; ^     \/v &quot;Local AppData&quot; \/t REG_EXPAND_SZ \/d &quot;%RoleRoot%\\appdata&quot; \/f  rem \u041f\u0435\u0440\u0435\u0439\u0434\u0435\u043c \u0432 \u043f\u0430\u043f\u043a\u0443 \u0441 WebpiCmd.exe pushd &quot;%RoleRoot%\\approot\\offline-package\\bin&quot;  rem \u0412\u044b\u0437\u043e\u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u044b WebpiCmd.exe \u0434\u043b\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0430 \u0438\u0437 \u043f\u0430\u043f\u043a\u0438 offline-package rem \u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043d\u0430 \u0438\u043c\u044f \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0430 - RubyHostingPackage, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043b\u043e\u0433\u0438 \u0432 install.txt \u0438 install-error.txt WebpiCmd.exe \/install \/Products:RubyHostingPackage \/XML:%RoleRoot%\\approot\\offline-package\\feeds\\latest\\webproductlist.xml ^              \/Feeds:%RoleRoot%\\approot\\offline-package\\feeds\\latest\\supplementalfeeds\\feed.xml ^ \t\t\t \/AcceptEula &gt;%RoleRoot%\\approot\\public\\install.txt 2&gt;%RoleRoot%\\approot\\public\\install-error.txt  popd  rem \u0412\u0435\u0440\u043d\u0443\u0442\u044c \u0441\u0442\u0430\u0440\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043a\u043b\u044e\u0447\u0443 \u0440\u0435\u0435\u0441\u0442\u0440\u0430 \u0441 AppData reg add &quot;hku\\.default\\software\\microsoft\\windows\\currentversion\\explorer\\user shell folders&quot; ^     \/v &quot;Local AppData&quot; \/t REG_EXPAND_SZ \/d %%USERPROFILE%%\\AppData\\Local \/f   rem \u0422\u0443\u0442 \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0434\u0440\u0443\u0433\u0438\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u044b.  echo Completed installation. <\/code><\/pre>\n<p>  \u041f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f %RoleRoot% \u0431\u0443\u0434\u0435\u0442 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u043a\u0443\u0434\u0430 \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043d\u0430\u0448\u0430 \u0440\u043e\u043b\u044c, \u0430 \u043f\u0430\u043f\u043a\u0430 %RoleRoot%\\approot \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u043a\u043e\u0440\u043d\u0435\u0432\u043e\u0439 \u043f\u0430\u043f\u043a\u043e\u0439 \u0441\u0430\u0439\u0442\u0430. \u0413\u043b\u0430\u0432\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u043e\u0439 \u0432 \u044d\u0442\u043e\u043c \u0444\u0430\u0439\u043b\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0432\u044b\u0437\u043e\u0432 WebpiCmd.exe. \u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043d\u0430 \u043f\u0435\u0440\u0435\u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0432\u044b\u0432\u043e\u0434\u0430 \u043b\u043e\u0433\u043e\u0432 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0432 \u0444\u0430\u0439\u043b install.txt, \u0430 \u0432\u044b\u0432\u043e\u0434 STDERR \u0431\u0443\u0434\u0435\u0442 \u0432 \u0444\u0430\u0439\u043b\u0435 install-error.txt \u2013 \u043e\u0431\u0430 \u0432 \u043f\u0430\u043f\u043a\u0443 public \u043a\u043e\u0440\u043d\u044f \u043f\u043e\u043b\u0443\u0447\u0438\u0432\u0448\u0435\u0433\u043e\u0441\u044f \u0441\u0430\u0439\u0442\u0430. \u041c\u043e\u0436\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u0442\u043e\u043c \u0437\u0430\u043f\u0440\u043e\u0441\u0438\u0442\u044c \u044d\u0442\u0438 \u0444\u0430\u0439\u043b\u044b \u043f\u043e URL \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0435 \u043e\u0448\u0438\u0431\u043a\u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438, \u0435\u0441\u043b\u0438 \u043e\u043f\u044b\u0442 \u043d\u0435 \u0443\u0434\u0430\u0441\u0442\u0441\u044f \u0441 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0440\u0430\u0437\u0430. \u041f\u0435\u0440\u0432\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u043e\u0439 \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u043f\u0440\u0430\u0432\u0430 \u043d\u0430 \u0437\u0430\u043f\u0438\u0441\u044c \u0432 \u043f\u0430\u043f\u043a\u0443 \u0441 \u0441\u0430\u0439\u0442\u043e\u043c \u2013 \u044d\u0442\u0438 \u043f\u0440\u0430\u0432\u0430 \u043d\u0443\u0436\u043d\u044b \u0441\u0430\u043c\u043e\u043c\u0443 Redmine \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b, \u0442.\u043a. Ruby \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0447\u0430\u0441\u0442\u043e \u043f\u0438\u0448\u0443\u0442 \u0432 \u043f\u0430\u043f\u043a\u0443 \u0441 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435\u043c.<\/p>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u043d\u0430\u0441\u0442\u0430\u043b\u043e \u0432\u0440\u0435\u043c\u044f \u0443\u043f\u0430\u043a\u043e\u0432\u0430\u0442\u044c \u0441\u0430\u0439\u0442 \u0434\u043b\u044f Azure Cloud Services. \u0421\u0430\u0439\u0442 \u0443 \u043c\u0435\u043d\u044f \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432 \u043f\u0430\u043f\u043a\u0435 \u00abC:\\Users\\Slov\\Documents\\My Web Sites\\redmine222\u00bb. \u041f\u0435\u0440\u0435\u0439\u0434\u0435\u043c \u043a\u043e\u043d\u0441\u043e\u043b\u044c\u044e \u0432 \u043f\u0430\u043f\u043a\u0443 \u0432\u044b\u0448\u0435 \u043d\u0430\u0448\u0435\u0433\u043e \u0441\u0430\u0439\u0442\u0430 \u2013 \u0443 \u043c\u0435\u043d\u044f \u044d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u043f\u0430\u043f\u043a\u0430 \u00abC:\\Users\\Slov\\Documents\\My Web Sites\\\u00bb. \u0417\u0434\u0435\u0441\u044c \u043d\u0430\u043c \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0442\u0440\u0438 \u0444\u0430\u0439\u043b\u0430: \u0444\u0430\u0439\u043b \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0441\u0435\u0440\u0432\u0438\u0441\u0430 *.cscfg, \u0444\u0430\u0439\u043b \u0441 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438 \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043f\u0430\u043a\u0435\u0442\u0430 *.csdef \u0438 \u0444\u0430\u0439\u043b cmd \u0441\u043a\u0440\u0438\u043f\u0442\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u0431\u0443\u0434\u0435\u0442 \u0443\u0434\u043e\u0431\u043d\u043e \u0432\u0441\u0435 \u044d\u0442\u043e \u0443\u043f\u0430\u043a\u043e\u0432\u0430\u0442\u044c. \u0412\u043e\u0442 \u044d\u0442\u0438 \u0444\u0430\u0439\u043b\u044b \u0441 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u043c\u0438 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f\u043c\u0438: <\/p>\n<p>  <b>[remine222.csdef]<\/b>  <\/p>\n<pre><code>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt; &lt;ServiceDefinition name=&quot;WindowsAzure2&quot; xmlns=&quot;http:\/\/schemas.microsoft.com\/ServiceHosting\/2008\/10\/ServiceDefinition&quot; schemaVersion=&quot;2013-03.2.0&quot;&gt;   &lt;WebRole name=&quot;redmine222&quot; vmsize=&quot;Small&quot;&gt;     &lt;Sites&gt;       &lt;Site name=&quot;Web&quot;  physicalDirectory=&quot;.\/redmine222&quot;&gt;         &lt;Bindings&gt;           &lt;Binding name=&quot;Endpoint1&quot; endpointName=&quot;Endpoint1&quot; \/&gt;         &lt;\/Bindings&gt;       &lt;\/Site&gt;     &lt;\/Sites&gt;     &lt;Endpoints&gt;       &lt;InputEndpoint name=&quot;Endpoint1&quot; protocol=&quot;http&quot; port=&quot;80&quot; \/&gt;     &lt;\/Endpoints&gt;     &lt;Startup&gt;       &lt;Task commandLine=&quot;startup.cmd&quot; executionContext=&quot;elevated&quot; taskType=&quot;simple&quot; &gt;       &lt;\/Task&gt;     &lt;\/Startup&gt;   &lt;\/WebRole&gt; &lt;\/ServiceDefinition&gt; <\/code><\/pre>\n<p>  \u0418\u043c\u044f \u0440\u043e\u043b\u0438 \u0438 \u0438\u043c\u044f \u043f\u0430\u043f\u043a\u0438, \u0433\u0434\u0435 \u043e\u043d\u0430 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f, \u043f\u043e\u0447\u0435\u043c\u0443-\u0442\u043e \u0434\u043e\u043b\u0436\u043d\u044b \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u0442\u044c. <\/p>\n<p>  <b>[redmine222.cloud.cscfg]<\/b>  <\/p>\n<pre><code>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt; &lt;ServiceConfiguration serviceName=&quot;WindowsAzure2&quot; xmlns=&quot;http:\/\/schemas.microsoft.com\/ServiceHosting\/2008\/10\/ServiceConfiguration&quot; osFamily=&quot;2&quot; osVersion=&quot;*&quot; schemaVersion=&quot;2013-03.2.0&quot;&gt;   &lt;Role name=&quot;redmine222&quot;&gt;     &lt;Instances count=&quot;1&quot; \/&gt;     &lt;ConfigurationSettings&gt;     &lt;\/ConfigurationSettings&gt;   &lt;\/Role&gt; &lt;\/ServiceConfiguration&gt;<\/code><\/pre>\n<p>  \u041e\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u0438 \u0444\u043e\u0440\u043c\u0430\u0442\u044b \u044d\u0442\u0438\u0445 \u0444\u0430\u0439\u043b\u043e\u0432 \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u0432 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0435 \u0438 \u0432 \u0441\u0430\u043c\u043e\u0439 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u043a Windows Azure, \u0442\u0430\u043a \u0447\u0442\u043e \u043e\u043f\u0443\u0441\u0442\u0438\u043c \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u0438. <\/p>\n<p>  <b>[redmine222.pack.cmd]<\/b>  <\/p>\n<pre><code>@echo off  set WINDOWS_AZURE_SDK_PATH=&quot;C:\\Program Files\\Microsoft SDKs\\Windows Azure\\.NET SDK\\v2.1&quot;  call %WINDOWS_AZURE_SDK_PATH%\\bin\\setenv.cmd  pushd %~dp0  if &quot;%ServiceHostingSDKInstallPath%&quot; == &quot;&quot; (     echo Can't see the ServiceHostingSDKInstallPath environment variable. Please run from a Windows Azure SDK command-line (run Program Files\\Windows Azure SDK\\^&lt;version^&gt;\\bin\\setenv.cmd^).     GOTO :eof )  rem \u0422\u0443\u0442 \u043c\u043e\u0436\u043d\u043e \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u044b, \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c IIS \u0438 \u0442.\u043f. rem iisreset \/stop  rem \u041f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u0442\u044c deploy_done.rb \u0432 deploy.rb \u0447\u0442\u043e\u0431\u044b \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0434\u0435\u043f\u043b\u043e\u044f \u043f\u043e \u043d\u043e\u0432\u043e\u0439 ren redmine222\\deploy_done.rb deploy.rb  rem \u042d\u0442\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u0441\u043e\u0437\u0434\u0430\u0435\u0442 \u043f\u0430\u043a\u0435\u0442 \u0434\u043b\u044f Windows Azure cspack redmine222.csdef \/out:redmine222.cspkg  popd<\/code><\/pre>\n<p>  \u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043d\u0430 \u0441\u0442\u0440\u043e\u0447\u043a\u0443  <\/p>\n<pre><code>ren redmine222\\deploy_done.rb deploy.rb<\/code><\/pre>\n<p>  \u042d\u0442\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u043f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u043e\u0432\u044b\u0432\u0430\u0435\u0442 \u0444\u0430\u0439\u043b deploy_done.rb \u0432 deploy.rb, \u0447\u0442\u043e \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u0442 \u043a \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u043e\u043c\u0443 \u0437\u0430\u043f\u0443\u0441\u043a\u0443 \u0434\u0435\u043f\u043b\u043e\u0439-\u0441\u043a\u0440\u0438\u043f\u0442\u0430 \u0432 Helicon Zoo \u043f\u0440\u0438 \u043f\u0435\u0440\u0432\u043e\u043c \u0437\u0430\u043f\u0440\u043e\u0441\u0435 \u043a \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0432\u0448\u0435\u043c\u0443\u0441\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044e. \u0415\u0441\u043b\u0438 \u043c\u044b \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u0443\u043f\u0430\u043a\u043e\u0432\u0430\u043b\u0438 \u0432\u0441\u0435 \u043c\u043e\u0434\u0443\u043b\u0438 \u0438 \u043d\u0430\u043c \u043d\u0435 \u043d\u0443\u0436\u043d\u043e \u043c\u0438\u0433\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0431\u0430\u0437\u0443 \u0434\u0430\u043d\u043d\u044b\u0445, \u0442\u043e \u044d\u0442\u043e\u0442 \u0448\u0430\u0433 \u043d\u0435 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u0435\u043d \u0438 \u043c\u043e\u0436\u0435\u0442 \u0441\u044d\u043a\u043e\u043d\u043e\u043c\u0438\u0442\u044c \u0432\u0440\u0435\u043c\u044f. \u041e\u0434\u043d\u0430\u043a\u043e \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u044c \u0442\u043e\u0433\u043e \u0447\u0442\u043e \u0441 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0440\u0430\u0437\u0430 \u0432\u0441\u0435 \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u0443\u043f\u0430\u043a\u043e\u0432\u0430\u043d\u043e \u043d\u0435 \u043e\u0447\u0435\u043d\u044c \u0432\u044b\u0441\u043e\u043a\u0430, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0434\u043b\u044f \u043f\u0435\u0440\u0432\u044b\u0445 \u043f\u043e\u043f\u044b\u0442\u043e\u043a \u044f \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u044e \u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u044d\u0442\u0443 \u0441\u0442\u0440\u043e\u0447\u043a\u0443. <\/p>\n<p>  \u0415\u0449\u0435 \u043e\u0434\u043d\u043e\u0439 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u0435\u0439 \u0431\u0443\u0434\u0435\u0442 \u043e\u0442\u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0444\u0430\u0439\u043b web.config \u043a\u043e\u0440\u043d\u044f \u0441\u0430\u0439\u0442\u0430 \u0438 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0442\u0430\u043a\u0443\u044e \u0441\u0442\u0440\u043e\u0447\u043a\u0443 \u0432 \u0441\u0435\u043a\u0446\u0438\u044e &lt;system.webServer&gt;:  <\/p>\n<pre><code>&lt;httpErrors existingResponse=&quot;PassThrough&quot; \/&gt;<\/code><\/pre>\n<p>  \u042d\u0442\u0430 \u0441\u0442\u0440\u043e\u0447\u043a\u0430 \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u0432\u044b\u0434\u0430\u0447\u0443 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u044b\u0445 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439 \u043e 500-\u0439 \u043e\u0448\u0438\u0431\u043a\u0435 \u043f\u0440\u0438 \u0432\u043d\u0435\u0448\u043d\u0438\u0445 \u0437\u0430\u043f\u0440\u043e\u0441\u0430\u0445 \u043a IIS. \u0411\u0435\u0437 \u044d\u0442\u043e\u0439 \u0441\u0442\u0440\u043e\u0447\u043a\u0438 \u0435\u0441\u043b\u0438 \u0447\u0442\u043e-\u0442\u043e \u0441\u043b\u043e\u043c\u0430\u0435\u0442\u0441\u044f \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438, \u0442\u043e \u0442\u0435\u043a\u0441\u0442\u0430 \u043e\u0448\u0438\u0431\u043a\u0438 \u0432\u044b \u043d\u0435 \u0443\u0432\u0438\u0434\u0438\u0442\u0435, \u0430 \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u0443\u0445\u043e\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 &#8216;Server error&#8217;. \u0414\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0432 production \u0440\u0435\u0436\u0438\u043c\u0435 \u044d\u0442\u0443 \u0441\u0442\u0440\u043e\u043a\u0443 \u043b\u0443\u0447\u0448\u0435 \u0443\u0431\u0440\u0430\u0442\u044c, \u043d\u043e \u0434\u043b\u044f \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043e\u043d\u0430 \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0438\u0433\u043e\u0434\u0438\u0442\u044c\u0441\u044f. <\/p>\n<p>  \u041f\u043e <a href=\"https:\/\/dl.dropboxusercontent.com\/u\/7840290\/habrahabr\/redmine222.zip\">\u044d\u0442\u043e\u0439 \u0441\u0441\u044b\u043b\u043a\u0435<\/a> \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043d\u0430\u0439\u0442\u0438 \u043f\u0440\u0438\u043c\u0435\u0440\u044b \u043e\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0445 \u0432\u044b\u0448\u0435 \u0444\u0430\u0439\u043b\u043e\u0432 \u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0438 \u0441\u043e \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043e\u0439 \u043f\u0430\u043f\u043e\u043a \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u2013 \u0447\u0442\u043e\u0431\u044b \u0431\u044b\u043b\u043e \u043f\u043e\u043d\u044f\u0442\u043d\u0435\u0435 \u0447\u0442\u043e \u043a\u0443\u0434\u0430 \u043b\u043e\u0436\u0438\u0442\u044c. <\/p>\n<p>  \u0412\u0441\u0435, \u0444\u0430\u0439\u043b\u044b \u0433\u043e\u0442\u043e\u0432\u044b. \u0422\u0435\u043f\u0435\u0440\u044c \u043f\u0435\u0440\u0435\u0434 \u0432\u044b\u0437\u043e\u0432\u043e\u043c redmine222.pack.cmd \u043d\u0443\u0436\u043d\u043e \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c IIS \u0438\u043b\u0438 IIS Express \u043d\u0430 \u0440\u0430\u0431\u043e\u0447\u0435\u0439 \u0441\u0442\u0430\u043d\u0446\u0438\u0438, \u0447\u0442\u043e\u0431\u044b \u0440\u0430\u0437\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0444\u0430\u0439\u043b\u044b \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f. \u0417\u0430\u0442\u0435\u043c \u0432\u044b\u0437\u0432\u0430\u0442\u044c redmine222.pack.cmd \u0438\u0437 \u043d\u0430\u0448\u0435\u0439 \u043a\u043e\u043d\u0441\u043e\u043b\u0438 \u0441 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u0438\u0432\u043d\u044b\u043c\u0438 \u043f\u0440\u0430\u0432\u0430\u043c\u0438. \u041f\u0440\u043e\u0446\u0435\u0441\u0441 \u0443\u043f\u0430\u043a\u043e\u0432\u043a\u0438 \u0437\u0430\u0439\u043c\u0435\u0442 \u043a\u0430\u043a\u043e\u0435-\u0442\u043e \u0432\u0440\u0435\u043c\u044f \u0438 \u0432 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u0443 \u043d\u0430\u0441 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0441\u044f \u0444\u0430\u0439\u043b redmine222.cspkg, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0444\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u043e\u0439 ZIP \u0430\u0440\u0445\u0438\u0432 \u0441\u043e \u0432\u0441\u0435\u043c\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u043c\u0438 \u043f\u0430\u043a\u0435\u0442\u0430\u043c\u0438. \u0420\u0430\u0437\u043c\u0435\u0440 \u044d\u0442\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430 \u0443 \u043c\u0435\u043d\u044f \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0441\u044f 138 \u043c\u0435\u0433\u0430\u0431\u0430\u0439\u0442, \u0447\u0442\u043e \u043d\u0435\u043c\u0430\u043b\u043e, \u0442.\u043a. \u0432 \u043d\u0435\u0433\u043e \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u044b \u0432\u0435\u0440\u0441\u0438\u0438 Ruby 1.8, 1.9, \u0434\u0432\u0435 \u0432\u0435\u0440\u0441\u0438\u0438 Ruby DevKit, Helicon Zoo Module, Microsoft URL Rewrite, \u0441\u0430\u043c Redmine \u0438 \u0432\u0441\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u043c\u044b\u0435 \u0434\u043b\u044f \u0435\u0433\u043e \u0440\u0430\u0431\u043e\u0442\u044b gem-\u044b. \u0417\u0430\u0442\u043e \u044d\u0442\u043e\u0442 \u0430\u0440\u0445\u0438\u0432 \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u0432 \u0441\u0435\u0431\u044f \u0432\u0441\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u0438 \u043d\u0430\u043c \u043d\u0435 \u043f\u0440\u0438\u0434\u0435\u0442\u0441\u044f \u043d\u0438\u0447\u0435\u0433\u043e \u043a\u0430\u0447\u0430\u0442\u044c \u0438\u0437 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0430, \u0430 \u0441\u0430\u043c \u0436\u0435 \u0430\u0440\u0445\u0438\u0432 \u0431\u0443\u0434\u0435\u0442 \u043f\u0435\u0440\u0435\u0434\u0430\u043d \u0432\u043d\u0443\u0442\u0440\u0438 \u0441\u0435\u0442\u0438 Azure, \u0447\u0442\u043e, \u0441\u043c\u0435\u044e \u043d\u0430\u0434\u0435\u044f\u0442\u044c\u0441\u044f, \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0431\u044b\u0441\u0442\u0440\u0435\u0435. <\/p>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u043f\u0435\u0440\u0435\u0439\u0434\u0435\u043c \u0432 \u043f\u043e\u0440\u0442\u0430\u043b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f Windows Azure. \u041d\u0443\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043d\u043e\u0432\u044b\u0439 Cloud Service \u0438 \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u0435\u043c\u0443 URL: <\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/habr.habrastorage.org\/post_images\/588\/51c\/e1c\/58851ce1c2f0e0b909197798b1d70a22.png\"\/><\/p>\n<p>  \u0417\u0430\u0442\u0435\u043c \u043d\u0443\u0436\u043d\u043e \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u00abNew staging deployment\u00bb: <\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/habr.habrastorage.org\/post_images\/d5a\/923\/d03\/d5a923d034f7abb160609f88c82f3cae.png\"\/><\/p>\n<p>  \u0412\u044b\u0431\u0440\u0430\u0442\u044c \u043d\u0430\u0448\u0438 \u0444\u0430\u0439\u043b\u044b \u0441 Redmine \u0438\u0437 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u0430\u043f\u043a\u0438. \u041d\u0443\u0436\u043d\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u0444\u043b\u0430\u0433 \u00abDeploy even if role contain a single instance\u00bb, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0432 \u0444\u0430\u0439\u043b\u0435 redmine222.csdef \u043c\u044b \u0443\u043a\u0430\u0437\u0430\u043b\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043e\u0434\u0438\u043d \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 \u0440\u043e\u043b\u0438, \u0447\u0435\u0433\u043e \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u043e\u0432, \u0445\u043e\u0442\u044f \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0445 \u0443\u0441\u043b\u043e\u0432\u0438\u044f\u0445 \u0432\u0430\u043c, \u0441\u043a\u043e\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043e, \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c \u044d\u0442\u043e \u0447\u0438\u0441\u043b\u043e. <\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/habr.habrastorage.org\/post_images\/5ba\/af6\/ea8\/5baaf6ea8e127f238b3fa6edcd56afda.png\"\/><\/p>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e \u043d\u0430\u0447\u043d\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u043f\u0430\u043a\u0435\u0442\u0430 \u0432 Azure, \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043d\u043e\u0432\u043e\u0439 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u044b, \u0440\u0430\u0437\u0432\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u043d\u0438\u044f \u043d\u0430\u0448\u0435\u0433\u043e \u043f\u0430\u043a\u0435\u0442\u0430 \u0441 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435\u043c \u043d\u0430 \u044d\u0442\u043e\u0439 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u0435 \u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043e\u0447\u043d\u044b\u0445 \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432. \u041f\u0440\u043e\u0446\u0435\u0441\u0441 \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u0434\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439, \u0443 \u043c\u0435\u043d\u044f \u043e\u043d \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442 \u043c\u0438\u043d\u0443\u0442 20 \u2013 \u043d\u0435 \u043c\u0435\u043d\u044c\u0448\u0435. \u041a\u043e\u0433\u0434\u0430 \u0432\u0441\u0435 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u044b \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0431\u0443\u0434\u0443\u0442 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u044b, \u043d\u0430\u0436\u043c\u0438\u0442\u0435 \u043d\u0430 \u0441\u0441\u044b\u043b\u043a\u0443 Site URL. <\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/habr.habrastorage.org\/post_images\/5d4\/5d6\/082\/5d45d6082a2aa88e5dfa92bf0feff447.png\"\/><\/p>\n<p>  \u0412\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 Applcation deployment \u0438\u0437 Helicon Zoo, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0437\u0430\u0442\u0435\u043c \u043e\u0431\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u043d\u0430 \u0434\u043e\u043c\u0430\u0448\u043d\u044e\u044e \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 Redmine: <\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/habr.habrastorage.org\/post_images\/7ba\/db1\/83f\/7badb183fe7d30a11cb71dd74f6ba5c0.png\"\/><\/p>\n<p>  \u0427\u0442\u043e\u0431\u044b \u0437\u0430\u0442\u0435\u043c \u0432\u0430\u0448 \u0432\u0435\u0431 \u0441\u0430\u0439\u0442 \u0441\u0442\u0430\u043b \u0432\u0438\u0434\u0435\u043d \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f\u043c \u043f\u043e\u0434 \u0431\u043e\u043b\u0435\u0435 \u043f\u0440\u0438\u0435\u043c\u043b\u0435\u043c\u044b\u043c \u0434\u043e\u043c\u0435\u043d\u043d\u044b\u043c \u0438\u043c\u0435\u043d\u0435\u043c, \u0432\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0432 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u0445 \u0432\u0430\u0448\u0435\u0433\u043e \u0434\u043e\u043c\u0435\u043d\u0430 \u0443 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0430 \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u043b\u0438\u0431\u043e CNAME \u0437\u0430\u043f\u0438\u0441\u044c \u043d\u0430 \u0434\u043e\u043c\u0435\u043d\u043d\u043e\u0435 \u0438\u043c\u044f \u0432\u043d\u0443\u0442\u0440\u0438 .cloudapp.net (\u043f\u0440\u0435\u0434\u043f\u043e\u0447\u0442\u0438\u0442\u0435\u043b\u044c\u043d\u043e) \u0438\u043b\u0438 \u0443\u043a\u0430\u0437\u0430\u0442\u044c &#8216;A&#8217;-record \u0432\u0430\u0448\u0435\u0433\u043e \u0434\u043e\u043c\u0435\u043d\u0430 \u043d\u0430 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u0439 IP \u0430\u0434\u0440\u0435\u0441 \u0432\u0430\u0448\u0435\u0433\u043e Azure-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f. \u0421\u0430\u043c \u0436\u0435 Microsoft \u043d\u0435 \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u0443\u0441\u043b\u0443\u0433 \u043f\u043e \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u0438 \u0434\u043e\u043c\u0435\u043d\u043e\u0432. <\/p>\n<h1>Python<\/h1>\n<p>  \u0412 \u044d\u0442\u043e\u0439 \u0433\u043b\u0430\u0432\u0435 \u043c\u044b \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u043a\u0430\u043a \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0432\u0440\u0443\u0447\u043d\u0443\u044e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043d\u0435 \u0432\u0445\u043e\u0434\u0438\u0442 \u0432 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 Helicon Zoo. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 <a href=\"http:\/\/www.getlfs.com\/\">Lightning Fast Shop<\/a> (LFS) \u0441 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u043c \u043a\u043e\u0434\u043e\u043c, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0435 \u043d\u0430 Python \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 Django. \u0428\u0430\u0433\u0438 \u043f\u043e \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0432 Azure Cloud Service \u0431\u0443\u0434\u0443\u0442 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0438\u0434\u0435\u043d\u0442\u0438\u0447\u043d\u044b \u0441 \u043f\u0440\u043e\u0448\u043b\u043e\u0439 \u0433\u043b\u0430\u0432\u043e\u0439, \u0430 \u0432\u043e\u0442 \u0448\u0430\u0433\u0438 \u043f\u043e \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043d\u0430 \u0440\u0430\u0431\u043e\u0447\u0435\u0439 \u0441\u0442\u0430\u043d\u0446\u0438\u0438 \u0431\u0443\u0434\u0443\u0442 \u0434\u0440\u0443\u0433\u0438\u043c\u0438. <\/p>\n<p>  \u0418\u0442\u0430\u043a, \u0441\u0442\u0430\u0432\u0438\u043c <a href=\"http:\/\/www.microsoft.com\/web\/downloads\/platform.aspx\">Microsoft Web Platform Installer<\/a>, <a href=\"http:\/\/www.helicontech.com\/zoo\/install.htm\">Helicon Zoo feed<\/a> \u0438 <a href=\"http:\/\/wpi:placeholder&amp;amp;WindowsAzureSDK_2_1???\">Windows Azure SDK<\/a>, \u043a\u0430\u043a \u0432 \u043f\u0440\u043e\u0448\u043b\u043e\u0439 \u0433\u043b\u0430\u0432\u0435, \u0435\u0441\u043b\u0438 \u0435\u0449\u0435 \u0447\u0442\u043e-\u0442\u043e \u0438\u0437 \u044d\u0442\u043e\u0433\u043e \u043d\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043e. \u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c Web Platform Installer \u0438 \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c Zoo -&gt; Templates -&gt; Python project \u043d\u0430 IIS Express. <\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/habr.habrastorage.org\/post_images\/881\/fae\/bdb\/881faebdb4cf975489fe18cfb710cfc7.png\"\/><\/p>\n<p>  \u0417\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0441\u044f WebMatrix \u0438 \u043e\u0442\u043a\u0440\u043e\u0435\u0442\u0441\u044f \u043d\u043e\u0432\u044b\u0439 \u0441\u0430\u0439\u0442: <\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/habr.habrastorage.org\/post_images\/262\/b5e\/30b\/262b5e30b94281dfc752e58fc373b30a.png\"\/><\/p>\n<p>  \u041c\u044b \u0442\u043e\u043b\u044c\u043a\u043e \u0447\u0442\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b\u0438 \u0448\u0430\u0431\u043b\u043e\u043d\u043d\u044b\u0439 \u043f\u0440\u043e\u0435\u043a\u0442 \u0434\u043b\u044f Python. \u0412 \u044d\u0442\u043e\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0435 \u0443\u0436\u0435 \u0441\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u043d virtualenv, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0438 \u0431\u0443\u0434\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d \u0434\u043b\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0432\u0441\u0435\u0445 \u043c\u043e\u0434\u0443\u043b\u0435\u0439 \u0438 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439 \u0432\u043d\u0443\u0442\u0440\u044c \u0441\u0430\u0439\u0442\u0430. \u0414\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0441\u0432\u043e\u0435\u0433\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u043d\u0430 Python \u043c\u043e\u0436\u043d\u043e \u0438\u0434\u0442\u0438 \u0434\u0430\u043b\u044c\u0448\u0435 \u043f\u043e \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u043d\u0430 \u043f\u0440\u0438\u0433\u043b\u0430\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 Python project. \u0422\u043e\u043b\u044c\u043a\u043e \u043d\u0435 \u0437\u0430\u0431\u044b\u0432\u0430\u0439\u0442\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u043a\u043e\u043d\u0441\u043e\u043b\u044c \u0438\u043b\u0438 IDE (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 <a href=\"http:\/\/www.jetbrains.com\/pycharm\/\">PyCharm<\/a> ) \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f Helicon Zoo Manager, \u0447\u0442\u043e\u0431\u044b \u043a\u043e\u043d\u0441\u043e\u043b\u044c \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u043b\u0430\u0441\u044c \u0441 \u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0441\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u043c virtualenv, \u0438\u043d\u0430\u0447\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u043d\u0435 \u043d\u0430\u0439\u0434\u0443\u0442 \u043f\u0443\u0442\u0435\u0439 \u043a \u043d\u0430\u0448\u0435\u043c\u0443 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044e. <\/p>\n<p>  Lightning Fast Shop \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0431\u043e\u043b\u044c\u0448\u0430\u044f \u0438 \u043a\u0430\u043f\u0440\u0438\u0437\u043d\u0430\u044f \u0432 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u044f \u043f\u0440\u043e\u0448\u0443 \u0432\u0430\u0441 \u0448\u0430\u0433 \u0437\u0430 \u0448\u0430\u0433\u043e\u043c \u043f\u043e\u0432\u0442\u043e\u0440\u0438\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044e \u043f\u043e \u0435\u0433\u043e \u0440\u0443\u0447\u043d\u043e\u0439 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435 \u043d\u0430 IIS \u0438 Helicon Zoo. \u042f \u043d\u0435 \u0431\u0443\u0434\u0443 \u0434\u0430\u0432\u0430\u0442\u044c \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u044b\u0445 \u043e\u0431\u044a\u044f\u0441\u043d\u0435\u043d\u0438\u0439, \u0447\u0442\u043e \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u044f\u0449\u0435\u0435 \u0438\u043c\u0435\u0435\u0442 \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u0435 \u043a \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u044f\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0430 LFS, \u0430 \u043d\u0435 \u043a Helicon Zoo \u0438\u043b\u0438 Azure. \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0434\u0440\u0443\u0433\u043e\u0433\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u043c\u043e\u0436\u0435\u0442 \u0438\u0434\u0442\u0438 \u043f\u043e \u0434\u0440\u0443\u0433\u043e\u043c\u0443 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u044e. \u0412 \u0441\u043b\u0443\u0447\u0430\u0435 \u043d\u0435\u0443\u0434\u0430\u0447\u0438 \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u043d\u0430\u0447\u0430\u0442\u044c \u0441 \u0431\u043e\u043b\u0435\u0435 \u043c\u0435\u043b\u043a\u0438\u0445 \u0438 \u043f\u0440\u043e\u0441\u0442\u044b\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432, \u0441\u043b\u0435\u0434\u0443\u044f \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f\u043c \u0438\u0437 Python project. \u041f\u0440\u043e\u0435\u043a\u0442 LFS \u044f \u0432\u044b\u0431\u0440\u0430\u043b \u043f\u0440\u043e\u0441\u0442\u043e \u0434\u043b\u044f \u0442\u043e\u0433\u043e \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u0447\u0442\u043e \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u00abHello World\u00bb \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u043d\u0430 Azure Cloud Services.   <\/p>\n<ol>\n<li>\u0421\u043a\u0430\u0447\u0430\u0439\u0442\u0435 \u0434\u0438\u0441\u0442\u0440\u0443\u0431\u0443\u0442\u0438\u0432 LFS \u0441 <a href=\"https:\/\/pypi.python.org\/pypi\/django-lfs\">\u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0441\u0430\u0439\u0442\u0430<\/a>. \u042f \u0432\u044b\u0431\u0440\u0430\u043b \u0432\u0435\u0440\u0441\u0438\u044e 0.7.7. \u041d\u0443\u0436\u043d\u043e \u0441\u043a\u0430\u0447\u0430\u0442\u044c \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e installer-\u0432\u0435\u0440\u0441\u0438\u044e, \u0443 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0438\u043c\u044f \u0444\u0430\u0439\u043b\u0430 \u0432\u0440\u043e\u0434\u0435 django-lfs-installer-0.7.7.tar.gz. <br \/>  \u0412 \u0430\u0440\u0445\u0438\u0432\u0435 \u0431\u0443\u0434\u0435\u0442 \u043f\u0430\u043f\u043a\u0430 <b>&#8216;lfs-installer&#8217;<\/b> \u2013 \u0440\u0430\u0441\u043f\u0430\u043a\u0443\u0439\u0442\u0435 <b>\u0435\u0451 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435<\/b> \u0432 \u043a\u043e\u0440\u0435\u043d\u044c \u0441\u0430\u0439\u0442\u0430 \u0441 \u043d\u0430\u0448\u0438\u043c Python project (\u0432 \u043c\u043e\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u044d\u0442\u043e \u043f\u0430\u043f\u043a\u0430 C:\\Users\\Slov\\Documents\\My Web Sites\\ZooPythonProject2). <br \/>  \u0417\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435 Helicon Zoo Manager, \u0432\u044b\u0431\u0435\u0440\u0435\u0442\u0435 \u043d\u0443\u0436\u043d\u044b\u0439 \u0441\u0430\u0439\u0442 \u0441 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u043c \u0438 \u043d\u0430\u0436\u043c\u0438\u0442\u0435 \u043d\u0430 Start IDE, \u0447\u0442\u043e\u0431\u044b \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0441\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0443\u044e \u043a\u043e\u043d\u0441\u043e\u043b\u044c. <br \/>  \u0412 \u043a\u043e\u043d\u0441\u043e\u043b\u0438 \u0432\u0432\u0435\u0434\u0438\u0442\u0435:<br \/> \n<pre><code>python bootstrap.py<\/code><\/pre>\n<p>\u0417\u0430\u0442\u0435\u043c  <\/p>\n<pre><code>bin\\buildout \u2013v<\/code><\/pre>\n<p>\u0417\u0430\u0442\u0435\u043c \u043e\u0442\u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u0443\u0439\u0442\u0435 \u0444\u0430\u0439\u043b lfs_project\\settings.py \u0438 \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u0435 \u0441\u0435\u043a\u0446\u0438\u044e DATABASES \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u0442\u0435\u043a\u0441\u0442\u043e\u043c, \u0434\u043b\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0432 \u043f\u0440\u043e\u0435\u043a\u0442\u0435 SQLite:  <\/p>\n<pre><code>DATABASES = {     'default': {         'ENGINE': 'django.db.backends.sqlite3', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.         'NAME': os.path.join(DIRNAME, 'sqlite3.bd'),                      # Or path to database file if using sqlite3.         'USER': '',                      # Not used with sqlite3.         'PASSWORD': '',                  # Not used with sqlite3.         'HOST': '',                      # Set to empty string for localhost. Not used with sqlite3.         'PORT': '',                      # Set to empty string for default. Not used with sqlite3.     } }<\/code><\/pre>\n<p>\u0417\u0430\u0442\u0435\u043c \u0432\u0432\u0435\u0434\u0438\u0442\u0435 \u0432 \u043a\u043e\u043d\u0441\u043e\u043b\u0438 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0442\u0430\u043a\u0438\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b:  <\/p>\n<pre><code>bin\\django syncdb bin\\django lfs_init bin\\django collectstatic<\/code><\/pre>\n<p>\u0415\u0441\u043b\u0438 \u0432\u0441\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u043b\u043e\u0441\u044c \u0431\u0435\u0437 \u043e\u0448\u0438\u0431\u043e\u043a, \u0442\u043e \u0442\u0435\u043f\u0435\u0440\u044c \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u0439 \u0441\u0435\u0440\u0432\u0435\u0440 Django, \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u0443 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 LFS \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u043e\u0442 \u0432\u0435\u0431 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 IIS. \u0412\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0435 \u0432 \u043a\u043e\u043d\u0441\u043e\u043b\u0438:  <\/p>\n<pre><code>bin\/django runserver<\/code><\/pre>\n<p>\u0418 \u0437\u0430\u0442\u0435\u043c \u043e\u0442\u043a\u0440\u043e\u0439\u0442\u0435 \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435 <a href=\"http:\/\/localhost:8080\/\">http:\/\/localhost:8080\/<\/a><\/p>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c, \u0447\u0442\u043e\u0431\u044b \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u043f\u0440\u043e\u0435\u043a\u0442 \u043d\u0430 IIS \u0447\u0435\u0440\u0435\u0437 Helicon Zoo, \u043d\u0443\u0436\u043d\u043e \u0437\u0430\u0434\u0430\u0442\u044c PYTHONPATH \u0432 \u0444\u0430\u0439\u043b\u0435 <b>web.config<\/b>. \u0423 LFS \u043e\u043d \u0434\u043b\u0438\u043d\u043d\u044b\u0439 \u0438 \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u0432 \u0441\u0435\u0431\u044f \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e egg-\u043f\u0430\u043a\u0435\u0442\u043e\u0432. \u041d\u0430\u0439\u0442\u0438 \u0435\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u0432 \u0444\u0430\u0439\u043b\u0435 bin\\django_script.py:  <\/p>\n<pre><code>#!&quot;C:\\Users\\Slov\\Documents\\My Web Sites\\ZooPythonProject2\\venv\\Scripts\\python.exe&quot;  import sys sys.path[0:0] = [   'c:\\\\users\\\\slov\\\\docume~1\\\\mywebs~1\\\\zoopyt~1\\\\eggs\\\\django_lfs-0.7.6-py2.7.egg',   'c:\\\\users\\\\slov\\\\docume~1\\\\mywebs~1\\\\zoopyt~1\\\\eggs\\\\gunicorn-18.0-py2.7.egg',   'c:\\\\users\\\\slov\\\\docume~1\\\\mywebs~1\\\\zoopyt~1\\\\eggs\\\\djangorecipe-1.1.2-py2.7.egg',   'c:\\\\users\\\\slov\\\\docume~1\\\\mywebs~1\\\\zoopyt~1\\\\eggs\\\\django-1.3.1-py2.7.egg',   'c:\\\\users\\\\slov\\\\docume~1\\\\mywebs~1\\\\zoopyt~1\\\\eggs\\\\zc.recipe.egg-2.0.1-py2.7.egg',   'c:\\\\users\\\\slov\\\\docume~1\\\\mywebs~1\\\\zoopyt~1\\\\eggs\\\\zc.buildout-2.2.1-py2.7.egg',   'c:\\\\users\\\\slov\\\\docume~1\\\\mywebs~1\\\\zoopyt~1\\\\eggs\\\\south-0.7.3-py2.7.egg',   'c:\\\\users\\\\slov\\\\docume~1\\\\mywebs~1\\\\zoopyt~1\\\\eggs\\\\pillow-1.7.5-py2.7-win32.egg',   'c:\\\\users\\\\slov\\\\docume~1\\\\mywebs~1\\\\zoopyt~1\\\\eggs\\\\lfs_order_numbers-1.0b1-py2.7.egg',   'c:\\\\users\\\\slov\\\\docume~1\\\\mywebs~1\\\\zoopyt~1\\\\eggs\\\\lfs_contact-1.0-py2.7.egg',   'c:\\\\users\\\\slov\\\\docume~1\\\\mywebs~1\\\\zoopyt~1\\\\eggs\\\\django_tagging-0.3.1-py2.7.egg',   'c:\\\\users\\\\slov\\\\docume~1\\\\mywebs~1\\\\zoopyt~1\\\\eggs\\\\django_reviews-0.2.1-py2.7.egg',   'c:\\\\users\\\\slov\\\\docume~1\\\\mywebs~1\\\\zoopyt~1\\\\eggs\\\\django_postal-0.9-py2.7.egg',   'c:\\\\users\\\\slov\\\\docume~1\\\\mywebs~1\\\\zoopyt~1\\\\eggs\\\\django_portlets-1.1.1-py2.7.egg',   'c:\\\\users\\\\slov\\\\docume~1\\\\mywebs~1\\\\zoopyt~1\\\\eggs\\\\django_paypal-0.1.2-py2.7.egg',   'c:\\\\users\\\\slov\\\\docume~1\\\\mywebs~1\\\\zoopyt~1\\\\eggs\\\\django_pagination-1.0.7-py2.7.egg',   'c:\\\\users\\\\slov\\\\docume~1\\\\mywebs~1\\\\zoopyt~1\\\\eggs\\\\django_lfstheme-0.7.3-py2.7.egg',   'c:\\\\users\\\\slov\\\\docume~1\\\\mywebs~1\\\\zoopyt~1\\\\eggs\\\\django_compressor-1.1.1-py2.7.egg',   'c:\\\\users\\\\slov\\\\documents\\\\my web sites\\\\zoopythonproject2\\\\venv\\\\lib\\\\site-packages',   'c:\\\\users\\\\slov\\\\docume~1\\\\mywebs~1\\\\zoopyt~1\\\\eggs\\\\django_piston-0.2.3-py2.7.egg',   'c:\\\\users\\\\slov\\\\docume~1\\\\mywebs~1\\\\zoopyt~1\\\\eggs\\\\django_countries-1.5-py2.7.egg',   'c:\\\\users\\\\slov\\\\docume~1\\\\mywebs~1\\\\zoopyt~1\\\\eggs\\\\django_appconf-0.6-py2.7.egg',   'c:\\\\users\\\\slov\\\\docume~1\\\\mywebs~1\\\\zoopyt~1\\\\eggs\\\\six-1.4.1-py2.7.egg',   'c:\\\\users\\\\slov\\\\docume~1\\\\mywebs~1\\\\zoopyt~1\\\\parts\\\\django',   'c:\\\\users\\\\slov\\\\docume~1\\\\mywebs~1\\\\zoopyt~1',   'c:\\\\users\\\\slov\\\\docume~1\\\\mywebs~1\\\\zoopyt~1\\\\parts',   'c:\\\\users\\\\slov\\\\docume~1\\\\mywebs~1\\\\zoopyt~1\\\\lfs_project',   ]  import djangorecipe.manage  if __name__ == '__main__':     sys.exit(djangorecipe.manage.main('lfs_project.settings'))<\/code><\/pre>\n<p>  \u041a\u0430\u043a \u0432\u0438\u0434\u043d\u043e \u0442\u0430\u043c \u0430\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u044b\u0435 \u043f\u0443\u0442\u0438, \u0447\u0442\u043e \u043d\u0430\u043c \u043d\u0435 \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442, \u0432\u0435\u0434\u044c \u043f\u0440\u043e\u0435\u043a\u0442 \u0431\u0443\u0434\u0435\u0442 \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u0442\u0441\u044f \u0432 Azure. \u0414\u043b\u044f \u0437\u0430\u0434\u0430\u043d\u0438\u044f PYTHONPATH \u0447\u0435\u0440\u0435\u0437 web.config \u044d\u0442\u0438 \u043f\u0443\u0442\u0438 \u043d\u0443\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u0434\u0435\u043b\u0430\u0442\u044c \u0432 \u0442\u0430\u043a\u043e\u0439, \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0441\u0442\u0440\u0430\u043d\u043d\u044b\u0439 \u0444\u043e\u0440\u043c\u0430\u0442. \u0412\u043e\u0442 \u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442 \u043c\u043e\u0435\u0433\u043e web.config:  <\/p>\n<pre><code>&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;  &lt;configuration&gt;   &lt;system.webServer&gt;   &lt;heliconZoo&gt;    &lt;application name=&quot;python.project&quot;&gt;     &lt;environmentVariables&gt;         &lt;add name=&quot;VIRTUAL_ENV&quot; value=&quot;%APPL_PHYSICAL_PATH%\\venv&quot; \/&gt;         &lt;add name=&quot;PATH&quot; value=&quot;%APPL_PHYSICAL_PATH%\\venv\\Scripts;%PATH%&quot; \/&gt;         &lt;add name=&quot;PYTHONPATH&quot; value=&quot;.\\eggs\\django_lfs-0.7.6-py2.7.egg         ;.\\eggs\\gunicorn-18.0-py2.7.egg         ;.\\eggs\\djangorecipe-1.1.2-py2.7.egg         ;.\\eggs\\django-1.3.1-py2.7.egg         ;.\\eggs\\zc.recipe.egg-2.0.1-py2.7.egg         ;.\\eggs\\zc.buildout-2.2.1-py2.7.egg         ;.\\eggs\\south-0.7.3-py2.7.egg         ;.\\eggs\\pillow-1.7.5-py2.7-win32.egg         ;.\\eggs\\lfs_order_numbers-1.0b1-py2.7.egg         ;.\\eggs\\lfs_contact-1.0-py2.7.egg         ;.\\eggs\\django_tagging-0.3.1-py2.7.egg         ;.\\eggs\\django_reviews-0.2.1-py2.7.egg         ;.\\eggs\\django_postal-0.9-py2.7.egg         ;.\\eggs\\django_portlets-1.1.1-py2.7.egg         ;.\\eggs\\django_paypal-0.1.2-py2.7.egg         ;.\\eggs\\django_pagination-1.0.7-py2.7.egg         ;.\\eggs\\django_lfstheme-0.7.3-py2.7.egg         ;.\\eggs\\django_compressor-1.1.1-py2.7.egg         ;.\\venv\\lib\\site-packages         ;.\\eggs\\django_piston-0.2.3-py2.7.egg         ;.\\eggs\\django_countries-1.5-py2.7.egg         ;.\\eggs\\django_appconf-0.6-py2.7.egg         ;.\\eggs\\six-1.4.1-py2.7.egg         ;.\\parts\\django         ;%APPL_PHYSICAL_PATH%         ;.\\parts         ;.\\lfs_project&quot; \/&gt;         &lt;add name=&quot;WSGI_APP&quot; value=&quot;welcome.application&quot; \/&gt;         &lt;add name=&quot;CONSOLE_URL&quot; value=&quot;console&quot; \/&gt;         &lt;add name=&quot;DEPLOY_FILE&quot; value=&quot;deploy.py&quot; \/&gt;         &lt;add name=&quot;ERROR_LOG_DIR&quot; value=&quot;log&quot; \/&gt;         &lt;add name=&quot;IDE&quot; value=&quot;C:\\Windows\\system32\\cmd.exe&quot; \/&gt;<\/code><\/pre>\n<p>  \u041c\u043e\u0436\u0435\u0442\u0435 \u0441\u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a \u0441\u0435\u0431\u0435 \u0432 web.config, \u043e\u0434\u043d\u0430\u043a\u043e \u0435\u0441\u043b\u0438 \u0432\u044b \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u0442\u0435 \u0432\u0435\u0440\u0441\u0438\u044e \u043e\u0442\u043b\u0438\u0447\u043d\u0443\u044e \u043e\u0442 0.7.7, \u0442\u043e \u0432\u0430\u0448 PYTHONPATH \u043c\u043e\u0436\u0435\u0442 \u043e\u0442\u043b\u0438\u0447\u0430\u0442\u044c\u0441\u044f.<\/p>\n<p>  \u0422\u0430\u043a\u0436\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e DJANGO_SETTINGS_MODULE \u0432 web.config:  <\/p>\n<pre><code>&lt;!-- django project --&gt; &lt;add name=&quot;DJANGO_SETTINGS_MODULE&quot; value=&quot;lfs_project.settings&quot; \/&gt;<\/code><\/pre>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u043f\u0430\u043f\u043a\u0438 <b>&#8216;\\lfs_project\\sitestatic&#8217;<\/b> \u043d\u0443\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u043d\u0435\u0441\u0442\u0438 \u0432 \u043f\u0430\u043f\u043a\u0443 <b>&#8216;\\static&#8217;<\/b> \u0432 \u043a\u043e\u0440\u043d\u0435 \u0441\u0430\u0439\u0442\u0430. <\/p>\n<p>  \u0412\u0441\u0435, \u043f\u0440\u043e\u0435\u043a\u0442 \u0433\u043e\u0442\u043e\u0432 \u043a \u0437\u0430\u043f\u0443\u0441\u043a\u0443 \u043d\u0430 IIS. \u041d\u0430\u0436\u043c\u0438\u0442\u0435 \u043d\u0430 \u0441\u0441\u044b\u043b\u043a\u0443 \u0432 WebMatrix \u0438 \u0432\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u0434\u043e\u043c\u0430\u0448\u043d\u044e\u044e \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 LFS. <\/p>\n<p>  \u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u043f\u0430\u043f\u043e\u043a \u0432 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u0432\u044b\u0448\u043b\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0430\u044f: <\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/habr.habrastorage.org\/post_images\/9e4\/609\/40e\/9e460940ea1327cfb990eca29938ecaa.png\"\/><\/p>\n<p>  \u0414\u0430\u043b\u044c\u0448\u0435 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u0438\u043c \u043f\u0430\u043a\u0435\u0442 \u0434\u043b\u044f Azure Cloud Services. \u0417\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435 Helicon Zoo Manager, \u0432\u044b\u0431\u0435\u0440\u0435\u0442\u0435 \u043d\u0443\u0436\u043d\u044b\u0439 \u0441\u0430\u0439\u0442 \u0438 \u043d\u0430\u0436\u043c\u0438\u0442\u0435 Start IDE \u0434\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043a\u043e\u043d\u0441\u043e\u043b\u0438. Web console \u0442\u0443\u0442 \u043d\u0435 \u043f\u043e\u0434\u043e\u0439\u0434\u0435\u0442, \u0442.\u043a. \u0443 \u043d\u0435\u0435 \u0431\u0443\u0434\u0435\u0442 \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043f\u0440\u0430\u0432. \u0412\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0435 \u0442\u0430\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b: <\/p>\n<pre><code>mkdir offline-package  WebpiCmd.exe \/offline \/Products:PythonHostingPackage \/Path:&quot;offline-package&quot; \/Feeds:http:\/\/www.helicontech.com\/zoo\/feed.xml<\/code><\/pre>\n<p>  \u042d\u0442\u043e \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442 Python Hosting Package \u0432 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438 offline-package \u0432\u043d\u0443\u0442\u0440\u0438 \u0441\u0430\u0439\u0442\u0430. <\/p>\n<p>  \u0417\u0430\u0442\u0435\u043c \u0441\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u0442\u0440\u0438 \u0444\u0430\u0439\u043b\u0430 \u0434\u043b\u044f Azure Cloud Services \u0432 \u043f\u0430\u043f\u043a\u0435 &#8216;My Documents\\My Web Sites&#8217;, \u043a\u0430\u043a \u0432 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u0433\u043b\u0430\u0432\u0435. \u042f \u0432\u044b\u0434\u0435\u043b\u0438\u043b \u0436\u0438\u0440\u043d\u044b\u043c \u0442\u0435 \u0441\u0442\u0440\u043e\u0447\u043a\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432 \u044d\u0442\u0438\u0445 \u0444\u0430\u0439\u043b\u0430\u0445 \u043e\u0442\u043b\u0438\u0447\u0430\u044e\u0442\u0441\u044f \u043e\u0442 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0445: <\/p>\n<p>  <b>[LFS.Cloud.cscfg]<\/b>  <\/p>\n<pre><code>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt; &lt;ServiceConfiguration serviceName=&quot;WindowsAzure2&quot; xmlns=&quot;http:\/\/schemas.microsoft.com\/ServiceHosting\/2008\/10\/ServiceConfiguration&quot; osFamily=&quot;2&quot; osVersion=&quot;*&quot; schemaVersion=&quot;2013-03.2.0&quot;&gt;   &lt;Role name=&quot;ZooPythonProject2&quot;&gt;     &lt;Instances count=&quot;1&quot; \/&gt;     &lt;ConfigurationSettings&gt;     &lt;\/ConfigurationSettings&gt;   &lt;\/Role&gt; &lt;\/ServiceConfiguration&gt;<\/code><\/pre>\n<p>  <b>[LFS.csdef]<\/b>  <\/p>\n<pre><code>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt; &lt;ServiceDefinition name=&quot;WindowsAzure2&quot; xmlns=&quot;http:\/\/schemas.microsoft.com\/ServiceHosting\/2008\/10\/ServiceDefinition&quot; schemaVersion=&quot;2013-03.2.0&quot;&gt;   &lt;WebRole name=&quot;ZooPythonProject2&quot; vmsize=&quot;Small&quot;&gt;     &lt;Sites&gt;       &lt;Site name=&quot;Web&quot;  physicalDirectory=&quot;.\/ZooPythonProject2&quot;&gt;         &lt;Bindings&gt;           &lt;Binding name=&quot;Endpoint1&quot; endpointName=&quot;Endpoint1&quot; \/&gt;         &lt;\/Bindings&gt;       &lt;\/Site&gt;     &lt;\/Sites&gt;     &lt;Endpoints&gt;       &lt;InputEndpoint name=&quot;Endpoint1&quot; protocol=&quot;http&quot; port=&quot;80&quot; \/&gt;     &lt;\/Endpoints&gt;     &lt;Startup&gt;       &lt;Task commandLine=&quot;startup.cmd&quot; executionContext=&quot;elevated&quot; taskType=&quot;simple&quot; &gt;       &lt;\/Task&gt;     &lt;\/Startup&gt;   &lt;\/WebRole&gt; &lt;\/ServiceDefinition&gt;<\/code><\/pre>\n<p>  <b>[LFS.pack.cmd]<\/b>  <\/p>\n<pre><code>@echo off  set WINDOWS_AZURE_SDK_PATH=&quot;C:\\Program Files\\Microsoft SDKs\\Windows Azure\\.NET SDK\\v2.1&quot;  call %WINDOWS_AZURE_SDK_PATH%\\bin\\setenv.cmd  pushd %~dp0  if &quot;%ServiceHostingSDKInstallPath%&quot; == &quot;&quot; (     echo Can't see the ServiceHostingSDKInstallPath environment variable. Please run from a Windows Azure SDK command-line (run Program Files\\Windows Azure SDK\\^&lt;version^&gt;\\bin\\setenv.cmd^).     GOTO :eof )  rem \u0422\u0443\u0442 \u043c\u043e\u0436\u043d\u043e \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u044b, \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c IIS \u0438 \u0442.\u043f. rem iisreset \/stop &lt;b&gt;del \/s \/q *.log *.pyc *.pyo&lt;\/b&gt;   rem \u042d\u0442\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u0441\u043e\u0437\u0434\u0430\u0435\u0442 \u043f\u0430\u043a\u0435\u0442 \u0434\u043b\u044f Windows Azure cspack lfs.csdef \/out:lfs.cspkg  popd<\/code><\/pre>\n<p>  \u0418 \u043e\u0441\u0442\u0430\u043b\u043e\u0441\u044c \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0444\u0430\u0439\u043b <b>\\bin\\startup.cmd<\/b> \u0432 \u043a\u043e\u0440\u043d\u0435 \u0441\u0430\u0439\u0442\u0430:  <\/p>\n<pre><code>echo Starting installation...  rem \u0414\u0430\u0442\u044c \u043f\u0440\u0430\u0432\u0430 \u043d\u0430 \u0447\u0442\u0435\u043d\u0438\u0435 \u0438 \u0437\u0430\u043f\u0438\u0441\u044c \u043f\u0430\u043f\u043a\u0435 \u043a\u0443\u0434\u0430 \u0440\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u0430\u043d\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 icacls &quot;%RoleRoot%\\approot&quot; \/grant &quot;Everyone&quot;:F \/T  rem \u041b\u043e\u043a\u0430\u043b\u044c\u043d\u0430\u044f \u043f\u0430\u043f\u043a\u0430 AppData \u0441 \u043f\u0440\u0430\u0432\u0430\u043c\u0438 \u043d\u0430 \u0437\u0430\u043f\u0438\u0441\u044c \u043d\u0443\u0436\u043d\u0430 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b Web Platform Installer rem \u0421\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u044d\u0442\u0443 \u043f\u0430\u043f\u043a\u0443 \u0438 \u043a\u043b\u044e\u0447 \u0440\u0435\u0435\u0441\u0442\u0440\u0430 \u043d\u0430 \u043d\u0435\u0435 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0449\u0438\u0439 md &quot;%RoleRoot%\\appdata&quot; reg add &quot;hku\\.default\\software\\microsoft\\windows\\currentversion\\explorer\\user shell folders&quot; ^     \/v &quot;Local AppData&quot; \/t REG_EXPAND_SZ \/d &quot;%RoleRoot%\\appdata&quot; \/f  rem \u041f\u0435\u0440\u0435\u0439\u0434\u0435\u043c \u0432 \u043f\u0430\u043f\u043a\u0443 \u0441 WebpiCmd.exe pushd &quot;%RoleRoot%\\approot\\offline-package\\bin&quot;  rem \u0412\u044b\u0437\u043e\u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u044b WebpiCmd.exe \u0434\u043b\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0430 \u0438\u0437 \u043f\u0430\u043f\u043a\u0438 offline-package rem \u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043d\u0430 \u0438\u043c\u044f \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0430 - &lt;b&gt;PythonHostingPackage&lt;\/b&gt;, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043b\u043e\u0433\u0438 \u0432 install.txt \u0438 install-error.txt WebpiCmd.exe \/install \/Products:PythonHostingPackage \/XML:%RoleRoot%\\approot\\offline-package\\feeds\\latest\\webproductlist.xml ^              \/Feeds:%RoleRoot%\\approot\\offline-package\\feeds\\latest\\supplementalfeeds\\feed.xml \/AcceptEula  ^              &gt;%RoleRoot%\\approot\\static\\install.txt 2&gt;%RoleRoot%\\approot\\static\\install-error.txt  popd  rem \u0412\u0435\u0440\u043d\u0443\u0442\u044c \u0441\u0442\u0430\u0440\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043a\u043b\u044e\u0447\u0443 \u0440\u0435\u0435\u0441\u0442\u0440\u0430 \u0441 AppData reg add &quot;hku\\.default\\software\\microsoft\\windows\\currentversion\\explorer\\user shell folders&quot; ^     \/v &quot;Local AppData&quot; \/t REG_EXPAND_SZ \/d %%USERPROFILE%%\\AppData\\Local \/f   rem \u0422\u0443\u0442 \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0434\u0440\u0443\u0433\u0438\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u044b.  echo Completed installation. <\/code><\/pre>\n<p>  \u0412 <a href=\"https:\/\/dl.dropboxusercontent.com\/u\/7840290\/habrahabr\/lfs.zip\">\u044d\u0442\u043e\u043c \u0430\u0440\u0445\u0438\u0432\u0435<\/a> \u0432\u044b \u043d\u0430\u0439\u0434\u0435\u0442\u0435 \u043f\u0440\u0438\u043c\u0435\u0440 \u043e\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0445 \u0432\u044b\u0448\u0435 \u0444\u0430\u0439\u043b\u043e\u0432. <\/p>\n<p>  \u0412\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0435 LFS.pack.cmd. \u041f\u043e\u043b\u0443\u0447\u0438\u0432\u0448\u0438\u0439\u0441\u044f \u0444\u0430\u0439\u043b LFS.cspkg \u0443 \u043c\u0435\u043d\u044f \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442 70\u043c\u0431. <\/p>\n<p>  \u0423\u0434\u0430\u043b\u0438\u043c \u0441\u0442\u0430\u0440\u044b\u0439 Staging Environment \u0438\u0437 Azure Portal \u0438 \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u043d\u043e\u0432\u044b\u0439. \u041f\u0435\u0440\u0435\u0434\u0430\u0434\u0438\u043c \u0444\u0430\u0439\u043b\u044b \u043a\u0430\u043a \u0432 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u0433\u043b\u0430\u0432\u0435 \u0438 \u043e\u0436\u0438\u0434\u0430\u0435\u043c \u0437\u0430\u043f\u0443\u0441\u043a\u0430. <\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/habr.habrastorage.org\/post_images\/5f1\/465\/4b1\/5f14654b1cca83ca0e661459d2643ab0.png\"\/><\/p>\n<p>  \u041a\u043e\u0433\u0434\u0430 \u0441\u0442\u0440\u043e\u0447\u043a\u0430 \u00abNot all instances are ready\u00bb \u043f\u0440\u043e\u043f\u0430\u0434\u0435\u0442, \u043c\u043e\u0436\u043d\u043e \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0442\u044c \u0441\u0441\u044b\u043b\u043a\u0443, \u0433\u0434\u0435 \u043c\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0438\u0439 Lightning Fast Shop \u0432 Azure Cloud Services. <\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/habr.habrastorage.org\/post_images\/b65\/e27\/e20\/b65e27e20619513e6db4e0d9efc43e81.png\"\/><\/p>\n<h1>Node.js<\/h1>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u043d\u0430 \u043e\u0447\u0435\u0440\u0435\u0434\u0438 Node.js. \u0418\u0442\u0430\u043a, \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c <b>Microsoft Web Platform Installer<\/b> \u0438 \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c <b>Zoo -&gt; Templates -&gt; Node.js project<\/b>. \u0412\u0441\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u0431\u0443\u0434\u0443\u0442 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u044b \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438. <\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/habr.habrastorage.org\/post_images\/a55\/0cc\/952\/a550cc9523f0a51d13d1886134edbbfb.png\"\/><\/p>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043f\u0440\u043e\u0435\u043a\u0442 \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0435\u0442\u0441\u044f \u0432\u043e \u0432\u043f\u043e\u043b\u043d\u0435 \u0433\u043e\u0442\u043e\u0432\u043e\u0435 Model-View-Route \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435, \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u043e\u0435 \u043d\u0430 \u0431\u0430\u0437\u0435 express.js, sqlite3, persist.js \u0438 Twitter Bootstrap. \u0412 \u044d\u0442\u043e\u043c \u0448\u0430\u0431\u043b\u043e\u043d\u0435 \u0434\u043b\u044f \u043f\u0440\u0438\u043c\u0435\u0440\u0430 \u0443\u0436\u0435 \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u043e\u0441\u0442\u0435\u043d\u044c\u043a\u0438\u0439 \u0431\u043b\u043e\u0433 \u0438 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u0438\u0432\u043d\u0430\u044f \u043f\u0430\u043d\u0435\u043b\u044c \u043a \u043d\u0435\u043c\u0443. \u0422\u0430\u043a\u043e\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0445\u043e\u0440\u043e\u0448\u0435\u0439 \u043e\u0442\u043f\u0440\u0430\u0432\u043d\u043e\u0439 \u0442\u043e\u0447\u043a\u043e\u0439 \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0433\u043e \u0441\u0430\u0439\u0442\u0430. \u0415\u0441\u043b\u0438 \u0436\u0435 \u0443 \u0432\u0430\u0441 \u0443\u0436\u0435 \u0435\u0441\u0442\u044c \u0433\u043e\u0442\u043e\u0432\u044b\u0439 Node.js \u0432\u0435\u0431 \u0441\u0430\u0439\u0442, \u0442\u043e \u0432\u044b, \u043e\u0447\u0435\u0432\u0438\u0434\u043d\u043e, \u0437\u043d\u0430\u0435\u0442\u0435 \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0432\u0441\u0435\u0445 \u043f\u0440\u043e\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0445 \u0432 \u0448\u0430\u0431\u043b\u043e\u043d\u043d\u043e\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0435 \u0444\u0430\u0439\u043b\u043e\u0432. \u041f\u0440\u043e\u0441\u0442\u043e \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0438\u0448\u0438\u0442\u0435 \u0441\u0432\u043e\u0438 \u0444\u0430\u0439\u043b\u044b \u043f\u043e\u0432\u0435\u0440\u0445, \u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044f web.config \u043d\u0435\u0442\u0440\u043e\u043d\u0443\u0442\u044b\u043c, \u0438 \u0432\u0430\u0448\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u0437\u0430\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c. <\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/habr.habrastorage.org\/post_images\/53f\/592\/aa1\/53f592aa19f0d52c302584056caf871a.png\"\/><\/p>\n<p>  \u042d\u0442\u043e\u0442 \u043f\u0440\u043e\u0441\u0442\u0435\u043d\u044c\u043a\u0438\u0439 \u0431\u043b\u043e\u0433 \u043c\u044b \u0438 \u0431\u0443\u0434\u0435\u043c \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0442\u044c \u043d\u0430 Azure Cloud Services. \u041a\u0430\u043a \u0438 \u0432 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0445 \u0433\u043b\u0430\u0432\u0430\u0445 \u2013 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043c Helicon Zoo Manager \u0438 \u043d\u0430\u0436\u043c\u0435\u043c Start IDE \u0438\u043b\u0438 Start web console. \u0412 \u043a\u043e\u043d\u0441\u043e\u043b\u0438 \u043d\u0430\u0431\u0435\u0440\u0435\u043c:<\/p>\n<pre><code>mkdir offline-package  WebpiCmd.exe \/offline \/Products:NodejsHostingPackage \/Path:&quot;offline-package&quot; \/Feeds:http:\/\/www.helicontech.com\/zoo\/feed.xml<\/code><\/pre>\n<p>  \u0414\u0430\u043b\u044c\u0448\u0435 \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0444\u0430\u0439\u043b <b>bin\\startup.cmd<\/b>: <\/p>\n<p>  <b>[bin\\startup.cmd]<\/b>  <\/p>\n<pre><code>echo Starting installation...  rem \u0414\u0430\u0442\u044c \u043f\u0440\u0430\u0432\u0430 \u043d\u0430 \u0447\u0442\u0435\u043d\u0438\u0435 \u0438 \u0437\u0430\u043f\u0438\u0441\u044c \u043f\u0430\u043f\u043a\u0435 \u043a\u0443\u0434\u0430 \u0440\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u0430\u043d\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 icacls &quot;%RoleRoot%\\approot&quot; \/grant &quot;Everyone&quot;:F \/T  rem \u041b\u043e\u043a\u0430\u043b\u044c\u043d\u0430\u044f \u043f\u0430\u043f\u043a\u0430 AppData \u0441 \u043f\u0440\u0430\u0432\u0430\u043c\u0438 \u043d\u0430 \u0437\u0430\u043f\u0438\u0441\u044c \u043d\u0443\u0436\u043d\u0430 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b Web Platform Installer rem \u0421\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u044d\u0442\u0443 \u043f\u0430\u043f\u043a\u0443 \u0438 \u043a\u043b\u044e\u0447 \u0440\u0435\u0435\u0441\u0442\u0440\u0430 \u043d\u0430 \u043d\u0435\u0435 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0449\u0438\u0439 md &quot;%RoleRoot%\\appdata&quot; reg add &quot;hku\\.default\\software\\microsoft\\windows\\currentversion\\explorer\\user shell folders&quot; ^     \/v &quot;Local AppData&quot; \/t REG_EXPAND_SZ \/d &quot;%RoleRoot%\\appdata&quot; \/f  rem \u041f\u0435\u0440\u0435\u0439\u0434\u0435\u043c \u0432 \u043f\u0430\u043f\u043a\u0443 \u0441 WebpiCmd.exe pushd &quot;%RoleRoot%\\approot\\offline-package\\bin&quot;  rem \u0412\u044b\u0437\u043e\u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u044b WebpiCmd.exe \u0434\u043b\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0430 \u0438\u0437 \u043f\u0430\u043f\u043a\u0438 offline-package rem \u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043d\u0430 \u0438\u043c\u044f \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0430 \u2013 NodejsHostingPackage, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043b\u043e\u0433\u0438 \u0432 install.txt \u0438 install-error.txt WebpiCmd.exe \/install \/Products:NodejsHostingPackage \/XML:%RoleRoot%\\approot\\offline-package\\feeds\\latest\\webproductlist.xml ^              \/Feeds:%RoleRoot%\\approot\\offline-package\\feeds\\latest\\supplementalfeeds\\feed.xml ^              \/AcceptEula  &gt;%RoleRoot%\\approot\\public\\install.txt 2&gt;%RoleRoot%\\approot\\public\\install-error.txt  popd  rem \u0412\u0435\u0440\u043d\u0443\u0442\u044c \u0441\u0442\u0430\u0440\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043a\u043b\u044e\u0447\u0443 \u0440\u0435\u0435\u0441\u0442\u0440\u0430 \u0441 AppData reg add &quot;hku\\.default\\software\\microsoft\\windows\\currentversion\\explorer\\user shell folders&quot; ^     \/v &quot;Local AppData&quot; \/t REG_EXPAND_SZ \/d %%USERPROFILE%%\\AppData\\Local \/f   rem \u0422\u0443\u0442 \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0434\u0440\u0443\u0433\u0438\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u044b.  echo Completed installation.<\/code><\/pre>\n<p>  \u0418 \u0437\u0430\u0442\u0435\u043c \u0442\u0440\u0438 \u0444\u0430\u0439\u043b\u0430 \u0432 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438 \u00abMy Web Sites\u00bb: <\/p>\n<p>  <b>[Node.js.Cloud.cscfg]<\/b>  <\/p>\n<pre><code>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt; &lt;ServiceConfiguration serviceName=&quot;WindowsAzure2&quot; xmlns=&quot;http:\/\/schemas.microsoft.com\/ServiceHosting\/2008\/10\/ServiceConfiguration&quot; osFamily=&quot;2&quot; osVersion=&quot;*&quot; schemaVersion=&quot;2013-03.2.0&quot;&gt;   &lt;Role name=&quot;Node.js project&quot;&gt;     &lt;Instances count=&quot;1&quot; \/&gt;     &lt;ConfigurationSettings&gt;     &lt;\/ConfigurationSettings&gt;   &lt;\/Role&gt; &lt;\/ServiceConfiguration&gt;<\/code><\/pre>\n<p>  <b>[Node.js.csdef]<\/b>  <\/p>\n<pre><code>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt; &lt;ServiceDefinition name=&quot;WindowsAzure2&quot; xmlns=&quot;http:\/\/schemas.microsoft.com\/ServiceHosting\/2008\/10\/ServiceDefinition&quot; schemaVersion=&quot;2013-03.2.0&quot;&gt;   &lt;WebRole name=&quot;Node.js project&quot; vmsize=&quot;Small&quot;&gt;     &lt;Sites&gt;       &lt;Site name=&quot;Web&quot;  physicalDirectory=&quot;.\/Node.js project&quot;&gt;         &lt;Bindings&gt;           &lt;Binding name=&quot;Endpoint1&quot; endpointName=&quot;Endpoint1&quot; \/&gt;         &lt;\/Bindings&gt;       &lt;\/Site&gt;     &lt;\/Sites&gt;     &lt;Endpoints&gt;       &lt;InputEndpoint name=&quot;Endpoint1&quot; protocol=&quot;http&quot; port=&quot;80&quot; \/&gt;     &lt;\/Endpoints&gt;     &lt;Startup&gt;       &lt;Task commandLine=&quot;startup.cmd&quot; executionContext=&quot;elevated&quot; taskType=&quot;simple&quot; &gt;       &lt;\/Task&gt;     &lt;\/Startup&gt;   &lt;\/WebRole&gt; &lt;\/ServiceDefinition&gt;<\/code><\/pre>\n<p>  <b>[Node.js.pack.cmd]<\/b>  <\/p>\n<pre><code>@echo off  set WINDOWS_AZURE_SDK_PATH=&quot;C:\\Program Files\\Microsoft SDKs\\Windows Azure\\.NET SDK\\v2.1&quot;  call %WINDOWS_AZURE_SDK_PATH%\\bin\\setenv.cmd  pushd %~dp0  if &quot;%ServiceHostingSDKInstallPath%&quot; == &quot;&quot; (     echo Can't see the ServiceHostingSDKInstallPath environment variable. Please run from a Windows Azure SDK command-line (run Program Files\\Windows Azure SDK\\^&lt;version^&gt;\\bin\\setenv.cmd^).     GOTO :eof )  rem \u0422\u0443\u0442 \u043c\u043e\u0436\u043d\u043e \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u044b, \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c IIS \u0438 \u0442.\u043f. rem iisreset \/stop  rem \u042d\u0442\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u0441\u043e\u0437\u0434\u0430\u0435\u0442 \u043f\u0430\u043a\u0435\u0442 \u0434\u043b\u044f Windows Azure cspack Node.js.csdef \/out:Node.js.cspkg  popd<\/code><\/pre>\n<p>  \u041a\u0430\u043a \u0438 \u0440\u0430\u043d\u044c\u0448\u0435 \u0440\u0430\u0437\u043b\u0438\u0447\u0438\u044f \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u044b \u0436\u0438\u0440\u043d\u044b\u043c. <\/p>\n<p>  \u0412\u044b\u043f\u043e\u043b\u043d\u0438\u043c Node.js.pack.cmd, \u0432 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u043c \u0444\u0430\u0439\u043b Node.js.cspkg \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e 41\u043c\u0431. \u0412\u043e\u0442 \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u0430\u0440\u0445\u0438\u0432 \u0441 \u043f\u0440\u0438\u043c\u0435\u0440\u0430\u043c\u0438 \u0444\u0430\u0439\u043b\u043e\u0432 \u0432\u044b\u0448\u0435: <a href=\"https:\/\/dl.dropboxusercontent.com\/u\/7840290\/habrahabr\/Node.js.zip\">https:\/\/dl.dropboxusercontent.com\/u\/7840290\/habrahabr\/Node.js.zip<\/a> <\/p>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u0443\u0435\u043c \u043f\u0430\u043a\u0435\u0442\u044b \u0432 Azure Cloud Services \u043a\u0430\u043a \u0438 \u0432 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0445 \u0433\u043b\u0430\u0432\u0430\u0445. \u0412\u0435\u0441\u044c \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442 \u043c\u0438\u043d\u0443\u0442 5-10, \u0447\u0442\u043e \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0431\u044b\u0441\u0442\u0440\u0435\u0435, \u0447\u0435\u043c, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u0441 Ruby. <\/p>\n<h1>Perl<\/h1>\n<p>  \u041d\u0430 \u044d\u0442\u043e\u0442 \u0440\u0430\u0437 \u0432\u0441\u0435 \u0436\u0435 \u0431\u0443\u0434\u0435\u043c \u0441\u0442\u0430\u0432\u0438\u0442\u044c \u00abHello World\u00bb \u043f\u0440\u043e\u0435\u043a\u0442 \u043d\u0430 Mojolitious. \u041a \u0441\u043e\u0436\u0430\u043b\u0435\u043d\u0438\u044e \u043d\u0438\u0447\u0435\u0433\u043e \u0431\u043e\u043b\u0435\u0435 \u0437\u0440\u0435\u043b\u0438\u0449\u043d\u043e\u0433\u043e \u0434\u043b\u044f Perl \u0443 \u043c\u0435\u043d\u044f \u043f\u043e\u0434 \u0440\u0443\u043a\u043e\u0439 \u043d\u0435 \u043d\u0430\u0448\u043b\u043e\u0441\u044c. \u0417\u0430\u043f\u0443\u0441\u0442\u0438\u043c <b>Microsoft Web Platform Installer<\/b> \u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043c <b>Zoo -&gt; Templates -&gt; Perl project<\/b>.<\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/habr.habrastorage.org\/post_images\/3b8\/efc\/de1\/3b8efcde1cdd25cdb11aa928967f93e4.png\"\/><\/p>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u043e\u0442\u043a\u0440\u043e\u0435\u0442\u0441\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430 \u00abWelcome to universal Perl template powered by Helicon Zoo\u00bb, \u043d\u0430\u0436\u043c\u0438\u0442\u0435 \u043d\u0430 \u044d\u0442\u043e\u0439 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 \u043d\u0430 \u0441\u0441\u044b\u043b\u043a\u0443 \u00abopen web console\u00bb \u0438 \u043d\u0430\u0431\u0435\u0440\u0438\u0442\u0435 \u0442\u0430\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u0443:  <\/p>\n<pre><code>cpanm Mojolicious<\/code><\/pre>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u0441\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u0444\u0430\u0439\u043b<b> app.pl<\/b> \u0442\u0430\u043a\u043e\u0433\u043e \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u044f: <\/p>\n<p>  <b>[app.pl]<\/b>  <\/p>\n<pre><code>use Mojolicious::Lite; get '\/' =&gt; sub { shift-&gt;render(text =&gt; 'Hello from Mojolicious!') }; app-&gt;start;<\/code><\/pre>\n<p>  \u041d\u0430\u0436\u0430\u0432 \u00ab\u043e\u0431\u043d\u043e\u0432\u0438\u0442\u044c\u00bb \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435 \u0443\u0432\u0438\u0434\u0438\u043c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u00abHello from Mojolicious!\u00bb. \u041d\u0435 \u0430\u0445\u0442\u0438 \u043a\u0430\u043a \u043a\u0440\u0430\u0441\u0438\u0432\u043e, \u043d\u043e \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u044e \u0434\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442. <\/p>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c, \u043a\u0430\u043a \u0438 \u0432 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0445 \u0433\u043b\u0430\u0432\u0430\u0445 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u0438\u0437 \u043a\u043e\u043d\u0441\u043e\u043b\u0438:<\/p>\n<pre><code>mkdir offline-package  WebpiCmd.exe \/offline \/Products:PerlHostingPackage \/Path:&quot;offline-package&quot; \/Feeds:http:\/\/www.helicontech.com\/zoo\/feed.xml<\/code><\/pre>\n<p>  \u0414\u043e\u0431\u0430\u0432\u0438\u043c \u0441\u043a\u0440\u0438\u043f\u0442 bin\\startup.cmd: <\/p>\n<p>  <b>[bin\\startup.cmd]<\/b>  <\/p>\n<pre><code>echo Starting installation...  rem \u0414\u0430\u0442\u044c \u043f\u0440\u0430\u0432\u0430 \u043d\u0430 \u0447\u0442\u0435\u043d\u0438\u0435 \u0438 \u0437\u0430\u043f\u0438\u0441\u044c \u043f\u0430\u043f\u043a\u0435 \u043a\u0443\u0434\u0430 \u0440\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u0430\u043d\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 icacls &quot;%RoleRoot%\\approot&quot; \/grant &quot;Everyone&quot;:F \/T  rem \u041b\u043e\u043a\u0430\u043b\u044c\u043d\u0430\u044f \u043f\u0430\u043f\u043a\u0430 AppData \u0441 \u043f\u0440\u0430\u0432\u0430\u043c\u0438 \u043d\u0430 \u0437\u0430\u043f\u0438\u0441\u044c \u043d\u0443\u0436\u043d\u0430 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b Web Platform Installer rem \u0421\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u044d\u0442\u0443 \u043f\u0430\u043f\u043a\u0443 \u0438 \u043a\u043b\u044e\u0447 \u0440\u0435\u0435\u0441\u0442\u0440\u0430 \u043d\u0430 \u043d\u0435\u0435 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0449\u0438\u0439 md &quot;%RoleRoot%\\appdata&quot; reg add &quot;hku\\.default\\software\\microsoft\\windows\\currentversion\\explorer\\user shell folders&quot; ^     \/v &quot;Local AppData&quot; \/t REG_EXPAND_SZ \/d &quot;%RoleRoot%\\appdata&quot; \/f  rem \u041f\u0435\u0440\u0435\u0439\u0434\u0435\u043c \u0432 \u043f\u0430\u043f\u043a\u0443 \u0441 WebpiCmd.exe pushd &quot;%RoleRoot%\\approot\\offline-package\\bin&quot;  rem \u0412\u044b\u0437\u043e\u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u044b WebpiCmd.exe \u0434\u043b\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0430 \u0438\u0437 \u043f\u0430\u043f\u043a\u0438 offline-package rem \u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043d\u0430 \u0438\u043c\u044f \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0430 \u2013 PerlHostingPackage, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043b\u043e\u0433\u0438 \u0432 install.txt \u0438 install-error.txt WebpiCmd.exe \/install \/Products:PerlHostingPackage \/XML:%RoleRoot%\\approot\\offline-package\\feeds\\latest\\webproductlist.xml ^              \/Feeds:%RoleRoot%\\approot\\offline-package\\feeds\\latest\\supplementalfeeds\\feed.xml ^              \/AcceptEula  &gt;%RoleRoot%\\approot\\public\\install.txt 2&gt;%RoleRoot%\\approot\\public\\install-error.txt  popd  rem \u0412\u0435\u0440\u043d\u0443\u0442\u044c \u0441\u0442\u0430\u0440\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043a\u043b\u044e\u0447\u0443 \u0440\u0435\u0435\u0441\u0442\u0440\u0430 \u0441 AppData reg add &quot;hku\\.default\\software\\microsoft\\windows\\currentversion\\explorer\\user shell folders&quot; ^     \/v &quot;Local AppData&quot; \/t REG_EXPAND_SZ \/d %%USERPROFILE%%\\AppData\\Local \/f   rem \u0422\u0443\u0442 \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0434\u0440\u0443\u0433\u0438\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u044b.  echo Completed installation.<\/code><\/pre>\n<p>  \u0418 \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0444\u0430\u0439\u043b\u044b \u0432 \u043f\u0430\u043f\u043a\u0435 \u00abMy Web Sites\u00bb (\u043f\u0440\u0435\u0434\u043f\u043e\u043b\u0430\u0433\u0430\u0435\u0442\u0441\u044f \u0447\u0442\u043e \u0441\u0430\u0439\u0442 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432 \u043f\u0430\u043f\u043a\u0435 \u00abMy Web Sites\\Perl project\u00bb): <\/p>\n<p>  <b>[Perl.Cloud.cscfg]<\/b>  <\/p>\n<pre><code>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt; &lt;ServiceConfiguration serviceName=&quot;WindowsAzure2&quot; xmlns=&quot;http:\/\/schemas.microsoft.com\/ServiceHosting\/2008\/10\/ServiceConfiguration&quot; osFamily=&quot;2&quot; osVersion=&quot;*&quot; schemaVersion=&quot;2013-03.2.0&quot;&gt;   &lt;Role name=&quot;Perl project&quot;&gt;     &lt;Instances count=&quot;1&quot; \/&gt;     &lt;ConfigurationSettings&gt;     &lt;\/ConfigurationSettings&gt;   &lt;\/Role&gt; &lt;\/ServiceConfiguration&gt;<\/code><\/pre>\n<p>  <b>[Perl.csdef]<\/b>  <\/p>\n<pre><code>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt; &lt;ServiceDefinition name=&quot;WindowsAzure2&quot; xmlns=&quot;http:\/\/schemas.microsoft.com\/ServiceHosting\/2008\/10\/ServiceDefinition&quot; schemaVersion=&quot;2013-03.2.0&quot;&gt;   &lt;WebRole name=&quot;Perl project&quot; vmsize=&quot;Small&quot;&gt;     &lt;Sites&gt;       &lt;Site name=&quot;Web&quot;  physicalDirectory=&quot;.\/Perl project&quot;&gt;         &lt;Bindings&gt;           &lt;Binding name=&quot;Endpoint1&quot; endpointName=&quot;Endpoint1&quot; \/&gt;         &lt;\/Bindings&gt;       &lt;\/Site&gt;     &lt;\/Sites&gt;     &lt;Endpoints&gt;       &lt;InputEndpoint name=&quot;Endpoint1&quot; protocol=&quot;http&quot; port=&quot;80&quot; \/&gt;     &lt;\/Endpoints&gt;     &lt;Startup&gt;       &lt;Task commandLine=&quot;startup.cmd&quot; executionContext=&quot;elevated&quot; taskType=&quot;simple&quot; &gt;       &lt;\/Task&gt;     &lt;\/Startup&gt;   &lt;\/WebRole&gt; &lt;\/ServiceDefinition&gt;<\/code><\/pre>\n<p>  <b>[Perl.pack.cmd]<\/b>  <\/p>\n<pre><code>@echo off  set WINDOWS_AZURE_SDK_PATH=&quot;C:\\Program Files\\Microsoft SDKs\\Windows Azure\\.NET SDK\\v2.1&quot;  call %WINDOWS_AZURE_SDK_PATH%\\bin\\setenv.cmd  pushd %~dp0  if &quot;%ServiceHostingSDKInstallPath%&quot; == &quot;&quot; (     echo Can't see the ServiceHostingSDKInstallPath environment variable. Please run from a Windows Azure SDK command-line (run Program Files\\Windows Azure SDK\\^&lt;version^&gt;\\bin\\setenv.cmd^).     GOTO :eof )  rem \u0422\u0443\u0442 \u043c\u043e\u0436\u043d\u043e \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u044b, \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c IIS \u0438 \u0442.\u043f. rem iisreset \/stop  rem \u042d\u0442\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u0441\u043e\u0437\u0434\u0430\u0435\u0442 \u043f\u0430\u043a\u0435\u0442 \u0434\u043b\u044f Windows Azure cspack Perl.csdef \/out:Perl.cspkg  popd<\/code><\/pre>\n<p>  \u0421\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u0430\u0440\u0445\u0438\u0432 \u0441 \u043f\u0440\u0438\u043c\u0435\u0440\u0430\u043c\u0438 \u0444\u0430\u0439\u043b\u043e\u0432: <a title=\"https:\/\/dl.dropboxusercontent.com\/u\/7840290\/habrahabr\/Perl.zip\" href=\"https:\/\/dl.dropboxusercontent.com\/u\/7840290\/habrahabr\/Perl.zip\">https:\/\/dl.dropboxusercontent.com\/u\/7840290\/habrahabr\/Perl.zip<\/a> <\/p>\n<p>  \u0417\u0430\u043f\u0443\u0441\u0442\u0438\u043c Perl.pack.cmd. \u041f\u043e\u043b\u0443\u0447\u0438\u0442\u0441\u044f \u0444\u0430\u0439\u043b Perl.cspkg \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c 92\u043c\u0431. \u0412\u044b\u043b\u043e\u0436\u0438\u043c \u0444\u0430\u0439\u043b\u044b \u043d\u0430 Azure Cloud Services \u0438 \u0443\u0431\u0435\u0434\u0438\u043c\u0441\u044f \u0447\u0442\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u043d\u0430 Mojolicious \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e, \u043e\u0442\u043a\u0440\u044b\u0432 \u0441\u0441\u044b\u043b\u043a\u0443 \u043f\u043e \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u0438 \u0432\u0441\u0435\u0439 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438. <\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/habr.habrastorage.org\/post_images\/798\/d98\/966\/798d98966679d94c290c150f1cdfd789.png\"\/><\/p>\n<h1>Java \u0438 ColdFusion (Railo)<\/h1>\n<p>  \u041d\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u043a \u043e\u0441\u0442\u0430\u043b\u0438\u0441\u044c Java \u0438 ColdFusion. \u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u044b ColdFusion \u0432 Helicon Zoo \u043d\u0430 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u044b\u0439 Railo \u0441 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u043c \u043a\u043e\u0434\u043e\u043c. \u0421\u0440\u0430\u0437\u0443 \u0436\u0435 \u043e\u0433\u043e\u0432\u043e\u0440\u044e\u0441\u044c \u2013 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c Java \u0438\u043b\u0438 Railo \u043d\u0430 Azure Cloud Services \u043c\u043d\u0435 \u043d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c, \u0438 \u043f\u0440\u0438\u0447\u0438\u043d\u0430 \u0442\u043e\u043c\u0443 \u0432\u0435\u0441\u044c\u043c\u0430 \u0442\u0440\u0438\u0432\u0438\u0430\u043b\u044c\u043d\u0430 \u2013 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 \u043d\u0430 \u0440\u0430\u0437\u043c\u0435\u0440 \u043f\u0430\u043a\u0435\u0442\u043e\u0432 Azure. \u041f\u043e \u043a\u0440\u0430\u0439\u043d\u0435\u0439 \u043c\u0435\u0440\u0435 \u0432 \u043c\u043e\u0435\u043c \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0435 \u043d\u0435\u043b\u044c\u0437\u044f \u0432\u044b\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0442\u044c \u043f\u0430\u043a\u0435\u0442\u044b \u0431\u043e\u043b\u0435\u0435 200 \u043c\u0431 \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b Railo \u0438 \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u0430 \u0434\u0440\u0443\u0433\u0438\u0445 \u0441\u0435\u0440\u0432\u0435\u0440\u043d\u044b\u0445 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0439 \u043d\u0430 Java \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f Oracle JDK, \u0440\u0430\u0437\u043c\u0435\u0440 \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e 125 \u043c\u0431, \u0447\u0442\u043e \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430\u043c\u0438 \u043b\u0435\u0433\u043a\u043e \u043f\u0435\u0440\u0435\u0432\u0430\u043b\u0438\u0432\u0430\u0435\u0442 \u0437\u0430 200. \u041e\u0434\u043d\u0430\u043a\u043e \u044f \u0432\u0441\u0435 \u0436\u0435 \u043e\u043f\u0438\u0448\u0443, \u043a\u0430\u043a \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u043b\u0438 \u0431\u044b \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c\u0441\u044f Java \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b, \u0435\u0441\u043b\u0438 \u0431\u044b \u043d\u0435 \u044d\u0442\u043e \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435. \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 \u0431\u0443\u0434\u0435\u0442 \u0441\u043d\u044f\u0442\u043e \u0432 \u0431\u0443\u0434\u0443\u0449\u0435\u043c \u0438 \u0433\u043b\u0430\u0432\u0430 \u0441\u0442\u0430\u043d\u0435\u0442 \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u0430. \u0422\u0435\u043c \u0431\u043e\u043b\u0435\u0435 \u0447\u0442\u043e \u0432 \u0446\u0435\u043b\u043e\u043c \u0437\u0430\u043f\u0443\u0441\u043a Java \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043f\u0440\u043e\u0441\u0442 \u0438 \u0443\u0434\u043e\u0431\u0435\u043d. Java \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430\u043c \u043d\u0435 \u043d\u0443\u0436\u043d\u043e \u043f\u0440\u0438\u0443\u0447\u0430\u0442\u044c\u0441\u044f \u0443\u043f\u0430\u043a\u043e\u0432\u044b\u0432\u0430\u0442\u044c \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b \u0432\u043d\u0443\u0442\u0440\u044c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c \u2013 \u0434\u043b\u044f \u043d\u0438\u0445 \u044d\u0442\u043e \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0435 \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435. \u0421\u0430\u0439\u0442\u044b, \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u0438 \u0441\u0435\u0440\u0432\u0438\u0441\u044b \u043d\u0430 Java, \u043a\u0430\u043a \u043f\u0440\u0430\u0432\u0438\u043b\u043e, \u0438\u043c\u0435\u044e\u0442 \u043c\u0438\u043d\u0438\u043c\u0443\u043c \u0432\u043d\u0435\u0448\u043d\u0438\u0445 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439 \u0438 \u043d\u0435 \u043d\u0443\u0436\u0434\u0430\u044e\u0442\u0441\u044f \u0432 \u0441\u043b\u043e\u0436\u043d\u043e\u0439 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0435 \u0441\u0440\u0435\u0434\u044b. <\/p>\n<p>  \u0413\u043b\u0430\u0432\u043d\u043e\u0439 \u0432\u043d\u0435\u0448\u043d\u0435\u0439 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u044c\u044e \u0434\u043b\u044f Java-\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f Oracle JDK, \u0438, \u043a \u0441\u043e\u0436\u0430\u043b\u0435\u043d\u0438\u044e, \u0435\u0433\u043e \u043d\u0435\u043b\u044c\u0437\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0438\u0437 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f Helicon Zoo. Oracle \u0437\u0430\u043f\u0440\u0435\u0449\u0430\u0435\u0442 \u0432\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u043d\u0438\u0435 \u0441\u0432\u043e\u0435\u0433\u043e JDK \u0432 \u0434\u0440\u0443\u0433\u0438\u0435 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u044b \u0438 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438 \u0438 \u043b\u044e\u0431\u044b\u0435 \u043f\u043e\u0441\u0442\u0430\u0432\u043a\u0438 \u0438\u0445 \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432\u043e\u0432 \u0432 \u043e\u0431\u0445\u043e\u0434 \u0441\u0430\u043c\u043e\u0433\u043e \u0441\u0430\u0439\u0442\u0430 Oracle. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0432\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0441\u043a\u0430\u0447\u0430\u0442\u044c JDK-7 \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e, \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0432\u0448\u0438\u0441\u044c \u044d\u0442\u043e\u0439 \u0441\u0441\u044b\u043b\u043a\u043e\u0439: <a href=\"http:\/\/www.oracle.com\/technetwork\/java\/javase\/downloads\/jdk7-downloads-1880260.html\">http:\/\/www.oracle.com\/technetwork\/java\/javase\/downloads\/jdk7-downloads-1880260.html<\/a> \u0414\u043b\u044f Azure Cloud Services \u0432\u0430\u043c \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f \u0432\u0435\u0440\u0441\u0438\u044f Windows-64 bit. \u041d\u0430 \u0432\u0430\u0448\u0443 \u0440\u0430\u0431\u043e\u0447\u0443\u044e \u0441\u0442\u0430\u043d\u0446\u0438\u044e \u0441\u0442\u0430\u0432\u044c\u0442\u0435 \u0432\u0435\u0440\u0441\u0438\u044e \u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0438 \u0441 \u0431\u0438\u0442\u043d\u043e\u0441\u0442\u044c\u044e \u043c\u0430\u0448\u0438\u043d\u044b. \u041f\u043e\u0441\u043b\u0435 \u0442\u043e\u0433\u043e \u043a\u0430\u043a JDK-7 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d, \u043c\u043e\u0436\u043d\u043e \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0442\u044c Java-\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u0438\u0437 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f Helicon Zoo. \u0414\u043b\u044f \u043f\u0440\u0438\u043c\u0435\u0440\u0430 \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c <b>Zoo -&gt; Applications -&gt; SCM Manager<\/b> \u2013 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440 \u0438 \u0441\u0435\u0440\u0432\u0438\u0441 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0435\u0432 Git, Mercurial \u0438 SVN \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0439 \u043d\u0430 Java. \u0418\u043b\u0438 \u043f\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c <b>Zoo -&gt; Applications -&gt; Mura CMS<\/b> \u2013 \u043a\u0440\u0430\u0441\u0438\u0432\u0430\u044f CMS \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u0430\u044f \u043d\u0430 ColdFusion. \u041e\u0431\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u043f\u0440\u044f\u043c\u043e \u0438\u0437 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f \u0431\u0435\u0437 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439. <\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/habr.habrastorage.org\/post_images\/2bc\/fc0\/681\/2bcfc0681d6fa1008a37bb436a5256c6.png\"\/><\/p>\n<p>  \u0412 \u043c\u043e\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b Mura CMS \u0432 \u043f\u0430\u043f\u043a\u0443 \u00abMy Web Sites\\Mura CMS1\u00bb. \u0414\u0430\u043b\u044c\u0448\u0435 \u043a\u0430\u043a \u0438 \u0440\u0430\u043d\u044c\u0448\u0435 \u2013 \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u043f\u0430\u043f\u043a\u0443 offline-package \u043a\u0443\u0434\u0430 \u043f\u0430\u043a\u0443\u0435\u043c Java Hosting Package \u0438\u043b\u0438 CFML Hosting Package \u0438\u0437 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f Helicon Zoo, \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u0442\u043e\u0433\u043e \u043a\u0430\u043a\u0430\u044f \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f:  <\/p>\n<pre><code>mkdir offline-package  WebpiCmd.exe \/offline \/Products:CFMLHostingPackage \/Path:&quot;offline-package&quot; \/Feeds:http:\/\/www.helicontech.com\/zoo\/feed.xml<\/code><\/pre>\n<p>  \u0414\u043e\u0431\u0430\u0432\u0438\u043c \u0432 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044e <b>offline-package\\bin<\/b> \u0435\u0449\u0435 \u0438 \u0441\u043a\u0430\u0447\u0430\u043d\u043d\u044b\u0439 \u0440\u0430\u043d\u0435\u0435 \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432 \u0441 JDK-7.&nbsp; <br \/>  \u0421\u043a\u0440\u0438\u043f\u0442 bin\\startup.cmd \u0431\u0443\u0434\u0435\u0442 \u043e\u0442\u043b\u0438\u0447\u0430\u0442\u0441\u044f \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u043c \u0432\u044b\u0437\u043e\u0432\u043e\u043c \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0449\u0438\u043a\u0430 JDK-7: <\/p>\n<p>  <b>[bin\\startup.cmd]<\/b>  <\/p>\n<pre><code>echo Starting installation...  rem \u0414\u0430\u0442\u044c \u043f\u0440\u0430\u0432\u0430 \u043d\u0430 \u0447\u0442\u0435\u043d\u0438\u0435 \u0438 \u0437\u0430\u043f\u0438\u0441\u044c \u043f\u0430\u043f\u043a\u0435 \u043a\u0443\u0434\u0430 \u0440\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u0430\u043d\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 icacls &quot;%RoleRoot%\\approot&quot; \/grant &quot;Everyone&quot;:F \/T  rem \u041b\u043e\u043a\u0430\u043b\u044c\u043d\u0430\u044f \u043f\u0430\u043f\u043a\u0430 AppData \u0441 \u043f\u0440\u0430\u0432\u0430\u043c\u0438 \u043d\u0430 \u0437\u0430\u043f\u0438\u0441\u044c \u043d\u0443\u0436\u043d\u0430 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b Web Platform Installer rem \u0421\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u044d\u0442\u0443 \u043f\u0430\u043f\u043a\u0443 \u0438 \u043a\u043b\u044e\u0447 \u0440\u0435\u0435\u0441\u0442\u0440\u0430 \u043d\u0430 \u043d\u0435\u0435 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0449\u0438\u0439 md &quot;%RoleRoot%\\appdata&quot; reg add &quot;hku\\.default\\software\\microsoft\\windows\\currentversion\\explorer\\user shell folders&quot; ^     \/v &quot;Local AppData&quot; \/t REG_EXPAND_SZ \/d &quot;%RoleRoot%\\appdata&quot; \/f  rem \u041f\u0435\u0440\u0435\u0439\u0434\u0435\u043c \u0432 \u043f\u0430\u043f\u043a\u0443 \u0441 WebpiCmd.exe pushd &quot;%RoleRoot%\\approot\\offline-package\\bin&quot;  rem \u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c JDK-7 jdk-7u45-windows-x64.exe \/s  rem \u0412\u044b\u0437\u043e\u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u044b WebpiCmd.exe \u0434\u043b\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0430 \u0438\u0437 \u043f\u0430\u043f\u043a\u0438 offline-package rem \u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043d\u0430 \u0438\u043c\u044f \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0430 \u2013 PerlHostingPackage, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043b\u043e\u0433\u0438 \u0432 install.txt \u0438 install-error.txt WebpiCmd.exe \/install \/Products:CFMLHostingPackage \/XML:%RoleRoot%\\approot\\offline-package\\feeds\\latest\\webproductlist.xml ^              \/Feeds:%RoleRoot%\\approot\\offline-package\\feeds\\latest\\supplementalfeeds\\feed.xml ^              \/AcceptEula  &gt;%RoleRoot%\\approot\\install.txt 2&gt;%RoleRoot%\\approot\\install-error.txt  popd  rem \u0412\u0435\u0440\u043d\u0443\u0442\u044c \u0441\u0442\u0430\u0440\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043a\u043b\u044e\u0447\u0443 \u0440\u0435\u0435\u0441\u0442\u0440\u0430 \u0441 AppData reg add &quot;hku\\.default\\software\\microsoft\\windows\\currentversion\\explorer\\user shell folders&quot; ^     \/v &quot;Local AppData&quot; \/t REG_EXPAND_SZ \/d %%USERPROFILE%%\\AppData\\Local \/f   rem \u0422\u0443\u0442 \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0434\u0440\u0443\u0433\u0438\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u044b.  echo Completed installation.<\/code><\/pre>\n<p>  \u0421\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0444\u0430\u0439\u043b\u044b \u043f\u0430\u043a\u0435\u0442\u0430: <\/p>\n<p>  <b>[Mura.Cloud.cscfg]<\/b>  <\/p>\n<pre><code>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt; &lt;ServiceConfiguration serviceName=&quot;WindowsAzure2&quot; xmlns=&quot;http:\/\/schemas.microsoft.com\/ServiceHosting\/2008\/10\/ServiceConfiguration&quot; osFamily=&quot;2&quot; osVersion=&quot;*&quot; schemaVersion=&quot;2013-03.2.0&quot;&gt;   &lt;Role name=&quot;Mura CMS1&quot;&gt;     &lt;Instances count=&quot;1&quot; \/&gt;     &lt;ConfigurationSettings&gt;     &lt;\/ConfigurationSettings&gt;   &lt;\/Role&gt; &lt;\/ServiceConfiguration&gt;<\/code><\/pre>\n<p>  <b>[Mura.csdef]<\/b>  <\/p>\n<pre><code>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt; &lt;ServiceDefinition name=&quot;WindowsAzure2&quot; xmlns=&quot;http:\/\/schemas.microsoft.com\/ServiceHosting\/2008\/10\/ServiceDefinition&quot; schemaVersion=&quot;2013-03.2.0&quot;&gt;   &lt;WebRole name=&quot;Mura CMS1&quot; vmsize=&quot;Small&quot;&gt;     &lt;Sites&gt;       &lt;Site name=&quot;Web&quot;  physicalDirectory=&quot;.\/Mura CMS1&quot;&gt;         &lt;Bindings&gt;           &lt;Binding name=&quot;Endpoint1&quot; endpointName=&quot;Endpoint1&quot; \/&gt;         &lt;\/Bindings&gt;       &lt;\/Site&gt;     &lt;\/Sites&gt;     &lt;Endpoints&gt;       &lt;InputEndpoint name=&quot;Endpoint1&quot; protocol=&quot;http&quot; port=&quot;80&quot; \/&gt;     &lt;\/Endpoints&gt;     &lt;Startup&gt;       &lt;Task commandLine=&quot;startup.cmd&quot; executionContext=&quot;elevated&quot; taskType=&quot;simple&quot; &gt;       &lt;\/Task&gt;     &lt;\/Startup&gt;   &lt;\/WebRole&gt; &lt;\/ServiceDefinition&gt;<\/code><\/pre>\n<p>  <b>[Mura.pack.cmd]<\/b>  <\/p>\n<pre><code>@echo off  set WINDOWS_AZURE_SDK_PATH=&quot;C:\\Program Files\\Microsoft SDKs\\Windows Azure\\.NET SDK\\v2.1&quot;  call %WINDOWS_AZURE_SDK_PATH%\\bin\\setenv.cmd  pushd %~dp0  if &quot;%ServiceHostingSDKInstallPath%&quot; == &quot;&quot; (     echo Can't see the ServiceHostingSDKInstallPath environment variable. Please run from a Windows Azure SDK command-line (run Program Files\\Windows Azure SDK\\^&lt;version^&gt;\\bin\\setenv.cmd^).     GOTO :eof )  rem \u0422\u0443\u0442 \u043c\u043e\u0436\u043d\u043e \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u044b, \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c IIS \u0438 \u0442.\u043f. rem iisreset \/stop  rem \u042d\u0442\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u0441\u043e\u0437\u0434\u0430\u0435\u0442 \u043f\u0430\u043a\u0435\u0442 \u0434\u043b\u044f Windows Azure cspack Mura.csdef \/out:Mura.cspkg  popd<\/code><\/pre>\n<p>  \u0418 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043c Mura.pack.cmd. \u041f\u043e\u043b\u0443\u0447\u0438\u0442\u0441\u044f \u0444\u0430\u0439\u043b Mura.cspkg \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c 275 \u043c\u0431. \u0427\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0441\u043a\u0430\u0437\u0430\u0442\u044c: Java \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u043c\u043d\u043e\u0433\u043e \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432. \u0425\u043e\u0442\u044f \u0438 300 \u043c\u0431 \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u043f\u043e \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0435\u0442\u0438 \u043f\u043e \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u043c \u043c\u0435\u0440\u043a\u0430\u043c \u043d\u0435 \u0442\u0430\u043a \u0443\u0436 \u0438 \u043c\u043d\u043e\u0433\u043e.<\/p>\n<p>  \u041d\u0443 \u0438 \u0442\u0435\u043f\u0435\u0440\u044c, \u0435\u0441\u043b\u0438 \u0431\u044b Azure Cloud Services \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u043b \u043f\u0430\u043a\u0435\u0442\u044b \u0442\u0430\u043a\u043e\u0433\u043e \u0440\u0430\u0437\u043c\u0435\u0440\u0430, \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0431\u044b \u043f\u0440\u043e\u0441\u0442\u043e \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0435\u043c\u0443 \u044d\u0442\u0438 \u0444\u0430\u0439\u043b\u044b. \u041f\u043e\u043a\u0430 \u0436\u0435 \u043d\u0430\u0448 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442 \u0447\u0438\u0441\u0442\u043e \u0442\u0435\u043e\u0440\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439.<\/p>\n<h1>\u0417\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435<\/h1>\n<p>  \u041d\u0435\u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430 \u043a\u0430\u0436\u0443\u0449\u0443\u044e\u0441\u044f \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0433\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u044f, \u043d\u0435 \u0432\u0441\u0435 \u0442\u0430\u043a \u0441\u0442\u0440\u0430\u0448\u043d\u043e. \u0417\u0430 \u043e\u0434\u043d\u0443 \u0441\u0442\u0430\u0442\u044c\u044e \u043c\u044b \u0443\u043f\u0440\u0430\u0432\u0438\u043b\u0438\u0441\u044c \u0441\u0440\u0430\u0437\u0443 \u0441 \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e\u043c \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u0445 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0439 \u0432\u0435\u0431 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438. \u0420\u0430\u0437\u0443\u043c\u0435\u0435\u0442\u0441\u044f, \u043e\u0441\u0442\u0430\u043b\u0438\u0441\u044c \u0435\u0449\u0435 PHP \u0438 ASP.NET, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438 \u0442\u0430\u043a \u043d\u0435\u043f\u043b\u043e\u0445\u043e \u043e\u043f\u0438\u0441\u0430\u043d\u044b \u0432 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f\u0445 \u043a Windows Azure. \u0412 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438 Helicon Zoo \u0435\u0441\u0442\u044c \u0435\u0449\u0435 PHP Hosting Package, \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u0443\u0434\u043e\u0431\u043d\u043e \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0432\u043c\u0435\u0441\u0442\u043e \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0433\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u043e\u0442 Microsoft \u0432 \u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0435\u0441\u043b\u0438 \u0432\u044b \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442\u0435\u0441\u044c \u0441\u043c\u0435\u0448\u0438\u0432\u0430\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0432\u0435\u0440\u0441\u0438\u0439 PHP \u0438\u043b\u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u0432\u0435\u0431 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438 \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 \u043e\u0434\u043d\u043e\u0433\u043e \u0441\u0430\u0439\u0442\u0430, \u0442\u0430\u043a \u043a\u0430\u043a \u0432 Zoo \u043d\u0435\u043f\u043b\u043e\u0445\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u0430 \u0438\u0437\u043e\u043b\u044f\u0446\u0438\u044f \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0439. <\/p>\n<p>  \u0413\u043b\u0430\u0432\u043d\u043e\u0435 \u0434\u043e\u0441\u0442\u043e\u0438\u043d\u0441\u0442\u0432\u043e \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u044f, \u043f\u043e\u043c\u0438\u043c\u043e \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u043f\u0440\u043e\u0441\u0442\u043e\u0442\u044b \u0438 \u0445\u043e\u0440\u043e\u0448\u0435\u0439 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u2013 \u044d\u0442\u043e \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043b\u0435\u0433\u043a\u0430\u044f \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043c\u0435\u0436\u0434\u0443 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\u043c\u0438 \u0438 \u0441\u0435\u0440\u0432\u0438\u0441\u0430\u043c\u0438. \u041f\u043e\u043b\u044c\u0437\u0443\u044f\u0441\u044c \u0442\u0430\u043a\u0438\u043c \u0440\u0435\u0448\u0435\u043d\u0438\u0435\u043c, \u0432\u044b \u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442\u0435 \u0434\u043b\u044f \u0441\u0435\u0431\u044f \u0442\u0435\u043e\u0440\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0432 \u0431\u0443\u0434\u0443\u0449\u0435\u043c \u00ab\u0441\u043f\u0440\u044b\u0433\u043d\u0443\u0442\u044c\u00bb \u0441 \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432 Azure, \u0435\u0441\u043b\u0438 \u0443\u0441\u043b\u043e\u0432\u0438\u044f \u043d\u0435 \u0431\u0443\u0434\u0443\u0442 \u0432\u0430\u0441 \u0443\u0434\u043e\u0432\u043b\u0435\u0442\u0432\u043e\u0440\u044f\u0442\u044c. \u0412\u0441\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u043d\u044b\u0435 \u0432 \u0434\u0430\u043d\u043d\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435, \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u044b \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043d\u0430 \u043b\u044e\u0431\u043e\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u0435 Windows \u0438 Linux. \u0420\u0430\u0437\u0443\u043c\u0435\u0435\u0442\u0441\u044f, \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 Azure \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0435\u0449\u0435 \u043c\u0430\u0441\u0441\u0443 \u0434\u0440\u0443\u0433\u0438\u0445, \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u0445, \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432, \u0442\u0430\u043a\u0438\u0445 \u043a\u0430\u043a Media Services, Mobile Services, SQL Databases \u0438\u043b\u0438 \u043e\u0447\u0435\u0440\u0435\u0434\u0438 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439. \u0415\u0441\u043b\u0438 \u0432\u0430\u0448\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0431\u0443\u0434\u0435\u0442 \u0430\u043a\u0442\u0438\u0432\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u044d\u0442\u0438 \u0441\u0435\u0440\u0432\u0438\u0441\u044b, \u0442\u043e \u043f\u0440\u0438\u0432\u044f\u0437\u043a\u0430 \u043a \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435 \u0431\u0443\u0434\u0435\u0442 \u0431\u043e\u043b\u0435\u0435 \u0436\u0435\u0441\u0442\u043a\u043e\u0439.<\/li>\n<\/ol>\n<div class=\"clear\"><\/div>\n<\/p><\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"http:\/\/habrahabr.ru\/post\/200376\/\"> http:\/\/habrahabr.ru\/post\/200376\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div class=\"content html_format\">   \t<img decoding=\"async\" alt=\"image\" align=\"left\" src=\"http:\/\/habr.habrastorage.org\/post_images\/b06\/428\/07a\/b0642807ac7fe037b7a71f4e2bef740f.jpg\"\/> \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u044b \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0441\u043f\u043e\u0441\u043e\u0431 \u0440\u0430\u0437\u0432\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u043d\u0438\u044f \u0432\u0435\u0431 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0445 \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0439, \u0432 \u043e\u0431\u043b\u0430\u043a\u0435 Azure Cloud Services. \u0410 \u0438\u043c\u0435\u043d\u043d\u043e \u044d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 Ruby, Python, Node.js, Perl \u0438 \u0441 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u043c\u0438 \u043e\u0433\u043e\u0432\u043e\u0440\u043a\u0430\u043c\u0438 \u0442\u0430\u043a\u0436\u0435 Java \u0438 Railo (ColdFusion). \u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u0430 Ruby \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0431\u0443\u0434\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c Redmine, \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0438\u0439 \u043d\u0430 Ruby on Rails, \u0432 Python \u043f\u043e\u0439\u0434\u0435\u0442 Lightning Fast Shop, \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0438\u0439 \u043d\u0430 Django, \u0432 Node.js \u0431\u0443\u0434\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u043f\u0440\u043e\u0435\u043a\u0442 \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c express.js, \u043d\u0430 Perl \u0431\u0443\u0434\u0435\u043c \u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043f\u0443\u0441\u0442\u043e\u0439 \u043f\u0440\u043e\u0435\u043a\u0442 Mojolicious. \u0426\u0435\u043b\u044c\u044e \u0434\u0430\u043d\u043d\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0438 \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u044d\u043a\u0441\u043a\u0443\u0440\u0441 \u043f\u043e \u0432\u0441\u0435\u043c \u044d\u0442\u0438\u043c \u0432\u0435\u0431 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u044f\u043c, \u0430 \u043b\u0438\u0448\u044c \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u0443\u0434\u043e\u0431\u043d\u044b\u0439 \u0438 \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438 \u0432 \u043e\u0431\u043b\u0430\u043a\u0435 Azure. \u0422\u0430\u043a \u0447\u0442\u043e \u043a\u043e\u0434\u0430 \u043d\u0430 Ruby, Python \u0438\u043b\u0438 Perl \u0432 \u043d\u0435\u0439 \u043d\u0435 \u0431\u0443\u0434\u0435\u0442. \u0417\u0430\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u043c\u043d\u043e\u0433\u043e \u0441\u043a\u0440\u0438\u043d\u0448\u043e\u0442\u043e\u0432, shell-\u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432 \u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439 \u043f\u043e \u0443\u043f\u0430\u043a\u043e\u0432\u043a\u0435 \u0438 \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439.  <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-200376","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/200376","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=200376"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/200376\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=200376"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=200376"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=200376"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}