Назад | Перейти на главную страницу

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

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

Меня немного смущает структура URL / папок в моей вышеупомянутой системе.

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

http: // локальный сервер / svn / - будет управлять svn.

http: // локальный сервер / trac / - управлять всей системой Trac.

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

http: // локальный сервер / svn / project1 - возможно ли это из одной установки svn server / trac или http: // локальный сервер / trac / project1 / ?????

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

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

В настоящее время я запускаю несколько сред trac с различными версиями trac, включая ветвь multirepos. Треки 0.11, очевидно, имеют одно репозиторий svn, в то время как несколько моих env с несколькими репозиториями имеют> 1 прикрепленное репо.

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

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

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

apache-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>

apache-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.