文档章节

Bitnami Redmine安装程序 --文档

诺岚
 诺岚
发布于 2018/07/27 13:48
字数 13269
阅读 269
收藏 0
注意:在运行此页面上显示的命令之前,您应该通过执行installdir/use_APPNAME脚本(Linux和Mac OS X)或单击“开始 - > Bitnami APPNAME堆栈”下的“开始”菜单中的快捷方式来加载Bitnami堆栈环境。>应用程序控制台“(Windows).了解更多
注意:运行此页面上显示的命令时,请将installdir占位符替换为Bitnami堆栈的完整安装目录。

描述

Redmine是一个流行的开源项目管理和问题跟踪平台,涵盖多个项目和子项目,每个项目和子项目都有自己的一组用户和工具,来自同一个地方.

试用OS X VM for Mac(测试版).这款新产品让您只需点击几下即可在Mac上轻松运行此应用程序.不需要VirtualBox!在此处查找更多相关信息.

Bitnami Redmine Stack的第一步

欢迎来到您的新Bitnami应用程序!以下是您首次启动应用程序时可能需要的几个问题(和答案!).

系统要求是什么?

在下载和安装应用程序之前,请检查您的系统是否满足这些要求.

如何安装Bitnami Redmine Stack?

Windows,OS X和Linux安装程序

  • Bitnami网站下载Bitnami Redmine Stack的可执行文件。

  • 运行下载的文件:

    • 在Linux上,为安装程序提供可执行权限并在控制台中运行安装文件。
    • 在其他平台上,双击安装程序并按照显示的说明进行操作。

有关详细信息,请查看有关如何下载和安装Bitnami堆栈的FAQ说明.

该应用程序将安装到以下默认目录:

操作系统 目录
视窗 C:\Bitnami \ APPNAME-VERSION
Mac OS X. /应用/APPNAME-VERSION
Linux的 /opt/APPNAME-VERSION(以root用户身份运行)

OS X VM

  • Bitnami网站下载Bitnami Redmine Stack的OS X VM文件。
  • 双击图像文件并将WordPress OS X VM图标拖到“应用程序”文件夹,开始安装过程。
  • 双击Applications文件夹中的图标启动VM。

我需要什么证件?

您需要应用程序凭据,包括用户名和密码.这些凭据允许您登录到新的Bitnami应用程序.

为我首次登录应用程序设置的管理员用户名是什么?

  • 对于Windows,Linux和OS X安装程序,您在首次安装应用程序时配置了用户名。
  • 对于OS X VM,可以通过单击应用程序欢迎页面右下角的Bitnami徽章来获取用户名。

什么是管理员密码?

  • 对于Windows,Linux和OS X安装程序,您在首次安装应用程序时配置了密码.
  • 对于OS X VM,可以通过单击应用程序欢迎页面右下角的Bitnami徽章来获取密码.

如何启动或停止服务?

Linux的

Bitnami本机安装程序包括一个用于管理服务的图形工具。此工具在Linux上名为 manager-linux-x64.run,位于安装目录中。要使用此工具,请双击该文件,然后使用图形界面启动,停止或重新启动服务。可以在“服务器事件”选项卡中检查服务器日志消息。

 

本机安装程序还包括一个命令行脚本,用于启动,停止和重新启动应用程序,名为ctlscript.sh.可以在安装目录中找到此脚本,并接受选项start,stop,restartstatus.要使用它,请按照以下示例登录服务器控制台并执行它:

  • 无需任何服务名称即可调用它来启动所有服务:

    注意:如果以root身份安装堆栈,则仅使用sudo.在运行以下命令之前,请记住加载Bitnami堆栈环境(说明)

    sudo installdir/ctlscript.sh start
    #installdir 为安装目录
    
  • 仅通过将服务名称作为参数传递来使用它来重新启动特定服务 - 例如,mysql,postgresqlapache:

    注意:如果以root身份安装堆栈,则仅使用sudo.在运行以下命令之前,请记住加载Bitnami堆栈环境(说明)

    sudo installdir/ctlscript.sh restart mysql
    sudo installdir/ctlscript.sh restart postgresql
    sudo installdir/ctlscript.sh restart apache
    
  • 获取所有服务的当前状态:

    installdir/ctlscript.sh status
    

可用服务列表因每个应用程序所需的组件而异.

Mac OS X.

Bitnami本机安装程序包括一个用于管理服务的图形工具.此工具在Mac OS X上名为manager-osx,位于安装目录中.要使用此工具,请双击该文件,然后使用图形界面启动,停止或重新启动服务.可以在“服务器事件”选项卡中检查服务器日志消息.

本机安装程序还包括一个命令行脚本,用于启动,停止和重新启动应用程序,名为ctlscript.sh.可以在安装目录中找到此脚本,并接受选项start,stop,restartstatus.要使用它,请按照以下示例登录服务器控制台并执行它:

  • 无需任何服务名称即可调用它来启动所有服务:

    注意:如果以root身份安装堆栈,则仅使用sudo.在运行以下命令之前,请记住加载Bitnami堆栈环境(说明).

    sudo installdir/ctlscript.sh start
    
  • 仅通过将服务名称作为参数传递来使用它来重新启动特定服务 - 例如,mysqlapache:

    注意:如果以root身份安装堆栈,则仅使用sudo.在运行以下命令之前,请记住加载Bitnami堆栈环境(说明).

    sudo installdir/ctlscript.sh restart mysql
    sudo installdir/ctlscript.sh restart apache
    
  • 获取所有服务的当前状态:

    installdir/ctlscript.sh status
    

可用服务列表因每个应用程序所需的组件而异。

注意:如果您使用的是Mac OS X-VM的堆栈管理器,请查看以下博客文章,了解如何从其图形工具管理服务。

Window

Bitnami本机安装程序包括一个用于管理服务的图形工具。此工具在Windows上名为manager-windows.exe,位于安装目录中.要使用此工具,请双击该文件,然后使用图形界面启动,停止或重新启动服务.可以在“服务器事件”选项卡中检查服务器日志消息.

Windows本机安装程序创建快捷方式以启动和停止在“开始”菜单中的“程序 - > Bitnami APPNAME堆栈 - > Bitnami服务”下创建的服务,也可以从Windows“服务”控制面板管理服务器.使用APPNAMESERVICENAME格式命名服务,其中APPNAME是应用程序名称的占位符,SERVICENAME是服务名称的占位符.例如,Bitnami WordPress Stack的本机安装程序安装名为wordpressApachewordpressMySQL的服务.

这些服务将在引导期间自动启动.要修改此行为,请参阅有关在Windows禁用服务的部分.

如何访问管理面板?

通过浏览到http://localhost/admin访问管理面板。

如何直接从Redmine应用程序或Web浏览器中查看Subversion存储库?

注意:Bitnami Redmine Stack的Windows安装程序不再包含Subversion.此堆栈的Linux和Mac OS X安装程序继续像以前一样包含Subversion.

Redmine允许用户检查存储库更改并链接到案例.只需在项目的“设置 - >存储库”选项卡中配置“存储库URL”即可.

SCM: Subversion
URL: http://your_repository
Login: repository_login
Password: repository_password

如何配置Redmine以与Subversion进行高级集成?

在开始本指南之前,请考虑到在Redmine应用程序中查看存储库更改不是必需的.如果您只想查看存储库更改并链接到问题,则只需配置项目存储库:“项目 - >设置 - >存储库 - > URL和控制版本系统”.

此Redmine配置用于自动存储库创建和权限管理。从v1.1.3-1开始,Redmine Stack为此配置提供了所有必需的模块。本指南已更新,可与Redmine 2.1.4配合使用。

