Нам потребуется установить svn сервер.
sudo apt-get install subversion libapache2-svn
Поясню:
- subversion – svn сервер
- libapache2-svn – библиотека, которая добавляет модуль апача для его интеграции с svn
И на всякий случай уточню, что sudo означает, что команда запускается с права root’а. Вы можете в консоли предвариетльно просто написать su, ввести пароль и потом выполнять эту и последующие аналогичные команды без приставки sudo.
Теперь добавляем нового пользователя и группу SVN
sudo groupadd svn
sudo useradd -m -d /srv/svn/ -g svn svn
Тут первой строкой мы создали группу svn. А второй строкой мы создали пользователя svn и сразу добавили его в группу svn. Поясню про флаги команды useradd:
- -m -d /srv/svn – автоматическое создание домашнего каталога (флаг -m) и установка этого каталога как базового (-d) . В эту папку мы позже положим конфиги svn и репозитории так же будем тут размещать.
- -g svn— добавить нового пользователя в группу svn
- svn – имя пользователя
su – svn
mkdir /srv/svn/repositories/
mkdir /srv/svn/repositories/firstproject/
svnadmin create /srv/svn/repositories/firstproject/
Первой строкой мы перелогинились под пользователя svn. Затем создаём папку repositories. В этой папке будут храниться наши репозитории. Далее создали папку для нашего первого проекта. И наконец командой svnadmin create /srv/svn/repositories/firstproject/ мы создаём новый пустой репозиторий для нашего проекта по указанному пути.
Теперь создаём конфиги для нашего SVN сервера.
su – svn
mkdir /srv/svn/conf/
cd /srv/svn/conf/
touch apache.conftouch users-access-file
При помощи команды touch мы просто создаём новый пустой файл.
Теперь содержимое этих файлов:
/srv/svn/conf/apache.conf
<Location /svn/>
Allow from all
DAV svn
SVNParentPath /srv/svn/repositories/
# our access control policy
AuthzSVNAccessFile /srv/svn/conf/users-access-file
#try anonymous access first, resort to real
#authentication if necessary.
Satisfy Any
Require valid-user
# how to authenticate a user
AuthType Basic
AuthName «Subversion repository on yas-desktop»
AuthUserFile /srv/svn/conf/passwd
</Location>
Вкратце по директивам.
- SVNParentPath /srv/svn/repositories/ – указываем путь к репозиториям
- AuthzSVNAccessFile /srv/svn/conf/users-access-file – путь к файлу, в котором указывается какого пользователя к какому проекту и с какими правами пускать (ниже будет чуть подробнее)
- AuthUserFile /srv/svn/conf/passwd – в этом файле хранятся зашифрованные пароли пользователей. Этот файл мы чуть ниже создадим при помощи утилитки htpasswd.
/srv/svn/conf/users-access-file
[/]
* =
[firstproject:/]
yas = rw
Первыми двумя строками мы запрещаем доступ анонимам к репозиториям. Т.е. мы как быговорим: «всем (*) доступ к корню репозиториев ([/]) пустой (т.к. после знака равно мы ничего не указали. А если бы там было r, то это означает чтение; w – запись)».
А затем мы даём для пользователя yas доступ на чтение и запись к репозиторию.Подробнее про то, как можно задавать различные права для разных пользователей и как создавать для удобства группы пользователей читайте тут
Идём дальше. Чтобы пользователь yas получил туда доступ, ему будети предложено авторизоваться. Для этого надо установить для него пароль. А для этого мы создадим файл /srv/svn/passwd (мы указывали этот файл в apache.conf для авторизации) при помощи утилиты htpasswd
Создаём /srv/svn/conf/passwd
su svn
htpasswd -c -m /srv/svn/conf/passwd yas
по флагам:
- -m – метод криптования будт использован MD5
- -c – означает, что файл надо создать. Используйте этот флагш только для того, чтобы создать этот файл впервые. Далее для добавления пользхователей используйте команду
htpasswd -m /srv/svn/conf/passwd newusername
- /srv/svn/conf/passwd – путь к файлу, куда сохранять пароль
- yas – имя пользователя
После ввода этой команды вам будет предложено ввести два раза пароль для вашего пользователя.
Теперь нам надо, чтобы апач загрузил к себе наш конфиг apache.conf . Для этого в конфиг apache (как правило этого/etc/apache2/httpd.conf) добавляем строчку
Include /srv/svn/conf/apache.conf
Теперь делаем reload для apache:
sudo /etc/init.d/apache2 reload
На этом всё. Если всё сделано правильно, то ваши репозитории будут доступны по адресу http://localhost/svn/имя_репозитория/ Например http://localhost/svn/firstproject/ Ну и по сети соответственно ваши репозитории тоже могут быть доступны теперь.
Wow, marvelous weblog format! How long have you ever been blogging for?
you make running a blog glance easy. The total look of your website is
magnificent, let alone the content! You can see similar here sklep internetowy
Write more, thats all I have to say. Literally, it seems as though you relied on the video to make your
point. You clearly know what youre talking about, why throw away your intelligence
on just posting videos to your blog when you could be giving us something informative to read?
I saw similar here: Sklep internetowy
Great website. Plenty of helpful information here.
I am sending it to a few buddies ans additionally sharing in delicious.
And of course, thank you in your sweat! I saw similar here:
Ecommerce
Hey there! Do you know if they make any plugins to help with Search Engine
Optimization? I’m trying to get my blog to rank for some
targeted keywords but I’m not seeing very good gains.
If you know of any please share. Appreciate it!
You can read similar blog here: Sklep internetowy
Hey! Do you know if they make any plugins to assist with SEO?
I’m trying to get my blog to rank for some targeted keywords but I’m not seeing very good gains.
If you know of any please share. Thanks! You can read similar blog here: Backlink Portfolio
hello there and thank you for your information – I have certainly picked up something
new from right here. I did however expertise several technical
issues using this site, as I experienced to reload the website a lot of times previous to I could get
it to load correctly. I had been wondering if your web host is OK?
Not that I’m complaining, but sluggish loading instances
times will often affect your placement in google and could damage your quality score if advertising and
marketing with Adwords. Well I’m adding this RSS to my email and
could look out for much more of your respective intriguing content.
Ensure that you update this again soon.. Lista escape roomów
This article was a great read! It managed to break down complex ideas into easily understandable concepts. Im really interested in seeing how this topic evolves. For those who want to delve deeper, check out my profile by clicking on my nickname!
I like this web site it’s a master piece! Glad I noticed this on google.!
Very great information can be found on weblog.!
This site really has all of the information and facts I wanted concerning this subject and didn’t know who to ask.
Next time I read a blog, Hopefully it doesn’t fail me as much as this particular one. I mean, I know it was my choice to read, however I really thought you’d have something interesting to talk about. All I hear is a bunch of complaining about something that you could possibly fix if you weren’t too busy looking for attention.
Nice post. I learn something new and challenging on blogs I stumbleupon every day. It will always be helpful to read through content from other writers and practice something from other sites.
I could not resist commenting. Perfectly written!
Aw, this was a very good post. Taking a few minutes and actual effort to make a top notch article… but what can I say… I procrastinate a whole lot and never seem to get anything done.
I must thank you for the efforts you’ve put in writing this website. I am hoping to check out the same high-grade content by you in the future as well. In truth, your creative writing abilities has inspired me to get my own blog now ;)
Having read this I believed it was very informative. I appreciate you taking the time and energy to put this content together. I once again find myself spending a lot of time both reading and posting comments. But so what, it was still worth it!
Great info. Lucky me I ran across your blog by accident (stumbleupon). I’ve book-marked it for later.
Spot on with this write-up, I absolutely feel this amazing site needs far more attention. I’ll probably be back again to see more, thanks for the advice.
Hello there! I just would like to offer you a huge thumbs up for the great information you have here on this post. I will be coming back to your web site for more soon.