redmine是使用ruby开发的一款无任何商业限制且可自行部署的项目管理软件,其简洁的界面比较符合程序猿的定位,使用起来比较方便,由于我之前装3X没 成功,各版本之间的依存和配置都不一样,所以最后参考了redmin.org的一篇官方教程装的2.5,虽说有教程傍身还是比较吃力的,而且这篇文章也是找了好久才找到,特别把心得写下来,方便同样入坑的猿类们。

本文参考自:http://www.redmine.org/projects/redmine/wiki/Install_Redmine_25x_on_Centos_65_complete

1.CentOS

系统安装就不多说了,装好后执行更新

yum update

滚完后reboot

2.库们

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

直接复制进xshell里一通滚

3.Apache和MySQL

yum -y install httpd mysql mysql-server

也是比较基础的安装,装完配置启动项

chkconfig httpd on
chkconfig mysqld on
service httpd start
service mysqld start

4.防火墙配置(原文有关selliunx和hosts文件,我跳过去了,无伤大雅)

nano /etc/sysconfig/iptables

在22后面追加

-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT

有就不用加了,注意不要加在最后

保存退出执行

/etc/init.d/iptables restart

5.装PHP

yum -y install php php-mysql php-gd php-imap php-ldap php-mbstring php-odbc php-pear php-xml php-xmlrpc php-pecl-apc php-soap

装完重启httpd服务

6.Ruby

\curl -L https://get.rvm.io | bash
source /etc/profile.d/rvm.sh
rvm install 1.9.3

我没这么装过,一直是wget直接,应该是一样的吧,严谨期间用的教程上的方法

7.Rubygems

yum -y install rubygems

8.Passenger

gem install passenger
passenger-install-apache2-module

这块说明一下,如果直接运行,他会装比较高版本的rack,导致要比较高本的ruby,就卡住了

这块要手动把依存包装一下,通过gem获取对应的版本即可

gem install rack -v 1.5.2

再装passenger然后就能用它突突突了

passenger-install-apache2-module

一路回车图图完没报错的话把它甩给你那几句话复制下来

LoadModule passenger_module /usr/local/rvm/gems/ruby-1.9.3-p545/gems/passenger-4.0.37/buildout/apache2/mod_passenger.so
<IfModule mod_passenger.c>
PassengerRoot /usr/local/rvm/gems/ruby-1.9.3-p545/gems/passenger-4.0.37
PassengerDefaultRuby /usr/local/rvm/gems/ruby-1.9.3-p545/wrappers/ruby
</IfModule>

这里如果你用别的版本ruby、passenger的话的生成的路径都不一样的,所以别复制我的,要复制它给你的

创建redmine的配置文件

nano /etc/httpd/conf.d/passenger.conf

把复制的那个粘里面保存退出,然后重启web服务

service httpd restart

9.创建Redmine数据库

先进mysql

mysql -u root -p

然后输你的mysql密码,没有就空

进去后执行

create database redmine_db character set utf8;
create user 'redmine_admin'@'localhost' identified by 'your_new_password';
grant all privileges on redmine_db.* to 'redmine_admin'@'localhost';

注意那your_new_password是你redmine连接mysql账号的密码,你可以自定义个,完后exit退出

10.装Redmine

先进到www目录,然后下载2.5版本包,你要是琢磨下个高点的,那 所有对应的ruby啊,passenger啊,都得装高的,所以一定对应好了

cd /var/www
wget http://www.redmine.org/releases/redmine-2.5.0.tar.gz

然后解压 改名字 删压缩包

tar xvfz redmine-2.5.0.tar.gz
mv redmine-2.5.0 redmine
rm -rf redmine-2.5.0.tar.gz

进里面先把数据库配置改了

cd /var/www/redmine/config
cp database.yml.example database.yml
nano database.yml

就把你刚才创建数据库时候的数据库名、账号、信息填上,就齐了,保存退出

11.装Rails

cd /var/www/redmine
gem install bundler
bundle install
rake generate_secret_token

然后执行sql脚本一样的东西创建数据表,ruby真心不懂

