如何在Ubuntu 15.10上使用Nginx安装Redmine 3
Redmine是基于Ruby on Rails框架的开源项目管理和问题跟踪工具。 它是基于Web的,所以您可以从任何提供Web浏览器的客户端平台使用它。 它非常适合多语言团队,因为它包含42种语言的翻译。 您可以在一个安装中跟踪多个项目,它具有对新闻,文档管理,文件管理,支持wiki的综合支持。 您可以通过LDAP身份验证和REST API将其与其他应用程序进行连接。
本教程涵盖了Redmine 3安装,Nginx作为Web服务器,MySQL作为Ubuntu 15.10(64位)操作系统上的数据库。
先决条件
- Ubuntu 15.10 - 64位。
- 根权限
第1步 - 安装依赖关系
Redmine有很多依赖,但是我们可以轻松地安装它们。 第一步是成为root用户,然后更新您的Ubuntu存储库。 本教程中的所有进一步步骤都以root用户身份执行,这就是为什么我使用“sudo su”而不是每个命令的前缀。
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根密码,在那里输入一个新的和安全的MySQL密码。
第2步 - 安装Ruby和RVM
在这一步中,我们将安装最新的RVM版本和Ruby 2.0。 Redmine 3.2稳定支持Ruby版本2.0,所以我们可以在这里使用。 RMV(Ruby Version Manager)是一个方便的命令行工具,可让您安装,管理和使用多个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'到'redmine'数据库。
create database redmine;
create user redmine@localhost identified by 'redmine';
grant all privileges on redmine.* to redmine@localhost identified by 'redmine';
flush privileges;
q\
创建数据库和用户。
第4步 - 安装PhusionPassenger和Nginx
Phusion Passenger是可以与Apache和Nginx Web服务器集成的Web和应用服务器。 它支持多种语言:Ruby,Python和Nodejs。 它很容易使用和快速。
在这部分中,我们将安装Phusion Passenger并将其与Nginx集成。 Redmine将在Nginx网络服务器下运行。 使用gem命令安装Passenger,然后安装passenger-nginx模块。
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 {
.......
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
粘贴Nginx脚本为systemd下面:
[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并使用Web浏览器访问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是通过问题跟踪构建自己的项目管理的最佳OpenSource解决方案之一。