如何在 Ubuntu 15.10 上使用 Nginx 安装 Redmine 3
本教程适用于这些操作系统版本
- Ubuntu 16.04(Xenial Xerus)
- Ubuntu 15.10(Wily Werewolf)
在此页
- 先决条件
- 第 1 步 - 安装依赖项
- 第 2 步 - 安装 Ruby 和 RVM
- 第 3 步 - 为 Redmine 配置 MySQL 数据库
- 第 4 步 - 安装 Phusion Passenger 和 Nginx
- 第 5 步 - 配置 Nginx
- 第 6 步 - 安装 Redmine
- 结论
Redmine 是一个基于 Ruby on Rails 框架的开源项目管理和问题跟踪工具。它是基于 Web 的,因此您可以从任何提供 Web 浏览器的客户端平台使用它。它非常适合多语言团队,因为它包含 42 种语言的翻译。您可以在一个安装中跟踪多个项目,它具有对新闻、文档管理、文件管理、支持 wiki 的集成支持。您可以通过 LDAP 身份验证和 REST API 将其与其他应用程序连接。
本教程涵盖了在 Ubuntu 15.10(64 位)操作系统上使用 Nginx 作为 Web 服务器和 MySQL 作为数据库的 Redmine 3 安装。
先决条件
- Ubuntu 15.10 - 64 位。
- 根特权。
第 1 步 - 安装依赖项
Redmine 有很多依赖项,但我们可以使用 apt 轻松安装它们。第一步是成为 root 用户,然后更新您的 Ubuntu 存储库。本教程中的所有进一步步骤都以 root 用户身份执行,这就是为什么我使用 \sudo su\ 而不是在每个命令前添加 suo 的原因。
sudo su
apt-get update
使用下面的 apt 命令安装 Redmine 的依赖项:
apt-get install mysql-server mysql-client libmysqlclient-dev imagemagick libmagickwand-dev libcurl4-openssl-dev git-core subversion
安装程序将要求一个新的 MySQl root 密码,在那里输入一个新的安全 MySQL 密码。
第 2 步 - 安装 Ruby 和 RVM
在此步骤中,我们将安装最新的 RVM 版本和 Ruby 2.0。 Redmine 3.2 stable支持Ruby 2.0版本,所以我们这里可以使用。 RMV(Ruby 版本管理器)是一个方便的命令行工具,允许您安装、管理和使用多个 Ruby 环境。
gpg --keyserver hkp://keys.gnupg.net --recv-keys D39DC0E3
curl -L https://get.rvm.io | bash -s stable --ruby=2.0.0
现在我们必须重新加载 RVM 并将其添加到 .bashrc 以进行自动重新加载:
source /usr/local/rvm/scripts/rvm
echo '[[ -s "/usr/local/rvm/scripts/rvm" ]] && source "/usr/local/rvm/scripts/rvm"' >> ~/.bashrc
第 3 步 - 为 Redmine 配置 MySQL 数据库
我们将为 Redmine 安装创建一个数据库和数据库用户。使用 root 用户和密码登录 MySQL shell:
mysql -u root -p
TYPE YOUR PASSWORD
接下来,创建一个名为“redmine”的新数据库和一个名为 redmine 密码为 redmine 的新用户(在安装时使用更好的密码,这只是一个示例),然后将用户 redmine 的权限授予给红矿数据库。
create database redmine;
create user identified by 'redmine';
flush privileges;
q\
数据库和用户已创建。
第 4 步 - 安装 Phusion Passenger 和 Nginx
Phusion Passenger 是一个网络和应用程序服务器,可以与 Apache 和 Nginx 网络服务器集成。它支持多种语言:Ruby、Python 和 Nodejs。它易于使用且快速。
在这一部分中,我们将安装 Phusion Passenger 并将其与 Nginx 集成。 Redmine 将在 Nginx 网络服务器下运行。使用 gem 命令安装 Passenger,然后安装 passenger-nginx-module。
gem install passenger --no-ri --no-rdoc
passenger-install-nginx-module
该命令将询问您应支持的语言,请在此处选择 Ruby 和 Python。
系统会询问您有关 Nginx 安装的信息,请选择“是:为我下载、编译和安装 Nginx。(推荐)”。
最后,系统会询问您 Nginx 安装目录,使用默认的 /opt/nginx/ 并按“Enter\”。
第 5 步 - 配置 Nginx
进入安装目录,用编辑器编辑nginx.conf文件,我这里使用vim编辑器。
cd /opt/nginx/conf/
vim nginx.conf
在 server 指令中,将服务器名称更改为您想要的域名并添加根 Web 目录:
server {
.......
listen 80;
server_name www.redmine.me;
root /var/www/redmine/public;
passenger_enabled on;
client_max_body_size 10m; # Max attachemnt size
........
}
注释掉下面的行:
#location / {
# root html;
# index index.html index.htm;
#}
保存文件并退出。
接下来我们将为 systemd 配置 Nginx。转到 systemd 目录并创建新的服务文件 nginx.service。
cd /lib/systemd/system/
vim nginx.service
在下面粘贴 systemd 的 Nginx 脚本:
[Unit]
Description=The NGINX HTTP and reverse proxy server
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/opt/nginx/logs/nginx.pid
ExecStartPre=/opt/nginx/sbin/nginx -t
ExecStart=/opt/nginx/sbin/nginx
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
保存文件并退出。
重新加载 systemd 服务并尝试使用 systemctl 命令启动 Nginx:
systemctl daemon-reload
systemctl start nginx
如果要查看Nginx,用netstat查看开放的80端口:
netstat -plntu | grep nginx
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 4871/nginx
第 6 步 - 安装 Redmine
为 Redmine 安装创建新目录,我将在此处使用目录 /var/www/。
mkdir -p /var/www/
进入 /var/www/ 目录,使用 svn 命令下载 redmine:
cd /var/www/
svn co https://svn.redmine.org/redmine/branches/3.2-stable redmine
进入redmine目录,复制配置文件和数据库配置文件:
cd redmine
cp config/configuration.yml.example config/configuration.yml
cp config/database.yml.example config/database.yml
然后用 vim 编辑 database.yml 文件:
vim config/database.yml
在生产线上,填写数据库、数据库用户和密码的详细信息。使用您在第 3 章中创建的数据库详细信息。
production:
adapter: mysql2
database: redmine
host: localhost
username: redmine
password: "redmine"
encoding: utf8
保存文件并退出编辑器。
在redmine目录下,新建一个目录,修改属主为www-data:
mkdir -p tmp tmp/pdf public/plugin_assets
sudo chown -R www-data:www-data files log tmp public/plugin_assets
sudo chmod -R 775 files log tmp public/plugin_assets
然后为 Redmine 安装 bundler 和 gem 依赖项:
gem install bundler
bundle install --without development test
现在生成秘密令牌,然后生成数据库:
bundle exec rake generate_secret_token
RAILS_ENV=production bundle exec rake db:migrate
RAILS_ENV=production bundle exec rake redmine:load_default_data
重启Nginx,用浏览器访问redmine域:
systemctl restart nginx
访问 redmine 安装,以我为例:www.redmine.me

登录管理页面:www.redmine.me/login
默认用户和密码是 admin。

创建新的示例项目。

示例项目页面。

Redmine 与 Nginx 和 MySQL 的安装已经成功完成。
结论
Redmine 是一个基于 Web 的项目管理和问题跟踪应用程序。 Redmine 是一个跨平台的应用程序,因此我们可以在 Windows、Linux 或 Mac OS 上运行它。它支持许多不同的数据库,如 MySQL、PostgreSQL、Microsoft SQL Server 和 SQLite。 Redmine 易于安装和配置,我们可以使用 Apache 或 Nginx 作为 Web 服务器。 Redmine 非常强大,具有许多功能,如多语言支持、文件管理、wiki、REST API 等。Redmine 是最好的开源解决方案之一,可以通过问题跟踪构建您自己的项目管理。