按着这些次序:

  • 确保在Apache配置文件(httpd.conf)中启用了mod_dav模块。应在下一步中提到的模块之前加载此模块。

     LoadModule dav_module modules/mod_dav.so
    
  • 在Apache配置文件中添加以下行:

     LoadModule dav_svn_module modules/mod_dav_svn.so
     LoadModule perl_module modules/mod_perl.so
    
  • 您还需要将以下行添加到installdir/apache2/bin/envvars文件中(路径可能会根据版本而更改):

     LD_LIBRARY_PATH="installdir/perl/lib/5.16.3/x86_64-linux-thread-multi/CORE/:$LD_LIBRARY_PATH"
     export LD_LIBRARY_PATH
    
  • Redmine.pm文件复制到Perl modules文件夹中:

    cp installdir/apps/redmine/htdocs/extra/svn/Redmine.pm installdir/perl/lib/site_perl/5.8.8/*/Apache2/
    
  • 为存储库创建目录,例如:

    mkdir installdir/repository
    mkdir installdir/repository/svn
    chown root:daemon installdir/repository/ [or "your_user:your_user" if you installed the Stack without root privileges]
    chown root:daemon installdir/repository/svn/ [or "your_user:your_user" if you installed the Stack without root privileges]
    chmod 0755 installdir/repository
    chmod 0750 installdir/repository/svn
    
  • 将这些行添加到installdir/apps/redmine/conf/httpd-app.conf文件中:

     PerlLoadModule Apache2::Redmine
     <Location /svn>
       DAV svn
       SVNParentPath "installdir/repository/svn"
       Order deny,allow
       Deny from all
       Satisfy any
    
       PerlAccessHandler Apache::Authn::Redmine::access_handler
       PerlAuthenHandler Apache::Authn::Redmine::authen_handler
       AuthType Basic
       AuthName "Redmine SVN Repository"
    
       #read-only access
       <Limit GET PROPFIND OPTIONS REPORT>
          Require valid-user
          Allow from all
          # Allow from another-ip
          Satisfy any
       </Limit>
       # write access
       <LimitExcept GET PROPFIND OPTIONS REPORT>
         Require valid-user
       </LimitExcept>
    
       ## for mysql
       RedmineDSN "DBI:mysql:database=bitnami_redmine;host=localhost;mysql_socket=installdir/mysql/tmp/mysql.sock" 
    
       RedmineDbUser "bitnami"
       RedmineDbPass "bitnami_database_password"
       #You can find this value at installdir/apps/redmine/htdocs/config/database.yml
     </Location>
    
  • 重启服务器:

    注意:如果以root身份安装堆栈,则仅使用sudo.在运行以下命令之前,请记住加载Bitnami堆栈环境(说明).

    sudo installdir/ctlscript.sh restart apache
    
  • 以管理员身份登录Redmine应用程序,然后导航到“设置 - >存储库 - >启用WS以进行存储库管理”.

  • 单击“生成密钥”并保存密钥.

  • 在crontab中添加以下行.您可以使用命令crontab -e编辑crontab

     */2 * * * * installdir/ruby/bin/ruby installdir/apps/redmine/htdocs/extra/svn/reposman.rb --redmine localhost:YOUR_APACHE_PORT/redmine --svn-dir installdir/repository/svn --owner root --group daemon --command="installdir/subversion/bin/svnadmin create --pre-1.6-compatible --fs-type fsfs" --url http://localhost:YOUR_APACHE_PORT/svn --key="YOUR_API_KEY" --verbose >> /var/log/reposman.log 
    

    如果已将Redmine配置为通过SSL进行访问,则可以在先前的crontab行中指定--redmine http://127.0.0.1:3001/redmine

检查一切是否正常,从Redmine应用程序创建项目并检查/var/log/reposman.log文件。

感谢Jedbifa在Bitnami论坛上发布了完整的指南.

如何配置出站电子邮件设置?

可以在installdir/apps/redmine/htdocs/config/configuration.yml文件中配置电子邮件设置.在旧版本中,使用installdir/apps/redmine/htdocs/config/email.yml文件.

该文件包含大多数常见方案的示例配置设置,包括Gmail.要将Gmail用作SMTP服务器,请查找并取消注释Gmail设置,以便最终得到以下结果.请必使用您计划使用的Gmail帐户的正确凭据更新user_name和密码变量.

# ==== SMTP server at using TLS (GMail)
# This might require some additional configuration. See the guides at:
# http://www.redmine.org/projects/redmine/wiki/EmailConfiguration
#
email_delivery:
  delivery_method: :smtp
  smtp_settings:
    enable_starttls_auto: true
    address: "smtp.gmail.com"
    port: 587
    domain: "smtp.gmail.com" # 'your.domain.com' for Google Apps
    authentication: :plain
    user_name: "USERNAME@gmail.com"
    password: "PASSWORD"

修改配置文件后,请按照这些说明重新启动服务。

要更改电子邮件中显示的链接,请导航至“管理 - >设置 - >常规 - >主机名称和路径”部分,然后输入您的域名和端口.

有关此Redmine wiki页面此Redmine博客文章的更多信息.

排除邮件配置问题

  • 如果您收到包含“530 5.7.0必须首先发出STARTTLS命令...”的错误消息,请确保在密码行后面设置了enable_starttls_auto属性。例如:

     email_delivery:
       delivery_method: :smtp
       smtp_settings:
         enable_starttls_auto: true
         address: "smtp.gmail.com"
         port: 587
         domain: "smtp.gmail.com" # 'your.domain.com' for GoogleApps
         authentication: :plain
         user_name: "USERNAME@gmail.com"
         password: "PASSWORD"
    
  • 在Redmine 2.0或更高版本中,如果您看到类似于“发送邮件时发生错误(SSL_connect返回= 1 errno = 0状态= SSLv2 / v3读取服务器问候A:未知协议)”的错误,请从中删除tls:true选项该configuration.yml文件.然后,重新启动服务.

  • 如果使用不需要身份验证的SMTP服务器,则可能需要在configuration.yml文件中添加openssl_verify_mode:'none'选项.

要将应用程序配置为使用其他第三方SMTP服务来发送电子邮件,例如SendGrid或Mandrill,请参阅常见问题解答.

注意:如果您使用Gmail作为出站电子邮件服务器并且在尝试正确发送电子邮件时遇到问题,请查看如何解决Gmail SMTP问题,以了解这些问题的原因以及解决方法。

如何在Redmine上安装插件?

在安装插件之前,请确保该插件与您的Redmine版本兼容.对于Redmine插件目录中插件,请检查每个插件的“兼容:”字段.

  • 通过执行installdir/use_redmine脚本(Linux和Mac OS X)或单击“开始 - > Bitnami Redmine堆栈 - >应用程序控制台”(Windows)下的“开始”菜单中的快捷方式加载Bitnami堆栈环境。了解更多
  • 下载插件并将其复制到installdir/apps/redmine/htdocs/plugins.
  • 如果插件需要迁移,请运行以下命令来升级数据库.建议在运行这些命令之前备份数据库.

    cd installdir/apps/redmine/htdocs/
    bundle install --without development test postgresql sqlite
    ruby bin/rake redmine:plugins RAILS_ENV=production
    
  • 使用这些说明重启Redmine.
  • 将插件复制到installdir/apps/redmine/htdocs/plugins目录后,运行以下命令:

    cd installdir/apps/redmine/htdocs/
    bundle install --without development test postgresql sqlite --no-deployment
    bundle install --without development test postgresql sqlite --deployment
    ruby bin/rake redmine:plugins RAILS_ENV=production
    
  • 使用这些说明重启Redmine.

