在Scientific Linux 6.4(64位)上安裝Redmine 2.5.1

Redmine是一款優秀的項目管理和Bug跟蹤軟件,基於RoR(Ruby on Rails)開發。 下面記錄安裝過程。mysql

安裝依賴項

sudo yum install vim-enhanced git mysql-server mysql-devel ImageMagick ImageMagick-devel  mod_fcgid fcgi fcgi-devel openssl openssl-devel zlib zlib-devel patch

阿里雲的雲主機中操做系統是CentOS 5.x,其ImageMagick版本太低,須要源碼編譯: wget http://mirrors-usa.go-parts.com/mirrors/ImageMagick/ImageMagick-6.8.8-9.tar.gz tar zxvf ImageMagick-6.8.8-9.tar.gz cd ImageMagick-6.8.8-9 ./configure make make install /sbin/ldconfig /usr/local ln -f /usr/local/bin/Magick-config /usr/bin/Magick-configgit

安裝Ruby 2.0

若是已經安裝好Ruby 2.0可略過這一步。github

sudo yum remove ruby1.8
mkdir /tmp/ruby && cd /tmp/ruby
curl –progress ftp://ftp.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p247.tar.gz | tar xz
cd ruby-2.0.0-p247
./configure
make
sudo make install
cd ext/zlib
ruby extconf.rb
make
sudo make install
cd ../openssl
ruby extconf.rb
make
sudo make install

#下載安裝Redmineweb

cd /tmp
git clone https://github.com/redmine/redmine.git
cd redmine
git checkout 2.5-stable

#建立數據庫和數據庫用戶 mysql -u root -p 輸入口令後進入mysql>命令提示符。依次鍵入下列命令:sql

CREATE DATABASE redmine CHARACTER SET utf8;
CREATE USER 'redmine'@'localhost' IDENTIFIED BY 'my_password';
GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost';

這樣就建立了數據庫redmine和數據庫用戶redmine,口令是my_password。數據庫

#配置數據庫鏈接信息 cp config/database.yml.example config/database.yml vim config/database.ymlapache

按下面的內容填寫:vim

production:
   adapter: mysql2
   database: redmine
   host: localhost
   username: redmine
   password: my_password

#安裝依賴項瀏覽器

修改Gemfile文件,在gem "builder"一行以後加入下面一行:gem "fcgi"。而後運行命令:ruby

PKG_CONFIG_PATH=/usr/local/lib/pkgconfig/ gem install rmagick
gem install bundler
bundle install --without development test

#會話存儲密鑰生成 這一步生成一個隨機密鑰,Rails用來編碼存儲會話數據的cookie,防止外界破壞。

rake generate_secret_token

#生成數據庫結構 RAILS_ENV=production rake db:migrate

#填充缺省配置數據 RAILS_ENV=production rake redmine:load_default_data Redmine將提問你選擇哪一種語言。選zh表明簡體中文。

#設置文件系統訪問權限 運行Redmine的用戶(下面我選定apache用戶運行Redmine)必須對下面的目錄擁有寫權限:

  1. files(存儲附件)
  2. log(應用程序日誌文件application.log)
  3. tmp和tmp/pdf(若是這些目錄還沒有存在,則先建立之。用於生成PDF文檔等)
  4. public/plugin_assets(插件的相關文件)。

經過下面的命令解決上面的問題:

mkdir -p tmp tmp/pdf public/plugin_assets
sudo chown -R apache:apache files log tmp public/plugin_assets
sudo chmod -R 755 files log tmp public/plugin_assets
chmod -R 1777 /tmp

#測試安裝是否成功 ruby script/rails server webrick -e production 將運行WEBrick Web服務器。打開瀏覽器訪問http://localhost:3000/(若是你安裝在別的服務器上,請用服務器域名或IP代替localhost)。若是一切正常,你會看到歡迎頁面。

#登陸Redmine 用賬號口令admin/admin登陸系統。能夠經過"管理(Administration)"菜單選擇「配置(Settings)」來修改應用程序的大部分設置。 回到服務器的終端窗口,按Ctrl + C退出WEBrick。

#進一步配置系統 Redmine配置信息定義在conf/configuration.yml中。若是你須要覆蓋缺省的配置,能夠

cp config/configuration.yml.example config/configuration.yml

而後修改conf/configuration.yml。修改完畢須要重啓動應用。

#整合到Apache