RAILS_ENV=production rake db:migrate
RAILS_ENV=production rake redmine:load_default_data

让你选择语言随便选个就行

12.激活FCGI

cd /var/www/redmine/public
mkdir plugin_assets
cp dispatch.fcgi.example dispatch.fcgi
cp htaccess.fcgi.example .htaccess

这一步比较简单

13.装apache的fcgi模块

cd /var/www/
rpm --import https://fedoraproject.org/static/0608B895.txt
wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -ivh epel-release-6-8.noarch.rpm
yum -y install mod_fcgid
rm -rf epel-release-6-8.noarch.rpm

14.创建目录

mkdir -p /opt/redmine/files
chown -R apache:apache /opt/redmine
cd /var/www/redmine/config
cp configuration.yml.example configuration.yml
nano configuration.yml

在大概212行有一句,在后面补全刚才的路径

attachements_sorage_path: /opt/redmine/files

注意冒号后面有个空格

这一步我也不懂啥意思,就跟着照做了,理解不了

15.创建conf配置信息,email那一步我跨过了,需要用的看原文档先

nano /etc/httpd/conf.d/redmine.conf

在打开的文档输入

<VirtualHost *:80>
ServerName your_domain
DocumentRoot /var/www/redmine/public/
<Directory "/var/www/redmine/public/">
Options Indexes ExecCGI FollowSymLinks
Order allow,deny
Allow from all
AllowOverride all
</Directory>
</VirtualHost>

那个your_admin是你的域名,有域名写域名,没域名写ip

16.可以跑了

先给目录追加apache账号的权限,然后重启web服务

cd /var/www
chown -R apache:apache redmine
chmod -R 755 redmine
service httpd restart

然后打开浏览器访问你的域名,就算大功告成了,对了如果重启服务时报冲突啥的错误,打开/etc/httpd/conf/httpd.conf,把ServerName www.example.com那句改成

ServerName localhost:80

就ok了。

17.集成Git

设置好git目录,不管放在哪里要注意好权限,要让其他组的成员有r和x的权限,也就是755,包括上级目录,但如果要是做ssh的方式连接git的话,由于centos严格的规则,家目录不能开放全部权限,所以如果指向家目录注意不能用777,否则会默认用http的方式连接,弄好后最后在redmine目录下执行以下即可

ruby script/rails runner "Repository.fetch_changesets" -e production

总结:linux上面安装东西不想windows下面那么傻瓜,需要有比较好的逻辑思维,一个好的运维我觉得比一个好的程序要值钱的多。我研究linux有一段时间了,现在也是离了文档就活不下去那种,反正无论做程序也好、dba也好、运维也好,千万别犯懒,遇到问题要及时解决才是一个好的it人员的基本素质。

Redmine2.5+CentOS6+Apache2的更多相关文章

  1. bitnami redmine版本由2.3.1升级至3.2.2过程

    环境: 操作系统为ubuntu13.**版本,非长期支持版. 安装目录:/opt/redmine-2.3.1-0/ 所有者用户:root 安装过程: 1. 备份2.3.1数据库 sudo /opt/r ...

  2. Ubuntu1404安装gogs过程

    一.Gogs介绍 Gogs (Go Git Service) 是一款极易搭建的自助 Git 服务. Gogs 的目标是打造一个最简单.最快速和最轻松的方式搭建自助 Git 服务.使用 Go 语言开发使 ...

  3. bitnami_redmine3.3.0-1 问题及备份恢复

    1. 服务不见了处理方法: 安装Bitnami Redmine之后,会生成5个与之相关的进程,分别是 redmineApache redmineMySQL redmineSubversion redm ...

  4. redmineBUG系统

    bitnami-redmine-2.6.3-0-linux-x64-installer.run 我的是linux 64位 官网下载bitnami-redmine http://bitnami.com/ ...

  5. Linux 程序包管理-YUM

    前端工具YUM管理程序包:  rpm管理软件虽然方便,但是需要手工解决软件包的依赖关系:很多时候安装一个软件需要首先安装一个或多个(有时多达上百个)其它软件,手工解决很复杂:使用yum可以解决这个问题 ...

  6. Bash Shellshock(CVE-2014-6271)破壳漏洞测试

    0x01 漏洞原理 Bash使用的环境变量是通过函数名称来调用的,导致漏洞出问题是以"(){"开头定义的环境变量在命令ENV中解析成函数后,Bash执行并未退出,而是继续解析并执行 ...

  7. CentOS下编译搭建LAMP环境

    搭建LAMP环境须知 搭建LAMP环境时,需要安装的所有软件都要按照一定的顺序安装,我们按照Apache->MySQL->PHP的顺序安装.但是在安装PHP之前,应先安装PHP5需要的最新 ...

  8. CentOS6.3 编译安装LAMP(2):编译安装 Apache2.2.25

    所需源码包: /usr/local/src/Apache-2.2.25/httpd-2.2.25.tar.gz 编译安装 Apache2.2.25 #切换到源码目录 cd /usr/local/src ...

  9. CentOS6.3 编译安装LAMP(2):编译安装 Apache2.4.6

    Apache官方说: 与Apache 2.2.x相比,Apache 2.4.x提供了很多性能方面的提升,包括支持更大流量.更好地支持云计算.利用更少的内存处理更多的并发等.除此之外,还包括性能提升.内 ...