插件安装疑难解答

  • 如果你在Redmine 2.4.0-0中收到这样的错误并且更好:

        You are trying to install in deployment mode after changing your Gemfile. Run 'bundle install' elsewhere and add the updated Gemfile.lock to version control.
    

    尝试按照错误消息中的建议将--no-deployment参数添加到bundle install命令.

  • 如果您使用适用于Windows的Bitnami Redmine安装程序,并且您的瘦服务器在安装插件后未运行,请手动运行它们以了解错误:

    • 转到Bitnami Redmine控制台:“开始 - >程序文件 - > Bitnami Redmine堆栈 - >使用Redmine”
    • 转到apps/redmine/htdocs.
    • 运行以下命令:

      bundle exec thin start -e production -p 3001 --prefix /redmine
      

    现在,您可以在启动服务器或通过Web浏览器访问应用程序时看到错误,网址为http://127.0.0.1:3001/redmine。

如何安装Redmine Agile插件?

手动安装Redmine Agile插件(需要免费注册).强烈建议先创建备份.备份完成后,请按照下列步骤操作:

  • .zip文件保存在installdir/apps/redmine/htdocs/plugins目录中.在解压缩插件之前,请确保您在该目录中:

    cd installdir/apps/redmine/htdocs/plugins
    
  • 解压缩Agile插件文件(VERSION-EDITION是占位符.您的文件应包含已下载的版本和所选版本):

    unzip redmine_agile_VERSION-EDITION.zip
    
  • 删除“.zip”文件:

    rm redmine_agile_VERSION_EDITION.zip
    
  • 切换到htdocs目录并安装所需的gem:

    cd installdir/apps/redmine/htdocs/
    bundle install --without development test postgresql sqlite --no-deployment
    bundle install --without development test postgresql sqlite --deployment
    
  • 安装和迁移Redmine Agile数据库:

    bundle exec rake redmine:plugins RAILS_ENV=production
    bundle exec rake redmine:plugins NAME=redmine_agile RAILS_ENV=production
    

注意:它可能会显示有关日志生成文件的警告消息.在这种情况下,请运行以下命令:

注意:如果以root身份安装堆栈,则仅使用sudo.在运行以下命令之前,请记住加载Bitnami堆栈环境(说明).

sudo chown :bitnami log/production.log
sudo chmod g+w log/production.log
  • 重新启动服务以使更改生效:

    注意:如果以root身份安装堆栈,则仅使用sudo.在运行以下命令之前,请记住加载Bitnami堆栈环境(说明).

    sudo installdir/ctlscript.sh restart
    
  • 登录到Redmine安装并导航到“管理 - >敏捷”部分以配置新插件。

  • 导航到“项目 - >项目 - >设置 - >模块”菜单以在项目中启用Agile插件。

如何安装Redmine Custom Workflows插件?

在安装Redmine Custom Workflows插件之前,请创建一个备份.备份完成后,请按照下列步骤操作:

  • 切换到Redmine插件目录并获取最新的自定义工作流程版本:

    cd installdir/apps/redmine/htdocs/plugins
    git clone http://github.com/anteo/redmine_custom_workflows.git
    
  • 安装插件:

    cd installdir/apps/redmine/htdocs/
    bundle exec rake redmine:plugins:migrate RAILS_ENV=production
    

注意:它可能会显示有关日志生成文件的警告消息.在这种情况下,请运行以下命令:

注意:如果以root身份安装堆栈,则仅使用sudo.在运行以下命令之前,请记住加载Bitnami堆栈环境(说明)

sudo chown :bitnami log/production.log
sudo chmod g+w log/production.log
  • 重新启动服务以使更改生效:

    注意:如果以root身份安装堆栈,则仅使用sudo.在运行以下命令之前,请记住加载Bitnami堆栈环境(说明).

    sudo installdir/ctlscript.sh restart
    
  • 登录到Redmine安装并导航到“管理 - >自定义工作流”部分以配置新插件.

如何创建Redmine的完整备份?

Bitnami Redmine堆栈是自包含的,执行备份的最简单选项是复制或压缩Bitnami堆栈安装目录,要以安全的方式执行此操作,您需要停止所有服务器,因此如果您有人连续访问应用程序,则此方法可能不合适.

注意:如果您只想创建数据库备份,请参阅MySQLPostgreSQL的这些说明。

在Linux和Mac OS X上备份

按着这些次序:

  • 切换到要保存备份的目录.

    cd /your/directory
    
  • 停止所有服务器.

    注意:如果以root身份安装堆栈,则仅使用sudo.在运行以下命令之前.请记住加载Bitnami堆栈环境(说明)

    sudo installdir/ctlscript.sh stop
    
  • 使用堆栈内容创建压缩文件.

    注意:如果以root身份安装堆栈,则仅使用sudo。在运行以下命令之前,请记住加载Bitnami堆栈环境(说明)

    sudo tar -pczvf application-backup.tar.gz installdir
    
  • 启动所有服务器。

    注意:如果以root身份安装堆栈,则仅使用sudo.在运行以下命令之前,请记住加载Bitnami堆栈环境(说明).

    sudo installdir/ctlscript.sh start
    
  • application-backup.tar.gz文件下载或传输到安全位置.

您现在应该将application-backup.tar.gz文件下载或传输到安全位置.

在Windows上备份

按着这些次序:

  • 使用“开始”菜单或图形管理器工具中的快捷方式停止所有服务器.

  • 使用堆栈内容创建压缩文件.您可以使用7-Zip或WinZip等图形工具,或者右键单击文件夹,单击“发送到”,然后选择“压缩(压缩)文件夹”选项.

  • 将压缩文件下载或传输到安全位置.

  • 使用“开始”菜单或图形管理器工具中的快捷方式启动所有服务器.

在Linux和Mac OS X上还原

按着这些次序:

  • 切换到包含备份的目录:

    cd /your/directory
    
  • 停止所有服务器.

    注意:如果以root身份安装堆栈,则仅使用sudo.在运行以下命令之前,请记住加载Bitnami堆栈环境(说明)

    sudo installdir/ctlscript.sh stop
    
  • 将当前堆栈移动到其他位置:

    注意:如果以root身份安装堆栈,则仅使用sudo.在运行以下命令之前,请记住加载Bitnami堆栈环境(说明)

    sudo mv installdir /tmp/bitnami-backup
    
  • 将备份文件解压缩到原始目录:

    注意:如果以root身份安装堆栈,则仅使用sudo.在运行以下命令之前,请记住加载Bitnami堆栈环境(说明)

    sudo tar -pxzvf application-backup.tar.gz -C /
    
  • 启动所有服务器.

    注意:如果以root身份安装堆栈,则仅使用sudo.在运行以下命令之前,请记住加载Bitnami堆栈环境(说明)

    sudo installdir/ctlscript.sh start
    
重要信息:还原时,请记住保留文件和文件夹的原始权限。例如,如果您最初在Linux上以root用户身份安装堆栈,请确保还原的文件也归root所有。

在Windows上还原

  • 切换到包含备份的目录:

    cd /your/directory
    
  • 使用“开始”菜单或图形管理器工具中的快捷方式停止所有服务器。

  • 执行以下命令卸载以前的服务:

    serviceinstall.bat
    
  • 在桌面中创建一个名为Backups的安全文件夹,并将当前堆栈移动到该文件夹。请记住将PATH替换为文件夹的正确位置:

    move installdir \PATH\Backups
    
  • 使用7-Zip或Winzip等工具解压缩备份文件,或者只需双击.zip文件解压缩,然后将其移动到原始目录。
  • 通过从提升的命令提示符运行以下命令来安装服务:

    cd installdir
    serviceinstall.bat INSTALL
    
  • 使用“开始”菜单或图形管理器工具中的快捷方式启动所有服务器。

如何升级Redmine?

强烈建议您在开始更新过程之前创建备份。如果您有重要数据,建议您创建并尝试还原备份以确保一切正常。

升级Redmine和所有堆栈组件(推荐)

您可以按照以下步骤升级应用程序和堆栈组件:

  • 启动一个新的Redmine服务器。
  • 将数据库备份复制到新服务器。
  • 停止所有服务器并仅启动MySQL。

    注意:如果以root身份安装堆栈,则仅使用sudo。在运行以下命令之前,请记住加载Bitnami堆栈环境(说明)

    sudo installdir/ctlscript.sh stop apache
    sudo installdir/ctlscript.sh stop mysql
    sudo installdir/ctlscript.sh start mysql
    
  • 删除以前的数据库并创建新数据库。您可以使用安全密码配置数据库用户密码。如果数据库托管在其他服务器上,请记住添加-h选项以指定主机名。

    mysql -u root -p
    Password: ****
    mysql> drop database bitnami_redmine;
    mysql> create database bitnami_redmine;
    mysql> grant all privileges on bitnami_redmine.* to 'bn_redmine'@'localhost' identified by 'DATABASE_PASSWORD';
    
  • 恢复新数据库:

    mysql -u root -p bitnami_redmine < backup.sql
    
  • 编辑Redmine配置文件以更新installdir / apps / redmine / htdocs / config / database.yml中的数据库用户密码(与之前设置的密码相同)。

    production:
      adapter: mysql2
      database: bitnami_redmine
      host: localhost
      username: bn_redmine
      password: "DATABASE_PASSWORD"
      encoding: utf8
    
  • 将数据库迁移到最新版本:

    cd installdir/apps/redmine/htdocs/
    ruby bin/rake db:migrate RAILS_ENV=production
    

升级故障排除

  • 如果看到以下错误,请转到数据库并删除指定的表并再次运行迁移命令。

     Mysql::Error: Table 'changeset_parents' already exists: CREATE TABLE `changeset_parents` (`changeset_id` int(11) NOT NULL, `parent_id` int(11) NOT NULL) ENGINE=InnoDB
    

    运行以下命令:

    mysql -u root -p 
     mysql> use bitnami_redmine;
     mysql> drop table changeset_parents;
    cd installdir/apps/redmine/htdocs/ 
    ruby bin/rake db:migrate RAILS_ENV=production
    

    然后,将installdir / apps / redmine / htdocs / files目录从旧安装复制到新安装。如果你已经在以前的版本安装的插件,复制从目录提供商/插件目录复制到新的安装面积,在插件目录中。检查插件是否与新版本兼容,然后运行以下命令:

    ruby bin/rake redmine:plugins RAILS_ENV="production"
    

    清理缓存和会话。

    ruby bin/rake tmp:cache:clear
    ruby bin/rake tmp:sessions:clear
    

    重启服务器。

    注意:如果以root身份安装堆栈,则仅使用sudo。在运行以下命令之前,请记住加载Bitnami堆栈环境(说明)

    sudo installdir/ctlscript.sh restart
    
  • 如果从1.x版本升级,您会看到类似于此错误的内容:

     MysqlStatement::Error Value for field `value` cannot be NULL INSERT INTO custom_value ...
    

    转到管理面板中的自定义值,再次编辑并保存它们以解决问题。

如何创建SSL证书?

需要OpenSSL才能创建SSL证书。然后可以将证书请求发送到证书颁发机构(CA)以使其签名为证书,或者如果您拥有自己的证书颁发机构,则可以自行签名,或者您可以使用自签名证书(因为您只是想要测试证书,或者因为您正在设置自己的CA)。

按照以下步骤操作您的平台。

Linux和Mac OS X.

注意:OpenSSL通常已安装在Linux和Mac OS X上。如果未安装,请使用操作系统的软件包管理器手动安装。

请按照以下步骤操作:

  • 生成新的私钥:

    注意:如果以root身份安装堆栈,则仅使用sudo。在运行以下命令之前,请记住加载Bitnami堆栈环境(说明)

    sudo openssl genrsa -out installdir/apache2/conf/server.key 2048
    
  • 创建证书:

    注意:如果以root身份安装堆栈,则仅使用sudo。在运行以下命令之前,请记住加载Bitnami堆栈环境(说明)

    sudo openssl req -new -key installdir/apache2/conf/server.key -out installdir/apache2/conf/cert.csr
    
    重要信息:当上述命令要求输入“公用名”时,请输入服务器域名。
  • cert.csr发送到证书颁发机构。当证书颁发机构完成检查(并可能收到您的付款)时,他们会将您的新证书交给您。

  • 在收到证书之前,请创建一个临时自签名证书:

    注意:如果以root身份安装堆栈,则仅使用sudo。在运行以下命令之前,请记住加载Bitnami堆栈环境(说明)

    sudo openssl x509 -in installdir/apache2/conf/cert.csr -out installdir/apache2/conf/server.crt -req -signkey installdir/apache2/conf/server.key -days 365
    
  • 生成受密码保护的版本后,将您的私钥备份到安全位置,如下所示:

    注意:如果以root身份安装堆栈,则仅使用sudo。在运行以下命令之前,请记住加载Bitnami堆栈环境(说明)

    sudo openssl rsa -des3 -in installdir/apache2/conf/server.key -out privkey.pem
    

    请注意,如果在Apache配置文件中使用此加密密钥,则每次Apache启动时都需要手动输入密码。从该文件重新生成没有密码保护的密钥,如下所示:

    注意:如果以root身份安装堆栈,则仅使用sudo。在运行以下命令之前,请记住加载Bitnami堆栈环境(说明)

    sudo openssl rsa -in privkey.pem -out installdir/apache2/conf/server.key
    

视窗

注意:Windows上通常不安装OpenSSL。在执行以下步骤之前,请下载并安装OpenSSL的二进制分发版

安装OpenSSL后,请按照以下步骤操作:

  • OPENSSL_CONF环境变量设置为OpenSSL配置文件的位置。通常,此文件位于OpenSSL安装目录的bin /子目录中。使用正确的位置替换下面命令中的OPENSSL-DIRECTORY占位符。

    set OPENSSL_CONF=C:\OPENSSL-DIRECTORY\bin\openssl.cfg
    
  • 切换到OpenSSL安装目录的bin /子目录。使用正确的位置替换下面命令中的OPENSSL-DIRECTORY占位符。

    cd C:\OPENSSL-DIRECTORY\bin
    
  • 生成新的私钥:

    openssl genrsa -out installdir/apache2/conf/server.key 2048
    
  • 创建证书:

    openssl req -new -key installdir/apache2/conf/server.key -out installdir/apache2/conf/cert.csr
    
    重要信息:当上述命令要求输入“公用名”时,请输入服务器域名。
  • cert.csr发送到证书颁发机构。当证书颁发机构完成检查(并可能收到您的付款)时,他们会将您的新证书交给您。

  • 在收到证书之前,请创建一个临时自签名证书:

    openssl x509 -in installdir/apache2/conf/cert.csr -out installdir/apache2/conf/server.crt -req -signkey installdir/apache2/conf/server.key -days 365
    
  • 生成受密码保护的版本后,将您的私钥备份到安全位置,如下所示:

    openssl rsa -des3 -in installdir/apache2/conf/server.key -out privkey.pem
    

    请注意,如果在Apache配置文件中使用此加密密钥,则每次Apache启动时都需要手动输入密码。从该文件重新生成没有密码保护的密钥,如下所示:

    openssl rsa -in privkey.pem -out installdir/apache2/conf/server.key
    

有关证书的更多信息,请访问http://www.openssl.org

 

如何使用SSL证书启用HTTPS支持?

提示:如果您希望使用Let的加密证书,您可以在我们的Let's Encrypt指南中找到使用Let的加密SSL证书启用HTTPS支持的具体说明。
注意:以下步骤假定您使用的是自定义域名,并且您已将自定义域名配置为指向云服务器。

