安装基本的软件环境

# yum install 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

安装MySQL

添加mysql源

# CentOS6

# rpm -Uvh http://repo.mysql.com//mysql57-community-release-el6-8.noarch.rpm

# CentOS7

# rpm -Uvh http://repo.mysql.com//mysql57-community-release-el7-8.noarch.rpm

安装mysql

# yum install mysql-community-server

设置自启,并启动mysql服务

# chkconfig mysqld on
# service mysqld start

查看安装完成后生成的root临时密码

# grep 'temporary password' /var/log/mysqld.log

运行mysql安全配置

# mysql_secure_installation

安装PHP、php-fpm和phpMyAdmin

安装php、php-fpm和相关扩展包

# yum 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 php-fpm

设置自启,并启动php-fpm服务

# chkconfig php-fpm on
# service php-fpm start

添加rpmforge源

# CentOS6

# rpm -Uvh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm

# CentOS7

# rpm -Uvh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm

安装phpMyAdmin

# yum install phpmyadmin

修改phpMyAdmin虚拟目录配置文件,允许远程访问

# vi /etc/httpd/conf.d/phpmyadmin.conf

(Apache 2.2) 把 "Allow from 127.0.0.1" 修改为 "Allow from all"

Allow from all

(Apache 2.4) 添加 "Require all granted"

Require all granted

修改phpMyAdmin配置文件config.inc.php,将认证方式 'cookie' 改为 'http'

$cfg['Servers'][$i]['auth_type'] = 'http';

方式一:Apache下使用php-fpm运行php

安装Apache

# yum install httpd

修改php apache配置文件

# vi /etc/httpd/conf.d/php.conf

如果php-fpm使用的是TCP socket

<FilesMatch \.php$>
SetHandler "proxy:fcgi://127.0.0.1:9000"
</FilesMatch>

如果用的是unix socket

<Proxy "unix:/var/run/php-fpm/php-fpm.sock|fcgi://php-fpm">
ProxySet disablereuse=off
</Proxy> <FilesMatch \.php$>
SetHandler proxy:fcgi://php-fpm
</FilesMatch>

设置自启,并启动apache服务

# chkconfig httpd on
# service httpd start

方式二:Nginx下使用php-fpm运行php

添加nginx源

# vi /etc/yum.repos.d/nginx.repo

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/mainline/OS/OSRELEASE/$basearch/
gpgcheck=
enabled=

根据操作系统类型,替换 “OS” 为 “rhel” 或 “centos”,“OSRELEASE” 为 “5”, “6”, 或 “7

安装Nginx

# yum install nginx

修改nginx配置文件

# vi /etc/nginx/nginx.conf

如果php-fpm使用的是TCP socket

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass 127.0.0.1:;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}

如果用的是unix socket

# pass the PHP scripts to FastCGI server listening on unix:/var/run/php-fpm/php-fpm.sock
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}

安装Ruby

安装ruby版本管理器RVM

# \curl -sSL https://get.rvm.io | bash
# source /etc/profile.d/rvm.sh

列出所有ruby版本

# rvm list known

Redmine 3.2不支持Ruby 2.3,所以安装Ruby 2.2

# rvm install 2.2

检查ruby版本

# ruby -v

安装Rubygems(Ruby包管理器)

# yum install rubygems

Apache下安装Passenger

# gem install passenger --no-ri --no-rdoc
# passenger-install-apache2-module

命令执行完后按照提示进行配置passenger的虚拟目录文件

# vi /etc/httpd/conf.d/passenger.conf

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

为Redmine创建空数据库和用户

登陆mysql

# mysql -u root -p

进行相关数据库配置

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

安装Redmine

下载Redmine

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

解压并重命名文件夹

# tar xfz redmine-3.2..tar.gz
# mv redmine-3.2. redmine
# rm -rf redmine-3.2..tar.gz

配置redmine数据库连接字符串

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

# vi database.yml

production:
adapter: mysql2
database: redmine
host: localhost
username: redmine
password: "my_password"
encoding: utf8

安装依赖包(使用依赖包管理工具Bundler)

# cd /var/www/redmine
# gem install bundler
# bundle install --without development test

为了提高下载gem包速度,可以使用国内的淘宝源,你可以用 Bundler 的 Gem 源代码镜像命令

# bundle config mirror.https://rubygems.org https://ruby.taobao.org

生成安全Token

# bundle exec rake generate_secret_token

创建redmine数据库表

# RAILS_ENV=production bundle exec rake db:migrate
# RAILS_ENV=production bundle exec rake redmine:load_default_data

激活FCGI

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

安装mod_fcgi

# yum install epel-release  (安装epel源)
# yum install mod_fcgid

Redmine配置

# cd /var/www/redmine/config
# cp -v configuration.yml.example configuration.yml

(可选)更改附件文件存放路径

# mkdir -p /opt/redmine/files
# chown -R apache:apache /opt/redmine

# vi configuration.yml

attachments_storage_path: /opt/redmine/files

(可选)配置日志

# cp -v additional_environment.rb.example additional_environment.rb

# vi additional_environment.rb

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

(可选)配置Email(sendmail方式)

# vi configuration.yml

production:
email_delivery:
delivery_method: :sendmail

给Redmine创建虚拟目录

# vi /etc/httpd/conf.d/redmine.conf

