Ставим Ruby на Windows

Ставим Ruby на Windows

overlamer1


Для чего устанавливать Ruby

Ruby — это скриптовый язык, то есть для запуска программ не требуется предварительная компиляция. В этом смысле Ruby является аналогом PHP, Python, PERL и других.

Ruby достаточно популярный язык и на нём написано много интересных программ; если говорить применительно к InfoSec, то в качестве примеров можно привести знаменитые WPScan, WhatWeb, Wayback Machine Downloader и другие.

Установив Ruby на Windows вы сможете запускать программы, написанные на этом языке, а также изучать это язык программирования и писать свои собственные скрипты.

Кстати, Ruby, наравне как и PHP, Python и PERL, может быть модулем веб-сервера и скрипты, написанные на этом языке, можно использовать в качестве программной основы веб-сайта или сервиса.

Как установить Ruby на Windows

Для установке перейдите на страницу https://rubyinstaller.org/downloads/

Там вы увидите много вариантов установщика, которые различаются не только версиями, но и составом скаченных файлов. Исполнимые файлы являются самодостаточными установщиками для Windows, которые включают язык Ruby, окружение выполнения, важную документацию и прочее. Если вы не знаете, какую версию установить, чтобы начать знакомство с Ruby, то рекомендуется установщик Ruby+Devkit 2.6.X (x64). Он предоставляет самое большое число совместимых gem (пакеты Ruby) и устанавливает MSYS2-Devkit вместе с Ruby, благодаря чему gem с C-расширениями могут быть скомпилированы сразу после завершения установки.

Запустите скаченный файл. В этом окне мы можем выбрать настройки:


Папку установки можно оставить без изменения.

Add Ruby executables to your PATH – означает добавить каталог с исполнимыми файлами Ruby в системную переменную. Это рекомендуется сделать, чтобы не указывать при каждом запуске скрипта Ruby полный путь до интерпретатора скриптов.

Associate .rb and .rbw files with Ruby installation — означает связать файлы с расширениями .rb и .rbw с установленным Ruby. Благодаря этому файлы Ruby можно будет запускать двойным кликом или набрав имя скрипта в командной строке.

Use UTF-8 as default external encoding – означает использовать кодировку UTF-8 в качестве внешней кодировки по умолчанию.

Я выбрал все три галочки и в качестве папку установки ввёл C:\Ruby26:


Как видно на следующей странице, сам пакет Ruby занимает немного места, но много места занимается предлагаемая к установке набор инструментов разработчика MSYS2. Я настоятельно рекомендую установить MSYS2, поскольку кроме упомянутой выше возможности компилировать пакеты для Ruby, MSYS2 обеспечивает консольное окружение с функциями Linux (примерно как это делает Cygwin, но с дополнительными возможностями).


Оставьте галочку на последнем окне для настройки инструментов разработчика MSYS2 и нажмите Finish.


Далее нам предлагается:


  1 - MSYS2 base installation

   2 - MSYS2 system update (optional)

   3 - MSYS2 and MINGW development toolchain

 

Which components shall be installed? If unsure press ENTER [1,2,3]

Перевод:


  1 — базовая установка MSYS2

   2 — обновление системы MSYS2 (необязательно)

   3 — инструменты разработчика MSYS2 и MINGW

 

Какие компоненты установить? Если не уверены, нажмите ENTER [1,2,3]

Просто нажимаем ENTER для выполнения всех трёх действий:


Всё завершено, для выхода нажмите ENTER:


Кстати, если вы внимательно смотрели за происходящем на экране, то могли заметить pacman. В этом консольном окружении действительно есть менеджер пакетов pacman.


Как обновить Ruby на Windows

Для обновления до последнего патча (то есть минорной версии, к примеру с 2.5.1 до 2.5.4), достаточно запустить новую версию установщика. Установленные gem (пакеты из репозитория Ruby), не перезаписываются и будут работать с новой версией без переустановки. Для обновления установки достаточно использовать RubyInstaller без Devkit. Обновить Devkit можно отдельно запустив в командной строке Windows следующую команду:


ridk install


При выходе новой мажорной версии её нельзя обновить установкой в ту же директорию, что и предыдущая. К примеру, если предыдущая версия установки RubyInstaller-2.5.x, а новая версия RubyInstaller-2.6.x, то её нужно установить либо в новую директорию, либо удалить старую версию и вместо неё установить новую, поскольку gem (программы) с C расширениями не совместимы между ruby-2.5 и 2.6.

Как установить и использовать gem в Windows

RubyGems — это менеджер пакетов для Ruby. С помощью него можно установить различные программы и их зависимости, установку можно делать как из исходного кода на локальной системе, так и с удалённых источников приложений.

Показанная выше установка Ruby также устанавливает и gem, чтобы в этом убедиться выполните команду:


gem --help