Bitnami图像已经预先配置了SSL支持并且具有伪证书。虽然此伪证书适用于测试和开发目的,但您通常需要使用有效的SSL证书进行生产。您可以自己生成(在此处说明),也可以从商业证书颁发机构购买。

获取证书和证书密钥文件后,您需要更新服务器以使用它们。请按照以下步骤激活SSL支持:

  • 使用下表确定证书和配置文件的正确位置。

    变量
    当前应用程序URL HTTPS:// [定制域] /
      示例:https://my-domain.com/或https://my-domain.com/appname
    Apache配置文件 INSTALLDIR / apache2的/ conf目录/ bitnami / bitnami.conf
    证书文件 INSTALLDIR / apache2的/ CONF / server.crt这
    证书密钥文件 INSTALLDIR / apache2的/ CONF / server.key
    CA证书包文件(如果存在) INSTALLDIR / apache2的/ conf目录/服务器ca.crt
  • 将SSL证书和证书密钥文件复制到指定位置。

    注意:如果对证书和密钥文件使用不同的名称,则应在相应的Apache配置文件中重新配置SSLCertificateFileSSLCertificateKeyFile指令以反映正确的文件名。
  • 如果您的证书颁发机构还为您提供了PEM编码的证书颁发机构(CA)捆绑包,则必须将其复制到上一个表中的正确位置。然后,修改Apache配置文件以包含SSLCertificateKeyFile指令下面的以下行。根据您的方案和Apache版本选择正确的指令:

    变量
    Apache配置文件 INSTALLDIR / apache2的/ conf目录/ bitnami / bitnami.conf
    指令包括(Apache v2.4.8 +) SSLCACertificateFile“installdir / apache2 / conf / server-ca.crt”
    包含的指令(Apache <v2.4.8) SSLCertificateChainFile“installdir / apache2 / conf / server-ca.crt”
    注意:如果为CA证书捆绑包使用其他名称,则应在相应的Apache配置文件中重新配置SSLCertificateChainFileSSLCACertificateFile指令以反映正确的文件名。
  • 复制完所有服务器证书文件后,只能使用以下命令使root用户可以读取它们:

    注意:如果以root身份安装堆栈,则仅使用sudo。在运行以下命令之前,请记住加载Bitnami堆栈环境(说明)

    sudo chown root:root installdir/apache2/conf/server*
    sudo chmod 600 installdir/apache2/conf/server*
    
  • 在服务器防火墙中打开端口443。有关更多信息,请参阅常见问题

  • 重新启动Apache服务器。

您现在应该可以使用HTTPS URL访问您的应用程序。

 

如何使用Apache强制进行HTTPS重定向?

defaultldir / apache2 / conf / bitnami / bitnami.conf中的默认Apache虚拟主机配置文件中,在默认的VirtualHost指令中添加以下行,使其如下所示:

<VirtualHost _default_:80>
  DocumentRoot "installdir/apache2/htdocs"
  RewriteEngine On
  RewriteCond %{HTTPS} !=on
  RewriteRule ^/(.*) https://%{SERVER_NAME}/$1 [R,L]
  ...
</VirtualHost>

修改Apache配置文件后:

  • 在服务器防火墙中打开端口443。有关更多信息,请参阅常见问题

  • 重新启动Apache以应用更改。

 

如何调试Apache错误?

一旦Apache启动,它将分别在installdir / apache2 / logs / access_loginstalldir / apache2 / logs / error_log创建两个日志文件。

  • 访问日志文件是用来跟踪客户端请求。当客户端从服务器请求文档时,Apache会在此文件中记录与请求关联的多个参数,例如:客户端的IP地址,请求的文档,HTTP状态代码和当前时间。

  • error_log中文件是用来记录重要事件。此文件包含错误消息,启动消息以及服务器生命周期中的任何其他重要事件。当您在使用Apache时遇到问题时,这是第一个查看的地方。

如果未找到错误,您将看到类似于以下内容的消息:

Syntax OK

 

如何查找MySQL数据库凭据?

如何连接MySQL数据库?

您可以使用mysql客户端工具从安装它的同一台计算机连接到MySQL数据库。

mysql -u root -p

系统将提示您输入root用户密码。这与应用程序密码相同。

如何调试数据库中的错误?

主日志文件在MySQL数据库服务器主机上的installdir / mysql / data / mysqld.log中创建。

如何更改MySQL Root密码?

您可以在shell提示符下使用以下命令修改MySQL密码。将NEW_PASSWORD占位符替换为您要设置的实际密码。

installdir/mysql/bin/mysqladmin -p -u root password NEW_PASSWORD

如何重置MySQL Root密码?

如果您不记得MySQL root密码,可以按照以下步骤将其重置为新值:

  • 使用下面显示的内容在/ home / bitnami / mysql-init中创建一个文件(将NEW_PASSWORD替换为您要使用的密码):

     UPDATE mysql.user SET Password=PASSWORD('NEW_PASSWORD') WHERE User='root';
     FLUSH PRIVILEGES;
    

    如果您的堆栈是MySQL v5.7.x,请使用以下内容而不是上面显示的内容:

     UPDATE mysql.user SET authentication_string=PASSWORD('NEW_PASSWORD') WHERE User='root';
     FLUSH PRIVILEGES;
    
    提示:使用命令installdir / mysql / bin / mysqladmin --versioninstalldir / mysql / bin / mysqld --version检查MySQL版本。
  • 停止MySQL服务器:

    注意:如果以root身份安装堆栈,则仅使用sudo。在运行以下命令之前,请记住加载Bitnami堆栈环境(说明)

    sudo installdir/ctlscript.sh stop mysql
    
  • 使用以下命令启动MySQL:

    注意:如果以root身份安装堆栈,则仅使用sudo。在运行以下命令之前,请记住加载Bitnami堆栈环境(说明)

    sudo installdir/mysql/bin/mysqld_safe --pid-file=installdir/mysql/data/mysqld.pid --datadir=installdir/mysql/data --init-file=/home/bitnami/mysql-init 2> /dev/null &
    
  • 重启MySQL服务器:

    注意:如果以root身份安装堆栈,则仅使用sudo。在运行以下命令之前,请记住加载Bitnami堆栈环境(说明)

    sudo installdir/ctlscript.sh restart mysql
    
  • 删除脚本:

    rm /home/bitnami/mysql-init
    

如何在Windows中更改MySQL Root密码?

您可以在shell提示符下使用以下命令修改MySQL密码。将NEW_PASSWORD占位符替换为您要设置的实际密码。

installdir\mysql\bin\mysqladmin.exe -p -u root password NEW_PASSWORD

如何在Windows中重置MySQL Root密码?

如果您不记得MySQL root密码,可以按照以下步骤将其重置为新值:

  • 使用图形管理器工具停止MySQL服务器。请参阅如何启动或停止服务部分。
  • 检查MySQL版本:

    installdir \ mysql \ bin \ mysqladmin.exe -version

  • 根据您的MySQL版本创建一个名为mysql-init.txt的文件,其内容如下所示(将NEW_PASSWORD替换为您要使用的密码):
    • MySQL 5.6.x或更早版本:

       UPDATE mysql.user SET Password=PASSWORD('NEW_PASSWORD') 
       WHERE User='root';
       FLUSH PRIVILEGES;
      
    • MySQL 5.7.x或更高版本:

       ALTER USER 'root'@'localhost' IDENTIFIED BY 'NEW_PASSWORD'; 
      
  • 使用以下命令启动MySQL服务器。请记住将PATH替换为保存mysql-init.txt文件的位置:

     installdir " installdir\mysql\bin\mysqld.exe" --defaults-file=" installdir\mysql\my.ini" --init-file="\PATH\mysql-init.txt" --console
    
    • --init文件选项用于执行的内容所使用的服务器的mysql-init.txt在启动文件,它会改变每一帐户密码。
    • --defaults文件选项指定既然你已经使用Bitnami安装程序安装了MySQL。
    • --console选项(选装),以显示在控制台窗口,而不是在日志文件服务器输出被添加。
  • 几分钟后,按Ctrl-C强制关机。
  • 从图形管理器工具重新启动MySQL服务器。
  • 服务器成功重启后,删除mysql-init.txt文件。

