项目

通用

个人资料

操作

如何在Debian Squeeze上使用Postgresql、Ruby-on-Rails和Apache2-Passenger安装Redmine

这个操作指南类似于如何在Debian上使用Ruby-on-Rails和Apache2-Passenger安装Redmine,但稍微简短一些,并且使用Postgresql而不是Mysql作为数据库服务器。
需要注意的是,Redmine及其所有依赖项在Debian的仓库中都有作为软件包提供,因此我们不需要像在这个操作指南中所做的那样从svn下载Redmine。

首先,我们成为root用户并安装一些需要的软件包

su
apt-get install postgresql-8.4 apache2 subversion rake rubygems libopenssl-ruby libpgsql-ruby libapache2-mod-passenger
gem install -v=2.3.5 rails

在配置redmine之前,我们需要在Postresql中创建一个用户和一个数据库。请确保将 <password> 替换为您的密码。
su postgres
psql
postgres=# CREATE ROLE redmine LOGIN ENCRYPTED PASSWORD '<password>' NOINHERIT VALID UNTIL 'infinity';
postgres=# CREATE DATABASE redmine WITH ENCODING='UTF8' OWNER=redmine TEMPLATE template0;
postgres=# \q
exit

现在,让我们下载Redmine并配置它
cd /tmp
svn co http://redmine.rubyforge.org/svn/branches/1.0-stable redmine-1.0
mv redmine-1.0/ /var/lib/redmine
cd /var/lib/redmine

首先是数据库相关的内容。将 <password> 替换为您的密码。
echo "production:
 adapter: postgresql
 database: redmine
 host: localhost
 username: redmine
 password: <password>
 encoding: utf8
 schema_search_path: public" > config/database.yml

RAILS_ENV=production rake config/initializers/session_store.rb
rake generate_session_store
RAILS_ENV=production rake db:migrate
RAILS_ENV=production rake redmine:load_default_data 

最后,我们配置Apache。创建指向www目录的符号链接,并将所有权赋予www-data。
ln -s /var/lib/redmine/public /var/www/redmine
chown -R www-data:www-data /var/www/redmine

启用站点并重启Apache。
echo "RailsBaseURI /redmine" > /etc/apache2/sites-available/redmine
a2ensite redmine
/etc/init.d/apache2 restart

就这样。您可以在以下位置找到Redmine:

localhost/redmine
your-ip/redmine 或
your-domain/redmine

如果您需要运行不带别名(/redmine)的普通域名上的redmine,您可以按照以下说明操作。

有两种可能性
  • 使用mod_fcgid
  • 使用已安装的mod_passenger

使用mod_fcgid
为Apache安装fcgid模块

aptitude install libapache2-mod-fcgid

配置示例虚拟主机 /etc/apache2/sites-available/yourvirtualhost

<VirtualHost *:80>
  ServerAdmin mail@yourserver
  ServerName  www.redmine.org

  DefaultInitEnv RAILS_ENV production
  DefaultInitEnv GEM_PATH /var/lib/gems/1.8

  DocumentRoot /var/lib/redmine/public
  <Directory /var/lib/redmine/public>
    Options +FollowSymLinks +ExecCGI
    RewriteEngine On
    RewriteRule ^$ index.html [QSA]
    RewriteRule ^([^.]+)$ $1.html [QSA]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ dispatch.fcgi [QSA,L]
    ErrorDocument 500 "<h2>Application error</h2>Rails application failed to start properly" 
    AllowOverride None
    #AllowOverride all
    Order allow,deny
    allow from all
  </Directory>
  # Possible values include: debug, info, notice, warn, error, crit,
  # alert, emerg.
  LogLevel warn

  CustomLog /var/log/apache2/access.log combined
  ErrorLog /var/log/apache2/error.log

  ServerSignature Off
</VirtualHost>

启用新的虚拟主机并重启Apache,mod-rewrite也需要

cd /etc/apache2/sites-available
a2ensite yourvirtualhost
a2enmod rewrite
/etc/init.d/apache2 restart

请记住,更改 /var/lib/redmine/files/(用于上传文件)的所有权和权限

chown -R www-data:www-data /var/lib/redmine/files/
chmod -R 0777 /var/lib/redmine/files/

使用用户:admin,密码:admin 登录

使用已安装的mod_passenger
(在Debian 6.0.1、Apache 2.2.16和mod_passenger 2.2.11上测试过)

在 /etc/apache2/sites-available 下创建一个简单的配置文件

<VirtualHost *:80>
  ServerAdmin mail@yourserver
  ServerName  www.redmine.org

  DocumentRoot /var/lib/redmine/public
  <Directory /var/lib/redmine/public>
    Options -MultiViews
    allow from all
  </Directory>
  # Possible values include: debug, info, notice, warn, error, crit,
  # alert, emerg.
  LogLevel warn

  CustomLog /var/log/apache2/access.log combined
  ErrorLog /var/log/apache2/error.log

  ServerSignature Off
</VirtualHost>

注意:请记住用所有者和权限执行更改。

C. X. 更新,大约13年前 · 2011-05-19 11:39 · 11次修订