在centos6.4上安装redmine 整合apache
2014-03-11 18:34
621 查看
以下安装步骤在2台服务器上安装成功,但是也有遇到不同的坎,主要因为是文件权限问题造成的。
整了2天才搞好,操作系统版本不同,redmine版本更新,数据迁移,反正就是以后不想再装redmine了!
软件版本
linux centos6.4 x64bit
Mysql 5.1.73
Apache 2.2.15
Ruby ruby-1.9.3-p545
Gem 1.8.23.2
Rails 3.2.13
Redmine 2.3.0
安装系统依赖包
# yum -y install gcc
# yum -y install gcc-c++
# yum -y install zlib zlib-devel
# yum -y install readline readline-devel
# yum -y install openssl openssl-devel
# yum -y install mysql-devel
# yum -y install ImageMagick ImageMagick-devel
# yum -y install curl-devel
# yum -y install httpd-devel
# yum -y install apr-devel
# yum -y install apr-util-devel
# yum -y install gdbm gdbm-devel
下载yaml和ruby包
#cd /usr/local/src
#wget http://pyyaml.org/download/libyaml/yaml-0.1.5.tar.gz
#wget http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p545.tar.gz
先装yaml
后装ruby
#./configure
#make
#make install
配置Redmine
#wget http://rubyforge.org/frs/download.php/76867/redmine-2.3.0.tar.gz
#tar -xf redmine-2.3.0.tar.gz
#cd redmine-2.3.0
#cp config/database.yml.example config/database.yml
#vim database.yml
production:
adapter: mysql2(ruby是1.9后的版本一定要是mysql2,不然会出现 redmine incompatible character encodings: UTF-8 and ASCII-8BIT)
database: redmine
host: localhost
username: root
password: "root"
encoding: utf8
#vim Gemfile
加入 gem 'thin'
安装Redmine依赖的gem
#gem install bundler
#bundle install --without development test
#rake generate_secret_token
安装数据库
# yum -y install mysql-server
# sudo chkconfig mysqld on
# service mysqld start
# /usr/bin/mysqladmin -u root password 'root'
#GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost';
Database迁移和初始化
我做的是redmine迁移,redmine之前的版本是1.8的,原来已经有很多项目管理数据了
所以只升级数据库结构,并不初始化
在Mysql 中执行
mysql>source /root/redmine.bak.sql;
#RAILS_ENV=production rake db:migrate
如果要使用新的database,请执行以下命令
#CREATE DATABASE redmine CHARACTER SET utf8;
#RAILS_ENV=production rake redmine:load_default_data
#mkdir -p tmp tmp/pdf public/plugin_assets
#sudo chown -R redmine:apache files log tmp public/plugin_assets
#sudo chmod -R 755 files log tmp public/plugin_assets
启动Redmine
#ruby script/rails server webrick -e production
# yum -y install httpd
# chkconfig httpd on
# service httpd start
# apachectl -v
#cd /usr/local/src/redmine-2.3.0
#gem install passenger
#passenger-install-apache2-module
我安装的时候报错如下:
parent directory is world writable, FileUtils#remove_entry_secure does not work;
然后查到资料,地址:www.ruby-doc.org/stdlib-1.9.3/libdoc/fileutils/rdoc/FileUtils.html
Remove_entry_secure(path, force = false)click
to toggle source
This method removes a file system entry
a directory, remove it recursively. This method is required to avoid TOCTTOU (time-of-check-to-time-of-use) local security vulnerability of rm_r. rm_r causes security hole when:
To avoid this security hole, this method applies special preprocess. If
is the owner of the removing whole directory tree, or is the super user (root).
WARNING: You must ensure
a41b
that ALL parent directories cannot be moved by other untrusted users. For example, parent directories should not be owned by untrusted users, and should not be world writable
except when the sticky bit set.
WARNING: Only the owner of the removing directory tree, or Unix super user (root) should invoke this method. Otherwise this method does not work.
For details of this security vulnerability, see Perl’s case:
整了2天才搞好,操作系统版本不同,redmine版本更新,数据迁移,反正就是以后不想再装redmine了!
软件版本
linux centos6.4 x64bit
Mysql 5.1.73
Apache 2.2.15
Ruby ruby-1.9.3-p545
Gem 1.8.23.2
Rails 3.2.13
Redmine 2.3.0
安装系统依赖包
# yum -y install gcc
# yum -y install gcc-c++
# yum -y install zlib zlib-devel
# yum -y install readline readline-devel
# yum -y install openssl openssl-devel
# yum -y install mysql-devel
# yum -y install ImageMagick ImageMagick-devel
# yum -y install curl-devel
# yum -y install httpd-devel
# yum -y install apr-devel
# yum -y install apr-util-devel
# yum -y install gdbm gdbm-devel
下载yaml和ruby包
#cd /usr/local/src
#wget http://pyyaml.org/download/libyaml/yaml-0.1.5.tar.gz
#wget http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p545.tar.gz
先装yaml
后装ruby
#./configure
#make
#make install
配置Redmine
#wget http://rubyforge.org/frs/download.php/76867/redmine-2.3.0.tar.gz
#tar -xf redmine-2.3.0.tar.gz
#cd redmine-2.3.0
#cp config/database.yml.example config/database.yml
#vim database.yml
production:
adapter: mysql2(ruby是1.9后的版本一定要是mysql2,不然会出现 redmine incompatible character encodings: UTF-8 and ASCII-8BIT)
database: redmine
host: localhost
username: root
password: "root"
encoding: utf8
#vim Gemfile
加入 gem 'thin'
安装Redmine依赖的gem
#gem install bundler
#bundle install --without development test
#rake generate_secret_token
安装数据库
# yum -y install mysql-server
# sudo chkconfig mysqld on
# service mysqld start
# /usr/bin/mysqladmin -u root password 'root'
#GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost';
Database迁移和初始化
我做的是redmine迁移,redmine之前的版本是1.8的,原来已经有很多项目管理数据了
所以只升级数据库结构,并不初始化
在Mysql 中执行
mysql>source /root/redmine.bak.sql;
#RAILS_ENV=production rake db:migrate
如果要使用新的database,请执行以下命令
#CREATE DATABASE redmine CHARACTER SET utf8;
#RAILS_ENV=production rake redmine:load_default_data
#mkdir -p tmp tmp/pdf public/plugin_assets
#sudo chown -R redmine:apache files log tmp public/plugin_assets
#sudo chmod -R 755 files log tmp public/plugin_assets
启动Redmine
#ruby script/rails server webrick -e production
# yum -y install httpd
# chkconfig httpd on
# service httpd start
# apachectl -v
#cd /usr/local/src/redmine-2.3.0
#gem install passenger
#passenger-install-apache2-module
我安装的时候报错如下:
parent directory is world writable, FileUtils#remove_entry_secure does not work;
然后查到资料,地址:www.ruby-doc.org/stdlib-1.9.3/libdoc/fileutils/rdoc/FileUtils.html
Remove_entry_secure(path, force = false)click
to toggle source
This method removes a file system entry
path.
pathshall be a regular file, a directory, or something. If
pathis
a directory, remove it recursively. This method is required to avoid TOCTTOU (time-of-check-to-time-of-use) local security vulnerability of rm_r. rm_r causes security hole when:
* Parent directory is world writable (including /tmp). * Removing directory tree includes world writable directory. * The system has symbolic link.
To avoid this security hole, this method applies special preprocess. If
pathis a directory, this method chown(2) and chmod(2) all removing directories. This requires the current process
is the owner of the removing whole directory tree, or is the super user (root).
WARNING: You must ensure
a41b
that ALL parent directories cannot be moved by other untrusted users. For example, parent directories should not be owned by untrusted users, and should not be world writable
except when the sticky bit set.
WARNING: Only the owner of the removing directory tree, or Unix super user (root) should invoke this method. Otherwise this method does not work.
For details of this security vulnerability, see Perl’s case:
http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2005-0448 http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2004-0452[/code]
For fileutils.rb, this vulnerability is reported in [ruby-dev:26100].
错误和这条有关* Parent directory is world writable (including /tmp).
于是执行命令
sudo chmod -R 755 /tmp
在此执行#passenger-install-apache2-module,成功!
配置Apache
#cd /etc/httpd/conf
#touch redmine.conf
#vim redmine.conf
LoadModule passenger_module /usr/local/lib/ruby/gems/1.9.1/gems/passenger-4.0.38/buildout/apache2/mod_passenger.so
<IfModule mod_passenger.c>
PassengerRoot /usr/local/lib/ruby/gems/1.9.1/gems/passenger-4.0.38
PassengerDefaultRuby /usr/local/bin/ruby
</IfModule>
<VirtualHost *:80>
ServerName ***.redmine.com
DocumentRoot /usr/local/src/redmine-2.3.0/public
<Directory /usr/local/src/redmine-2.3.0/public>
AllowOverride all
Options -MultiViews
</Directory>
</VirtualHost>
#vim httpd.conf
加入
Include conf/redmine.conf
#cd /usr/local/src
#wget http://www.fastcgi.com/dist/mod_fastcgi-current.tar.gz #tar -xf mod_fastcgi-current.tar.gz
#cd mod_fastcgi-2.4.6/
#cp Makefile.AP2 Makefile
#make top_dir=/usr/lib64/httpd
#make install top_dir=/usr/lib64/httpd
#vim /etc/httpd/conf.d/mod_fastcgi.conf
LoadModule fastcgi_module modules/mod_fastcgi.so
<IfModule mod_fastcgi.c>
FastCgiIpcDir /tmp/fcgi_ipc/
</IfModule>
#mkdir /tmp/fcgi_ipc
#chown -R apache.apache /tmp
#chmod -R 777 /tmp
#wget http://www.fastcgi.com/dist/fcgi.tar.gz
#tar -xf fcgi.tar.gz
#cd fcgi-2.4.1-SNAP-0311112127
#vim include/fcgio.h
增加
#include <cstdio>
#./configure
#make
#make install
#gem install fcgi
#cd /usr/local/src/redmine-2.3.0/public
#cp htaccess.fcgi.example .htaccess
#cp dispatch.fcgi.example dispatch.fcgi
#chown -R apache:apache /usr/local/src/redmine-2.3.0
#chmod -R 755 /usr/local/src/redmine-2.3.0
关闭selinux,否则在/var/log/httpd,apache的日志中错误如:Permission Denied
#vim /etc/selinux/config
SELINUX=disabled
#setenforce 0
重启Apache
#service httpd restart
相关文章推荐
- CentOS 6.4 + Apache 2.2.15 + Redmine 2.3.2 + backlogs 1.0.6 安装配置 [2013-12-12更新]
- CentOS6.6下安装Redmine2.6(整合Apache2.4)
- CentOS-6.4-minimal版中通过JK-1.2.40整合Apache-2.2.29与Tomcat-6.0.41
- centos 6.7下安装redmine+svn+apache
- php_linux_centos6.4_安装mysql_apache_php
- centos6.4 64bit部署安装apache+svn
- CentOS6.6下安装Redmine2.6并整合Apache2.4
- centos6.4源码安装apache 服务
- 搭建redmine全攻略——与apache整合(CentOS 5.8 64位)
- CentOS5.3编译安装mod_jk_1.2.15_链接器_整合apache_httpd和tomcat
- 3# CentOS 6.7 x64 Apache/PHP/Mariadb环境安装Redmine3.2.1
- Linux下MySQL、Apache、PHP源码安装全程实录(CentOS 6.4)
- Centos5.5整合Apache和Tomcat 之二安装Tomcat
- CentOS 6.4安装Apache+MySQL+PHP的图文教程
- CentOS 6.4环境下的Apache Nutch 1.7 + Solr 4.4.0安装笔记
- 在Linux上安装Redmine与apache整合进行项目管理
- CentOS6.4安装Apache+MySQL+PHP
- centOS6.4 RedHat 安装 apache2.4 php5.6 mysql5.5
- CentOS5.3编译安装mod_jk_1.2.15_链接器_整合apache_httpd和tomcat
- 在Linux上安装Redmine与apache整合进行项目管理