项目

常规

个人资料

操作

如何在Ubuntu上分步安装Redmine

先决条件:检查您的Ubuntu版本是否与目标Redmine版本兼容

在开始使用或研究此指南之前,您应该检查您打算使用哪个Redmine版本。请注意,只有最新的稳定版本才能与当前版本的插件完全兼容。
要检查Redmine版本与您的Ubuntu版本,请查看http://www.ubuntuupdates.org/pm/redmine

通常,您也可以考虑仅从ubuntu-repos安装Ruby,然后从redmine的下载页面下载Redmine的发布版:https://redmine.ruby-lang.org.cn/projects/redmine/wiki/Download(这是在Ubuntu上安装Redmine的更常见方式)。在这种情况下,本指南不适用于您,您应查找其他指南。Google提供了大量有关此替代安装程序的资源。

如果您确定要从Ubuntu仓库安装,请继续阅读

简介

本教程将逐步引导您在全新的Ubuntu 12.04安装上安装Redmine。本指南旨在成为安装和运行Redmine的完整食谱方法。它不对其他已安装或配置的东西做出假设。由于我在使用图形包管理器时遇到了一些问题,我们将从命令行提示符进行操作,以使事情尽可能清晰和简洁。

建议您在开始此过程之前安装任何Ubuntu更新。在Ubuntu首次设置后,几乎总是有一些更新等待应用。

先决条件:Apache、mod-passenger和MySQL

我们将首先安装几个支持包。如果您只是按照提示操作并接受默认设置,Apache的安装相当简单。

$ sudo apt-get install apache2 libapache2-mod-passenger

安装MySQL需要稍微多一点时间,因此细节已经列出。

$ sudo apt-get install mysql-server mysql-client 

MySQL的安装过程将提示您为数据库服务器“root”访问设置密码,然后在后续屏幕中要求您确认密码。这设置了数据库管理员密码。

Package configuration                                                           

  ┌────────────────────┤ Configuring mysql-server-5.5 ├─────────────────────┐   
  │ While not mandatory, it is highly recommended that you set a password   │   
  │ for the MySQL administrative "root" user.                               │   
  │                                                                         │   
  │ If this field is left blank, the password will not be changed.          │   
  │                                                                         │   
  │ New password for the MySQL "root" user:                                 │   
  │                                                                         │   
  │ _______________________________________________________________________ │   
  │                                                                         │   
  │                                 <Ok>                                    │   
  │                                                                         │   
  └─────────────────────────────────────────────────────────────────────────┘   

  ┌────┤ Configuring mysql-server-5.5 ├──────────┐
  │                                              │
  │ Repeat password for the MySQL "root" user.   │
  │                                              │
  │                                              │
  │ ____________________________________________ │
  │                                              │
  │                   <Ok>                       │
  │                                              │
  └──────────────────────────────────────────────┘

安装和配置Ubuntu Redmine软件包

现在,是时候安装Redmine本身了。

$ sudo apt-get install redmine redmine-mysql

您希望dbconfig-common在提示时配置数据库,因此请在下面的面板中选择

Package configuration                                                           

 ┌──────────────────────────┤ Configuring redmine ├──────────────────────────┐  
 │                                                                           │  
 │ The redmine/instances/default package must have a database installed and  │  
 │ configured before it can be used.  This can be optionally handled with    │  
 │ dbconfig-common.                                                          │  
 │                                                                           │  
 │ If you are an advanced database administrator and know that you want to   │  
 │ perform this configuration manually, or if your database has already      │  
 │ been installed and configured, you should refuse this option.  Details    │  
 │ on what needs to be done should most likely be provided in                │  
 │ /usr/share/doc/redmine/instances/default.                                 │  
 │                                                                           │  
 │ Otherwise, you should probably choose this option.                        │  
 │                                                                           │  
 │ Configure database for redmine/instances/default with dbconfig-common?    │  
 │                                                                           │  
 │                    <Yes>                       <No>                       │  
 │                                                                           │  
 └───────────────────────────────────────────────────────────────────────────┘  

然后您需要提供数据库的“root”密码,以便安装程序可以创建redmine数据库。这是您在安装mysql时设置的密码。

Package configuration                                                           

 ┌──────────────────────────┤ Configuring redmine ├──────────────────────────┐  
 │ Please provide the password for hte administrative account with which     │  
 │ this package should create its MySQL database and user.                   │  
 │                                                                           │  
 │ Password of the database's administrative user:                           │  
 │                                                                           │  
 │ ******__________________________________________________________________  │  
 │                                                                           │  
 │                   <Ok>                       <Cancel>                     │  
 │                                                                           │  
 └───────────────────────────────────────────────────────────────────────────┘  

通过从数据库选择列表中突出显示“mysql”,告诉redmine安装程序我们将使用mysql进行此安装。

Package configuration                                                           

 ┌──────────────────────────┤ Configuring redmine ├──────────────────────────┐  
 │ The redmine/instances/default package can be configured to use one of     │  
 │ several database types. Below, you will be presented with the available   │  
 │ choices.                                                                  │  
 │                                                                           │  
 │ Database type to be used by redmine/instances/default:                    │  
 │                                                                           │  
 │                                  sqlite3                                  │  
 │                                  pgsql                                    │  
 │                                  mysql                                    │  
 │                                                                           │  
 │                                                                           │  
 │                    <Ok>                        <Cancel>                   │  
 │                                                                           │  
 └───────────────────────────────────────────────────────────────────────────┘  

