如何在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次修订