Вы должны увидеть справку по использованию gem.

Чтобы вывести все доступные команды gem, выполните:


gem help commands


Чтобы установить пакет запустите команду вида:


gem install ИМЯ_ПРОГРАММЫ


Больше примеров по установке пакетов будет далее.

Чтобы показать справку о команде установки:


gem help install


К примеру, для установки программы 'rake' из локальной директории или удалённого сервера:


gem install rake


Установка пакета 'rake' только с удалённого сервера:


gem install rake --remote


Установка 'rake', но только версии 0.3.1, даже если имеются неудовлетворённые зависимости, установку сделать в пользовательскую директорию:


gem install rake --version 0.3.1 --force --user-install


Вывести список gem (пакетов), чьё имя начинается на 'D':



gem list D


Вывести список локальный и удалённых gem, чьё имя содержит 'log':

gem search log --both

Предыдущая команда используется для поиска пакетов по имени.

Вывести список только удалённых (не локальных) gem, чьё имя содержит 'log':


gem search log --remote


Удалить 'rake':


gem uninstall rake


Просмотреть информацию о RubyGems:


gem environment


Обновить все программы gem в системе:


gem update


Обновить локальную версию RubyGems:


gem update --system


Как установить bundler

bundler — это менеджер зависимостей Ruby. Данный менеджер пригодится при установке других программ, написанных на Ruby.

Для установки bundler в Windows выполните:


gem install bundler


Для обновления bundle выполните команду:


gem update bundle


Если вы устанавливаете программу из исходного кода и там присутствует файл Gemfile, то перейдите в папку с этой программой и выполните в ней команду:


bundle install


Эта команда установит все перечисленные в файле Gemfile зависимости.

Чтобы увидеть, где установленные с помощью bundle пакеты gem, используйте команду:


bundle info ИМЯ_gem


Как установить программу Ruby в Windows. Как запустить программу Ruby в Windows

Далее рассмотрим несколько примеров установки и использования программ на Ruby в Windows.

Восстановление сайтов из Интернет Архива в Windows

Начнём с программы Wayback Machine Downloader, которая полностью восстанавливает сайты из веб архива.

Для установки Wayback Machine Downloader достаточно выполнить:


gem install wayback_machine_downloader


Проверяем:


wayback_machine_downloader --help


Запустим для проверки работоспособности программы восстановление сайта из Архива Интернета:


wayback_machine_downloader https://suip.biz


Программа успешно завершила работу:


Структура папок:

dir .\websites\suip.biz\


Как установить WhatWeb в Windows

WhatWeb идентифицирует веб-сайты. Цель этой программы ответить на вопрос «Чем является этот веб-сайт?». WhatWeb распознает веб-технологии, в том числе систему управления контентом (CMS), платформы для ведения блогов, пакеты статистики/аналитики, библиотеки JavaScript, веб-сервера и встроенные устройства. WhatWeb имеет более 1700 плагинов, каждый из которых для распознавания чего-то одного. WhatWeb также идентифицирует номера версий, email адреса, ID аккаунтов, модули веб-платформ, SQL ошибки и прочее.

Начнём с поиска WhatWeb в репозитории пакетов Ruby:


gem search whatweb --both


Найдено только simple_whatweb (0.4.1).


Даже если это WhatWeb, то версия очень старая. Поэтому на Windows установим WhatWeb из исходного кода.

Для этого скачайте архив с файлами WhatWeb: https://github.com/urbanadventurer/WhatWeb/archive/master.zip

Распакуйте эту папку. Откройте командную строку и перейдите в эту папку:


cd %userprofile%\Downloads\WhatWeb-master\


Выполните команду:


bundle install


Следующая команда покажет справку по программе:


ruby .\whatweb --help


Запустим проверку сайтов:

ruby .\whatweb mi-al.ru

ruby .\whatweb w-e-b.site


Что такое MSYS2. Как пользоваться MSYS2

Мы установили уже MSYS2 для того, чтобы получить доступ к инструментам компиляции, благодаря которым мы сможем установить любой пакет Ruby. На самом деле MSYS2 основывается на Cygwin и содержит большое количество утилит Linux.

MSYS2 предоставляет оболочку bashAutotoolsmakegccpacmansh и многие другие пакеты. Особенно следует отметить менеджер пакетов pacman.

Для активации рабочего окружения MSYS2 откройте командную строку или консоль powershell и выполните там:


ridk enable


В результате сразу станут доступны для работы многие утилиты Linux, а также менеджер пакетов Pacman, с помощью которого можно установить новые пакеты или обновить имеющиеся. При установке пакетов Pacman следит за зависимостями и устанавливает их.

Для обновления всех пакетов:


pacman -Syu


Для поиска пакета:


pacman -Ss ИМЯ_ПАКЕТА


Для вывода списка всех доступных пакетов:


pacman -Ss


Report Page