Предуслови
Корак 1: Ажурирајте систем
Корак 2: Инсталирајте Апацхе
Корак 3: Инсталирајте СВН и модул мод_дав_свн
Корак 4: Конфигуришите СВН
Корак 5: Покрените Апацхе и измените правила заштитног зида
Апацхе Субверсион (СВН) је широко коришћено решење за контролу верзија које помаже у чувању датотека различитих верзија, попут изворног кода и докумената.
У овом чланку ћу вам показати како да користите Апацхе Субверзију и Апацхе за прављење СВН сервера на Вултр ЦентОС 7 серверској инстанци.
Предуслови
- ВМ који покреће ЦентОС 7 (пожељна минимална инсталација, али није неопходна).
- Корисник судо за пријаву. Други Вултр чланак описује детаље о томе како да подесите судо корисника.
Корак 1: Ажурирајте систем
sudo yum update
sudo shutdown -r now
Након поновног покретања, поново се пријавите на систем користећи истог судо корисника.
Корак 2: Инсталирајте Апацхе
Инсталирајте Апацхе користећи ИУМ:
sudo yum install httpd
Уклоните Апацхе-ову подразумевану страницу добродошлице:
sudo sed -i 's/^/#&/g' /etc/httpd/conf.d/welcome.conf
Спречите Апацхе да приказује датотеке у директоријуму „/вар/ввв/хтмл“:
sudo sed -i "s/Options Indexes FollowSymLinks/Options FollowSymLinks/" /etc/httpd/conf/httpd.conf
Корак 3: Инсталирајте СВН и модул мод_дав_свн
Да би СВН радио са Апацхе-ом, потребно је да инсталирате Апацхе модул "мод дав свн" поред СВН-а:
sudo yum install subversion mod_dav_svn
1) Измените СВН конфигурациону датотеку
sudo vi /etc/httpd/conf.modules.d/10-subversion.conf
Датотека треба да гласи:
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
LoadModule dontdothat_module modules/mod_dontdothat.so
Додајте следећи сегмент:
<Location /svn>
DAV svn
SVNParentPath /svn
AuthName "SVN Repos"
AuthType Basic
AuthUserFile /etc/svn/svn-auth
AuthzSVNAccessFile /svn/authz
Require valid-user
</Location>
Сачувај и затвори:
:wq!
Напомена : У овој конфигурацији смо навели ХТТП датотеку за аутентификацију приступа „/етц/свн/свн-аутх“ и датотеку контроле корисничке дозволе „/свн/аутхз“. Оба ће бити креирана касније.
2) Креирајте СВН репо
sudo mkdir /svn
cd /svn
sudo svnadmin create repo1
sudo chown -R apache:apache repo1
3) Подесите СВН корисничке налоге
Користите следеће команде да креирате ХТТП датотеку за аутентификацију приступа „/свн/свн-аутх“ и СВН кориснички налог „усер001“:
sudo mkdir /etc/svn
sudo htpasswd -cm /etc/svn/svn-auth user001
sudo chown root:apache /etc/svn/svn-auth
sudo chmod 640 /etc/svn/svn-auth
Ако желите да креирате више СВН корисничких налога, погледајте следеће команде:
sudo htpasswd -m /etc/svn/svn-auth user002
sudo htpasswd -m /etc/svn/svn-auth user003
Упозорење : Од сада немојте користити ознаку "-ц", или ћете поново направити датотеку за аутентификацију и обрисати све корисничке налоге које сте раније подесили.
4) Дозволе за подешавање за кориснике
sudo cp /svn/repo1/conf/authz /svn/authz
sudo vi /svn/authz
Претпоставити да:
- Корисник "усер001" је администратор.
- Корисник "усер002" је квалификовани корисник који поседује дозволе за читање и писање у СВН репо "репо1".
- Корисник "усер003" је приправник који може да чита само садржај СВН репо "репо1".
Затим можете да измените подешавања на следећи начин:
[groups]
admin=user001
repo1_user=user002
repo1_trainee=user003
[/]
@admin=rw
[repo1:/]
@repo1_user=rw
@repo1_trainee=r
Сачувај и затвори:
:wq!
Корак 5: Покрените Апацхе и измените правила заштитног зида
Покрените Апацхе:
sudo systemctl start httpd.service
sudo systemctl enable httpd.service
Отворите ХТТП сервисни порт:
sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --reload
Коначно, користите следећу путању да приступите СВН репо "репо1" на вашем серверу са СВН клијента:
http://<your-server-ip>/svn/repo1/
Тиме је наш водич завршен. Хвала вам за читање.