Page 1 of 2 12 LastLast
Results 1 to 15 of 20

Thread: Установка и настройка Subversion и Trac на ASUS WL500gPv2

  1. #1

    Post Установка и настройка Subversion и Trac на ASUS WL500gPv2

    update/20.09.2009: Проблема успешно решена: на роутере работают и Subversion, и Trac. Текст поста оставлен прежним — для истории.
    ————————————————————————
    Пытаюсь установить и настроить на роутере систему управления версиями Subversion и систему управления проектами Trac. С переменным успехом — получается не всё, хотя раньше удавалось поставить и раскочегарить этот комбайн на компьютерах с FreeBSD.

    Роутер — ASUS WL500gPv2
    Code:
    $ uname -a
    Linux router 2.4.20 #18 Sun Mar 30 13:13:29 MSD 2008 mips GNU/Linux
    К роутеру подключены флэшка (смонтирована в /opt) и USB-HDD. Каталоги /opt/share/svn и /opt/share/trac — символические ссылки на каталоги, физически хранящиеся на жёстком диске.

    Как делал:

    0. На роутере уже был установлен сервер lighttpd. Дополнительно поставил:
    • py25-genshi - 0.5.1-2 - A toolkit for stream-based generation of output for the web.
    • py25-setuptools - 0.6c9-2 - Tool to build and distribute Python packages, enhancement to distutils.
    • py25-trac - 0.11.5-1 - An enhanced wiki and issue tracking system for software development projects.
    • python25 - 2.5.4-2 - Python is an interpreted, interactive, object-oriented programming language.
    • sqlite - 3.6.16-1 - SQLite is a small C library that implements a self-contained, embeddable, zero-configuration SQL database
    • svn - 1.6.5-1 - a compelling replacement for CVS
    • svn-py - 1.6.5-1 - python SWIG binding for subversion


    1. Пока ставил (а поставил не всё сразу — невнимательно читал мануал), сталкивался, например, с такой ошибкой:
    Code:
    # tracd --help
    Traceback (most recent call last):  
      File "/opt/bin/tracd", line 5, in <module>
        from pkg_resources import load_entry_point
    Лечится установкой всех необходимых пакетов (в моём случае не хватало py25-setuptools).

    2. Сталкивался и с неподходящей локалью:
    Code:
    # trac-admin . initenv
    Traceback (most recent call last):
      File "/opt/bin/trac-admin", line 8, in <module>
        load_entry_point('Trac==0.11.5', 'console_scripts', 'trac-admin')()
      File "/opt/lib/python2.5/site-packages/trac/admin/console.py", line 1314, in run
        return admin.onecmd(command)
      File "/opt/lib/python2.5/site-packages/trac/admin/console.py", line 129, in onecmd
        encoding = locale.getpreferredencoding() # sys.argv
      File "/opt/lib/python2.5/locale.py", line 514, in getpreferredencoding
        setlocale(LC_CTYPE, "")
      File "/opt/lib/python2.5/locale.py", line 478, in setlocale
        return _setlocale(category, locale)
    locale.Error: unsupported locale setting
    Причина — в переменной окружения LANG, которая равна en_US.UTF8. Можно вручную присвоить ей другое значение, например, en_US.UTF-8, с которым всё работает, но более правильным будет указать это значение в /etc/profile и сохранить файл:
    Code:
    flashfs save
    flashfs commit
    flashfs enable
    3. Настройка Subversion трудностей не вызвала: есть инструкция, ряд постов на форуме (искать по слову svnserve), да и в svnbook она описана по-русски. Сделал запуском svnserve при загрузке роутера: создал файл /opt/etc/init.d/S66svn
    Code:
    #!/bin/sh
    /opt/bin/svnserve -d -r /opt/share/svn/repos/
    и в /usr/local/sbin/post-mount добавил:
    Code:
    # Subversion
    /opt/etc/init.d/S66svn
    4. Отдельный сервер tracd запускается, например, командой
    Code:
    tracd --port 8000 -e /opt/share/trac --auth="*",/opt/share/trac/trac.htdigest,trac
    но иногда неожиданно падает, сообщив лишь одно слово
    Code:
    Terminated
    Документация на trac сообщает, что tracd — лёгкий и быстрый сервер, сравнимый по скорости с mod_python, однако неожиданные падения не позволяют спокойно им пользоваться.

    5. Под управлением веб-сервера lighttpd trac запускается, но способен вывести лишь страницу со списком доступных проектов. При обращении к любой другой пишет:
    Code:
    Traceback (most recent call last):
      File "/opt/lib/python2.5/site-packages/trac/web/api.py", line 377, in send_error
        'text/html')
      File "/opt/lib/python2.5/site-packages/trac/web/chrome.py", line 726, in render_template
        req.session.pop('chrome.%s.%d' % (type_, i)))
      File "/opt/lib/python2.5/site-packages/trac/web/api.py", line 195, in __getattr__
        value = self.callbacks[name](self)
      File "/opt/lib/python2.5/site-packages/trac/web/main.py", line 264, in _get_session
        return Session(self.env, req)
      File "/opt/lib/python2.5/site-packages/trac/web/session.py", line 152, in __init__
        self.get_session(sid)
      File "/opt/lib/python2.5/site-packages/trac/web/session.py", line 173, in get_session
        super(Session, self).get_session(sid, authenticated)
      File "/opt/lib/python2.5/site-packages/trac/web/session.py", line 48, in get_session
        db = self.env.get_db_cnx()
      File "/opt/lib/python2.5/site-packages/trac/env.py", line 273, in get_db_cnx
        return DatabaseManager(self).get_connection()
      File "/opt/lib/python2.5/site-packages/trac/db/api.py", line 85, in get_connection
        connector, args = self._get_connector()
      File "/opt/lib/python2.5/site-packages/trac/db/api.py", line 130, in _get_connector
        raise TracError('Unsupported database type "%s"' % scheme)
    TracError: Unsupported database type "sqlite"
    В логах веб-сервера (/opt/var/log/lighttpd) ничего интересного: в access.log сообщается о том, что сервер ответил на запрос 500-й ошибкой (Internal server error), а в error.log вообще ничего не добавляется. Создаётся впечатление, что питон не может импортировать модуль для работы с SQLite.

    Форум читал, интернеты гуглил, в бубен стучал...
    Что делать дальше? Куда глядеть?
    Last edited by shoorick; 20-09-2009 at 19:33. Reason: disclaimer

  2. #2

    Удалось запустить

    Прочитав обсуждение китайскими товарищами схожей проблемы (у них питон ругался на неизвестный тип базы данных), попробовал удалить py25-genshi и py25-trac, а потом поставить их снова (в том же порядке). Как ни странно, помогло. Возможно, играет значение порядок установки.

    То есть, задача по установке успешно решена — трак работает.

    Производительность подобной системы удручающе низка: как и в случае с автономным (standalone) сервером tracd, питон неожиданно дохнет, а сервер в это время честно ждёт ответа, а потом, не дождавшись запускает новый процесс. В логе ошибок сервер пишет (убраны даты и упоминание mod_fastcgi.c):
    Code:
    2709) child signaled: 15
    1742) connect failed: Connection refused on unix:/tmp/trac.sock-1
    2943) backend died; we'll disable it for 5 seconds and send the request to another backend instead: reconnects: 0 load: 3
    1742) connect failed: Connection refused on unix:/tmp/trac.sock-0
    2943) backend died; we'll disable it for 5 seconds and send the request to another backend instead: reconnects: 0 load: 4
    2481) unexpected end-of-file (perhaps the fastcgi process died): pid: 18475 socket: unix:/tmp/trac.sock-3
    3256) child signaled: 9
    3299) response not received, request sent: 1098 on socket: unix:/tmp/trac.sock-3 for /projects , closing connection
    2481) unexpected end-of-file (perhaps the fastcgi process died): pid: 18490 socket: unix:/tmp/trac.sock-3
    3299) response not received, request sent: 1153 on socket: unix:/tmp/trac.sock-3 for /projects , closing connection
    2481) unexpected end-of-file (perhaps the fastcgi process died): pid: 18479 socket: unix:/tmp/trac.sock-2
    Складывается ощущение, что питону не хватает ресурсов — его аппетит весьма могуч:
    Code:
    $ top
      PID USER     STATUS   RSS  PPID %CPU %MEM COMMAND
    14559 admin    R        11M 14558 76.2 40.1 python2.5
    Похоже, придётся всё-таки держать питон (вместе с траком и свн) на отдельном компьютере.
    Last edited by shoorick; 18-09-2009 at 21:21. Reason: орфография

  3. #3

    Конец фильма

    Quote Originally Posted by shoorick View Post
    Складывается ощущение, что питону не хватает ресурсов — его аппетит весьма могуч
    Скорее всего, питон подыхал именно от нехватки памяти: подключение свопа позволило избавиться от падений. Теперь trac хоть и медленно, но работает.

  4. #4

    Система баг-трекинга для wl500gp

    Посоветуйте систему баг-трекинга для установки на wl500gp, но только не Trac - уж больно медленно он работает на этом девайсе.

  5. #5
    Redmine, мсье знает толк в извращениях.

  6. #6
    Quote Originally Posted by j00e View Post
    Redmine, мсье знает толк в извращениях.
    Хорошо, мсье, а что на бэкграунд лучше прикрутить mysql или sqlite? на производительность влияет?

  7. #7
    Меня интересует SVN. Удалось тебе запустить Subversion на роутере? Если да, не мог бы ты поделиться бинарниками?

  8. #8

    Удалось

    Quote Originally Posted by Berserk View Post
    Удалось тебе запустить Subversion на роутере?
    Ага. Но он всё равно тормозной. В результате я перевёл кое-что на github — так проще и шустрее.
    Quote Originally Posted by Berserk View Post
    не мог бы ты поделиться бинарниками?
    Что именно интересует? Я бинарники-то не трогал. Может, всё-таки конфиги нужны?

  9. #9
    Quote Originally Posted by shoorick View Post
    Ага. Но он всё равно тормозной. В результате я перевёл кое-что на github — так проще и шустрее. Что именно интересует? Я бинарники-то не трогал. Может, всё-таки конфиги нужны?
    меня интересуют бинарники собранные под проц асуса - сам саб вершн...
    проект планирую контролить не открытого кода... и наверно github мне не подойдет так же ка google source и пр

    Моежт я ошибаюсь - можно ограничить доступ к исходникам на github?
    почитал про github - можно ограничить - но за деньги - не вариант, надо поднимать SVN.

  10. #10
    Quote Originally Posted by Berserk View Post
    меня интересуют бинарники собранные под проц асуса - сам саб вершн...
    Так в них ничего особенного — я ставил штатным способом, описанным в руководствах на этом форуме. Наверное, уже посвежее что-нибудь вышло. Я давно софт на роутере не обновлял.
    Quote Originally Posted by Berserk View Post
    Моежт я ошибаюсь - можно ограничить доступ к исходникам на github?
    Можно. Но, вроде, приватные репозитории там за деньги.

  11. #11
    Quote Originally Posted by shoorick View Post
    Так в них ничего особенного — я ставил штатным способом, описанным в руководствах на этом форуме. Наверное, уже посвежее что-нибудь вышло. Я давно софт на роутере не обновлял.Можно. Но, вроде, приватные репозитории там за деньги.
    Если не сложно, можно ссылку на инструкцию сборки и установки SVN?
    Сайт плохо работает, кодировка вечно не правильно определяется, на почту уведомления не ходят

  12. #12
    Join Date
    Feb 2007
    Location
    Moscow, Russia
    Posts
    3,805
    перед тем как настраивать svn необходимо выполнить инструкцию по настройке роутера с нуля. Начать, как ни странно следует отсюда: http://wl500g.info/forumdisplay.php?f=86

  13. #13
    Quote Originally Posted by al37919 View Post
    перед тем как настраивать svn необходимо выполнить инструкцию по настройке роутера с нуля. Начать, как ни странно следует отсюда: http://wl500g.info/forumdisplay.php?f=86
    парни, я конечно все понимаю... много кто заходит на форум и глупые вопросы задают, но и вы поймите - тыкать носом бывалого разработчика в факи ...
    пришлось ночь не поспать но всетаки собрал я свн хоть и без вашей помощи... и делается это так

    zlib

    ./configure --prefix=/home/$USER/Desktop/mips/zlib/mipsel-linux-uclibc-gnu


    SQLite

    ./configure --prefix=/home/$USER/Desktop/mips/sqlite --host=mipsel-linux


    expat
    ./configure --prefix=/home/$USER/Desktop/mips/expat --host=mipsel-linux


    Apache Portable Runtime
    ./configure --prefix=/home/$USER/Desktop/mips/apr --host=mipsel-linux \
    ac_cv_file__dev_zero="yes" ac_cv_func_setpgrp_void="yes" \
    apr_cv_process_shared_works="yes" apr_cv_mutex_robust_shared="no" \
    apr_cv_tcp_nodelay_with_cork="yes" ac_cv_sizeof_struct_iovec="8" \
    apr_cv_mutex_recursive="yes"

    Apache Portable Runtime Util
    ./configure --prefix=/home/$USER/Desktop/mips/apr-util --host=mipsel-linux --with-apr=/home/$USER/Desktop/mips/apr

    Subversion
    ./configure --prefix=/home/$USER/Desktop/mips/subversion --host=mipsel-linux \
    --with-apr=/home/$USER/Desktop/mips/apr \
    --with-apr-util=/home/$USER/Desktop/mips/apr-util \
    --with-zlib=/home/$USER/Desktop/mips/zlib/mipsel-linux-uclibc-gnu/ \
    --with-sqlite=/home/$USER/Desktop/mips/sqlite \
    --without-serf --without-apxs \
    --without-berkeley-db --without-neon \
    --without-ssl

    и ни какой настройки роутера - все запускается на прошивке с "завода"

  14. #14
    Quote Originally Posted by Berserk View Post
    но всетаки собрал я свн хоть и без вашей помощи...
    Я-то по-ленивому ставил, уже скомпилированное, командой ipkg (если правильно помню).

  15. #15
    Quote Originally Posted by Berserk View Post
    парни, я конечно все понимаю...
    --prefix=/home/$USER/Desktop/mips/...
    нехорошо так префиксом пользоваться. для другого он

Page 1 of 2 12 LastLast

Similar Threads

  1. Установка и настройка Transmission
    By CattheBlack in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 171
    Last Post: 12-03-2016, 13:08
  2. [QoS] Установка и настройка nShaper
    By Iguana in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 829
    Last Post: 14-05-2014, 11:38
  3. Настройка (установка) Samba3
    By MSapogov in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 307
    Last Post: 16-04-2013, 19:07
  4. Установка и настройка софта EntWare на Asus RT-N66U
    By ryzhov_al in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 5
    Last Post: 05-06-2012, 13:48
  5. ADSL модем + роутер Asus WL-500gP
    By ilan in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 284
    Last Post: 15-11-2010, 20:04

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •