如何在Fedora 22上设置Redmine - 项目管理Web应用程序

时间:2020-03-05 15:25:37  来源:igfitidea点击:

Redmine是一个自由且开放的源基于Web的基于Web的灵活项目管理和在Ruby上编写的Ruby框架上写下的跟踪工具,该工具在GNU通用公共许可证V2(GPL)的条款下发布。
Redmine与SVN,CVS,Git,Bazaar等各种版本控制系统集成,并包括存储库浏览器和Diff Viewer。
它已在超过34种语言中本地化,并且可以在任何平台上运行,因为它是来自核心的跨平台和跨数据库。
它使用户可以轻松管理其相关子项目的多个项目。
以下是Redmine的一些显着特征,使其成为一种流行的开源项目管理产品。

  • Redmine支持具有子项目的多个项目。
  • 它具有灵活的基于角色的访问控制。
  • 它包括问题跟踪以及带电子邮件创建的时间跟踪系统。
  • 它支持SCM集成(SVN,CVS,GIT,Mercurial,Bazaar和Darcs)。
  • 它具有集成的甘特图和日历,新闻,文档和文件管理。
  • 它允许每个项目Wiki和论坛的Web Feed和电子邮件通知。
  • 用于问题,时间条目,项目和用户的自定义字段
  • 它支持多个LDAP身份验证,多语言和多个数据库,使其非常灵活。
  • 它支持各种插件并提供REST API

以下是我们如何在我们的机器运行Fedora 22中设置Redmine 3.1.1版的最新版本的一些简单步骤。

系统要求

在我们进入Redmine之前,我们需要确保我们拥有至少10GB存储和1GB 内存的机器,具有1 GB的交换文件,可更好的性能。

由于本教程专门于Fedora 22,因此我们还需要确保我们的机器运行Fedora 22.
所有这些安装工作都要求用户访问root或者sudo命令,因此,在本教程中,我们将在root用户下运行所有命令。
在检查一切后,我们现在将进一步朝着安装最新版本的Redmine版本3.1.1.

1.安装依赖项

首先,我们需要确保我们已在Fedora 22 Linux机器中安装了所有所需的依赖项。
其中一些必需的依赖项是Apache Web服务器,Mariadb Server,Ruby和Postfix(MTA)与其他依赖项。
要安装它们,我们需要在终端或者控制台中运行以下命令或者sudo访问权限。

# dnf install apr-devel apr-util-devel curl-devel gcc gcc-c++ git httpd httpd-devel ImageMagick-devel mariadb-devel mariadb-server postfix ruby-devel tar libxslt-dev libxml2-dev

2.启动和启用服务

现在,正如我们所需的所需依赖项,我们首先需要启动所需的应用程序,并在每个引导中自动启动它们。
众所周知,Fedora 22具有Systemd作为Init系统预装,因此,我们需要运行以下SystemD命令才能启动守护程序服务。

# systemctl start httpd mariadb postfix

启动后,我们现在将能够在每个系统启动中自动启动。

# systemctl enable httpd mariadb postfix
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service.
Created symlink from /etc/systemd/system/multi-user.target.wants/postfix.service to /usr/lib/systemd/system/postfix.service.

3.配置MariaDB数据库

在我们的机器中首次启动MariaDB之后,我们需要配置我们的MariaDB并为其root用户设置新密码。
为此,我们需要运行以下命令,如下所示。

# mysql_secure_installation

这将要求我们输入root的密码,但我们之前没有设置任何密码,我们首次安装MariaDB,我们只需按Enter键并更新。
然后,我们将被要求设置root密码,这里我们将为y命中y并输入MariaDB root的密码。
然后,我们将简单地重新按Enter键以设置进一步配置的默认值。

….
so you should just press enter here.
Enter current password for root (enter for none):
OK, successfully used password, moving on…
Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.
Set root password? [Y/n] y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
… Success!
…
installation should now be secure.
Thanks for using MariaDB!

4.创建一个新的redmine db

在我们成功配置我们的MariaDB服务器后,我们现在将用于创建新的Redmine数据库,以便Redmine将能够使用MariaDB来存储所需的数据和信息。
因此,我们需要通过在终端或者控制台中执行以下命令来登录MariaDB命令提示符。

# mysql -u root -p

其中我们需要输入我们在上面设置的MariaDB root帐户的密码。
在我们登录到MariaDB命令提示符后,我们将为我们的Redmine应用程序创建数据库。

> CREATE DATABASE redminedb CHARACTER SET utf8;
> CREATE USER 'redmineuser'@'localhost' IDENTIFIED BY 'Pa$$worD123';
> GRANT ALL PRIVILEGES ON redminedb.* TO 'redmineuser'@'localhost';
> FLUSH PRIVILEGES;
> EXIT;

注意:我们已成功为其Redmine应用程序创建了一个新的数据库,其中包含redminedb,其中包含用户名redmineuser和password作为pa $word123.
强烈建议将上述变量替换为我们对安全问题的愿望。

5.安装Redmine.

现在,随着我们的服务器始终运行,我们现在将从其官方https://www.redmine.org/releases/中获取我们的最新稳定发布的Redmine。

作为撰写本文的最新稳定版本,因此,我们将使用WGET命令从上面的下载此版本的tar包,如下所示。

# cd /tmp/
# wget https://www.redmine.org/releases/redmine-3.1.1.tar.gz
--2014-11-04 06:44:08-- https://www.redmine.org/releases/redmine-3.1.1.tar.gz
Resolving www.redmine.org (www.redmine.org)... 46.4.36.71
Connecting to www.redmine.org (www.redmine.org)|46.4.36.71|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2246322 (2.1M) [application/x-gzip]
Saving to: ‘redmine-3.1.1.tar.gz’
redmine-3.1.1.tar.gz 100%[========================>] 2.14M 61.2KB/s in 21s
2014-11-04 06:44:32 (102 KB/s) - ‘redmine-3.1.1.tar.gz’ saved [2246322/2246322]

在我们成功下载后,我们现在将使用Tar命令提取该tar包。

# tar xfzv redmine-3.1.1.tar.gz

接下来,我们将把提取的redmine目录移到Apache Web服务器的位置,如下所示。

# mv redmine-3.1.1 /var/www/redmine

然后,我们需要将Redmine安装目录的所有权更改为Apache,以便Apache Process Owner将完全访问目录和文件。

# chown apache:apache -R /var/www/redmine

6.配置Redmine.

我们现在将配置我们的redmine,以便它能够连接我们刚刚创建的MariaDB数据库。
为此,我们需要上面指出的数据库名称,数据库用户和密码。
我们首先需要复制由配置文件夹下的Redmine团队提供的配置文件的示例。
为此,我们需要在终端或者控制台中运行以下命令。

# cd /var/www/redmine/config
# cp database.yml.example database.yml

接下来,我们将编辑Database.yml并将其配置为与MariaDB数据库连接。

# nano database.yml

现在,我们需要在生产定义下将文件Database.yml添加,如下所示,并使其与数据库连接。

production:
 adapter: mysql2
 database: redminedb
 host: localhost
 username: redmineuser
 password: "Pa$$worD123" 
 encoding: utf8

完成后,我们需要保存并退出该文件。

7.配置电子邮件服务

接下来,我们需要配置redmine的SMTP设置,以便Redmine将能够通过电子邮件发送通知。
为此,我们需要在Configuration.yml下配置生产定义。
配置文件的示例已经预先加上我们的Redmine包,因此我们只需使用该示例配置文件。
为此,我们将简单地将该示例配置文件复制到Configuration.yml使用复制命令。

# cd /var/www/redmine/config
# cp configuration.yml.example configuration.yml

接下来,我们将使用文本编辑器编辑Configuration.yml。

# nano configuration.yml

我们现在将搜索生产定义并如下所示添加。

production:
    email_delivery:
        delivery_method: :smtp
        smtp_settings:
            address: "localhost"
            port: 25
            domain: 'redmine.theitroad.com'
    rmagick_font_path: /usr/share/fonts/ipa-pgothic/ipagp.ttf

8.安装Ruby Gem

我们现在将安装所需的Ruby依赖项来运行redmine。
这些依赖项由捆绑管理。
因此,要安装它,首先需要通过运行以下命令来安装Bundler。

# gem install bundler
Successfully installed bundler-1.10.6
Parsing documentation for bundler-1.10.6
Installing ri documentation for bundler-1.10.6
Done installing documentation for bundler after 5 seconds
1 gem installed

接下来,我们将通过排除PostgreSQL,SQLite,测试和开发依赖项来安装所有这些所需的Ruby依赖项--without标志。

# bundle install --without postgresql sqlite test development

9.初始化Redmine数据库

现在,我们将进一步进一步用于初始化Redmine数据库。
为此,我们将首先通过运行以下命令来为会话管理生成一个秘密密钥。

# cd /var/www/redmine
# /usr/local/bin/rake generate_secret_token

接下来,我们将使用以下命令将数据库设置为导出导出rails_env变量作为"生产"。

# /usr/local/bin/rake db:migrate RAILS_ENV="production"

然后,最后通过执行以下命令,需要使用默认数据填充数据库。
此命令将提示我们为此选择语言,我们只需使用默认语言即英语(en)。

# /usr/bin/rake redmine:load_default_data RAILS_ENV="production"
Select language: ar, az, bg, bs, ca, cs, da, de, el, en, en-GB, es, es-PA, et, eu, fa, fi, fr, gl, he, hr, hu, id, it, ja, ko, lt, lv, mk, mn, nl, no, pl, pt, pt-BR, ro, ru, sk, sl, sq, sr, sr-YU, sv, th, tr, uk, vi, zh, zh-TW [en] en
====================================
Default configuration data loaded.

