Установка SVN практически на любой хостинг (static svn)

    0. Интро

    Практически всегда хостинг не предусматривает поддержку svn для конечного пользователя или эта возможность идет в качестве дополнительной платной опции, а обновлять проект с большим количеством файлов — занятие не из легких. Тем более, когда изменения затронули много связанных между собой файлов. Старый вариант через фтп или закачка архива с последующей его распаковкой не особо подходит, так как влечет за собой вероятность возникновения ошибок. Будь-то недокачка какого-то файла (ftp) либо неверные права на папки\файлы (архивом). Все это для примера. Но есть более удобный способ решить эту проблему. Установить svn на хостинг.

    1. Что нужно?

    Для этого необходимо собрать статически svn. Для этого, скачиваем svn + её зависимости, распаковываем и компилим:

    1.1. Скачиваем.

    wget subversion.tigris.org/downloads/subversion-deps-1.6.5.tar.gz
    wget subversion.tigris.org/downloads/subversion-1.6.5.tar.gz


    1.2. Распаковываем.

    tar -zxvf subversion-1.6.5.tar.gz
    tar -zxvf subversion-deps-1.6.5.tar.gz


    1.3. Компилируем

    cd subversion-1.6.5
    ./configure --with-ssl --without-swig --enable-all-static
    make


    1.4. Устанавливаем (по желанию, в вашу систему)

    make install

    1.5 Проверяем.

    cd ./subversion/svn
    ldd ./svn/svn:
    not a dynamic executable


    2. Outro.


    Теперь достаточно только закачать на хостинг бинарник, сделать исполняемым (chmod +x) и наслаждаться жизнью.

    Для полноты картины, можно на него прописать алиас:
    alias svn=/home/user/utils/svn
    где user — ваш юзер, а utils — папка, где лежит файл.

    Удачи!
    Ads
    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More

    Comments 67

      –1
      Спасибо)
        +2
        огромное спасибо! просто огромное. я пока ещё не знал, как компилить статистически. и ещё раз спасибо за утилу ldd, просто чудно!
          0
          LDFLAGS=-static в помощь
          +1
          Не прокатит, если home примонтирована с noexec.
            0
            именно поэтому в заголовке «практически»
              0
              Практически любой хостинг — это, как правило, виртуальный хостинг.
              На нём ничего работать не будет из-за отсутсвия выделенного под клиента IP… Или я где-то жестоко заблуждаюсь?
                0
                Если сделать загон под апач — можно будет.
                  0
                  не понимаю, что именно работать не будет? у меня на вирт. хостинге развернута свн и работает исправно. иначе зачем писать?
                    0
                    Вы, по всей видимости, имеете ввиду клиентскую часть SVN. Просто из статьи это совсем не очевидно.
            • UFO just landed and posted this here
                0
                На днях уже кто-то спрашивал в топике про shh — www.expandrive.com/windows
                • UFO just landed and posted this here
                  0
                  Уже очень давно пользуюсь WinSCP.
                    0
                      0
                      Отличная вещь под XP, но под вистой оно уже жестоко глючит, пользоваться практически невозможно.
                        0
                        Попробуйте откатиться на версию 4.1.8 или пониже.
                      0
                      FileZilla?
                      –6
                      А разве уже все не на гите?
                      • UFO just landed and posted this here
                          –6
                          Ну как бэ стандарты со временем устаревают. SVN не дает тех плюшек, которые есть в Git.

                          >и в другой программе мы не нуждаемся

                          Вы просто не пробовали. Это как с деньгами: нет денег — вроде и не надо, а как только появляются — перестаешь понимать, как без них обходился.

                          Попробуйте git. Теперь банановый.
                            +1
                            > SVN не дает тех плюшек, которые есть в Git.
                            Что в Git такого интересного?
                              0
                              Вы не пробовали git и Вам интересно, или Вы пробовали и теперь мне возражаете?
                                +1
                                Мне интересно, иначе бы не спрашивал.
                                  –3
                                  На Хабре есть несколько дельных статей про Git, вот эта, например: habrahabr.ru/blogs/Git/60030/

                                  Две главные плюшки git — распределенность и очень удобная работа с ветками. В SVN распределенности нет, а работа с ветками очень неудобная.
                                    0
                                    mercurial?
                                +2
                                В гите всё интересно: и локальные репозитарии, и легкость мержа, и скорость!
                                Вы не поверите но скорость работы просто дикая по сравнению с свн!
                                Не давно на хабре уже юыли темы про гит и ртуть,
                                посмотрите там подробнее,
                                а некто Umputun :) даже подкаст записал подробный такой подкаст почему DCVS это хорошо.
                              +1
                              А кто метается?
                              Кто знает что такое DCVS — уже сделали выбор и работают.
                              • UFO just landed and posted this here
                              +1
                              кроме гита есть великое множество других приятных проектов. Меркуриал к примеру, но я в этом вечном споре не участвую=)
                                +1
                                А я разве где сказал что нету? :)
                                0
                                git будет посложнее svn, и ещё к тому же очень немногословен в выводе, так что он не для всех. Тем кому нет необходимости в dvcs, я считаю лучше оставаться на старом добром svn. И себе нервы сберегут и другим, кого постоянно теребить потом будут с вопросами типа «help me». В гугле можно найти сотни примеров новичков, которые не смогли разобраться до конца в git и называют его теперь за это дерьмом.

                                Я например свой выбор в пользу git уже сделал, так как мне его фичи нужны и нравятся, и свой проект в нём держу, но на работе предпочитают svn, и это пожалуй в этом случае оправданно. Каждому своё.
                                +2
                                Даже не знаю… Странная статья…

                                С одной стороны, про сам SVN написано толково. С другой стороны, микроскопом гвозди забивать не следует. Для обновления файлов больше подходит rsync.
                                • UFO just landed and posted this here
                                    0
                                    Он и не должен все это делать. Он делает ровно одну задачу — синхронизирует файлы. Эту задачу он делает очень хорошо. А если Вы писали пост про групповую работу и хранение версий, то у Вас интро не в тему.
                                    • UFO just landed and posted this here
                                        –1
                                        Ок, но суть от этого не меняется.
                                          0
                                          а какая разница? над проектом может работать от одного до нескольких разработчиков. всю работу они сливают в репозиторий и из него обновляется сайт. я не работал с рсинк, так что ничего сказать не могу. он может полностью заменить свн?
                                            +1
                                            Причём тут «полностью заменить»? Используйте для разработки svn, а для деплоя rsync.
                                              +1
                                              rsync не может заменить svn даже частично. rsync просто для другого предназначен.
                                      0
                                      Да и накладные расходы на SVN на хостинге могут неприятно удивить, решивших последовать совету. Согласен, что svn нужно использовать по назначению локально (если есть необходимость контроля версий, групповой работы и т. д., при необходимости можно и открыть его для доступа извне), а на продакшн rsync или чем-нить подобным заливать.
                                      –1
                                      А разве на всех хостингах разрешается выполнять программы?
                                      По-моему это редкое исключение, когда админу влом настроить безопасность.
                                        +1
                                        Часто встречался с ситуацией на хостингах, когда выполнение разрешено только для каталога ~/cgi
                                          0
                                          Ну это и есть нормальные хостинги. Причем на многих еще время выполнения ограничено.
                                            –1
                                            Это какие-то странные хостинги. Может, у них еще и cron'а нету?
                                              0
                                              Не знаю. Крон есть. В крон я пишу бекап-скрипты.
                                                +1
                                                Это и есть запуск программ. Ваши бекап-скрипты — это программы. На любом хостинге разрешено запускать программы. Хостинг, где не разрешено запускать программы — это какое-то чудо непонятное.
                                                  0
                                                  Время выполнения скриптов ограничено. И скрипты находятся не в public_html.
                                                    0
                                                    >Время выполнения скриптов ограничено

                                                    Ограничение, к примеру, в 10 процессорныхсекунд — это весьма жесткое ограничение. Однако, даже этого вполне достаточно для деплоя с помощью rsync. Проект должен быть поистине большим, чтобы rsync не справилься за 10 процессорных секунд.

                                                    >И скрипты находятся не в public_html.

                                                    А кто говорил про public_html? К чему Вы вообще упомянули public_html? Совершенно без разницы, где находятся скрипты. Запускать их можно, этого достаточно.

                                                    И да — ограничено время выполнения скриптов или нет, находятся скрипты в public_html или нет — это все не отменять того, что скрипты — это программы, которые можно запускать.
                                                      0
                                                      Что-то я не уловил вашей логики про скрипты — программы. И что?
                                                      Я говорю про ограничение времени выполнения. Что вешать демон svn редко где получится.
                                                      Про деплой никто не говорил. Это выполняется просто.
                                                        +1
                                                        Это я что-то не улавливаю Вашей логики.

                                                        Вы сначала говорите:

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

                                                        Я Вам на это говорю, что выполнение программ разрешено практически на всех хостингах.

                                                        И тут Вы ВНЕЗАПНО соскакиваете с темы и начинаете говорить о том, что время выполнения бывает ограничено, да еще ни к селу ни к городу говорите о том, что скрипты обычно находятся не в public_html.

                                                        Вы уж определитесь, о чем же Вы говорите.
                                        0
                                        не подскажите, как в svn вынести все каталоги .svn в какую-то отдельную папку за пределами текущей рабочей копии?
                                          0
                                          О_о.
                                          Вообще-то там служебная инфа svn по тому, что в этих дирах. Ты можешь сделать симлинки или хардлинки, оно тебе надо?
                                          Или тебе не нравится, что у тебя сервер в листинге директории показывает эти каталоги? Убери в настройке показ всего, что ".svn" называется.
                                          +3
                                          Чего только люди не придумают чтоб VPS не брать…
                                            +1
                                            Учитывая, что дешевый VPS сейчас стоит сколько нормальный хостинг. И на него можно поставить не только SVN, а что душе угодно.
                                            Я себе для svn брал 6-гиговый vps за 3 евро всего.
                                              +1
                                              не подскажите где?
                                                0
                                                Кинул в ПМ.
                                                  0
                                                  и мне тоже, пожалуйста.
                                                    0
                                                    Лови ПМ,
                                                0
                                                Будьте добры, мне тоже.
                                                  0
                                                  И тебе скинул )
                                                0
                                                5 причин, зачем нужен VPS :) сможете назвать? Я клиентам передам, но только учтите, что root доступ и конфиг «из коробки» (будь-то никсы или винда) для них (да и для меня) недостаток, а не достоинство, не все хотят переквалифицироваться в управдомы ;)

                                                А если серьезно, то shared далеко не всегда хуже VPS, особенно для коммерческих проектов с бюджетом не предполагающим наличие в штате квалифицированного админа. А доверять администрирование сервера человеку, прочитавшему пару хауту «как поднять веб-сервер на убунту», по-моему, не очень мудрое решение.
                                                  0
                                                  А мне казалось, svn сервер поднять не сложно, будь то убунта или еще что-то.
                                                  svnserve — самый простой вариант. Требует только указать в конфиге место для репозиториев и командой svnadmin create создать репозиторий.
                                                    +1
                                                    Админа можно своего не держать — наймите для разовой настройки и заключите договор на подержку например. Если поддержка нужна не уровня «перестраивать каждый месяц с нуля потому что нам так хочется», а например «доставить мемкешед потому что разработчики о нем узнали и он им понравился» и «обновить апач на случай если в нем найдут дыру» — выйдет недорого.

                                                    Теперь причины:

                                                    1. Ставите чего угодно, нужных версий, в нужной конфигурации.
                                                    2. Отсутствие например кеширующего нгинкса на уровне хостера — некоторые хостеры этим страдают.
                                                    3. Нету заморочек с хостером вида «что-то от вас траффика много, да и сервак вы переодически нагружаете; переключайтесь-ка на больший тарифный план или вообще валите»
                                                    4. Возможность организовать более нормальную выкатку проекта нежели «скопировать все по ftp» — пакетами или хотя бы из системы контроля версий.
                                                    5. При нескольких разработчиках — возможность более гибко распределить им права, организовать доступ по vpn, дать держать каждому свою тестовую версию проекта, не упираясь в ограничения хостингового плана.
                                                      +1
                                                      Если человек страдает поиском халявы — ему все равно пока не помочь, потом сам к впс придет :)
                                                  +1
                                                  Недавно перенес свой сайт на хостинг за 24$ в год, в пакет включена поддержка svn (НЕ дополнительная услуга). Еще можно отдельно купить svn-хостинг, хотя существуют и бесплатные пакеты как например у www.xp-dev.com
                                                  Если svn не критичен, то можно использовать github.com (для git) или bitbucket.com (для mercurial)
                                                    –1
                                                      0
                                                      Я так понимаю аналогичный функционал работы с svn на сервере можно получить просто смонтировав рабочий каталог по ssh или ftp через fuse и работать с ним утилитами из своей системы.

                                                      Only users with full accounts can post comments. Log in, please.