نحوه راه اندازی سرور Apache Subversion (SVN) در CentOS 7

Apache Subversion (SVN) یک راه حل کنترل نسخه گسترده است که به ذخیره فایل های نسخه های مختلف مانند کد منبع و اسناد کمک می کند.

در این مقاله ، من به شما نحوه استفاده از Apache Subversion و Apache را برای ساختن یک سرور SVN روی نمونه سرور Vultr CentOS 7 به شما نشان خواهم داد.

پیش نیازها

  • VM در حال اجرا CentOS 7 (نصب حداقل ترجیح دارد ، اما لازم نیست).
  • یک کاربر سودو برای ورود به سیستم مقاله دیگر Vultr جزئیات مربوط به نحوه تنظیم کاربر سودو را توضیح می دهد.

مرحله 1: سیستم را به روز کنید

sudo yum update
sudo shutdown -r now

پس از راه اندازی مجدد ، با استفاده از همان کاربر سودو دوباره وارد سیستم شوید.

مرحله 2: Apache را نصب کنید

Apache را با استفاده از YUM نصب کنید:

sudo yum install httpd

صفحه استقبال پیش فرض Apache را حذف کنید:

sudo sed -i 's/^/#&/g' /etc/httpd/conf.d/welcome.conf

از نمایش فایلهای Apache در فهرست "/ var / www / html" جلوگیری کنید:

sudo sed -i "s/Options Indexes FollowSymLinks/Options FollowSymLinks/" /etc/httpd/conf/httpd.conf

مرحله 3: SVN و ماژول mod_dav_svn را نصب کنید

برای اینکه SVN با Apache انجام شود ، باید علاوه بر SVN ، ماژول آپاچی "mod dav svn" را نیز نصب کنید :

sudo yum install subversion mod_dav_svn

مرحله 4: پیکربندی SVN

1) پرونده پیکربندی SVN را تغییر دهید

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!

توجه : در این پیکربندی ، ما یک پرونده احراز هویت دسترسی HTTP "/ etc / svn / svn-auth" و یک فایل کنترل اجازه کاربر "/ svn / authz" را مشخص کردیم. هر دوی آنها بعداً ایجاد می شوند.

2) یک repo SVN ایجاد کنید

sudo mkdir /svn
cd /svn
sudo svnadmin create repo1
sudo chown -R apache:apache repo1

3) تنظیم حساب های کاربری SVN

از دستورات زیر برای ایجاد پرونده تأیید دسترسی HTTP "/ svn / svn-auth" و یک حساب کاربری SVN "user001" استفاده کنید:

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

اگر می خواهید حساب کاربری SVN بیشتری ایجاد کنید ، به دستورات زیر مراجعه کنید:

sudo htpasswd -m /etc/svn/svn-auth user002
sudo htpasswd -m /etc/svn/svn-auth user003

هشدار : از این پس از پرچم "-c" استفاده نکنید ، یا پرونده احراز هویت را مجدداً بازسازی کرده و کلیه حسابهای کاربری را که قبلاً تنظیم کرده اید پاک کنید.

4) مجوزهای تنظیم را برای کاربران تنظیم کنید

sudo cp /svn/repo1/conf/authz /svn/authz
sudo vi /svn/authz

فرض کن که:

  • کاربر "user001" سرپرست است.
  • کاربر "user002" یک کاربر واجد شرایط است که مالکیت مجوزهای خواندن و نوشتن را برای repo SVN "repo1" دارد.
  • کاربر "user003" کارآموز است که فقط می تواند محتوای repo SVN "repo1" را بخواند.

سپس می توانید تنظیمات را به شرح زیر تغییر دهید:

[groups]
admin=user001
repo1_user=user002
repo1_trainee=user003

[/]
@admin=rw

[repo1:/]
@repo1_user=rw
@repo1_trainee=r

ذخیره نموده و خارج شوید:

:wq!

مرحله 5: Apache را شروع کرده و قوانین فایروال را اصلاح کنید

شروع Apache:

sudo systemctl start httpd.service
sudo systemctl enable httpd.service

پورت سرویس HTTP را باز کنید:

sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --reload

سرانجام ، برای دسترسی به repo SVN "repo1" روی سرور خود از یک سرویس دهنده SVN ، از مسیر زیر استفاده کنید:

http://<your-server-ip>/svn/repo1/

این نتیجه گیری آموزش ما است. ممنون که خوندید

یک نظر بگذارید

نحوه نصب Anchor CMS بر روی یک VPS Fedora 26 LAMP

نحوه نصب Anchor CMS بر روی یک VPS Fedora 26 LAMP

با استفاده از یک سیستم متفاوت؟ Anchor CMS یک سیستم مدیریت محتوا (CMS) بسیار ساده و بسیار سبک ، بسیار آزاد و آزاد است.

اشتراک NFS را در Debian تنظیم کنید

اشتراک NFS را در Debian تنظیم کنید

NFS یک سیستم فایل مبتنی بر شبکه است که به رایانه ها اجازه می دهد تا از طریق شبکه رایانه ای به فایلها دسترسی پیدا کنند. این راهنما توضیح می دهد که چگونه می توانید پوشه ها را روی NF قرار دهید

نحوه بروزرسانی CentOS 7 ، Ubuntu 16.04 و Debian 8

نحوه بروزرسانی CentOS 7 ، Ubuntu 16.04 و Debian 8

هنگام راه اندازی سرور جدید لینوکس ، به روزرسانی سیستم های هسته و سایر بسته ها تا آخرین نسخه پایدار یک روش توصیه شده است. در این مقاله

نحوه نصب بستر سبد خرید LiteCart در اوبونتو 16.04

نحوه نصب بستر سبد خرید LiteCart در اوبونتو 16.04

LiteCart یک بستر سبد خرید آزاد و منبع باز است که به زبان های PHP ، jQuery و HTML 5 نوشته شده است. این نرم افزار ساده ، سبک و با کاربرد آسان است.

نحوه نصب Matomo Analytics در Fedora 28

نحوه نصب Matomo Analytics در Fedora 28

با استفاده از یک سیستم متفاوت؟ Matomo (سابقا پیویک) یک بستر تحلیلی منبع باز است ، یک جایگزین باز برای Google Analytics. منبع Matomo میزبان o

یک سرور TeamTalk را در لینوکس تنظیم کنید

یک سرور TeamTalk را در لینوکس تنظیم کنید

TeamTalk یک سیستم کنفرانس است که به کاربران امکان می دهد مکالمات صوتی / تصویری با کیفیت بالا ، چت متنی ، انتقال فایل ها و صفحه های به اشتراک بگذارند. من

با استفاده از کلید SSH خود برای ورود به کاربران غیر ریشه استفاده کنید

با استفاده از کلید SSH خود برای ورود به کاربران غیر ریشه استفاده کنید

Vultr یک ویژگی را فراهم می کند که به شما امکان می دهد با ایجاد یک نمونه جدید ، کلیدهای SSH را از قبل نصب کنید. این اجازه می دهد تا به کاربر root دسترسی داشته باشید ، با این حال ، th

نحوه نصب انجمن NodeBB در FreeBSD 12

نحوه نصب انجمن NodeBB در FreeBSD 12

با استفاده از یک سیستم متفاوت؟ NodeBB یک نرم افزار انجمن مبتنی بر Node.js است. از سوکت های وب برای تعامل فوری و اعلامیه های زمان واقعی استفاده می کند. NodeB

نحوه نصب Ranger Terminal File Manager در لینوکس

نحوه نصب Ranger Terminal File Manager در لینوکس

رنجر یک مدیر فایل مبتنی بر خط فرمان است که دارای کلیدهای اتصال VI است. این برنامه یک رابط لعنتی مینیمالیستی و زیبا با نمای سلسله مراتب فهرست ارائه می دهد

نصب و راه اندازی ZNC در اوبونتو

نصب و راه اندازی ZNC در اوبونتو

ZNC یک پیشرانه پیشرفته شبکه IRC است که تمام وقت بهم متصل می شود تا مشتری IRC بتواند بدون از دست دادن جلسه گپ قطع یا وصل شود.