- How do I install svn?
- 3 Answers 3
- You must log in to answer this question.
- Установка и настройка сервера SVN (Subversion) на Linux Ubuntu
- Подготовка системы
- 1. Обновление пакетов
- 2. Правильное время
- 3. Настройка брандмауэра
- Установка SVN и создание репозитория
- Веб-сервер
- Проверка работы репозитория
- Локально
- С удаленной машины
- Начало работы с SVN на Linux
How do I install svn?
I am trying to install svn and am running into issues. The command I am running is sudo apt-get install svn . When I run this, I get the error «Unable to locate package svn». Why is this? How do I fix it?
3 Answers 3
The package is called subversion (abbreviated svn ). You’ve to install it by running:
sudo apt-get install subversion
This package contains the svnserve daemon too (not started by default). If you want to host a subversion server over HTTP, you must install apache2 and configure it accordingly.
@Martin The server binary ( svnserve ) is only 85 KiB, the administration tool svnadmin is 72KiB. Their manpages are some KiB. Just install the subversion package to get all subversion programs ( svnserve «server», svn client (256KiB)). You do not need a server like Apache for the client functionality.
There is no package with the name of SVN . You may type this command on terminal.
sudo apt-get install subversion
Then you can check it using svn command
svn co "type here your checkout URL without double quotes" svn status svn commit . your file name
apt-get is an amazing package manager, but often the names of packages aren’t exactly named the way you would expect. (Obviously not the fault of apt-get) for example, downloading java isn’t apt-get install java . as for your issue, the name of the svn package in apt-get is subversion.
apt-get install subversion
have fun with your subversion needs!
You must log in to answer this question.
Highly active question. Earn 10 reputation (not counting the association bonus) in order to answer this question. The reputation requirement helps protect this question from spam and non-answer activity.
Установка и настройка сервера SVN (Subversion) на Linux Ubuntu
Опубликовано: 23.09.2022
- Установка.
- Первичная настройка.
- Доступ по http.
- Примеры работы с SVN на клиенте.
Разобьем ознакомление с программным продуктом по шагам:
Подготовка системы
Перед тем, как начать установку и настройку, выполним предварительные действия.
1. Обновление пакетов
Для корректной работы с пакетами в Ubuntu, необходимо, как минимум, обновить кэш:
Также можно выполнить обновление установленных пакетов:
2. Правильное время
Для корректных временных меток в нашем репозитории нужно позаботиться о правильном времени.
Настраиваем временную зону:
timedatectl set-timezone Europe/Moscow
* тут мы указали зону по московскому времени.
Список всех зон можно посмотреть командой:
Устанавливаем утилиту для синхронизации времени и разрешаем запуск демона:
3. Настройка брандмауэра
Если в нашей системе используется брандмауэр, нам необходимо открыть порты 80 и 443 — на них по умолчанию работает веб.
Как правило, в Ubuntu для этого используется iptables:
iptables -I INPUT -p tcp —dport 80 -j ACCEPT
iptables -I INPUT -p tcp —dport 443 -j ACCEPT
Для сохранения правил используем iptables-persistent:
apt install iptables-persistent
Установка SVN и создание репозитория
Начнем с Subversion. Установим следующие пакеты:
apt install subversion subversion-tools
- subversion — собственно, сама система контроля версий.
- subversion-tools — набор утилит для работы с SVN.
Теперь можно создать репозиторий, например, в каталоге /var/lib/svn:
svnadmin create /var/lib/svn/repo1
* где repo1 — имя созданного репозитория.
В данном каталоге должны появиться следующие файлы и папки:
conf db format hooks locks README.txt
Веб-сервер
Для работы с репозиторием SVN используется протокол http. Поднимем веб-сервер Apache.
Установим следующие пакеты:
apt install apache2 apache2-utils libapache2-mod-svn
- apache2 — веб-сервер.
- apache2-utils — набор утилит для работы с apache. В частности, мы будем использовать htpasswd для создания пользователя для авторизации через веб.
- libapache2-mod-svn — модули mod_dav_svn и mod_authz_svn для Apache. Они позволяют реализовать на сервере WebDAV, с помощью которого можно взаимодействовать с репозиториями.
Разрешаем и активируем модули dav и dav_svn:
Открываем на редактирование файл:
DAV svn
SVNParentPath /var/lib/svn
AuthType Basic
AuthName «Subversion Repository»
AuthUserFile /etc/apache2/dav_svn.passwd
Require valid-user
- /var/lib/svn — базовый путь, который мы определили для репозитория.
- /etc/apache2/dav_svn.passwd — файл, в котором будут храниться данные с логинами и паролями для доступа к репозиторию по http.
Перезапускаем сервис командой:
systemctl restart apache2
Создаем первую учетную запись для авторизации по http:
htpasswd -cm /etc/apache2/dav_svn.passwd admin
* в данном примере мы создадим учетную запись admin.
Последующие записи мы создаем без параметра -c:
htpasswd -m /etc/apache2/dav_svn.passwd user2
После вводим дважды пароль:
New password:
Re-type new password:
Adding password for user admin
Выставляем владельца для каталога репозитория:
chown -R www-data:www-data /var/lib/svn
Проверка работы репозитория
Попробуем подключиться к репозиторию с помощью локального клиента и клиента, который установлен на удаленном компьютере.
Локально
Сначала подключимся к репозиторию локально с того же сервера.
Перейдем во временный каталог:
Подключимся к нашему репозиторию и создадим копию в каталоге local:
svn checkout file:///var/lib/svn/repo1
Перейдем в появившейся каталог:
* созданный каталог будет с таким же именем, как и название репозитория.
Увидеть информацию о репозитории можно командой:
Попробуем добавить файл в репозиторий:
svn commit -m ‘Added test file’
* первой командой создаем файл, второй добавляем его в репозиторий, третьей — коммитим и пушим.
С удаленной машины
Для работы с репозиторием по сети, необходимо установить клиента. Рассмотрим это на примере другого компьютера с Ubuntu.
Выполним установку subversion:
Теперь можно подключиться к нашему репозиторию командой:
svn checkout —username admin http://192.168.100.15/svn/repo1/
* где 192.168.100.15 — IP-адрес моего сервера в локальной сети; admin — имя учетной записи, под которой мы будем авторизовываться на веб.
Перейдем в появившейся каталог:
Мы должны увидеть ранее созданный файл test.txt:
Попробуем создать еще один файл и запушим его в репозиторий:
svn commit -m ‘Added second commit’
* обратите внимание, что в данном примере мы используем ключ —force для добавления всех файлов.
Начало работы с SVN на Linux
Добавить в избранное
В сегодняшней статье мы покажем вам, как установить Subversion на Linux VPS, а также некоторые основные команды Subversion. Subversion, или сокращенно SVN является программным обеспечением управления версиями и контроля версий системы с открытым исходным кодом. Это позволяет пользователям поддерживать текущие и версии файлов в истории, таких как исходный код, веб — страниц, документов и других электронных данных.
Во- первых, установим SVN на Linux
Для того чтобы установить SVN, необходимо подключиться к Linux VPS через SSH.
Если вы используете Ubuntu, обновите пакеты ОС и установите SVN на сервере, используя следующие команды:
sudo apt-get update sudo apt-get install svn
Если вы используете CentOS, вы можете использовать следующую команду для обновления пакетов ОС и установки SVN:
yum update yum install svn
Чтобы проверить версию SVN, установленной на вашем сервере, используйте следующую команду:
# svn --version svn, version 1.7.14 (r1542130)
Создайте учетную запись пользователя системы и переключитесь на этого пользователя:
Замените ‘someuser’ на действительное имя пользователя.
Создайте новый каталог для ваших файлов проекта/приложений/веб-сайта:
Создайте хранилище SVN с помощью следующей команды:
sudo svnadmin create /home/someuser/svn/myapp
Установите соответствующие права доступа к файлам. Распределения на основе Debian, выполните следующую команду:
chown -R www-data:subversion myapp chmod -R g+rws myproject
О распределении RPM на основе (при использовании Apache в качестве веб-сервера), выполните следующую команду:
chown -R apache:subversion myapp chmod -R g+rws myproject
Создайте файл ‘passwd’ в каталоге /home/someuser/svn/myapp/conf/passwd на сервере, который содержит информацию о аутентификации пользователя:
sudo htpasswd -c /home/someuser/svn/myapp/conf/passwd someuser
Если вы хотите добавить пользователей, используйте ту же команду, но без переключателя ‘-c‘, чтобы избежать перезаписи файла passwd.
Назначение разрешений для пользователей SVN с помощью файла authz (/home/someuser/svn/myapp/conf/authz):
Создание концептуальных групп, которые вам нужны, а затем добавить к нему пользователей:
[groups] allaccess = someuser someaccess = someuser2
Выберите уровень доступа с обоих разрешений и уровня проекта:
Чтобы дать разрешения для чтения и записи «allaccess» для пользователей, добавьте:
Для того, чтобы дать доступ только для чтения к «someaccess» пользователям к некоторому проекту нижнего уровня, добавьте:
[/someproject] @someaccess = r
Для того, чтобы скопировать неверсионное дерево вашего проекта/файлов веб-сайта и начать отслеживать в вашем хранилище SVN и создать промежуточные каталоги, введите следующие команды:
svn import -m "Initial import" local/path/ https://svn.yourdomain.com/path/to/svn/repo/
Вы можете создать единое хранилище для каждого проекта/сайта на каком — то центральном месте, где вся история.
Чтобы создать рабочую копию в другой локальный каталог, используйте:
svn co https://svn.yourdomain.com/path/to/svn/repo/ /local/path/directory2
Для того, чтобы отправить изменения из рабочей копии в хранилище, используйте:
svn commit -m "добавьте краткую информацию об изменениях здесь">
Используйте команду ‘svn add /path/file’, чтобы добавить файл из рабочей копии в хранилище. Файл будет добавлен в хранилище, когда вы делаете commit SVN.
Чтобы удалить файл из рабочей копии (или хранилище), используйте:
и файл будет удален из хранилища после команды svn commit.
Чтобы обновить изменения из хранилища в рабочую копию, используйте:
При наличии нескольких авторов, работающих над проектом/веб-сайтом, они имеют локальные рабочие копии на нескольких машинах, всегда запускайте команду ‘svn update’ перед внесением изменений в файлы, доступные в вашей рабочей копии. После этого, вносите изменения в файлы, а затем зафиксируйте изменения в хранилище после того, как только файлы будут изменены.
Для того чтобы применить различия между двумя источниками на пути в рабочей копии, используйте:
Для того, чтобы увидеть различия между этими двумя конкретными версиями файла, используйте:
svn diff -r revision1:revision2 filename
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.