如何访问PhpMyAdmin?

Windows,Linux,Mac OS X.

您应该可以通过浏览到http://127.0.0.1/phpmyadmin直接访问phpMyAdmin 。

用户名是phpMyAdmin的root,密码是您在安装过程中指定的密码。

Mac OS X-VM

要使用Mac OS X-VM访问phpMyAdmin,您需要创建SSH隧道,如下所述:

  • 在图形管理器工具上,选择“网络”选项卡。
  • 单击“启用”。这会自动创建转发到端口8080的SSH隧道。

     

    您应该可以通过浏览到http://127.0.0.1:8080/phpmyadmin直接访问phpMyAdmin 。

    输入以下凭据以访问phpMyAdmin:

    • 用户名:root
    • 密码:bitnami1

 

如何修改Apache的PHP设置?

PHP配置文件允许您配置启用的模块,电子邮件设置或上载文件的大小。它位于installdir / php / etc / php.ini

例如,要修改PHP的默认上载限制,请按照这些说明更新PHP配置文件

修改PHP配置文件后,重新启动Apache和PHP-FPM以使更改生效:

注意:如果以root身份安装堆栈,则仅使用sudo。在运行以下命令之前,请记住加载Bitnami堆栈环境(说明)

sudo installdir/ctlscript.sh restart apache
sudo installdir/ctlscript.sh restart php-fpm

 

如何在Apache中修改上传文件的允许限制?

修改installdir / php / etc / php.ini文件中的以下选项以增加上传的允许大小:

; Maximum size of POST data that PHP will accept.
post_max_size = 16M

; Maximum allowed size for uploaded files.
upload_max_filesize = 16M

重新启动PHP-FPM和Apache以使更改生效。

注意:如果以root身份安装堆栈,则仅使用sudo。在运行以下命令之前,请记住加载Bitnami堆栈环境(说明)

sudo installdir/ctlscript.sh restart apache
sudo installdir/ctlscript.sh restart php-fpm    

如何配置Fail2ban以使用Redmine?

如果要限制登录尝试次数(并避免暴力攻击),请安装fail2ban并将其配置为使用Bitnami Redmine Stack。

  • 安装fail2ban:

    • Debian的:

      注意:如果以root身份安装堆栈,则仅使用sudo。在运行以下命令之前,请记住加载Bitnami堆栈环境(说明)

      sudo apt-get update
      sudo apt-get install fail2ban
      
    • CentOS的:

      注意:如果以root身份安装堆栈,则仅使用sudo。在运行以下命令之前,请记住加载Bitnami堆栈环境(说明)

      sudo yum install epel-release
      sudo yum install fail2ban
      sudo systemctl enable fail2ban
      sudo systemctl start fail2ban
      
  • 修改installdir / apps / redmine / htdocs / config / environment.rb文件以允许Redmine记录器将时间戳添加到production.log文件。为此,请添加以下行:

    class Logger
      def format_message(severity, timestamp, progname, msg)
        "#{timestamp} (#{$$}) #{msg}\n"
      end
    end
    
  • 重新启动Apache服务器。

    注意:如果以root身份安装堆栈,则仅使用sudo。在运行以下命令之前,请记住加载Bitnami堆栈环境(说明)

    sudo installdir/ctlscript.sh restart apache
    

接下来,按照以下步骤配置fail2ban:

  • 使用以下代码创建/etc/fail2ban/filter.d/redmine.conf文件:

    [Definition]
    
    failregex = Failed [-/\w]+ for .* from <HOST>
    ignoreregex =
    
  • 创建/etc/fail2ban/jail.local文件并添加以下代码:

    [redmine]
    enabled = true
    filter = redmine
    port = http,https
    logpath = installdir/apps/redmine/htdocs/log/production.log
    maxretry = 5
    findtime = 600
    bantime = 600
    

    此fail2ban配置将禁止尝试在10分钟(查找时间)内访问五个(maxretry)不同时间的任何用户的IP,但不会成功。请注意,禁令仅影响端口80和443,具有禁用IP的用户将无法在10分钟内联系Web服务器(bantime)。

  • 在应用配置之前,请测试正则表达式配置是否正确。要对此进行测试,请浏览到您的Bitnami Redmine登录页面并使用不存在的用户/密码来获取登录错误。然后,运行以下命令:

    fail2ban-regex installdir/apps/redmine/htdocs/log/production.log /etc/fail2ban/filter.d/redmine.conf 
    

    如果输出的最后两行显示至少“1匹配”,则正确配置正则表达式:

    Lines: 412 lines, 0 ignored, 1 matched, 397 missed
    Missed line(s):: too many to print.  Use --print-all-missed to print all 397 lines
    
  • 使用此命令应用配置

    • Debian的:

      $ sudo /etc/init.d/fail2ban restart

    • CentOS的:

      $ sudo systemctl restart fail2ban

要检查一切是否正常,请尝试使用错误的凭据登录五次。在第五次尝试不成功时,您将被禁止10分钟。

如何将传入的电子邮件转换为Redmine中的问题?

Redmine可以配置为自动处理传入的电子邮件并将其转换为问题。为此,需要将Redmine配置为定期连接到IMAP或POP3帐户,检查传入消息并将包含Redmine关键字的消息转换为问题。

为此,请创建一个计划任务,并在crontab文件中使用以下命令获取POP3帐户,并记住使用您的邮件提供商的正确信息替换HOST,PORT,USERNAME和PASSWORD:

注意:如果以root身份安装堆栈,则仅使用sudo。在运行以下命令之前,请记住加载Bitnami堆栈环境(说明)

*/30 * * * * sudo bundle exec rake -f installdir/apps/redmine/htdocs/Rakefile redmine:email:receive_pop3 RAILS_ENV="production" host=HOST port=PORT ssl=1 username=USERNAME password=PASSWORD allow_override=project,tracker,priority

在crontab文件中使用以下命令获取IMAP帐户,记住使用正确的邮件提供者信息替换HOST,PORT,USERNAME和PASSWORD:

注意:如果以root身份安装堆栈,则仅使用sudo。在运行以下命令之前,请记住加载Bitnami堆栈环境(说明)

*/30 * * * * sudo bundle exec rake -f installdir/apps/redmine/htdocs/Rakefile redmine:email:receive_imap RAILS_ENV="production" host=HOST port=PORT ssl=1 username=USERNAME password=PASSWORD allow_override=project,tracker,priority
注意:如果您的邮件提供商不支持SSL,请从先前的命令中删除ssl选项。

以上命令将每30分钟处理一次收到的电子邮件。

要允许未在Redmine中注册的用户通过电子邮件创建问题,请更新上面的命令以添加unknown_userno_permission_check选项。例如:

注意:如果以root身份安装堆栈,则仅使用sudo。在运行以下命令之前,请记住加载Bitnami堆栈环境(说明)

*/30 * * * * sudo bundle exec rake -f installdir/apps/redmine/htdocs/Rakefile redmine:email:receive_pop3 RAILS_ENV="production" host=HOST port=PORT ssl=1 username=USERNAME password=PASSWORD allow_override=project,tracker,priority unknown_user=accept no_permission_check=1

要自动为特定项目和优先级注册新问题,请删除allow_override选项,而是指定项目优先级选项。例如:

注意:如果以root身份安装堆栈,则仅使用sudo。在运行以下命令之前,请记住加载Bitnami堆栈环境(说明)

*/30 * * * * sudo bundle exec rake -f installdir/apps/redmine/htdocs/Rakefile redmine:email:receive_pop3 RAILS_ENV="production" host=HOST port=PORT ssl=1 username=USERNAME password=PASSWORD project=myproject priority=immediate

有关可用选项的更多信息,请参阅Redmine文档

如何在Redmine中配置计划任务?

要在Redmine中自动执行某些任务,必须设置计划任务/计算机作业。

按着这些次序:

  • 运行以下命令以编辑crontab文件:

    注意:如果以root身份安装堆栈,则仅使用sudo。在运行以下命令之前,请记住加载Bitnami堆栈环境(说明)

    sudo crontab -e
    
  • 将以下行添加到该文件中。这将配置每天00:30执行的作业。您可以根据需要修改时间,并且必须将COMMAND占位符替换为要执行的命令。

     0 30 * * * COMMAND
    
  • 保存文件。

如何配置Redmine发送提醒电子邮件?

要让Redmine自动发送提醒电子邮件,请按照上一节中的说明创建计划任务。在crontab文件中使用以下命令:

注意:如果以root身份安装堆栈,则仅使用sudo。在运行以下命令之前,请记住加载Bitnami堆栈环境(说明)

0 30 * * * sudo installdir/ruby/bin/rake -f installdir/apps/redmine/htdocs/Rakefile redmine:send_reminders days=7 RAILS_ENV="production"

如何改变Redmine时区?

  • 通过执行以下命令检查所有可用的时区:

    cd installdir/apps/redmine/htdocs/ 
    bundle exec rake time:zones:all
    
  • 确定正确的文件后,编辑文件installdir / apps / redmine / htdocs / config / application.rb并替换该行

     config.active_record.default_timezone = :local
    

     config.active_record.default_timezone = 'your_timezone'
    

    请注意,时区值附近的单引号是必要的。

  • 重启服务。

    注意:如果以root身份安装堆栈,则仅使用sudo。在运行以下命令之前,请记住加载Bitnami堆栈环境(说明)

    sudo installdir/ctlscript.sh restart apache 
    

如何在Windows上为Redmine启用SSL证书的HTTPS支持?

除了本节中描述步骤之外,在Windows上使用本机安装程序时,将RequestHeader选项添加到installdir / apps / redmine / conf / httpd-prefix.conf文件中:

    <Proxy balancer://redminecluster
      RequestHeader set X_FORWARDED_PROTO 'https'
      BalancerMember http://127.0.0.1:3001/redmine
      BalancerMember http://127.0.0.1:3002/redmine
    </Proxy>

重新启动Apache服务器以使更改生效:

注意:如果以root身份安装堆栈,则仅使用sudo。在运行以下命令之前,请记住加载Bitnami堆栈环境(说明)

sudo installdir/ctlscript.sh restart apache

如何查找数据库凭据?

  • Windows,Linux,Mac OS X:

    • 数据库用户名:root
    • 数据库密码:安装过程中输入的密码。
  • Mac OS X-VM:

    • 数据库用户名:root
    • 数据库密码:bitnami1

如何修改最大附件大小?

  • 要更改最大附件大小和允许的文件扩展名,请导航到“管理 - >设置 - >文件”菜单选项:

 

如何直接从Redmine应用程序或Web浏览器中查看Git存储库?

Redmine允许用户检查存储库更改并链接到案例。请按照以下步骤操作:

  • 克隆远程Git存储库,或初始化新存储库。将REPO_URL占位符替换为正确的存储库URL,并使用正确的克隆存储库目录名替换REPO占位符。

    注意:如果以root身份安装堆栈,则仅使用sudo。在运行以下命令之前,请记住加载Bitnami堆栈环境(说明)

    cd $HOME
    mkdir repos
    cd repos
    sudo git clone REPO_URL --bare
    
注意:无论您是克隆现有存储库还是初始化新存储库,都应包括--bare选项。
  • 创建一个新的Redmine项目。

  • 从项目仪表板中,选择“设置 - >存储库”选项卡,然后使用以下设置添加新存储库。将ID占位符替换为存储库的短标识符,带有用户名的USER占位符,以及具有克隆存储库的正确目录名称的REPO占位符。

     SCM: Git
     Identifier: ID
     Path to repository: /home/USER/repos/REPO
    

 

如何配置Redmine与Git进行高级集成?

此Redmine配置使在Redmine应用程序中创建的用户也可以使用Git存储库。例如,Redmine应用程序中的新用户也可以“推送”对Git项目存储库的更改。本指南基于Redmine Wiki上发布的Felix Schafer指南

在开始本指南之前,如果您只想跟踪Redmine应用程序中的存储库更改,请考虑这些步骤是不必要的。如果您只希望跟踪存储库更改并链接到问题,则只需将项目配置为指向存储库。为此,请转到项目仪表板,选择“设置 - >存储库”选项卡,然后通过指定其URL和SCM添加新存储库。

  • 创建一个Git存储库。本指南将在用户主目录的projects /目录下创建一个名为test的存储库。此目录应具有安装堆栈的用户帐户的写权限。请注意存储库的名称,因为您需要在稍后的步骤中使用与Redmine项目的标识符相同的名称。

    注意:如果以root身份安装堆栈,则仅使用sudo。在运行以下命令之前,请记住加载Bitnami堆栈环境(说明)

    cd $HOME
    mkdir projects
    mkdir projects/test
    cd projects/test
    sudo git init --bare
    
  • 从GitHub下载Grack项目:

    注意:如果以root身份安装堆栈,则仅使用sudo。在运行以下命令之前,请记住加载Bitnami堆栈环境(说明)

    cd installdir/apache2/htdocs/
    git clone http://github.com/schacon/grack.git
    sudo chown USERNAME:USERNAME grack
    
  • 编辑grack / config.ru文件以指定您的Git项目位置:

     $LOAD_PATH.unshift File.expand_path(File.dirname(__FILE__) + '/lib')
     use Rack::ShowExceptions
     require 'git_http'
     config = {
       :project_root => "installdir/projects/",
       :adapter => Grack::GitAdapter,
       :git_path => 'installdir/git/bin/git',
       :upload_pack => true,
       :receive_pack => true,
     }
     run GitHttp::App.new(config)
    
  • 测试基本行为:启动Grack服务器并尝试克隆存储库并从其他计算机推送更改。

    cd installdir/apache2/htdocs/grack
    rackup --host 0.0.0.0 -p 8080 config.ru &
    

    如果一切顺利,您应该看到瘦Web服务器正在运行并侦听连接的消息,如下所示:

     >> Thin web server (v1.5.1 codename Straight Razor)
     >> Maximum connections set to 1024
     >> Listening on 0.0.0.0:8080, CTRL+C to stop
    
重要信息:还要确保防火墙中的端口8080已打开,否则下一步将失败。
  • 接下来,克隆存储库,添加您的名称和电子邮件地址,并从其他计算机推送更改。请记住将下面的localhost占位符替换为Redmine服务器的实际IP地址,并将EMAIL_ADDRESS和NAME占位符替换为您的电子邮件地址和真实姓名。

    cd /tmp/
    git clone http://localhost:8080/test
    cd test
    git config user.email "EMAIL_ADDRESS"
    git config user.name "NAME"
    echo "test" > test_file
    git add test_file
    git commit -m "test" test_file
    git push origin master
    

