The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Устновка SVN под FreeBSD, !*! Aesthete Animus, 27-Мрт-08, 16:46  [смотреть все]
Передо мной встала следующая задача: установить SVN сервер под FreeBSD. До этого приходилось это делать под виндой - ни каких проблем не возникало. До сих пор с никсами дело имел мало, что уж там говорить о фре.

Собственно, что я делаю (пока ковыряю у себя дома из-под вмвари, дабы не превратить работающий сервер в неработающий).

Скомпилил и установил /usr/ports/devel/subversion. С какими опциями компилить - представлял слабо, поэтому в открывшемся "окошке" отметил галочками все.

Далее, дописал в файлик /etc/rc.conf такие строчки:
svnserve_enable="YES"
svnserve_flags="--daemon --listen-port=3690"
svnserve_data="/home/svn/repos"
svnserve_user="svn"
svnserve_group="svn"

Создал группу svn:
$ pw add group svn
И юзверя в ней:
$ pw add user svn -g svn -s /sbin/nologin
Это строка взята из одного фака по данному вопросу и мне, честно говоря, до конца неясно, зачем в качестве шела устанавливать /sbin/nologin,

После этого создал репозитарий в /home/svn/repos/debug, а также сделал несколько действий по настройке учетных записей. Подобное я уже делал в винде, поэтому, вопросов не возникло.

Далее, установил права владения для юзверя svn
$ chown -R svn:svn /home/svn

