Комментарии 67
а бинарный родной от фри нельзя было поставить?
0
Родное ставить, похоже, некошерно.
ЗЫ. Говорите «свой svn», а приводите только фряху в качестве примера.
ЗЫЫ: в Debian ставится так:
aptitude install svn mod_dav
Дальше аптитуд рулит все зависимости. В файле конфигурации mod_dav конфигурируем web-доступ, делаем svnadmin create…
Вот реп и готов :=)
ЗЫ. Говорите «свой svn», а приводите только фряху в качестве примера.
ЗЫЫ: в Debian ставится так:
aptitude install svn mod_dav
Дальше аптитуд рулит все зависимости. В файле конфигурации mod_dav конфигурируем web-доступ, делаем svnadmin create…
Вот реп и готов :=)
-10
нельзя, в основном по причине того что родной бинарный от фри предназначен для размещения в системных каталогах типа /usr/bin, /usr/sbin, /usr/lib/… Попытка просто закинуть его в свой домашний каталог завершилась неудачей. При запуске бинарники ругались. Конкретных ошибок уже не вспомню, но точно помню что такой вариант мы пробовали, и ничего не вышло.
+1
Вот ничего себе, не думал, что если собрать бинарник на другой тачке пусть даже с той же версией оси, всё будет работать… Надо поэкспериментировать… :) А вы молодцы, всё таки выкрутились для решения задачи.
0
а как вы думали работают бинарные rpm,deb? :)
еще можно почитать про кросс-платформенную сборку…
еще можно почитать про кросс-платформенную сборку…
0
Конечно будет, а куда оно денется? Это ж не винда, в которой вместе с софтом надо ставить ещё кучу ключей в реестр.
-4
В винде есть portable apps в отличие от линукса. Молчали бы если не знаете.
-1
в линуксе все apps portable. «Молчали бы если не знаете.»
-1
Ага, подходит ллинуксоид, вставляет флешку и давай свои portable apps компилировать)))
Не вводит людей в заблуждение. Без компилятора, make, +100 извратов, чтобы просто заставить программу работать в нестандартной папке, большинство программ не пойдет. Ставить программы без прав админа —сплошной геморрой, никаких тебе менджеров пакетов и прочее, сам ищи и компилируй зависимости, да еще и нужной версии.
Не вводит людей в заблуждение. Без компилятора, make, +100 извратов, чтобы просто заставить программу работать в нестандартной папке, большинство программ не пойдет. Ставить программы без прав админа —сплошной геморрой, никаких тебе менджеров пакетов и прочее, сам ищи и компилируй зависимости, да еще и нужной версии.
-3
почему у меня частенько получается скачать тарболл с бинарниками (именно с бинарниками), тупо распаковать куданить в ~, добавить в PATH и всё? с десяток прог у меня установлены именно так.
+1
КДЕ-шные? ГТК-шные? И им пофиг, какие версии библиотек используются?
0
НЛО прилетело и опубликовало эту надпись здесь
Странно.
-1
хватит судить о юникс-системах по примеру всевозможных убунт. тогда странности пропадут и всё будет работать именно так, как надо.
0
Собирать можно с ключём типа -all-static тогда все зависимости будут уже скомпилированы в этот бинарник, размер получится, конечно, намного больше, но зато и больше уверенности что приложение запустится на другой машине даже с разными версиями зависимых библиотек
0
pkg_add -r subversion
или как-то в том же духе — давно фряху не трогал.
Svn имеет замечательную тулзу — svnserve. И после «svnadmin create /pub/home/megauser/myrepo» можно подправить внутри созданой папки конфиги, описав там пользователей и права. После чего сделать
svnserve -d --listen-port=PORT_YOU_WANT -r /pub/home/megauser/myrepo
или как-то в том же духе — давно фряху не трогал.
Svn имеет замечательную тулзу — svnserve. И после «svnadmin create /pub/home/megauser/myrepo» можно подправить внутри созданой папки конфиги, описав там пользователей и права. После чего сделать
svnserve -d --listen-port=PORT_YOU_WANT -r /pub/home/megauser/myrepo
-2
1) pkg_add требует прав рута, мы же поднимали всё это дело на шаред-хостинге с одним единственным ssh-аккаунтом без всяких прав кроме записи в свой домашний каталог.
2) svnserve — замечательная тулза, никто не спорит :) Но постоянно висящий в процессах демон, которого быть не должно — рано или поздно будет замечен админами и прибит.
2) svnserve — замечательная тулза, никто не спорит :) Но постоянно висящий в процессах демон, которого быть не должно — рано или поздно будет замечен админами и прибит.
+1
кстати, если есть доступ по ssh, то можно устроить mercurial-репозиторий и ничего больше на сервере не ставить.
0
Вам хостер разрешает на шареде использовать свои бинарники?
0
Если Вы имеете в виду всякие параноидальные ограничения хостеров в виде патчей ядра, которые перед запуском любого бинарника проверяют «свой» он или нет — то таких извращений у нашего хостера нет. Сами понимаете, если Вам нужно что-то ужасное сделать, то вы сможете в итоге это сделать на том же php/perl/python/shell (смотря что есть у хостера в списке «своих» бинарников), и тогда вся это параноидальность теряет смысл.
+1
Банально монтируется раздел с noexec и ничего выполнить там нельзя.
0
А, понял. Нет, такого ограничения нет… Помоему из-за того что там включена поддержка «cgi-bin», а может по другим причинам… Но согласитесь, даже имея раздел с noexec, я могу разместить на нём тот же php/perl/python/shell скрипт, который потом смогу запустить например так: /usr/bin/perl ./my-mega-script. Поэтому такое ограничение — не панацея.
+1
Не очень люблю SVN для web проектов. Папки проекта по сравнению с CVS раза в 2-3 больше по размеру.
-3
Мы уже привыкли :) Даже уже не помню как перешли с CVS на SVN, это было давно. А размер не парит в нашем случае. Вдобавок лично нам было легче настроить всё что нам было нужно для SVN чем для CVS:
— права доступа к различным проектам в репозитории
— commit-email
— ту самую возможность ходить под разными юзерами в репозиторий имея только один SSH-аккаунт.
Как это делать в случае CVS мы даже примерно не знаем, и пришлось бы много читать.
— права доступа к различным проектам в репозитории
— commit-email
— ту самую возможность ходить под разными юзерами в репозиторий имея только один SSH-аккаунт.
Как это делать в случае CVS мы даже примерно не знаем, и пришлось бы много читать.
+1
Не очень люблю CVS для web проектов. Там все через одно место и не удобно.
+1
А какой же софт для разработки в веб использовать? Я как раз хотел начать с SVN работать. Пожскажите, пожалуйста.
0
Всяко не CVS. История отдельная для каждого файла (в смысле что нельзя посмотреть историю коммитов в папку, нет понятия текущей ревизии для дерева), переименовать файл нельзя, перенести в другую папку нельзя, все операции неатомарные, бранчинг и тэггинг при большом количестве файлов тормозит (а из-за того, что он не атомарный при обрыве связи половина файлов будет потагана, половина нет).
0
А знаете почему в SVN рабочая копия в 2 раза больше рабочей копии CVS? Потому что SVN хранит копии файлов, полученных при чекауте/апдейте, чтобы можно было не ходя на сервер определить что изменилось и посмотреть диффы.
А место экономить с сегодняшними ценами на носители данных это я даже не знаю…
А место экономить с сегодняшними ценами на носители данных это я даже не знаю…
0
За минусы всем спасибо. Объясню свою ситуацию. Работаю одинаково хорошо в SVN и CVS. Что касаемо веб разработок. У меня порядка 10 мелких VPS по 1 гигу на каждом. Ежедневный бекап по размеру у CVS меньше в 2 раза. Итого качать меньше. Конечно можно выкинуть .svn папку — но у CVS этого делать не нада.
Инет в регионах бывает по модему и тянуть бекап с сервака бывает натяжно. И работаю я в vim, а не в миднайт командоре. Для C++ проектов использую SVN.
Инет в регионах бывает по модему и тянуть бекап с сервака бывает натяжно. И работаю я в vim, а не в миднайт командоре. Для C++ проектов использую SVN.
0
Интересно, но я бы назвал статью «SVN на shared-хостинге», потому что VDS — это тоже виртуальный хостинг. Я вот пока не зашел на valuehost, не понял, в чем вообще проблема.
+4
Не сочтите за рекламу, но самый простой виртуальник, на firstvds.ru к примеру, в месяц стоит как одна кружка приличного пива, может ну его нафиг этот валуехост?
+1
А если каждый не выпьет по две кружки пива то и тут tektonic.net/ поселится можно.
0
Дело в том, что аккаунт на валуехосте уже был, переезжать решили чуть позже, уже на нормальный vps. А в качестве временного решения решили остаться где и были, но прикрутить svn, который потом спокойно перенесём на новый vps. Вдобавок было интересно поднять svn именно там где нужен, а не прыгать к другому хостеру только из за наличия у него svn.
0
Ничесе =) На моем ЖК там так фон моргает забавно при скроле :)
0
Для таких случаев есть специальные сервисы.
Подробнее можно почитать scrum.org.ua/kak-vybrat-besplatnyj-svn-xosting/
Правда бывший лидер assembla начал мутить воду с вводом платных аккаутнов
Подробнее можно почитать scrum.org.ua/kak-vybrat-besplatnyj-svn-xosting/
Правда бывший лидер assembla начал мутить воду с вводом платных аккаутнов
+2
Да, мы думали о таком варианте, но (как минимум на тот момент, когда мы искали) бесплатных svn-хостингов с приемлемым:
— максимальным размером репозитория
— скоростью работы с репозиторием
— аптаймом
— возможностью сделать столько юзеров, сколько нам нужно
мы не нашли. Поэтому и решили проблему таким образом, как описано в статье.
В любом случае, даже если устраивающий нас бесплатный svn-хостинг мы бы нашли — нам скорее всего нужен был бы svn на сервере хостера, чтобы получать туда последние ревизии проекта. Иначе процедура выкладывания последней ревизии в бой была бы неудобной.
— максимальным размером репозитория
— скоростью работы с репозиторием
— аптаймом
— возможностью сделать столько юзеров, сколько нам нужно
мы не нашли. Поэтому и решили проблему таким образом, как описано в статье.
В любом случае, даже если устраивающий нас бесплатный svn-хостинг мы бы нашли — нам скорее всего нужен был бы svn на сервере хостера, чтобы получать туда последние ревизии проекта. Иначе процедура выкладывания последней ревизии в бой была бы неудобной.
0
Угу, пришлось переехать на unfuddle и codespaces о чем в принципе и не жалею.
+1
у обоих только 1 проект вести можно, 2 пользователя… скудно как-то… ассембла рулила раньше. Вы не в курсе, нет бесплатного метров на 100, 2-3 проекта и 3-4 пользователя?
за 9-10 у.е. в месяц (как у двоих вышеуказанных) можно подумать о впс уже)
за 9-10 у.е. в месяц (как у двоих вышеуказанных) можно подумать о впс уже)
0
Интересно, а trac заработает при тех же ограничениях?
0
НЛО прилетело и опубликовало эту надпись здесь
Не сочтите за рекламу на бесплатном хостинге Агавы то ли ЦВС, то ли СВН дается.
0
У меня такое чувство что можно обойтись без всего этого геммора с компиляцией пакетов. Достаточно создать репозиторий svnadmin create, на любой (домашней или рабочей) системе, перенести эту папку на хостинг и затем пользоваться subversion через svn+ssh
0
Чтобы пользоваться subversion через svn+ssh нужно чтобы на удалённой стороне (то есть как раз на сервере хостера) была как минимум svnserve, которая и будет в туннельном режиме (ключ -t) обрабатывать svn+ssh соединения. Сам SSH для этого не предназначен. Вдобавок для полноценной работы репозитория на этом же сервере нужна утилита svnlook, а возможно и другие. Поэтому так просто не получится.
0
А можно было бы настроить любую распределенную VCS и не заморачиваться. Например, для bzr нужен только sftp
0
Use GIT Luk!
-2
Не понятен смысл некоторых комментариев: «Делай ..., не заморачивайся», «А на… уже всё есть.». Автор показал способ обхода ограничения хостинга, что довольно интересно и ново(по крайней мере для меня). Таким способом можно поставить не только SVN, я уверен. Человек заморочился, решил проблему, остался на привычном хостинге, не переплачивал за услуги и поделился опытом с нами, разве не для этого нужен хабр?
Спасибо, duncanf1.
Спасибо, duncanf1.
+4
Гм…
..." Свой SVN на виртуальном (shared) хостинге" (с) duncanf1…
Автор, а вам не кажеться что это звучит похоже с:
— все яйца в одну корзину
?
… со всеми вытекающими последствиями.
..." Свой SVN на виртуальном (shared) хостинге" (с) duncanf1…
Автор, а вам не кажеться что это звучит похоже с:
— все яйца в одну корзину
?
… со всеми вытекающими последствиями.
0
НЛО прилетело и опубликовало эту надпись здесь
Благодарю за статью.
duncanf1, пожалуйста, расскажите поподробнее для тупых :)
Вроде все настроил как описано. При подключении к svn+ssh://server.of.your.hoster.ru/ (где server.of.your.hoster.ru заменил на свой домен) через Tortosie TortosiePlink спрашивает какой-то пароль. Какой и как его указать?
Еще не уверен, что правильно сгенерировал ключи (никогда этого не делал), может расширите статью и расскажите как это сделать с помощью какой-нибудь конкретной программы?
duncanf1, пожалуйста, расскажите поподробнее для тупых :)
Вроде все настроил как описано. При подключении к svn+ssh://server.of.your.hoster.ru/ (где server.of.your.hoster.ru заменил на свой домен) через Tortosie TortosiePlink спрашивает какой-то пароль. Какой и как его указать?
Еще не уверен, что правильно сгенерировал ключи (никогда этого не делал), может расширите статью и расскажите как это сделать с помощью какой-нибудь конкретной программы?
0
Пароль, который запрашивает TortoisePlink при верных настройках — это может быть только пароль от Вашего публичного ключа. Если Вы генерировали ключ с пустым паролем — значит что-то настроено неверно.
Насчет генерации ключей, расскажу на примере PuttyGen:
— запускаете puttygen.exe, внизу окна выбираете (если оно не выбрано) SSH2-RSA, количество бит можете оставить 1024, можете сделать 2048 для пущей убедительности.
— нажимаете кнопку «Generate»
— елозите мышкой по окну программы для генерации рандомных чисел, нужных программе для создания ключа
— когда генерация ключа завершится, в поля Key passphrase и Confirm passphrase можете вбить пароль ключа, тогда при коннекте к репозиторию TortoisePlink будет запрашивать у Вас именно этот пароль. Если оставите эти поля пустыми — пароль запрашиваться не будет.
— нажимаете кнопку «Save private key» и сохраняете приватный ключ куда нибудь на свой компьютер.
— дальше зависит от операционки на сервере:
— в случае линукса: копипастите текст из поля «Public key for pasting into OpenSSH authorized_keys file:», и добавляете эту строку в ~/.ssh/authorized_keys на сервере. В начале этой строки дописываете: command="/pub/home/megauser/myroot/bin/svnserve -t -r /pub/home/megauser/myrepo -t --tunnel-user=virtual_user_name"
— в случае FreeBSD или другой ОС, где стоит ssh от ssh.com а не OpenSSH: нажимаете кнопку «Save public key», сохраняете файл куда нибудь, затем копируете его содержимое в файл ~/.ssh2/id_rsa_<virtual_user_name>.pub, а дальше в файле ~/.ssh2/authorization прописываете 2 строки как описано в статье (Key и Options)
— затем даете всем созданным в ~/.ssh или ~/.ssh2 файлам правильные права (0600)
— и наконецто создаёте в Putty копию сессии, через которую вы коннектитесь к своему хостеру, в ней в закладке SSH->Auth заменяете или прописываете путь к приватному ключу, который вы сохранили нажав «Save private key». Потом TortoisePlink-у говорите чтобы он использовал эту сессию (там есть соответствующий параметр командной строки).
Ну вот вроде бы и все, если будут проблемы — пишите.
Насчет генерации ключей, расскажу на примере PuttyGen:
— запускаете puttygen.exe, внизу окна выбираете (если оно не выбрано) SSH2-RSA, количество бит можете оставить 1024, можете сделать 2048 для пущей убедительности.
— нажимаете кнопку «Generate»
— елозите мышкой по окну программы для генерации рандомных чисел, нужных программе для создания ключа
— когда генерация ключа завершится, в поля Key passphrase и Confirm passphrase можете вбить пароль ключа, тогда при коннекте к репозиторию TortoisePlink будет запрашивать у Вас именно этот пароль. Если оставите эти поля пустыми — пароль запрашиваться не будет.
— нажимаете кнопку «Save private key» и сохраняете приватный ключ куда нибудь на свой компьютер.
— дальше зависит от операционки на сервере:
— в случае линукса: копипастите текст из поля «Public key for pasting into OpenSSH authorized_keys file:», и добавляете эту строку в ~/.ssh/authorized_keys на сервере. В начале этой строки дописываете: command="/pub/home/megauser/myroot/bin/svnserve -t -r /pub/home/megauser/myrepo -t --tunnel-user=virtual_user_name"
— в случае FreeBSD или другой ОС, где стоит ssh от ssh.com а не OpenSSH: нажимаете кнопку «Save public key», сохраняете файл куда нибудь, затем копируете его содержимое в файл ~/.ssh2/id_rsa_<virtual_user_name>.pub, а дальше в файле ~/.ssh2/authorization прописываете 2 строки как описано в статье (Key и Options)
— затем даете всем созданным в ~/.ssh или ~/.ssh2 файлам правильные права (0600)
— и наконецто создаёте в Putty копию сессии, через которую вы коннектитесь к своему хостеру, в ней в закладке SSH->Auth заменяете или прописываете путь к приватному ключу, который вы сохранили нажав «Save private key». Потом TortoisePlink-у говорите чтобы он использовал эту сессию (там есть соответствующий параметр командной строки).
Ну вот вроде бы и все, если будут проблемы — пишите.
+1
Да, забыл дать ссылку: svnbook.red-bean.com/nightly/ru/svn.serverconfig.svnserve.html — вот тут подробно описан вариант настройки под OpenSSH. Ну а под ssh.com — в статье.
0
Благодарю, видимо получилось, так как теперь Tortosie говорит: «Invalid Port Number». Наверно порт закрыт, можно ли как-то это обойти?
Мучаю я хостинг РБК (hc.ru) тариф большой. Все для СВНа там уже стояло, так что я как сказал автор сразу перешел к пункту 4. Репозиторий создался без проблем, а как достучаться до него…
Мучаю я хостинг РБК (hc.ru) тариф большой. Все для СВНа там уже стояло, так что я как сказал автор сразу перешел к пункту 4. Репозиторий создался без проблем, а как достучаться до него…
0
По идее Вам нужно юзать TortoisePlink вместо putty для доступа к репозитарию и всё станет хорошо. Вот тут описывается: www.intelliot.com/blog/archives/2006/06/19/fix-invalid-port-number-error-with-tortoisesvn-and-putty/
0
также отличный вариант через rsh
svnbook.red-bean.com/nightly/ru/svn.serverconfig.svnserve.html#svn.serverconfig.svnserve.sshauth
svnbook.red-bean.com/nightly/ru/svn.serverconfig.svnserve.html#svn.serverconfig.svnserve.sshauth
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Свой SVN на виртуальном (shared) хостинге