随机推荐

  1. Gym 100818G (模拟退火)

    题目大意 给一张n个点的无向图,要求给每个点染色0或1,使得每个点的相邻相同颜色点的数量小于等于其度数的一半. 解题分析 没想到什么好的算法,就随机乱搞了. 若某个状态时,一个点的度数为cnt,相邻相 ...

  2. VS2010 刷新工具箱(刷新自定义控件)

    有时候自己自定义了控件,定义完后却不见工具箱中刷新出来自定义的控件,解决方案有了三种: 点评:在项目中增加了几个自定义控件,想在窗口上添加时却发现工具箱根本就没有些控件,晕了.记得2008都可以自动出 ...

  3. 转:GROUPING SETS、ROLLUP、CUBE

    转:http://blog.csdn.net/shangboerds/article/details/5193211 大家对GROUP BY应该比较熟悉,如果你感觉自己并不完全理解GROUP BY,那 ...

  4. IPC-管道

    内容提要: 管道简介 使用无名管道实现一个简单的本地文件服务器 使用标准I/O函数库提供的管道实现 使用popen实现本地文件服务器 有名管道-FIFO 使用FIFO改写本地文件服务器 管道和FIFO ...

  5. poj 3463 最短路与次短路的方案数求解

    Sightseeing Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 8968   Accepted: 3139 Descr ...

  6. web安全之http协议

    http协议 全称是超文本传输协议,是web的核心传输机制,也是服务端和客户端之间交换url的首选协议. url url全称是统一资源定器(统一资源标识符) 顾名思义 每一条格式正确且规范,但url都 ...

  7. python语言switch-case

    初学python语言,竟然很久才发现python没有switch-case语句,查看官方文档说是可以用if-elseif-elseif....代替. 讲真,这都不是问题.不就是一个条件判断吗.用if- ...

  8. 2016.1.4~2016.1.7真题回顾!-- HTML5学堂

    2016.1.4~2016.1.7真题回顾!-- HTML5学堂 2015悄然而逝,崭新的2016随即而行!生活需要新鲜感,学习JavaScript的过程需要有成就感!成就感又是来自于每一天的不断练习 ...

  9. ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室 实战系列(不断更新中)

    项目简介 利用ASP.NET SignalR技术与Layim前端im框架实现的一个简单的web聊天室,包括单聊,群聊,加好友,加群,好友搜索,管理,群组管理,好友权限设置等功能.涉及技术: Elast ...

  10. libcurl发起post请求时间延迟问题。except为空即可

    最近在做团购酒店APP分享到qzone功能,使用libcurl访问qzone的分享cgi接口,酒店分享信息以POST方式传输,在测试的时候发现分享接口平均有2s的延迟,这延迟也太大了吧,于是乎问了空间 ...