如何在Ubuntu 16.04上安装和配置Redmine

什么是Redmine?

Redmine是一个用于项目管理的Web应用程序,它允许用户灵活地管理项目,同时提供强大的追踪工具和众多的插件库。这个免费的开源解决方案是付费项目管理工具的替代方案之一,并且它提供了对wiki,论坛,日历和数据可视化工具的支持。

本指南将向您展示如何通过连接到NGINX的Passenger应用程序服务器在Ubuntu 16.04上安装和设置Redmine。

在你开始之前

注意本指南中的步骤需要root权限。请务必在root权限下执行以下步骤或者使用sudo前缀或执行以下步骤。有关权限的更多信息,请参阅“ 用户和组”指南。

安装依赖项

sudo apt install build-essential mysql-server ruby ruby-dev libmysqlclient-dev imagemagick libmagickwand-dev

配置MySQL

需要配置MySQL使得Redmine能够存储数据。您可以使用安装时设置的密码登mysql-server数据库的root帐户。

 mysql -u root -p
  1. 登录后,创建一个新的数据库和数据库用户: CREATE DATABASE redmine; CREATE USER 'redmine'@'localhost' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost'; FLUSH PRIVILEGES; quit;

安装Ruby

Redmine需要Ruby才能运行。使用Ruby版本管理器(RVM)安装Ruby 2.2.3。

  1. 获得最新版本的RVM。 gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 curl -sSL https://get.rvm.io | bash -s stable source ~/.rvm/scripts/rvm
  2. RVM的用户必须在rvm组中。创建此组,添加用户,注销并重新登录: sudo groupadd rvm sudo usermod -a -G rvm username exit
  3. 检查安装要求,并安装Ruby(版本2.2.3): rvm requirements rvm install 2.2.3 rvm use 2.2.3 --default

安装Passenger和NGINX

Passenger是一个应用程序服务器,它运行您的Web应用程序,然后与Web服务器通信。你可以查阅关于在Ubuntu 16.04上使用apt源安装Passenger和NGINX的详细文档

  1. 为包管理器安装Passenger PGP密钥和HTTPS支持: sudo apt install -y dirmngr gnupg sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 561F9B9CAC40B2F7 sudo apt install -y apt-transport-https ca-certificates
  2. 添加Passenger APT存储库: sudo sh -c 'echo deb https://oss-binaries.phusionpassenger.com/apt/passenger xenial main > /etc/apt/sources.list.d/passenger.list' sudo apt update
  3. 安装Passenger和NGINX sudo apt install -y nginx-extras passenger

配置NGINX

Passenger现在被嵌入到了NGINX之中。您必须配置NGINX以确保它正确使用Passenger:

  1. 取消注释/etc/nginx/nginx.conf中的include /etc/nginx/passenger.conf;行。编辑您的配置文件,使其类似于下面的配置文件: /etc/nginx/nginx.conf 1 2 3 4 5 6 7 8 9 10 11 12 13 ## # Phusion Passenger config ## # Uncomment it if you installed passenger or passenger-enterprise ## include /etc/nginx/passenger.conf; ## # Virtual Host Configs ## include /etc/nginx/conf.d/*.conf;
  2. 复制默认的nginx站点配置文件。本指南中的工作配置文件将是/etc/nginx/sites-available/default: cp /etc/nginx/sites-available/default /etc/nginx/sites-available/default.orig
  3. 更改网站的root目录,并添加其他Passenger配置。为此,请将这些行添加到server{}块中: /etc/nginx/sites-available/default1 2 3 root /data/redmine/redmine/public; passenger_enabled on; client_max_body_size 10m;
  4. 在同一个文件中,注释掉该#location部分: /etc/ningx/site-available/default1 2 3 4 5 #location / { # First attempt to serve request as file, then # as directory, then fall back to displaying a 404. #try_files $uri $uri/ =404; #}
  5. 更改以下权限/var/www: sudo mkdir /var/www sudo chown -R www-data /var/www
  6. 重启nginx: sudo systemctl restart nginx
  7. 验证Passenger和NGINX的安装: sudo /usr/bin/passenger-config validate-install 选择第一个选项按enter键: If the menu doesn't display correctly, press '!' ‣ ⬢ Passenger itself ⬡ Apache ------------------------------------------------------------------------- * Checking whether this Passenger install is in PATH... ✓ * Checking whether there are no other Passenger installations... ✓ Everything looks good. :-()
  8. 最后,检查NGINX是否已启动Passenger核心进程: sudo /usr/sbin/passenger-memory-stats 如果Passenger正确安装了NGINX,您的输出应类似于: --------- NGINX processes ---------- PID PPID VMSize Private Name ------------------------------------ 6399 1 174.9 MB 0.6 MB nginx: master process /usr/sbin/nginx -g daemon on; master_process on; 6404 6399 174.9 MB 0.7 MB nginx: worker process ### Processes: 2 ### Total private dirty RSS: 1.23 MB ---- Passenger processes ----- PID VMSize Private Name ------------------------------ 6379 441.3 MB 1.2 MB Passenger watchdog 6382 660.4 MB 2.9 MB Passenger core 6388 449.5 MB 1.4 MB Passenger ust-router ### Processes: 3