如果一切顺利,你会看到这样的事情:

    Counting objects: 3, done.
    Writing objects: 100% (3/3), 200 bytes, done.
    Total 3 (delta 0), reused 0 (delta 0)
    To http://localhost:8080/test
    * [new branch]      master -> master
  • 停止Grack服务器并配置Apache以使用Passenger。首先,在grack /文件夹中创建两个目录并安装必要的依赖项:

    mkdir installdir/apache2/htdocs/grack/public
    mkdir installdir/apache2/htdocs/grack/tmp
    cd installdir/apache2/htdocs/grack/
    bundle install
    
  • 编辑installdir / apache2 / conf / bitnami / bitnami.conf文件,并将代码添加到文件末尾,将YOUR_DOMAIN_NAME替换为您自己的域名或服务器的域名:

     <VirtualHost *:80>
         ServerName git.YOUR_DOMAIN_NAME
         PassengerEnabled on
         PassengerAppRoot "installdir/apache2/htdocs/grack/"   
         DocumentRoot "installdir/apache2/htdocs/grack/public"
         <Directory "installdir/apache2/htdocs/grack/public">
             Options None
             AllowOverride None
             <IfVersion < 2.3 >
             Order allow,deny
             Allow from all
             </IfVersion>
             <IfVersion >= 2.3>
             Require all granted
             </IfVersion>   
         </Directory> 
     </VirtualHost>
    
  • 重启Apache服务器如下:

    注意:如果以root身份安装堆栈,则仅使用sudo。在运行以下命令之前,请记住加载Bitnami堆栈环境(说明)

    sudo installdir/ctlscript.sh restart apache
    
  • 接下来,再次克隆存储库,添加您的名称和电子邮件地址,并从其他计算机推送更改。请务必使用您自己的域名或服务器的域名替换下面的YOUR_DOMAIN_NAME占位符,并使用您的电子邮件地址和真实姓名替换EMAIL_ADDRESS和NAME占位符。

    cd /tmp/
    rm -rf test/
    git clone http://git.YOUR_DOMAIN_NAME/test
    cd test
    git config user.email "EMAIL_ADDRESS"
    git config user.name "NAME"
    echo "test 2" > test_file_2
    git add test_file_2
    git commit -m "test 2" test_file_2
    git push origin master
    

如果一切顺利,你会看到这样的事情:

    Counting objects: 3, done.
    Compressing objects: 100% (2/2), done.
    Writing objects: 100% (2/2), 234 bytes | 0 bytes/s, done.
    Total 2 (delta 0), reused 0 (delta 0)
    To http://git.YOUR_DOMAIN_NAME/test
       328f124..68d1bb4  master -> master
  • 下一步是使用Redmine.pm模块配置Git访问控制。首先将Redmine.pm文件复制到相应的Perl文件夹:

    注意:如果以root身份安装堆栈,则仅使用sudo。在运行以下命令之前,请记住加载Bitnami堆栈环境(说明)

    sudo cp installdir/apps/redmine/htdocs/extra/svn/Redmine.pm installdir/perl/lib/site_perl/5.16.3/x86_64-linux-thread-multi/Apache/
    sudo cp installdir/apps/redmine/htdocs/extra/svn/Redmine.pm installdir/perl/lib/site_perl/5.16.3/x86_64-linux-thread-multi/Apache2/
    
  • 通过添加以下行在installdir / apache2 / conf / httpd.conf中启用该模块:

     LoadModule perl_module modules/mod_perl.so
    

您还需要将以下行添加到installdir / apache2 / bin / envvars文件中。请注意,下面显示的库路径(installdir / perl / lib / 5.16.3 / x86_64-linux-thread-multi / CORE /)因平台而异,因此最好验证它是否存在或根据需要进行修改。

    LD_LIBRARY_PATH="installdir/perl/lib/5.16.3/x86_64-linux-thread-multi/CORE/:$LD_LIBRARY_PATH"
    export LD_LIBRARY_PATH
  • 最后,在installdir / apache2 / conf / bitnami / bitnami.conf文件中更新以前创建的VirtualHost,如下所示。REDMINE_DB_USERNAME和REDMINE_DB_PASSWORD凭证可以从installdir / apps / redmine / htdocs / config / database.yml文件中获取,来自生产数据库的用户名和密码字段:

     <VirtualHost *:80>
          ServerName git.YOUR_DOMAIN_NAME
          PassengerEnabled on
          PassengerAppRoot "installdir/apache2/htdocs/grack/"  
          DocumentRoot "installdir/apache2/htdocs/grack/public"
          <Directory "installdir/apache2/htdocs/grack/public">
             Options None
             AllowOverride None
             <IfVersion < 2.3 >
             Order allow,deny
             Allow from all
             </IfVersion>
             <IfVersion >= 2.3>
             Require all granted
             </IfVersion>       
          </Directory>
            
          PerlLoadModule Apache::Redmine
            
          <Location "/">
            AuthType Basic
            AuthName "Redmine git repositories"
            Require valid-user
              
            PerlAccessHandler Apache::Authn::Redmine::access_handler
            PerlAuthenHandler Apache::Authn::Redmine::authen_handler
            RedmineDSN "DBI:mysql:database=bitnami_redmine;host=localhost;mysql_socket=installdir/mysql/tmp/mysql.sock"
            RedmineDbUser "REDMINE_DB_USERNAME"
            RedmineDbPass "REDMINE_DB_PASSWORD"
            RedmineGitSmartHttp yes
          </Location>
     </VirtualHost>
    
  • 进行此更改后,重新启动Apache服务器,如下所示:

    注意:如果以root身份安装堆栈,则仅使用sudo。在运行以下命令之前,请记住加载Bitnami堆栈环境(说明)

    sudo installdir/ctlscript.sh restart apache
    
  • 登录Redmine并创建一个新项目。请务必注意,此阶段配置的项目标识符必须与先前创建的存储库名称匹配。在此示例中,项目标识符是test。还要确保将项目配置为私有。

 

请注意,由于Redmine错误,必须将项目配置为私有才能使此配置正常工作。单击“创建”以保存更改并创建项目。

  • 从Redmine中的项目仪表板中,单击“设置 - >存储库”选项卡,然后单击“新建存储库”链接。选择“SCM”作为“Git”并指定存储库的路径。在此示例中,路径将是installdir / projects / test。单击“创建”以保存更改。

 

  • 从Redmine中的项目仪表板中,单击“设置 - >成员”选项卡,然后将一个或多个用户添加到角色为“Developer”的项目中。保存更改。

 

添加到存储库的用户现在应该能够使用他们的Redmine应用程序密码在测试存储库中进行开发。要对此进行测试,请尝试克隆并将更改作为指定用户之一推送到存储库。如果您成功,您还可以在Redmine项目的存储库视图中看到更改,如下所示:

 

如何在Redmine中使用Mercurial?

Redmine仅适用于克隆在本地计算机中的Mercurial存储库,如官方指南中所述

  • 安装Mercurial包:

    • Debian的:

      注意:如果以root身份安装堆栈,则仅使用sudo。在运行以下命令之前,请记住加载Bitnami堆栈环境(说明)

      sudo apt-get install mercurial
      
    • CentOS的:

      注意:如果以root身份安装堆栈,则仅使用sudo。在运行以下命令之前,请记住加载Bitnami堆栈环境(说明)

      sudo yum install mercurial
      
  • 重启服务:

    注意:如果以root身份安装堆栈,则仅使用sudo。在运行以下命令之前,请记住加载Bitnami堆栈环境(说明)

    sudo installdir/ctlscript.sh restart
    
  • 创建存储库目录,克隆它并为其提供适当的权限:

    注意:如果以root身份安装堆栈,则仅使用sudo。在运行以下命令之前,请记住加载Bitnami堆栈环境(说明)

    cd $HOME
    mkdir mercurialRepo
    cd mercurialRepo
    sudo hg clone REPO_URL
    
  • 通过在项目中导航到“设置 - >存储库