安裝環境與部署程序:html
#數據庫服務器操做系統可選用windows server 或 Linux 或 其它類Unix系統。前端
#數據庫系統可選用MySQL或PostgreSQL,這裏選用MySQL 5.6node
一、系統centos6系列mini安裝mysql
二、最終須要安裝好redmine、gitlab,nginx在前端作代理,經過socket訪問應用(這樣https配置更簡單)linux
三、後期計劃配置LDAP服務器,用LDAP統一管理帳號。(暫未實行)nginx
======c++
1.0 安裝centos6系列(mini安裝),配置ip,安裝wget、ntp、ntpdate、並同步時間。git
yum install -y ntp ntpdate wgetgithub
ntpdate pool.ntp.orgweb
clock -w
1.1 升級系統
yum update -y
1.2 安裝開發工具包
yum groupinstall 'Development tools' -y
1.3 從mysql官網下載Yum Repository安裝文件安裝mysql、mysql-devel(選用mysql數據庫,數據庫和應用不在同一臺服務器)
#mysql Yum Repository http://dev.mysql.com/downloads/repo/yum/
rpm -ivh mysql57-community-release-el6-7.noarch.rpm
#安裝mysql客戶端和mysql開發庫
yum install -y mysql mysql-devel
1.4 添加帳號git、redmine、redis,並設置密碼
#gitlab用git用戶
#redmine用redmine用戶
#redis用redis用戶
useradd git
useradd redmine
useradd gitlab
passwd git
passwd redmine
passwd gitlab
#配置sudo;添加帳號和執行程序路徑
#路徑添加 /usr/loacal/bin
#sudo容許用戶添加redmine、git、redis
visudo
1.5 nginx.org 找到Yum Repository配置,手動添加/etc/yum.repos.d/nginx.repo文件,內容以下:
#nginx Yum Repository http://nginx.org/en/linux_packages.html#stable
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/6/$basearch/
gpgcheck=0
enabled=1
1.6 安裝nginx 1.8.1
yum install nginx -y
1.7 redis.io下載3.0.7源碼,並解壓縮到/usr/local/src
1.8 編譯&安裝 redis
cd /usr/local/src/redis-3.0.7
make && make install
1.9 安裝redis服務
cp /usr/local/src/redis-3.0.7/redis.conf /home/redis/redis_6379.conf
chown redis:redis /home/redis/redis_6379.conf
自行配製redis_6379.conf
cd /usr/local/src/redis-3.0.7/utils
./install_server.sh
按照提示進行設置,完成後中止redis服務調整系統內核參數
service redis_6379 stop
echo 511 > /proc/sys/net/core/somaxconn
sysctl vm.overcommit_memory=1
echo never > /sys/kernel/mm/transparent_hugepage/enabled
/etc/rc.local 文件追加:
echo 511 > /proc/sys/net/core/somaxconn
echo never > /sys/kernel/mm/transparent_hugepage/enabled
/etc/sysctl.conf 文件追加:
vm.overcommit_memory = 1
2.0 經過yum安裝各類ruby、git依賴(openldap*爲之後整合帳號管理安裝)
yum install -y zlib zlib-devel readline readline-devel openssl openssl-devel curl-devel apr-devel apr-util-devel ImageMagick ImageMagick-c++-devel ImageMagick-devel pcre-devel perl-ExtUtils-MakeMaker openldap*
2.1 github上下載git源碼,卸載'Development tools'安裝的git1.7,編譯安裝git 2.8.1
yum remove git -y
解壓縮git 2.8.1 源碼到 /usr/local/src
cd /usr/local/src/git-2.8.1
autoconf && ./configure
make && make install
(編譯後的git路徑爲/usr/local/bin/git)
2.2 下載go、node.js 二進制包(這裏我要說明一下,gitlab須要一個js引擎。可是不清楚爲啥execjs找不到我手動安裝的node.js。這個問題之後再處理【若有知道的請告訴我怎麼設置execjs查找&使用node.js。(估計須要安裝node.js開發庫)】,在這裏先裝上node.js。)
tar解壓縮go、node.js包到/usr/local/lib64
修改/etc/profile(文件末尾)添加
export GOROOT=/usr/local/lib64/go
export GOBIN=$GOROOT/bin
export NODE_HOME=/usr/local/lib64/node.js
export NODE_BIN=$NODE_HOME/bin
export PATH=$PATH:$GOBIN:$NODE_BIN
刷新環境變量:
. /etc/profile
測試安裝的go、node.js (執行下面的命令以後要能看見對應程序的版本號):
go version
node --version
2.3 ruby官網下載2.1.9源碼,解壓縮源碼到/etc/local/src
#http://www.ruby-lang.org/zh_cn/downloads/
2.4 編譯安裝ruby
cd /etc/local/src/ruby-2.1.9
./configure && make && make install && ruby -v
2.5 配置gem源(我的感受https://ruby.taobao.org/速度更快,可是貌似taobao的ruby源不維護了)
gem sources --remove https://rubygems.org/ -a https://gems.ruby-china.org/ && gem sources -l
2.6 編輯root下gem配置文件:不安裝手冊文檔,加速安裝
vi ~/.gemrc
追加:
install: --no-rdoc --no-ri
update: --no-rdoc --no-ri
2.7 升級gem
gem update --system && gem -v
2.8 gem安裝rails
gem install rails
rails -v
2.9 gem提早安裝部分組件
gem install rbpdf-font
gem install mysql2
gem install bundler
#用unicorn做redmine的web服務器
gem install unicorn
#用therubyracer作js引擎
gem install therubyracer
3.0 準備部署redmine,到mysql服務器上創建redmine空庫,創建redmine帳號,受權redmine帳號對redmine空庫權限(這裏順便把gitlab的庫也解決了)
CREATE DATABASE redmine;
GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'10.10.11.%';
CREATE DATABASE gitlab;
GRANT ALL PRIVILEGES ON gitlab.* TO 'gitlab'@'10.10.11.%';
3.1 登出root,換redmine帳號登錄系統,redmine官網下載源碼包3.2.1(用wget下載)
#https://www.redmine.org/projects/redmine/wiki/Download
3.2 解壓縮redmine包,/home/redmine/src
3.3 cp -R /home/redmine/src/redmine-3.2.1/[a-Z]* ~/
cp /home/redmine/src/redmine-3.2.1/.gitignore ~/
cp /home/redmine/src/redmine-3.2.1/.hgignore ~/
3.4 初始化redmine環境
直接 vi /home/redmine/Gemfile 修改文件設置源路徑爲ruby-china或ruby.taobao.org
bundler install
3.5 配置redmine
redmine相關配置文件:
#redmine全局配置文件,可複製模板configuration.yml.example,進行配置修改
/home/redmine/config/configuration.yml
#redmine數據庫配置文件,可複製模板database.yml.example,進行配置修改
#database.yml配置文件
/home/redmine/config/database.yml
#密鑰配置文件redmine/config/secrets.yml
/home/redmine/config/secrets.yml
#生成祕鑰時會報錯,處理方法:刪除redmine/Gemfile.lock,再從新bundler install
export SECRET_KEY_BASE=`rake secret RAILS_ENV=production`
#這裏用unicorn作redmine的web服務器(unicorn配置文件gitlab源碼目錄config下有一個,或直接下載)
#wget -O unicorn.rb https://raw.github.com/defunkt/unicorn/master/examples/unicorn.conf.rb
/home/redmine/config/unicorn.rb
#unicorn.rb配置文件
#生成redmine數據庫表、數據
RAILS_ENV=production bundle exec rake db:migrate
RAILS_ENV=production bundle exec rake redmine:load_default_data
#啓動redmine,訪問10.10.11.128:8080,查看redmine是否正常啓動
unicorn_rails -E production -c config/unicorn.rb -D
#開始安裝gitlab,這裏先感謝 https://gitlab.com/larryli/gitlab 漢化了gitlab
未完待續...