##複製到Apache專用目錄 首先,把Redmine從臨時目錄/tmp轉移到目標目錄。個人設置是建立/home/apache目錄,apache用戶擁有這個目錄,在其下建立sites子目錄,全部的Apache虛擬主機程序都存放在這個目錄下。

mkdir -p  /home/apache /home/apache/sites
cd ..
sudo mv redmine /home/apache/sites
sudo chown -R apache:apache /home/apache

##配置fcgid

cp public/dispatch.fcgi.example public/dispatch.fcgi
vim public/dispatch.fcgi

將第一行改成#!/usr/local/bin/ruby,保存退出。

使public/dispatch.fcgi擁有執行權限:

sudo  chmod 755 public/dispatch.fcgi

配置.htaccess文件,去掉fastcgi支持內容:

cp public/htaccess.fcgi.example public/.htaccess
vim public/.htaccess

將下面的內容刪除或註釋掉:

<IfModule mod_fastcgi.c>
       AddHandler fastcgi-script .fcgi
</IfModule>

<IfModule mod_fastcgi.c>
       RewriteRule ^(.*)$ dispatch.fcgi [QSA,L]
</IfModule>

修改config/environment.rb,將Rails環境切換到production:

vim config/environment.rb

在文件開頭加入下面一行:

ENV['RAILS_ENV'] ||= 'production'

##配置redmine虛擬主機

個人虛擬主機配置文件統一放在/etc/httpd/conf/sites-available目錄下,而後在/etc/httpd/conf/sites-enabled目錄中分別對/etc/httpd/conf/sites-available中要啓用的虛擬主機創建符號連接:

sudo mkdir -p /etc/httpd/conf/sites-available /etc/httpd/conf/sites-available vim /etc/httpd/conf/sites-available/redmine.vhost

輸入下面的內容:

<VirtualHost 58.63.245.211:80>
	ServerName redmine.dayatang.org
	ServerAdmin webmaster@dayatang.org
	DocumentRoot /home/apache/sites/redmine/public/

	ErrorLog logs/redmine.dayatang.org_error_log
	LogLevel warn
	CustomLog logs/redmine.dayatang.org_access_log combined

	DefaultInitEnv RAILS_ENV production
       MaxRequestLen 20971520
	<Directory "/home/apache/sites/redmine/public/">
		Options Indexes ExecCGI FollowSymLinks  
		Order allow,deny  
		Allow from all  
		AllowOverride all  
	</Directory>
	<Location />
		AddHandler fcgid-script .fcgi
		FCGIWrapper "/usr/local/bin/ruby /home/apache/sites/redmine/public/dispatch.fcgi" .fcgi
	</Location>
</Virtualhost>

存盤退出後在/etc/httpd/conf/sites-available中創建符號連接:

sudo ln -s /etc/httpd/conf/sites-available/redmine.vhost /etc/httpd/conf/sites-enabled/redmine.vhost

若是Apache主配置文件還沒有導入/etc/httpd/conf/sites-enabled目錄,修改Apache主配置文件:

sudo vim /etc/httpd/conf/httpd.conf

在文件末尾加入這麼一行:

Include conf/sites-enabled/*.vhost

存盤退出。

##測試是否成功

在命令行窗口運行下述命令:

sudo chown -R apache:apache /home/apache
sudo service httpd restart

而後打開瀏覽器,在地址欄中輸入redmine.dayatang.org,看看是否可進入歡迎頁面。

#修改日誌配置 Redmine默認將日誌記錄到應用主目錄下的log子目錄。隨着時間的推移,日誌文件可能變得很大。爲此能夠考慮讓它們增加到必定大小以後自動分割爲多個文件。能夠修改config/additional_environment.rb作到這一點。

cp config/additional_environment.rb.example config/additional_environment.rb
vim config/additional_environment.rb

輸入下面的內容:

#Logger.new(PATH,NUM_FILES_TO_ROTATE,FILE_SIZE)
config.logger = Logger.new('/path/to/logfile.log', 2, 1000000)
config.logger.level = Logger::INFO

個人/path/to/logfile.log是/usr/share/redmine/log/redmine.log。

#備份 Redmine備份要包括下面的內容:

  • 數據(存儲在redmine數據庫內)
  • 附件(存儲在Redmine主目錄下的files子目錄內)

下面是一個簡單的腳本,可用於每日備份:

# Database
/usr/bin/mysqldump -u <username> -p<password> <redmine_database> | gzip >     /path/to/backup/db/redmine_`date +%y_%m_%d`.gz

# Attachments
rsync -a /path/to/redmine/files /path/to/backup/files
相關文章
相關標籤/搜索