Bitnami Redmine Advanced SVN Integration on CentOS 7

Created: Sept. 7, 2020 |  Modified: Sept. 7, 2020 |  Categories:  Redmine   Source Control   Linux  

Important Notes on the Bitnami Redmine Stack:

The Bitnami Redmine Stack is a very clean and simple way of installing Redmine. It also has the advantage of being well supported and documented. It avoids the hassle of having to install mysql, ruby, rails, subversion, etc individually. However, there are some important things to keep in mind:

Bitnami Redmine Install on CentOS 7

Bitnami Redmine Advanced SVN Integration on CentOS7

Source: https://docs.bitnami.com/installer/apps/redmine/configuration/use-subversion/

LD_LIBRARY_PATH="<install_dir>/perl/lib/5.16.3/x86_64-linux-thread-multi/CORE/:$LD_LIBRARY_PATH"
export LD_LIBRARY_PATH
cp <install_dir>/apps/redmine/htdocs/extra/svn/Redmine.pm <install_dir>/perl/lib/site_perl/5.16.3/*/Apache2/
  PerlLoadModule Apache2::Redmine
  <Location /svn>
    DAV svn
    SVNParentPath "<path_to>/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"
    AuthUserFile /dev/null

    #read-only access
    <Limit GET PROPFIND OPTIONS REPORT>
      Require valid-user
      Allow from localhost
      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=<install_dir>/mysql/tmp/mysql.sock"

    RedmineDbUser "bitnami"
    RedmineDbPass "bitnami_database_password"
    #You can find this value at installdir/apps/redmine/htdocs/config/database.yml
  </Location>
*/2 * * * * <install_dir>/ruby/bin/ruby <install_dir>/apps/redmine/htdocs/extra/svn/reposman.rb --redmine localhost:YOUR_APACHE_PORT/redmine --svn-dir <path_to>/svn --owner root --group daemon --command="<install_dir>/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