10.安装和配置乘客

正如我们要为生产设置的那样,我们将要安装乘客,以便我们可以通过乘客通过Apache2托管我们的Redmine。
要设置乘客引导程序,我们需要运行以下命令。

# gem install passenger
Fetching: passenger-5.0.21.gem (100%)
Building native extensions. This could take a while...
Successfully installed passenger-5.0.21
Parsing documentation for passenger-5.0.21
unable to convert "\x88" from ASCII-8BIT to UTF-8 for src/cxx_supportlib/vendor-modified/boost/thread/future.hpp, skipping
unable to convert "\x97" from ASCII-8BIT to UTF-8 for src/cxx_supportlib/vendor-modified/boost/utility/declval.hpp, skipping
Installing ri documentation for passenger-5.0.21
Done installing documentation for passenger after 69 seconds
1 gem installed

接下来,我们已安装乘客后,我们需要安装乘客Apache2模块。
为此,我们需要运行以下命令。

# /usr/local/bin/passenger-install-apache2-module

它我们诊断任何问题,并为我们的特定安装提供一些默认设置。

注意:要编译乘客,我们的机器需要至少1GB的内存或者1GB的内存 +交换空间组合。

安装后,我们现在将进一步走向乘客的配置。

现在,正如我们在Fedora 22机器中安装了所需的软件包,我们现在需要配置我们的Apache服务器以正确使用乘客。
为此,我们需要创建一个新的文件乘客.Conf,我们将为我们的乘客定义配置。

# nano /etc/httpd/conf.d/passenger.conf

通过我们的文本编辑器打开后,我们需要将此文件添加,配置如下所示。

LoadModule passenger_module /usr/local/share/gems/gems/passenger-5.0.21/buildout/apache2/mod_passenger.so
<IfModule mod_passenger.c>
 PassengerRoot /usr/local/share/gems/gems/passenger-5.0.21
 PassengerDefaultRuby /usr/bin/ruby
</IfModule>

一旦完成,我们需要保存并退出编辑器。

11.配置Apache Web服务器

现在,随着我们的乘客完全配置,我们现在将配置我们的Apache配置,以便通过Apache Web服务器运行我们的Redmine。
为此,我们需要使用文本编辑器在/etc/httpd/conf.d/redmine.conf下创建一个新的conf文件。

# nano /etc/httpd/conf.d/redmine.conf

然后,我们需要将以下配置文件复制到文件中。

<VirtualHost *:80>
   ServerName redmine.theitroad.com
   DocumentRoot /var/www/redmine/public
   <Directory /var/www/redmine/public>
      AllowOverride all
      Options -MultiViews
   </Directory>
</VirtualHost>

完成后,我们将简单地保存并退出编辑器。

12.重新启动Web服务器

一旦按照上面的所有内容正确配置并安装并安装,我们现在需要重新启动Apache Web服务器,以便第一次运行我们的Redmine。
由于Fedora 22默认使用SystemD作为Init系统附货时,我们将简单地运行SystemD命令以便重新启动它。

# systemctl restart httpd

13.允许防火墙

接下来,我们需要在Linux计算机中配置我们的防火墙程序,以允许端口80或者HTTP服务,以便在我们的网络中访问我们的Apache Web服务器。
正如Fedora 22所拥有的Systemd,FirewAllD是流行的防火墙程序。
因此,我们需要执行以下命令来允许端口80或者HTTP服务从我们的Linux机器进行曝光。

# firewall-cmd --zone=public --add-service=http
# firewall-cmd --permanent --zone=public --add-service=http

14.访问Redmine.

现在,正如我们拥有我们的Apache Web服务器运行和HTTP端口转发,我们应该能够使用Web浏览器访问我们的Redmine Web界面。
根据我们的配置,我们只需将我们的Web浏览器指向http://ip-address /或者http://redmine.theitroad.com/。
在此,在本教程中,我们将浏览器指向http://redmine.theitroad.com/,因为我们在上述步骤中在Apache Web服务器中配置了它。
如果一切都按预期进行了预期,我们应该看到我们的Redmine应用程序运行如下。

接下来,我们将要登录我们的Redmine仪表板。
为此,我们需要点击导航列中上面呈现的登录按钮。
然后,将显示一个登录屏幕,这将询问用户名和密码。
redmine应用程序的默认用户名和密码分别是admin和admin。

在我们成功登录后,我们将用于创建项目。
通过从上面的菜单导航到管理页面,我们可以执行此操作。

然后,我们需要点击项目,然后单击按钮(+)新项目。

将出现一种表单,我们需要为我们的项目输入所需的信息和配置,如下所示。
在完成所需信息和设置后,我们需要单击"创建"并继续。