安装环境与部署程序: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
未完待续...