كيفية إعداد خادم Apache Subversion (SVN) على CentOS 7

Apache Subversion (SVN) هو حل للتحكم في الإصدارات يستخدم على نطاق واسع ويساعد في تخزين ملفات من إصدارات مختلفة ، مثل التعليمات البرمجية المصدر والمستندات.

في هذه المقالة ، سأوضح لك كيفية استخدام Apache Subversion و Apache لإنشاء خادم SVN على مثيل خادم Vultr CentOS 7.

المتطلبات الأساسية

  • VM يقوم بتشغيل CentOS 7 (يفضل التثبيت الأدنى ، ولكن غير مطلوب).
  • مستخدم sudo لتسجيل الدخول. تصف مقالة Vultr أخرى تفاصيل حول كيفية إعداد مستخدم sudo.

الخطوة 1: تحديث النظام

sudo yum update
sudo shutdown -r now

بعد إعادة التشغيل ، قم بتسجيل الدخول إلى النظام مرة أخرى باستخدام نفس مستخدم sudo.

الخطوة 2: تثبيت أباتشي

تثبيت Apache باستخدام YUM:

sudo yum install httpd

إزالة صفحة الترحيب الافتراضية لأباتشي:

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

امنع أباتشي من عرض الملفات في دليل "/ var / www / html":

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

الخطوة 3: قم بتثبيت SVN ووحدة mod_dav_svn

لجعل SVN يعمل مع Apache ، تحتاج إلى تثبيت وحدة Apache "mod dav svn" بالإضافة إلى 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) إنشاء الريبو 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" هو مستخدم مؤهل يمتلك أذونات القراءة والكتابة إلى repo1 "repo1" لـ SVN.
  • المستخدم "user003" هو متدرب يمكنه فقط قراءة محتويات SVN repo "repo1".

ثم يمكنك تعديل الإعدادات على النحو التالي:

[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

افتح منفذ خدمة HTTP:

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

أخيرًا ، استخدم المسار التالي للوصول إلى SVN repo "repo1" على خادمك من عميل SVN:

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

بهذا نختتم برنامجنا التعليمي. شكرا لقرائتك.

اترك تعليقاً

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

وظائف طبقات معمارية مرجعية للبيانات الضخمة

وظائف طبقات معمارية مرجعية للبيانات الضخمة

اقرأ المدونة لمعرفة الطبقات المختلفة في بنية البيانات الضخمة ووظائفها بأبسط طريقة.

6 أشياء شديدة الجنون حول نينتندو سويتش

6 أشياء شديدة الجنون حول نينتندو سويتش

يعرف الكثير منكم أن Switch سيصدر في مارس 2017 وميزاته الجديدة. بالنسبة لأولئك الذين لا يعرفون ، قمنا بإعداد قائمة بالميزات التي تجعل "التبديل" "أداة لا غنى عنها".

وعود التكنولوجيا التي لم يتم الوفاء بها بعد

وعود التكنولوجيا التي لم يتم الوفاء بها بعد

هل تنتظر عمالقة التكنولوجيا للوفاء بوعودهم؟ تحقق من ما تبقى دون تسليم.

كيف يمكن للذكاء الاصطناعي نقل أتمتة العمليات إلى المستوى التالي؟

كيف يمكن للذكاء الاصطناعي نقل أتمتة العمليات إلى المستوى التالي؟

اقرأ هذا لمعرفة مدى انتشار الذكاء الاصطناعي بين الشركات الصغيرة وكيف أنه يزيد من احتمالات نموها ومنح منافسيها القدرة على التفوق.

التفرد التكنولوجي: مستقبل بعيد للحضارة الإنسانية؟

التفرد التكنولوجي: مستقبل بعيد للحضارة الإنسانية؟

مع تطور العلم بمعدل سريع ، واستلام الكثير من جهودنا ، تزداد أيضًا مخاطر تعريض أنفسنا إلى تفرد غير قابل للتفسير. اقرأ ، ماذا يمكن أن يعني التفرد بالنسبة لنا.

CAPTCHA: ما هي المدة التي يمكن أن تظل تقنية قابلة للتطبيق للتميز بين الإنسان والذكاء الاصطناعي؟

CAPTCHA: ما هي المدة التي يمكن أن تظل تقنية قابلة للتطبيق للتميز بين الإنسان والذكاء الاصطناعي؟

لقد أصبح حل CAPTCHA صعبًا جدًا على المستخدمين في السنوات القليلة الماضية. هل ستكون قادرة على أن تظل فعالة في اكتشاف البريد العشوائي والروبوتات في المستقبل القريب؟

التطبيب عن بعد والرعاية الصحية عن بعد: المستقبل هنا

التطبيب عن بعد والرعاية الصحية عن بعد: المستقبل هنا

ما هو التطبيب عن بعد والرعاية الصحية عن بعد وأثره على الأجيال القادمة؟ هل هو مكان جيد أم لا في حالة الوباء؟ اقرأ المدونة لتجد طريقة عرض!

هل تساءلت يومًا كيف يربح المتسللون الأموال؟

هل تساءلت يومًا كيف يربح المتسللون الأموال؟

ربما سمعت أن المتسللين يكسبون الكثير من المال ، لكن هل تساءلت يومًا كيف يجنون هذا النوع من المال؟ دعنا نناقش.

يتسبب التحديث الإضافي لنظام macOS Catalina 10.15.4 في حدوث مشكلات أكثر من حلها

يتسبب التحديث الإضافي لنظام macOS Catalina 10.15.4 في حدوث مشكلات أكثر من حلها

أصدرت Apple مؤخرًا macOS Catalina 10.15.4 تحديثًا تكميليًا لإصلاح المشكلات ولكن يبدو أن التحديث يتسبب في المزيد من المشكلات التي تؤدي إلى إنشاء أجهزة macOS. قراءة هذه المادة لمعرفة المزيد