- Все конфиги править не обычным блокнотом иначе слетит кодировка файла
- Скачиваем Redmine - http://www.redmine.org/releases/redmine-3.3.3.zip
- Устанавливаем Ruby 2.3 x64 (поставить галку "Прописатся в PATH" ) - https://dl.bintray.com/oneclick/rubyinstaller/rubyinstaller-2.3.3-x64.exe
- Качаем ImageMagick - ftp://ftp.imagemagick.org/pub/ImageMagick/binaries/ImageMagick-6.9.8-10-Q16-x64-dll.exe
- Качаем DevKit - https://dl.bintray.com/oneclick/rubyinstaller/DevKit-mingw64-64-4.7.2-20130224-1432-sfx.exe
- Качаем URL Rewrit и reverse proxy - http://www.iis.net/download/URLRewrite , http://www.iis.net/download/ApplicationRequestRouting
- Качаем winsw - http://repo.jenkins-ci.org/releases/com/sun/winsw/winsw/2.1.0/winsw-2.1.0-bin.exe
- Создаем БД в MS SQL (Не забываем поменять пароль redminepassword на свой!)
USE [master]
GO
-- Very basic DB creation
CREATE DATABASE [REDMINE]
GO
-- Creation of a login with SQL Server login/password authentication and no password expiration policy
CREATE LOGIN [REDMINE] WITH PASSWORD=N'redminepassword', DEFAULT_DATABASE=[REDMINE], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF
GO
-- User creation using previously created login authentication
USE [REDMINE]
GO
CREATE USER [REDMINE] FOR LOGIN [REDMINE]
GO
-- User permissions set via roles
EXEC sp_addrolemember N'db_datareader', N'REDMINE'
GO
EXEC sp_addrolemember N'db_datawriter', N'REDMINE'
GO
-
Распаковываем redmine в папку C:\redmine-3.3.3 (путь не критичен однако после следующих этапов путь менять просто так не стоит)
-
Правим набор пакетов для redmine
- в windows не работает tiny_tds версии 0.6.2 для этого нужно изменить его на версию 0.7.0 (https://stackoverflow.com/a/44397038) (Однако 0.7.0 у меня не взлетел. Попробовал 1.3.0, вроде работает без проблем)
- Открываем C:\redmine-3.3.3\Gemfile
- Правим строку
gem "tiny_tds", "~> 0.6.2", :platforms => [:mri, :mingw, :x64_mingw]
на
gem "tiny_tds", "~> 1.3.0", :platforms => [:mri, :mingw, :x64_mingw]
-
Настройки к БД
- Скопировать C:\redmine-3.3.3\config\database.yml.example в C:\redmine-3.3.3\config\database.yml
- Открываем C:\redmine-3.3.3\config\database.yml
- Коментируем (или удаляем ) не используемые оснастки (development, test)
- Правим блок production:
production: adapter: sqlserver database: redmine host: 192.168.1.2 port: 1433 username: REDMINE password: redminepassword
-
Устанавливаем DevKit
- Распаковываем DevKit по пути C:\Ruby23-x64\DevKit
- Добавляем C:\Ruby23-x64\DevKit\bin в Path
- Открыть консоль и перейти в папку C:\Ruby23-x64\DevKit
cd C:\Ruby23-x64\DevKit
- Запустить
ruby dk.rb init
- Запустить
ruby dk.rb install
- 4-5 пункты должны отработать без ошибок пример:
C:\Ruby23-x64\DevKit>ruby dk.rb init [INFO] found RubyInstaller v2.3.3 at C:/Ruby23-x64 Initialization complete! Please review and modify the auto-generated 'config.yml' file to ensure it contains the root directories to all of the installed Rubies you want enhanced by the DevKit.
C:\Ruby23-x64\DevKit>ruby dk.rb install [INFO] Updating convenience notice gem override for 'C:/Ruby23-x64' [INFO] Installing 'C:/Ruby23-x64/lib/ruby/site_ruby/devkit.rb'
-
Устанавливаем bundler
- Команда
gem install bundler
-
Установка ImageMagick
- При установке обязательно указать установку бибилиотек и заголовков для C/C++
-
Установка необходимых компонентов для ruby
- Открыть консоль
- Установить переменные(только на текущию сессию) для ImageMagick
set CPATH=C:\Program Files\ImageMagick-6.9.8-Q16\include set LIBRARY_PATH=C:\Program Files\ImageMagick-6.9.8-Q16\lib
- Перейти в консоли в папку с redmine
cd C:\redmine-3.3.3
- Запустить для сбора всех пакетов для текущей реализации redmine
bundle install --without development test
-
Генерация ключа (для cookie)
- В папке redmine запустить
bundle exec rake generate_secret_token
-
Создание БД и заполнение стандартными настройками
- Открыть консоль
- Установить переменные(только на текущею сессию)
set RAILS_ENV=production set REDMINE_LANG=ru
- Выполнить команду для создания таблиц в БД
bundle exec rake db:migrate
на данном этапе может выскочить ошибки вида
== 20160416072926 RemovePositionDefaults: migrating =========================== -- change_column("boards", :position, :integer, {:default=>nil}) -> 0.0128s -- change_column("custom_fields", :position, :integer, {:default=>nil}) rake aborted! StandardError: An error has occurred, this and all later migrations canceled: undefined method `type' for nil:NilClass C:/redmine-3.3.3/db/migrate/20160416072926_remove_position_defaults.rb:4:in `block in up' C:/redmine-3.3.3/db/migrate/20160416072926_remove_position_defaults.rb:3:in `each' C:/redmine-3.3.3/db/migrate/20160416072926_remove_position_defaults.rb:3:in `up' C:in `migrate' NoMethodError: undefined method `type' for nil:NilClass C:/redmine-3.3.3/db/migrate/20160416072926_remove_position_defaults.rb:4:in `block in up' ....
однако повторный запуск завершает эту миграцию
== 20160416072926 RemovePositionDefaults: migrating =========================== -- change_column("boards", :position, :integer, {:default=>nil}) -> 0.1129s -- change_column("custom_fields", :position, :integer, {:default=>nil}) -> 0.0647s -- change_column("enumerations", :position, :integer, {:default=>nil}) -> 0.0164s -- change_column("issue_statuses", :position, :integer, {:default=>nil}) -> 0.0216s -- change_column("roles", :position, :integer, {:default=>nil}) -> 0.0086s -- change_column("trackers", :position, :integer, {:default=>nil}) -> 0.0079s == 20160416072926 RemovePositionDefaults: migrated (0.3975s) ==================
- Выполнить команду для заполнения таблиц стандартными данными
bundle exec rake redmine:load_default_data
-
Проверка установки Redmine
- Запустить в консоли
bundle exec rails server webrick -e production
- Перейти http://localhost:3000
-
Установка Puma
- Если необходим ssl (если не надо то можно пропустить до пункта 2) Скачиваем архив с библиотеками:
http://packages.openknapsack.org/openssl/openssl-1.0.0k-x64-windows.tar.lzma
Кладем его в папку (её необходимо создать)
C:\Ruby23-x64\openssl
Командой в консоли мы распаковываем архив
c:\Ruby23-x64\devkit\mingw\bin\bsdtar.exe --lzma -xf c:\Ruby23-x64y\openssl\openssl-1.0.0k-x64-windows.tar.lzma
- Установка Puma Выполнить команду
gem install puma
если с ssl
gem install puma -- --with-opt-dir=c:\ruby\openssl
- Проверка работоспособности Запустить в папке с redmine
puma -e production -p 3000
-
Установка Puma как сервис windows (winsw)
- Создаем папку и кладем в неё winsw (брать в 6 пункте)
C:\redmine-3.3.3\service
- Переименовываем
winsw-2.1.0-bin.exe -> redmine_puma.exe
- создаем файл
redmine_puma.xml
рядом с redmine_puma.exe
- открываем redmine_puma.xml и вставляем текст
<service> <id>redmine_puma</id> <name>Redmine (Puma)</name> <description>Redmine - Puma Ruby WebServer</description> <!-- Дополнительно можно приписать Path (Не проверно)--> <!-- <env name="Path" value="C:\Ruby23-x64\bin;C:\Ruby23-x64\DevKit\bin"/>--> <executable>C:\Ruby23-x64\bin\ruby.exe</executable> <arguments>"C:\Ruby23-x64\bin\puma" -e production -p 3000 -t 8:32</arguments> <workingdirectory>C:\redmine-3.3.3</workingdirectory> <logpath>C:\redmine-3.3.3\log</logpath> </service>
- Устанавливаем сервис
В консоли администратора перейти в папку с winsw и запустить установку
cd C:\redmine-3.3.3\service redmine_puma.exe install
Пример вывода
C:\redmine-3.3.3\service>redmine_puma.exe install 2017-07-02 19:21:07,318 INFO - Starting ServiceWrapper in the CLI mode 2017-07-02 19:21:07,443 INFO - Completed. Exit code is 0
- Проверка Можно перезагрузить компьютер или запустить службу Redmine (Puma) руками
http://127.0.0.1:3000/
-
Привязка IIS к Puma
- Устанавливаем URL Rewrit и reverse proxy (брать в пункте 5)
- Открываем оснастку IIS
- Переходим в необходимы сайт (стандартный Default Web Site)
- Щелкаем Переопределение URL - адресов
- Добавить правило - Обратный прокси-сервер
- Заполняем сверху вниз
Введите имя или ip-адресс ....
127.0.0.1:3000
Отметить галку Переопределить имена От
127.0.0.1:3000
Куда
127.0.0.1
Про примеру выше мы получим по умолчанию на данном сервере redmine
-
Profit
Отличная статья, не пробовали настраивать Single Sign On?