现在,您需要提供一个密码,该密码将用于保护redmine数据库。当redmine需要访问mysql时,它将使用此密码。

Package configuration                                                           

 ┌──────────────────────────┤ Configuring redmine ├──────────────────────────┐  
 │ Please provide a password for redmine/instances/default to register with  │  
 │ the database server.  If left blank, a random password will be            │  
 │ generated.                                                                │  
 │                                                                           │  
 │ MySQL application password for redmine/instances/default:                 │  
 │                                                                           │  
 │ *******__________________________________________________________________ │  
 │                                                                           │  
 │                    <Ok>                        <Cancel>                   │  
 │                                                                           │  
 └───────────────────────────────────────────────────────────────────────────┘ 

现在确认redmine密码。

Package configuration                                                           

   ┌────┤ Configuring redmine ├─────┐                       
   │                                │                       
   │                                │                       
   │ Password confirmation:         │                       
   │                                │                       
   │ *******_______________________ │                       
   │                                │                       
   │     <Ok>         <Cancel>      │                       
   │                                │                       
   └────────────────────────────────┘   

确保已安装bundler gem

$ sudo gem update
$ sudo gem install bundler

配置Apache

您需要修改两个文件以配置Apache。第一个是/etc/apache2/mods-available/passenger.conf,需要添加如下的文本 PassengerDefaultUser www-data。不要尝试替换整个文件内容!

<IfModule mod_passenger.c>
  PassengerDefaultUser www-data
  PassengerRoot /usr
  PassengerRuby /usr/bin/ruby
</IfModule>

现在创建一个符号链接,将Redmine连接到Web文档空间

$ sudo ln -s /usr/share/redmine/public /var/www/html/redmine

并且修改/etc/apache2/sites-available/000-default.conf(在apache 2.4之前为/etc/apache2/sites-available/default),在其他的 <Directory> 部分插入以下内容,以便Apache知道跟随符号链接进入Rails

<Directory /var/www/html/redmine>
    RailsBaseURI /redmine
    PassengerResolveSymlinksInDocumentRoot on
</Directory>

创建并设置Gemfile.lock文件的拥有权,以便apache的www-data用户可以访问它

$ sudo touch /usr/share/redmine/Gemfile.lock
$ sudo chown www-data:www-data /usr/share/redmine/Gemfile.lock

现在重启apache

$ sudo service apache2 restart

现在您应该能够从本地主机访问redmine

$ firefox http://127.0.0.1/redmine

在浏览器窗口的右上角,您应该看到“登录”链接。点击它,并在 登录:密码: 提示中输入“admin”。注意:这不是您在安装过程中设置的密码。点击 登录 按钮。

我建议您接下来点击右上角的 我的账户 并更改密码。在显示的页面上,白色区域的右上角应该有一个 更改密码 链接。点击以更改密码。

备份Redmine

您应该定期备份Redmine数据库和用户上传/附加的文件。数据库可以通过以下命令导出到文本文件中

/usr/bin/mysqldump -u root -p<password> redmine_default | gzip > /path/to/backups/redmine_db_`date +%y_%m_%d`.gz
其中 <password> 是您在安装mysql时设置的密码。

附件存放在/var/lib/redmine/default/files中,可以通过类似以下方式备份

rsync -a /var/lib/redmine/default/files /path/to/backups/files

您可以通过创建一个名为/etc/cron.daily/redmine的脚本来自动运行这些命令

#!/bin/sh
/usr/bin/mysqldump -u root -p<password> redmine_default | gzip > /path/to/backups/redmine_db_`date +%y_%m_%d`.gz
rsync -a /var/lib/redmine/default/files /path/to/backups/files

再次提醒,请确保在mysqldump命令行中将mysql root密码替换为 <password>。该文件应该受到保护,仅root有读取权限,因为您正在将mysql安装的root密码存储在这个文件中。第一条命令会在脚本运行时创建一个新文件。这最终会创建大量数据库文件的备份。您应该有一个脚本定期清理旧备份。

其他半可选包

有一些服务Redmine可以使用,虽然不是绝对必要的,但很有用。这些是电子邮件和软件仓库/版本控制系统。

电子邮件设置

在某个时候,您可能希望Redmine能够发送电子邮件。为此,您需要安装和配置电子邮件。这可以通过安装 postfix 包来实现。我不建议使用exim4包,因为Redmine和exim4之间在处理“sendmail”命令行的方式上存在一些不兼容性。除非每个人都在redmine服务器上有一个电子邮件账户,否则您将需要设置外部电子邮件作为完整的互联网主机。一旦电子邮件服务安装,您将需要重启apache,以便Redmine知道它可以访问电子邮件服务。

$ sudo apt-get install postfix

现在您已经可以发送电子邮件,您需要告诉Redmine。您需要创建/编辑文件 /etc/redmine/default/configuration.yml 并添加以下行

production:
  email_delivery:
    delivery_method: :sendmail

然后重启apache,以便Redmine重新加载配置文件

$ sudo service apache2 restart

版本控制系统仓库设置

为了在系统中拥有软件仓库,Redmine将需要安装相应的软件。

$ sudo apt-get install git subversion cvs mercurial
$ sudo service apache2 restart

这已经涵盖了我到目前为止使用Redmine的所有内容。

Harry Wood 更新 8年前 · 30次修订