Download
xampp-win32-1.8.0-VC9-installer.exe :: http://www.apachefriends.org/en/xampp-windows.html
ruby-1.9.3-p125-i386-mingw32.7z :: http://rubyinstaller.org/downloads/ <== Do not use p194 because of bug
DevKit-tdm-32-4.5.2-20111229-1559-sfx.exe :: http://rubyinstaller.org/downloads/
mysql-connector-c-noinstall-6.0.2-win32.zip :: http://dev.mysql.com/downloads/connector/c/
redmine-2.1.0.zip :: http://rubyforge.org/frs/?group_id=1850
PortableGit-1.7.11-preview20120710.7z :: http://code.google.com/p/msysgit/
# Do not download the belows if you have a 32bit Windows box
apache-tomcat-7.0.30-windows-x64.zip :: http://tomcat.apache.org/
mysql-5.5.27-winx64.zip :: http://www.mysql.com/downloads/mysql/
Install XAMPP into C:\usr
Extract others into C:\usr
C:\usr\apache-tomcat-7.0.30\ C:\usr\mysql-5.5.27-winx64\ C:\usr\ruby-1.9.3-p194-i386-mingw32 C:\usr\DevKit-tdm-32-4.5.2-20111229-1559-sfx C:\usr\mysql-connector-c-noinstall-6.0.2-win32 C:\usr\redmine-2.1.0 C:\usr\Git-1.7.11Make symbolic link as Administrator
CMD> cd C:\usr CMD> mklink /D ruby C:\usr\ruby-1.9.3-p194-i386-mingw32 CMD> mklink /D devkit C:\usr\DevKit-tdm-32-4.5.2-20111229-1559-sfx CMD> mklink /D mysql-connector c:\usr\mysql-connector-c-noinstall-6.0.2-win32 CMD> mklink /D redmine C:\usr\redmine-2.1.0 CMD> mklink /D git C:\usr\Git-1.7.11 CMD> cd C:\usr\ruby\bin CMD> mklink libmysql.dll C:\usr\mysql-connector\lib\libmysql.dll ## Skip if you have a 32bit Windows box CMD> cd C:\usr CMD> ren(or remove) tomcat tomcat7-32bit CMD> ren(or remove) mysql mysql-5.5.25-winx86 CMD> mklink /D tomcat apache-tomcat-7.0.30 CMD> mklink /D mysql mysql-5.5.27-winx64 CMD> copy mysql-5.5.25-winx86\mysql_installservice.bat mysql CMD> copy mysql-5.5.25-winx86\mysql_uninstallservice.bat mysql CMD> copy mysql-5.5.25-winx86\mysql_resetroot.bat mysql ## Move mysql data directory to D drive : you can skip this CMD> cd C:\usr\mysql-5.5.25-winx86 CMD> mkdir "D:\MySQL Data" CMD> xcopy /S data "D:\MySQL Data" CMD> cd C:\usr\mysql <== make sure 64bit mysql(mysql-5.5.25-winx86) CMD> ren(or remove) data data.org CMD> mklink /D data "D:\MySQL Data"Setup DevKit
Add C:\usr\ruby\bin into PATH
CMD> cd C:\usr\devkit CMD> ruby dk.rb init CMD> ruby dk.rb review <== Add "- C:/usr/ruby" into config.yml manually when init failed CMD> ruby dk.rb installCreate database
CMD> cd C:\usr\mysql\bin CMD> msyql -u root -p mysql> create database redmine character set utf8; mysql> grant all privileges on redmine.* to 'redmine'@'localhost' identified by 'PASSWORD';Edit C:\usr\redmine\config\database.yml
production: adapter: mysql2 database: redmine host: 127.0.0.1 <== In my case, localhost didn't work. username: redmine password: PASSWORDInstall redmine
Extract redmine into c:\usr\redmine-2.1.0
Add a line into C:\usr\redmine\Gemfile
gem "thin"Install redmine
CMD> cd C:\usr\redmine CMD> gem install bundler CMD> bundle install --without development test rmagick postgresql sqlite CMD> set RAILS_ENV=production CMD> rake generate_secret_token CMD> rake db:migrate CMD> rake redmine:load_default_dataAdd to end of C:\usr\redmine\config\environment.rb
Redmine::Utils::relative_url_root = "/redmine"Test
CMD> cd C:\usr\redmine CMD> thin start -e productionGo to http://localhost:3000/redmine with your web browser, and login admin/admin
Configuration Redmine
Edit C:\usr\redmine\config\configuration.yml
set email in section default set attachments_storage_path: C:/usr/redmine/files set scm_git_command: C:\usr\git\cmd\git.exeRun as a windows service
CMD> gem install win32-serviceSave as C:\usr\redmine\service_install.rb
require 'rubygems' require 'win32/service' include Win32 SERVICE_NAME = 'Redmine' # Create a new service Service.create({ :service_name => SERVICE_NAME, :service_type => Service::WIN32_OWN_PROCESS, :description => 'Redmine on Thin as Windows Service', :start_type => Service::AUTO_START, :error_control => Service::ERROR_NORMAL, :binary_path_name => 'c:\usr\Ruby\bin\ruby.exe -C C:\usr\redmine service.rb', :load_order_group => 'Network', :dependencies => ['W32Time','Schedule'], :display_name => SERVICE_NAME })Save as C:\usr\redmine\servce.rb
REDMINE_DIR = 'C:\usr\redmine' LOG_FILE = "#{REDMINE_DIR}\\log\\service.log" begin require 'win32/daemon' include Win32 class RedmineService < Daemon def service_init File.open(LOG_FILE, 'a'){ |f| f.puts "Initializing service #{Time.now}" } @server_pid = Process.spawn 'C:\usr\ruby\bin\ruby C:\usr\ruby\bin\thin start -p 3001 -e production --prefix /redmine', :chdir => REDMINE_DIR, :err => [LOG_FILE, 'a'] end def service_main File.open(LOG_FILE, 'a'){ |f| f.puts "Service is running #{Time.now} with pid #{@server_pid}" } while running? sleep 10 end end def service_stop File.open(LOG_FILE, 'a'){ |f| f.puts "Stopping server thread #{Time.now}" } system "taskkill /PID #{@server_pid} /T /F" Process.waitall File.open(LOG_FILE, 'a'){ |f| f.puts "Service stopped #{Time.now}" } exit! end end RedmineService.mainloop rescue Exception => e File.open(LOG_FILE,'a+'){ |f| f.puts " ***Daemon failure #{Time.now} exception=#{e.inspect}\n#{e.backtrace.join($/)}" } raise endInstall service and run it as Administrator
CMD> cd C:\usr\redmine CMD> ruby service_install.rb CMD> net start Redmine# Check if Redmine runs and see logs at C:\usr\redmine\log\service.log
# See http://localhost:3001/redmine/
Attach to Apache
Add to end of C:\usr\apache\conf\httpd.conf
Include "conf/extra/httpd-proxy-redmine.conf"Save as C:\usr\apache\conf\extra\httpd-proxy-redmine.conf
<IfModule !mod_proxy.c> LoadModule proxy_module modules/mod_proxy.so </IfModule> <IfModule !mod_proxy_http.c> LoadModule proxy_http_module modules/mod_proxy_http.so </IfModule> <IfModule proxy_module> <IfModule proxy_http_module> ProxyRequests Off ProxyPreserveHost On <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPass /redmine http://127.0.0.1:3001/redmine/ ProxyPassReverse /redmine http://127.0.0.1:3001/redmine/ </IfModule> </IfModule>See http://localhost/redmine/
No comments:
Post a Comment