Как установить и использовать Ruby в Windows
Для чего устанавливать 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 * (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. К другим функциями MSYS2 вернёмся чуть позже.
Подробнее о Pacman смотрите в статьях:
- Практические примеры использования pacman
- Pacman: работа с пакетами в BlackArch (перевод справки и мануала)
Как обновить 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
Также рекомендуется для дальнейшего знакомства статья «Идентификация технологий, на которых работает веб-сайт (базовое и продвинутое использование WhatWeb)».
Установка WPScan в Windows
Подробности смотрите в отдельной статье «Как установить и запустить WPScan в Windows».
Что такое MSYS2. Как пользоваться MSYS2
Мы установили уже MSYS2 для того, чтобы получить доступ к инструментам компиляции, благодаря которым мы сможем установить любой пакет Ruby. На самом деле MSYS2 основывается на Cygwin и содержит большое количество утилит Linux.
MSYS2 предоставляет оболочку bash, Autotools, make, gcc, pacman, sh и многие другие пакеты. Особенно следует отметить менеджер пакетов pacman.
Для активации рабочего окружения MSYS2 откройте командную строку или консоль powershell и выполните там:
ridk enable
В результате сразу станут доступны для работы многие утилиты Linux, а также менеджер пакетов Pacman, с помощью которого можно установить новые пакеты или обновить имеющиеся. При установке пакетов Pacman следит за зависимостями и устанавливает их.
Для обновления всех пакетов:
pacman -Syu
Для поиска пакета:
pacman -Ss ИМЯ_ПАКЕТА
Для вывода списка всех доступных пакетов:
pacman -Ss
Как подключить Ruby в качестве модуля Apache на Windows
Подробности смотрите в отдельной статье «Настройка веб-сервера Apache для запуска программ Ruby на Windows».
Связанные статьи:
- Основы C++ (93.6%)
- Как установить Python и PIP на Windows 10. Настройка Python в качестве модуля веб-сервера (56.9%)
- Настройка рабочего окружения PowerShell в Windows и Linux (53.5%)
- Как запустить PHP скрипт без веб-сервера (52%)
- Как быстро узнать и преобразовать кодировку (50%)
- Логи Apache (ч. 3): Программы для анализа логов Apache (RANDOM - 6.8%)