Alias /redmine /var/www/redmine/public
<Location /redmine>
PassengerBaseURI /redmine
PassengerAppRoot /var/www/redmine
PassengerRuby /usr/local/rvm/gems/ruby-2.2./wrappers/ruby
</Location>
<Directory /var/www/redmine/public>
Allow from all
Options -MultiViews
# Uncomment this if you're on Apache >= 2.4:
#Require all granted
</Directory>

启动Redmine

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

Linux上安装Redmine的更多相关文章

  1. 在linux上安装redmine

    Redmine 是一个开源的.基于Web的项目管理和缺陷跟踪工具.它用日历和甘特图辅助项目及进度可视化显示.同时它又支持多项目管理.Redmine是一个自由开放 源码软件解决方案,它提供集成的项目管理 ...

  2. 如何在Linux(Ubuntu)上安装Redmine

    费话就不多说了,本文主要描述如何在如何在Linux(Ubuntu)上安装Redmine.通过这篇文章你将了解如下内容. TL;DR 在Linux(Ubuntu)上安装Redmine的基本流程 配置ph ...

  3. 在Windows和Linux上安装paramiko模块以及easy_install的安装方法

    一.paramiko模块有什么用? paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接.由于使用的是python这样的能够跨平台运行的语言 ...

  4. 在Linux上安装Oracle RAC 12 c(12.1) 虚拟机,一步一步向导

    Oracle RAC 12 c(12.1)在Linux上安装虚拟机,一步一步向导 今天我们将看到如何安装 12 c版本1 RAC(真正的应用程序集群)数据库2 Linux 64位的虚拟机 使用VMWa ...

  5. WINDOWS和Linux上安装php7 alpha 并安装 yaf

    WINDOWS和Linux上安装php7 alpha 并安装 yaf PHP技术  widuu  2个月前 (06-15)  126浏览  0评论 windows 1.windows上安装 php7 ...

  6. 在Windows和Linux上安装paramiko模块

    一.paramiko模块有什么用? paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接.由于使用的是python这样的能够跨平台运行的语言 ...

  7. Linux上安装使用boost入门指导

    Data Mining Linux上安装使用boost入门指导 获得boost boost分布 只需要头文件的库 使用boost建立一个简单的程序 准备使用boost二进制文件库 把你的程序链接到bo ...

  8. 如何在Linux上安装Storm

    Storm是开源的分布式实时计算系统,能够让数据流处理变得简单.可靠,也因此在大数据领域有广泛的实际 应用.下面介绍一下如何在Linux系统上安装Storm.根据Storm官网介绍,安装Storm软件 ...

  9. linux上安装Drupal

    linux上安装Drupal 前言:国内用drupal的并不太多,网上资料也很少.要注意的是drupal尽量别使用apt来安装,特别是ubuntu平台的drupal做出了一定的更改,会妨碍后期的学习和 ...

随机推荐

  1. (转)Make命令简介与使用

    转载自阮一峰的博客: http://www.ruanyifeng.com/blog/2015/02/make.html 代码变成可执行文件,叫做编译(compile):先编译这个,还是先编译那个(即编 ...

  2. 解决配置android开发环境eclipse获取ADT获取不到,一直"Pending"

    在安装完Android SDK后eclipse要获取ADT, 可是由于GFW的存在, eclipse经常无法从http://dl-ssl.google.com/android/eclipse 获取到任 ...

  3. Nine simple steps to enable X.509 certificates on WCF- 摘自网络

    Table of contents Introduction and goal Beginner WCF FAQs Step 1: Create client and server certifica ...

  4. 创建本地CM 离线服务器

    一.包管理工具及CentOS的yum 1.包管理工具如何发现可以用的包 包管理工具依赖一系列软件源,工具下载源的信息存储在配置文件中,其位置随某包管理工具不同而变化 使用yum的RedHat/Cent ...

  5. Android实例-使用电话拨号器在移动设备上(官方)(XE8+小米2)

    源文地址: http://docwiki.embarcadero.com/RADStudio/XE5/en/Mobile_Tutorial:_Using_the_Phone_Dialer_on_Mob ...

  6. javascript操作注册表

    try{                     var shell = new ActiveXObject("WScript.Shell"); //读注册表值var  key1  ...

  7. @@IDENTITY与SCOPE_IDENTITY的用法

    SCOPE_IDENTITY   和   @@IDENTITY   的作用都是取得返回在当前会话中的任何表内所生成的最后一个标识值,简单的说就是在执行一条插入语句之后使用@@IDENTITY的全局变量 ...

  8. 解决ecshop在线客户点击无法唤醒QQ问题

    找到default/library/page_footer.lbi中找到QQ代码的相应位置,然后你会发现之前模板里面为什么QQ点击不能对话,是因为QQ客服安装包中的JS代码有的可能是比较旧的代码了. ...

  9. AS问题解决系列3—iCCP: Not recognizing known sRGB profile

    http://my.oschina.net/1pei/blog/479162 摘要 本文解决了Android Studio 1.2.2下编译期间出现的libpng warning: iCCP: Not ...

  10. 局部更新listview的问题(只更新某个item)

    转:http://blog.csdn.net/wu_shu_jun/article/details/7794576 public void updateView(int itemIndex) { // ...