安装Redmine

  1. 创建redmine用户并将新用户添加到sudo组: sudo adduser --system --shell /bin/bash --gecos 'Redmine Administrator' --group --home /data/redmine redmine; sudo usermod -a -G rvm redmine sudo adduser redmine sudo
  2. redmine用户身份登录: su - passwd redmine su redmine cd
  3. 以新用户身份下载Redmine tarball。解压缩并重命名目录为redmine为了以后使用方便: wget https://www.redmine.org/releases/redmine-3.4.4.tar.gz tar -zxvf redmine-3.4.4.tar.gz mv redmine-3.4.4 redmine
  4. 将先前创建的数据库信息添加到Redmine的配置文件中。仅填写标记为“Production”的部分,因为您不会使用开发或测试环境。 cd redmine cp -pR config/database.yml.example config/database.yml emacs config/database.yml
  5. redmine目录中,安装Ruby依赖项: sudo gem install bundler sudo bundle install --without development test
  6. 安装完成后,您需要使用Rake启动服务器: bundle exec rake generate_secret_token RAILS_ENV=production bundle exec rake db:migrate RAILS_ENV=production bundle exec rake redmine:load_default_data
  7. 重新启动NGINX,然后导航到服务器的IP地址,Redmine应用程序将欢迎您: sudo systemctl restart nginx

管理平台

Redmine的默认登录名和密码是:

 Login: admin
 Password: admin

首次登录后,系统将提示您更改凭据。用安全的账户密码替换它们。

安装插件

Redmine可与插件一起使用。插件将被安装到redmine/plugins。本节将演示通过安装scrum2b来安装插件scrum2b是一个用于管理Scrum / Agile工作流的插件。

如果没有安装,请安装git或直接通过Github网站下载插件:

sudo apt install git
  1. 移动到目录redmine/plugins并克隆插件: cd plugins git clone https://github.com/scrum2b/scrum2b
  2. 使用Bundle安装插件,然后重启NGINX: bundle install sudo systemctl restart nginx
  3. 在浏览器中导航到Redmine。登录,单击管理员,然后单击插件

下一步

您现在在Linode上安装了Redmine。如果您打算在生产中使用它,请探索对您的团队有用的插件。请查看下面的一些指南,为您的团队自定义Redmine。

更多信息

有关此主题的其他信息,您可能需要参考以下资源。虽然提供这些资源是希望它们有用,但请注意,我们无法保证外部托管材料的准确性或时效性。

本文的版权归 魔法少女伊莉雅 所有,如需转载请联系作者。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏NetCore

Identity Service - 解析微软微服务架构eShopOnContainers(二)

接上一篇,众所周知一个网站的用户登录是非常重要,一站式的登录(SSO)也成了大家讨论的热点。微软在这个Demo中,把登录单独拉了出来,形成了一个Service,...

2685
来自专栏云计算教程系列

如何在Ubuntu 16.04上使用Lynis执行安全审计

Lynis是一个基于主机的开源安全审计应用程序,可以评估Linux和其他类型UNIX操作系统的安全配置文件和状态。

2934
来自专栏菩提树下的杨过

ActiveMQ笔记(6):消息延时投递

在开发业务系统时,某些业务场景需要消息定时发送或延时发送(类似:飞信的短信定时发送需求),这时候就需要用到activemq的消息延时投递,详细的文档可参考官网说...

4185
来自专栏乐沙弥的世界

Windows平台下安装MongoDB

wmic os get caption wmic os get osarchitecture

2043
来自专栏草根专栏

使用Identity Server 4建立Authorization Server (1)

本文内容基本完全来自于Identity Server 4官方文档: https://identityserver4.readthedocs.io/ 官方文档很详...

52310
来自专栏程序员的SOD蜜

使用“消息服务框架”(MSF)实现分布式事务的三阶段提交协议(电商创建订单的示例)

1,示例解决方案介绍 在上一篇 《消息服务框架(MSF)应用实例之分布式事务三阶段提交协议的实现》中,我们分析了分布式事务的三阶段提交协议的原理,现在我们来看看...

3379
来自专栏逸鹏说道

并发编程~先导篇上

并发 :一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行,但任一个时刻点上只有一个程序在处理机上运行。

2098
来自专栏依乐祝

Net Core集成Exceptionless分布式日志功能以及全局异常过滤

这篇文章有一部分内容翻译自官方文档,[点我阅读][https://github.com/exceptionless/Exceptionless.Net/wiki...

1082
来自专栏Linux 杂货铺

搭建高可用WordPress网站托管

本指南将使用双Linode集群配置高可用的WordPress站点,数据库采用MySQL双主复制(Master-Master replication),并使用Li...

4474
来自专栏数据之美

使用 django-blog-zinnia 搭建个人博客

django-blog-zinnia 虽然小巧,但是具备了个人博客应用的全部基础功能,且具有很高的拓展性,并且开箱即用。以下是官方列出的一些特性: 评论 站...

3319

扫码关注云+社区

领取腾讯云代金券