一、系統環境
CentOS (6.5) + Nginx (1.6.2) + MySQL (5.5)
二、概覽
1、安裝依賴
2、創建MySQL用戶和空數據庫
3、安裝Ruby On Rails
4、下載redmine,編輯config/databases.yml
5、生成祕鑰
6、創建數據庫結構和生成缺省數據
7、設置執行權限
8、測試
9、加入開機啓動服務
10、配置Nginx代理轉發
11、配置郵件發送功能(QQ企業郵箱)
12、安裝過程遇到的問題及解決方案
三、詳細流程
1、安裝依賴
yum -y install nano zip unzip libyaml-devel zlib-devel curl-devel openssl-devel httpd-devel apr-devel apr-util-devel mysql-devel gcc ruby-devel gcc-c++ make postgresql-devel ImageMagick-devel sqlite-devel perl-LDAP mod_perl perl-Digest-SHA
2、創建MySQL用戶和空數據庫
CREATE DATABASE redmine CHARACTER SET utf8; (修改數據庫編碼格式)
CREATE USER 'redmine'@'localhost' IDENTIFIED BY 'my_password';
GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost';
FLUSH PRIVILEGES;
3、安裝Ruby On Rails
1)、下載ruby安裝包解壓安裝
wget http://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.6.tar.gz
tar -zxvf ruby-2.1.6.tar.gz
#進入目錄安裝ruby
cd ruby-2.1.6
./configure --prefix=/usr/local/ruby
make && make install
#加入環境變量
echo "PATH=$PATH:/usr/local/ruby/bin;export PATH" >> /etc/profile
. /etc/profile #點“.”和“/”之間有一個空格
2)、安裝rubygems
wget http://production.cf.rubygems.org/rubygems/rubygems-2.4.8.tgz
tar -zxvf rubygems-2.4.8.tgz
cd rubygems-2.4.8
ruby setup.rb #問題1
3)、安裝Rails
#gem 安裝 bundler,用bundler安裝Rails
gem install bundler
bundle install --without development test #問題2
#如果gem安裝無法訪問或者安裝速度太慢,可換其他鏡像
可換的鏡像地址:http://ruby.sdutlinux.org/
或 https://ruby.taobao.org/(淘寶國內鏡像)
#更新下載地址
gem sources --remove https://rubygems.org/ #移除原地址
gem sources -a http://ruby.sdutlinux.org/ # 設置新地址
gem sources -l
gem sources -u #更新緩存地址
#如果bundler無法訪問或安裝太慢,vim Gemfile文件,用上面的地址替換
source ‘https://rubygems.org’
4、下載redmine,編輯config/databases.yml
1)、下載2.6版本的Redmine
wget http://www.redmine.org/releases/redmine-2.6.9.tar.gz
tar -zxvf redmine-2.6.9.tar.gz -C /var/www/html/ #解壓到指定目錄
2)、配置數據庫信息
cd /var/www/html/redmine-2.6.9/config
cp database.yml.example database.yml
vim database.yml
#修改如下內容,寫入第2步創建的數據庫用戶名、密碼和數據庫名稱。這裏生產(production:)、開發(development:)和測試(test:)環境配置一致。
production:
adapter: mysql2
database: redmine
host: localhost
username: redmine
password: "redmine password"
encoding: utf8
5、生成祕鑰
rake generate_secret_token
6、創建數據庫結構和生成缺省數據
#創建數據庫結構
RAILS_ENV=production rake db:migrate
#生成缺省數據
RAILS_ENV=production REDMINE_LANG=zh rake redmine:load_default_data
7、設置執行權限
mkdir -p tmp tmp/pdf public/plugin_assets
sudo chmod -R 755 files log tmp public/plugin_assets
#如果要指定運行用戶(可選)
sudo chown -R redmine:redmine files log tmp public/plugin_assets
8、測試
bundle exec ruby script/rails server webrick -e production
#如果安裝成功命令行將是如下的樣子:
=> Booting WEBrick
=> Rails 3.2.22 application starting in production on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
[2016-03-01 15:58:34] INFO WEBrick 1.3.1
[2016-03-01 15:58:34] INFO ruby 2.0.0 (2013-11-22) [x86_64-linux]
[2016-03-01 15:58:34] INFO WEBrick::HTTPServer#start: pid=22966 port=3000
#到這一步基本安裝好了,可在本地瀏覽器輸入127.0.0.1:3000訪問redmine,要遠程訪問還需據需配置,這裏選擇用Nginx代理轉發實現遠程訪問。
9、加入開機啓動服務
vim /etc/rc.local
#在文件輸入如下信息(必須是絕對地址) “&”->後臺運行:
/usr/local/ruby/bin/ruby /redmine_root_directory/script/rails server webrick -e production &
10、配置Nginx代理轉發
server {
listen 80;
server_name yourdomain.com;
root /www_root/redmine/public;
#代理轉發
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:3000/;
proxy_redirect off;
}
index index.php index.html index.htm;
access_log /var/log/nginx/yourdomain.com.access.log main;
error_log /var/log/nginx/yourdomain.com.error.log notice;
}
11、配置郵件發送功能(QQ企業郵箱)
cd ./config
cp configuration.yml.example configuration.yml
vim configuration.yml
delivery_method: :async_smtp #異步發送
async_smtp_settings:
address: "smtp.exmail.qq.com" #QQ企業郵件發送服務器地址
enable_starttls_auto: true
ssl: true #QQ企業郵箱要求用SSL鏈接,這裏加上此配置
port: 465 #端口
authentication: :login
domain: "exmail.qq.com"
user_name: "[email protected]" #發送郵件的郵箱名稱
password: "xxxxxx" #郵箱登錄密碼
12、安裝過程遇到的問題及解決方案
問題1:安裝rubygems是報錯。
錯誤信息:
RubyGems 2.4.8 installed
/usr/local/src/rubygems-2.4.8/lib/rubygems/core_ext/kernel_require.rb:54:in require': cannot load such file -- json/pure (LoadError) 原因:未安裝json 解決方法:gem install json_pure 問題2:bundle install --without development test安裝Rail時報錯。 錯誤信息: Gem::RemoteFetcher::FetchError: SSL_connect SYSCALL returned=5 errno=0 state=SSLv3 read server session ticket A (https://rubygems.org/gems/polyglot-0.3.5.gem) An error occurred while installing polyglot (0.3.5), and Bundler cannot continue. Make sure that
gem install polyglot -v ‘0.3.5’` succeeds before bundling.
原因:國外鏡像地址被牆,訪問速度慢。
解決方法:
1、換鏡像
2、用gem手動安裝,如上報錯信息表示無法安裝0.3.5版本的polyglot,手動安裝命令:
gem install polyglot -v ’0.3.5’