Linux上安裝Redmine

安裝基本的軟件環境

# 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源php

# CentOS6mysql

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

# CentOS7nginx

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

安裝mysqlc++

# yum install mysql-community-server

設置自啓,並啓動mysql服務sql

# chkconfig mysqld on
# service mysqld start

查看安裝完成後生成的root臨時密碼數據庫

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

運行mysql安全配置apache

# mysql_secure_installation

安裝PHP、php-fpm和phpMyAdmin

安裝php、php-fpm和相關擴展包centos

# 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源ruby

# 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=0
enabled=1

根據操做系統類型,替換 「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:9000
location ~ \.php$ {
try_files $uri =404; fastcgi_pass
127.0.0.1:9000; 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.2.tar.gz
# mv redmine-3.2.2 redmine
# rm -rf redmine-3.2.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', 2, 1000000)
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.5/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 755 redmine
# service httpd restart
相關文章
相關標籤/搜索