После этого ребучу комп (т.к. не знаю, как перечитать конфиги без ребута, если знаете - подскажите). Убедился, что svnserve запущен (командой ps auxww). Но что-либо импортировать в репозитарий не получается (в качестве клиента использую TortoiseSVN). Стабильно имею ошибку "Can't connect to host '10.10.135.74': Подключение не установлено, т.к. конечный компьютер отверг запрос на подключение".

  • Устновка SVN под FreeBSD, !*! Антон, 17:28 , 27-Мрт-08 (1)
    Какие адреса svnserve слушает?
    sockstat/netstat -anL
    есть файрвол или нет и разрешен ли в нем порт 3690?
    • Устновка SVN под FreeBSD, !*! Aesthete Animus, 19:38 , 27-Мрт-08 (2)
      >Какие адреса svnserve слушает?
      >sockstat/netstat -anL
      >есть файрвол или нет и разрешен ли в нем порт 3690?

      Мда... Не хотелось мне этого говорить, ну что ж, придется... Я полный чайник во FreeBSD, а в линухе работал толкьо на уровне юзера!..

      >Какие адреса svnserve слушает?

      Вы имеете ввиду, с каких ip запросы воспринимются svnserve? Нигде особо это не указывалось...
      >есть файрвол или нет и разрешен ли в нем порт 3690?

      Черт его знает. Специально я его не устанавливал... В rc.conf добавил строчку "firewall_enable="NO"", если это вообще имеет смысл.

      • Устновка SVN под FreeBSD, !*! Антон, 19:49 , 27-Мрт-08 (3)
        netstat -anL
        sockstat |grep 3690
        ipfw list

        скинь выводы сюда

        • Устновка SVN под FreeBSD, !*! Aesthete Animus, 01:06 , 28-Мрт-08 (4)
          >скинь выводы сюда
          >netstat -anL

          Current listen queue sizes (qlen/incqlen/maxqlen)
          Proto Listen         Local Address        
          tcp4  0/0/10         127.0.0.1.25          
          tcp6  0/0/7          *.3690

          >sockstat |grep 3690

          svn      svnserve   598   3  tcp6   *:3690                *:*

          >ipfw list

          ipfw: getsockopt(IP_FW_GET): Protocol not available


          • Устновка SVN под FreeBSD, !*! alexpn, 11:58 , 31-Мрт-08 (5)
            похоже что у него pf или ipfilter

          • Устновка SVN под FreeBSD, !*! BulgakowI, 12:41 , 14-Апр-08 (10)
            >С какими опциями компилить - представлял слабо, поэтому в открывшемся "окошке" отметил галочками все.

            Зря, обычно состояние по умолчанию как раз самодостаточно.


            >tcp6  0/0/7         *.3690
            >

            у тебя IP6 сеть?
            Скорее всего нет. Соответственно должно быть  
            tcp4  0/0/7          *.3690


            как вариант
            cd /usr/ports/devel/subversion
            make deinstall
            удалить файлик /var/db/ports/subversion/options
            и поставить с опциями по умолчанию


            • Устновка SVN под FreeBSD, !*! anononon, 15:20 , 14-Окт-13 (16)
              >[оверквотинг удален]
              >>
              > у тебя IP6 сеть?
              > Скорее всего нет. Соответственно должно быть
              > tcp4  0/0/7          
              > *.3690
              > как вариант
              > cd /usr/ports/devel/subversion
              > make deinstall
              > удалить файлик /var/db/ports/subversion/options
              > и поставить с опциями по умолчанию

              зачем удалять руками файлик с шансом ошибиться если можно
              make rmconfig

    • Устновка SVN под FreeBSD, !*! Aesthete Animus, 02:44 , 14-Апр-08 (7)
      >Какие адреса svnserve слушает?
      >sockstat/netstat -anL
      >есть файрвол или нет и разрешен ли в нем порт 3690?

      Добавил в inetd.conf строчку (взята с минимальными изменениями из оф. книжки по svn)

      > svn stream tcp nowait root /usr/bin/svnserve svnserve -i

      И запустил inetd.

      После этого на попытку коммита из виндузячего компа имею ошибку "Connection close unexpectly". Тоесть соединение устанавливается, но почему-то обрывается.

      Подскажите, что я делаю неправильно? Может во фре нужны какие-то дополнительные манипуляции с конфигами только для того, разрешить прослушивание нужных портов определенными сервисами? В общем я совершенно в тупике,

      • Устновка SVN под FreeBSD, !*! PavelR, 05:40 , 14-Апр-08 (8)
        >[оверквотинг удален]
        >> svn stream tcp nowait root /usr/bin/svnserve svnserve -i
        >
        >И запустил inetd.
        >
        >После этого на попытку коммита из виндузячего компа имею ошибку "Connection close
        >unexpectly". Тоесть соединение устанавливается, но почему-то обрывается.
        >
        >Подскажите, что я делаю неправильно? Может во фре нужны какие-то дополнительные манипуляции
        >с конфигами только для того, разрешить прослушивание нужных портов определенными сервисами?
        >В общем я совершенно в тупике,

        Уточните пожалуйста, каким образом клиент подключается к репозитарию - ИМХО,существует, не менее 5 методов подключения:

        svn://
        svn+ssh://
        http://
        https://
        file://


        И только двум надо svnserve...
        Хотя, похоже что в Вашем случае надо, но тем не менее...

  • Устновка SVN под FreeBSD, !*! PavelR, 05:50 , 14-Апр-08 (9)
    >[оверквотинг удален]
    >Скомпилил и установил /usr/ports/devel/subversion. С какими опциями компилить - представлял слабо, поэтому
    >в открывшемся "окошке" отметил галочками все.
    >
    >Создал группу svn:
    >$ pw add group svn
    >И юзверя в ней:
    >$ pw add user svn -g svn -s /sbin/nologin
    >Это строка взята из одного фака по данному вопросу и мне, честно
    >говоря, до конца неясно, зачем в качестве шела устанавливать /sbin/nologin,
    >

    Насколько я понимаю, пользователь и группа создаются при установке порта автоматически.
    Устанавливать шелл надо в целях повышения безопасности системы - этому пользователю шелл не будет полезен, а системе может оказаться вреден.

    >Далее, установил права владения для юзверя svn
    >$ chown -R svn:svn /home/svn
    >
    >После этого ребучу комп (т.к. не знаю, как перечитать конфиги без ребута,
    >если знаете - подскажите). Убедился, что svnserve запущен (командой ps auxww).

    в /usr/local/etc/rc.d/ лежат скрипты запуска, в том числе и svnserve
    Его можно запустить с параметрами restart,stop,start..

    >Но что-либо импортировать в репозитарий не получается (в качестве клиента использую
    >TortoiseSVN). Стабильно имею ошибку "Can't connect to host '10.10.135.74': Подключение не
    >установлено, т.к. конечный компьютер отверг запрос на подключение".

    Еще советы:
    1. Запускайте сервер либо собственным даймоном, через рц.конф, или через инетд, но никак не одновременно.

    2. Запустите даймон в отладочном режиме, если есть (я svnserve не использую, потому не знаю), и попробуйте подключиться.

  • Устновка SVN под FreeBSD, !*! Aesthete Animus, 15:59 , 14-Апр-08 (11)
    Всем большое спасибо за рекоммендации - узнал не мало нового! Проблема решилась простым прописыванием собственного ip при запуске svnserve. Тоесть, нужно сделать следующее:

    svnserve_enable="YES"
    svnserve_flags="--daemon --listen-port=3690 --listen-host 10.10.135.74"
    svnserve_data="/home/svn/repos"
    svnserve_user="svn"
    svnserve_group="svn"

    Почему это нужно было делать явно - не знаю, наверное, следствие моих ошибок при установке. В общем, буду продложать курить доки...

    Для соединения используется svn:// протокол. Использовать inetd необходимость отпала.

    • Устновка SVN под FreeBSD, !*! bugz, 13:48 , 03-Май-08 (12)
      Была та же проблема, благодарю за нитку - сэкономило время.

      Думаю, что по умолчанию собранный svnserve слушает ipv6, а при явном указании интерфейса ipv4:

      [bugz@vedi /devel/email2trac]$ sudo svnserve --daemon --root=/svn --threads && netstat -a | grep LISTEN | grep svn && sudo kill `ps -aux | grep svn | awk '{print $2}'` && sudo sudo svnserve --daemon --root=/svn --threads --listen-host=192.168.9.99 && netstat -a | grep LISTEN | grep svn
      tcp6       0      0  *.svn                  *.*                    LISTEN
      tcp4       0      0  vedi.svn               *.*                    LISTEN
      [bugz@vedi /devel/email2trac]$

    • Устновка SVN под FreeBSD, !*! Rascal, 11:37 , 06-Июл-08 (13)
      а вот если слушать нада несколько ip то можно сделать так:

      sysctl net.inet6.ip6.v6only=0

      После этого svnserve вешается на ip4.

      • Устновка SVN под FreeBSD, !*! abufct, 07:08 , 29-Авг-08 (14)
        >а вот если слушать нада несколько ip то можно сделать так:
        >
        >sysctl net.inet6.ip6.v6only=0
        >
        >После этого svnserve вешается на ip4.

        изменение системных переменных просто так не очень здорово, т.к. х.з., на что ещё повлияет, если просто надо, чтобы слушал на любом ip4, то лучше написать:
        --listen-host=0.0.0.0

        • Устновка SVN под FreeBSD, !*! disfinder, 22:15 , 05-Янв-09 (15)
          >изменение системных переменных просто так не очень здорово, т.к. х.з., на что
          >ещё повлияет, если просто надо, чтобы слушал на любом ip4, то
          >лучше написать:
          >--listen-host=0.0.0.0

          спасибо большое. помогло.





Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру