Differences between revisions 8 and 9
Revision 8 as of 2015-05-16 19:23:10
Size: 7083
Comment:
Revision 9 as of 2015-05-16 19:23:25
Size: 7092
Comment:
Deletions are marked like this. Additions are marked like this.
Line 33: Line 33:
=== Differences wrt upstream === === Differences from upstream redmine ===

Redmine

Jessie

Quick installation howto

1. Install your database, e.g. postgresql (or don't, if you want to use sqlite)

apt install postgresql # or mysql-server

2. Install redmine with support for your database of choice

apt install redmine redmine-pgsql # or redmine-mysql, or redmine-sqlite

Database configuration can be fully automated, courtesy of dbconfig-common.

3. Configure web server

apt install libapache2-mod-passenger
cp /usr/share/doc/redmine/examples/apache2-passenger-host.conf /etc/apache2/sites-available/redmine.conf
edit /etc/apache2/sites-available/redmine.conf
a2ensite redmine.conf
service apache2 reload

Using passenger (libapache2-mod-passenger) is usually the easiest way. For using in a domain shared with other applications, base your config on /usr/share/doc/redmine/examples/apache2-passenger-alias.conf instead.

Differences from upstream redmine

The Debian redmine package contains a few patches to support running multiple redmine instances using a single codebase. You manage your instances by using dpkg-reconfigure redmine. This multi-instance support makes some things appear in places that are different from when you are using the upstream redmine:

  • The application logs are located under /var/log/redmine/${instance}/ (instead of /path/to/redmine/log)

  • The database configuration is located at /etc/redmine/${instance}/database.yml (instead of /path/to/redmine/config/database.yml)

  • File attachments are located under /var/lib/redmine/${instance}/files

Wheezy: install Redmine with git and svn support over https on Debian wheezy using the Debian repository

This a short (incomplete) howto for those who want to stay within the debian repository. IMPORTANT: The Debian package is v1.4.4. That version is out of support and has multiple security issues. See https://security-tracker.debian.org/tracker/source-package/redmine

* Basic install using postgresql backend _See references for configuration_ Redmine version 1.4.4 is present the debian repository.

aptitude install postgresql redmine redmine-pgsql redmine-plugin-botsfilter

* make sure all the necesarry modules for apache are loaded _See references for configuration_ eg.

aptitude install libdbd-pg-perl

to use passenger for http version control

aptitude install libapache2-mod-passenger

* set up the vhosts _See references for configuration_

** svn, apache enabled site in /etc/apache2/sites-enabled dir a site containing

<VirtualHost *:443>
        ServerAdmin email@of.you
        DocumentRoot /var/www/redmine
        ServerName your.dns.org

        SSLEngine On

        SSLCertificateFile    /etc/apache2/ssl/yourcert.pem
        SSLCertificateKeyFile /etc/apache2/ssl/yourcert.key
        SSLCertificateChainFile /etc/apache2/ssl/yourcert.certificate_chain # optional, can be self signed

        <Directory /var/www/redmine>
                RailsBaseURI /
                PassengerResolveSymlinksInDocumentRoot on
                # http://httpd.apache.org/docs/current/misc/perf-tuning.html
                AllowOverride None
        </Directory>

        ErrorLog /var/log/apache2/error.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        CustomLog /var/log/apache2/access.log combined
</VirtualHost>

** in conf.d dir eg svn.conf

# /svn location for users
PerlLoadModule Apache::Redmine
<Location /svn>
    DAV svn
    SVNParentPath "/var/svn" 
    Order deny,allow
    Deny from all
    Satisfy any

    PerlAccessHandler Apache::Authn::Redmine::access_handler
    PerlAuthenHandler Apache::Authn::Redmine::authen_handler
    AuthType Basic
    AuthName "Projectwerk Subversion Repository" 

    #read-only access    
    <Limit GET PROPFIND OPTIONS REPORT>
        Require valid-user
        # Allow from [my server ip]
        Allow from putyourserver.ipadress
        Allow from 127.0.0.1
        # Allow from another-ip
        Satisfy any
    </Limit>
    # write access
    <LimitExcept GET PROPFIND OPTIONS REPORT>
        Require valid-user
    </LimitExcept>
    ErrorDocument 404 default

    # postgresqlconnection
    RedmineDSN "DBI:Pg:dbname=redmine_default;host=localhost" 
    RedmineDbUser "redmine" 
    RedmineDbPass "geheim"
</Location>

** git

in conf.d dir a git.conf file

PerlLoadModule Apache::Redmine

SetEnv GIT_PROJECT_ROOT /var/git/
SetEnv GIT_HTTP_EXPORT_ALL
ScriptAlias /git/ /usr/lib/git-core/git-http-backend/

<Location /git>
  AuthType Basic
  Require valid-user
  AuthName "Projectwerk Git Repository"

  PerlAccessHandler Apache::Authn::Redmine::access_handler
  PerlAuthenHandler Apache::Authn::Redmine::authen_handler
 
  # postgresqlconnectie leggen
  RedmineDSN "DBI:Pg:dbname=redmine_default;host=localhost"
  RedmineDbUser "redmine"
  RedmineDbPass "geheim"
</Location>

don't forget to restart apache

* set up cron repository creation _See references for configuration_

** choose either only svn or git (one can only be the master repo) (the version control systems that u want to use have to be installed)

** if you want both u will need to register the second repo (git or svn) by hand on the redmine project site, for that you also need to make you use force.

eg
*/5 * * * * root ruby /usr/share/redmine/extra/svn/reposman.rb --redmine localhost --scm Subversion --svn-dir /var/svn --owner www-data --url file:///var/svn --key=ARAZERAEZRZAER >> /var/log/redmine/reposman.log
*/30 * * * * root ruby /usr/share/redmine/extra/svn/reposman.rb -r localhost --scm Git --svn-dir /var/git --owner www-data --url /var/git --key=ARAZRRAEZRAEZRAEZ --verbose -f >> /var/log/redmine/reposman.log

* svn repo appear after enabling repository module on the site, if u also have the git cron added, then u can add the git repo manually, redmine will complain, but it exists. So checkout the git repo, add a file, commit and push to server, redmine will no longer complain.

* git and public projects:

** readonly

** workaround for read/write access: http.receivepack param should be true for the git project, so go the dir containing the git repo of the project and issue:

git config --file config http.receivepack true
git config -l 

References: http://www.redmine.org/issues/4905 http://www.redmine.org/issues/3958 https://www.kernel.org/pub/software/scm/git/docs/howto/setup-git-server-over-http.html http://www.redmine.org/projects/redmine/wiki/HowTo_Install_Redmine_using_Debian_package http://www.redmine.org/projects/redmine/wiki/HowToInstallRedmineOnUbuntuServer svn: http://www.redmine.org/projects/redmine/wiki/HowTo_Install_Redmine_25x_on_Ubuntu_1404_with_Apache2_Phusion_Passenger_MySQL_and_Subversion


CategorySystemAdministration CategorySystemAdministration