ПОЕХАЛИ
Установка пакетаsudo apt-get install subversion
Создание директории для svn репозиторий в котором будут хранится настройки. Я создам в домашней директории:
sudo mkdir /home/svn
Создание тестового репозитория testrepo командой svnadmin create:
svnadmin create /home/svn/testrepo
При использовании svn протокола, используется собственный сервер svnserve поэтому нужно настроить права доступа к svn репозиторию: в моём случае ето testrepo отредактируем файл:
sudo nano /home/svn/testrepo/conf/svnserve.conf
В минимальном варианте настроек
### Права для не авторизованных пользователей
anon-access = none // запрещаем доступ на чтение и запись не авторизированым пользователям
### Права для авторизованных
auth-access = write
### Файл с пользователями
### По умолчанию в той же директории
password-db = passwd // включаем авторизацию к репозиторию через файл passwd
УБИРАЙТЕ ПРОБЕЛЫ ПЕРЕД ПЕРЕМЕННЫМИ!!!!!!!!!!!!!
а то у я замучился искать ошибку она была в том что пробелов не должно было быть.
Настройка пользователей. Розрешим доступ user1 с паролем 123 к нашему репозиторию testrepo:
sudo nano /home/svn/testrepo/conf/passwd
[users]
user1 = 123
Запускаем сервер svn . Для етого ему нужно указать где начинать смотреть репозитории.
/usr/bin/svnserve -d -r /home/svn/
*
d : в режиме демона
*
r : указывает root директорию для svnserve
Можете проверить запущен ли сервер
ps ax |grep svn
Сервер мы то запустили. Но нужно еще отображать содержимое svn тоесть натравич апачь на какойто каталог.
Я сделал это следующим способом. Мне он удобнее тем что постоянно обновляются файлы и я могу их видеть через ssh.Я создам каталог в домашней деректории в которой после каждого комита будет обновлятся файлы залитые по svn.
Начнем!
Нам нужно сделать первый комит что бы потом svn знал куда ему обновления ложит после комита
svn co svn://127.0.0.1/testrepo
У нас появится каталог в /home/testrepo на который нужно натравить апач,я не буду описывать как это сделать я думаю ничего страшного в настройке нет.
Теперь сделаем что бы при каждом комите на сервере обновлялись данные в /home/testrepo
cd /home/testrepo && /usr/bin/svn update --username='user' --password='pass' --non-interactive
Эту строчку нужно добавить в post-commit который находится в нашем репозитории /home/svn/hooks
Нужно скопировать его с имененм post-commit вместо post-commit.tmpl и дать ему права на исполнение.
Вот и все теперь можете розрабатывать сои сайти и тд и тп) Еси что не понятно пишите сюда или ищите меня в сети irc.freenode.net с ником [v-8]_jupiter.
Что бы писало в отдельную папку для апача
ОтветитьУдалитьСоздать каталог /home/famous.
а потом указать svn co svn://127.0.0.1/famousanimals.net/
и будет норм
cd /home/famous && /usr/bin/svn update --username='user' --password='pass' --non-interactive
ОтветитьУдалитьНЕМНОГО ПОЗЖЕ напишу толковую статью
ОтветитьУдалить