Настройте сервер SVN и Trac в Ubuntu

Я хотел бы настроить мою Ubuntu Machine в качестве локального веб-сервера для обработки нескольких проектов.

Я немного озадачен структурой URL/ папок моей системы.

Я хочу получить что-то вроде следующего.

http://localserver/svn/ - будет управлять svn.

http://localserver/trac/ - будет управлять всей системой Trac.

Как я могу настроить их для нескольких проектов.

http://localserver/svn/project1 - это возможно с одного сервера svn / trac или http://localserver/trac/project1/?????

и так далее... или любой другой простой способ объединить эти функции для обработки нескольких проектов.??

Заранее спасибо!!

2 ответа

В настоящее время я использую несколько сред trac с различными версиями trac, в том числе multirepos branch. Очевидно, что у 0.11 tracs есть одно репозиторий SVN, в то время как к нескольким моим многопозиционным envs прикреплено>1 репо.

SVN обслуживается через apache mod_dav_svn (не svnserve), и я использую apache authnz_ldap для аутентификации во всем.

https: // сервер / проект / имя - мое дерево проекта trac https: // сервер / svn / имя - мое дерево репозитория svn

Конфигурация аутентификации очень похожа для обоих:

апач-trac.conf:

<LocationMatch /project[^/]*>
        AuthType        Basic
        AuthName        "Security"

        <IfModule authnz_ldap_module>
                AuthBasicProvider ldap
                AuthLDAPURL     ldap://server:389/ou=Users,ou=OxObjects,dc=server,dc=domain.net?uid
                AuthLDAPGroupAttribute memberUid
                AuthLDAPGroupAttributeIsDN off
        </IfModule>
</LocationMatch>

# For accessing project list

<Location /project>
       Deny from all
       Allow from 127.0.0.1 192.168.1. 10.24.0.

       Require ldap-group      cn=group, ou=Groups,ou=OxObjects,dc=server,dc=domain.net
</Location>

# Individual project access

<Location /project/foo1>
        Allow from 10.24.0. 192.168.1. 127.0.0.1 somerandomhost.com

        Require ldap-group      cn=visitor, ou=Groups,ou=OxObjects,dc=server,dc=domain.net
        Require user    "andy"
        Require user    "richard"
        Require user    "sam"
        Require user    "bar"
</Location>

апач-svn.conf:

<IfDefine DAV>
<IfDefine SVN>
    <IfModule !mod_dav_svn.c>
            LoadModule dav_svn_module       modules/mod_dav_svn.so
    </IfModule>

    <LocationMatch /svn[^/]*>
            AuthType        Basic
            AuthName        "Security"

            <IfModule authnz_ldap_module>
                    AuthBasicProvider ldap
                    AuthLDAPURL     ldap://server:389/ou=Users,ou=OxObjects,dc=server,dc=domain.net?uid
                    AuthLDAPGroupAttribute memberUid
                    AuthLDAPGroupAttributeIsDN off
            </IfModule>
    </LocationMatch>

    <Location /svn>
            DAV svn
            SVNParentPath /secure/svn
            require         user "sam"
            require         user "richard"

            Order deny,allow
            Deny from all
            Allow from 192.168.1. 10.24.0. 127.0.0.1

            Require ldap-group      cn=group, ou=Groups,ou=OxObjects,dc=server,dc=domain.net

            Satisfy All
    </Location>

    <IfDefine SVN_AUTHZ>
            <IfModule !mod_authz_svn.c>
                    LoadModule authz_svn_module     modules/mod_authz_svn.so
            </IfModule>
    </IfDefine>
</IfDefine>
</IfDefine>

эта конфигурация, вероятно, может быть объединена с помощью регулярных выражений, не дошедших до нее.

Зависит от вашего требования, вы планируете иметь несколько репозиториев SVN или только 1 репозиторий SVN для всех ваших проектов?

Вы также можете воспользоваться Redmine, который является клоном Trac, разработанным с помощью Ruby on Rails. На данный момент Redmine имеет более активное развитие, чем Trac, и имеет больше возможностей. Redmine также поддерживает несколько проектов.

Я знаю, что это не ответ на ваш вопрос; но, надеюсь, информация поможет вам сузить ваши требования, что облегчит выработку окончательных решений. В любом случае, ответ на ваш вопрос на самом деле заключается в конфигурации Apache в качестве привратника для вашей SVN и trac / Redmine.

Другие вопросы по тегам