วิธีการตั้งค่าเซิร์ฟเวอร์ 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

ติดตั้ง 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 คุณต้องติดตั้งโมดูล 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) สร้าง repo SVN

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

3) ตั้งค่าบัญชีผู้ใช้ SVN

ใช้คำสั่งต่อไปนี้เพื่อสร้างไฟล์ HTTP access authentication "/ 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"
  • ผู้ใช้ "user003" เป็นผู้ฝึกหัดที่สามารถอ่านเนื้อหาของ SVN repo "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

สุดท้ายให้ใช้พา ธ ต่อไปนี้เพื่อเข้าถึง SVN repo "repo1" บนเซิร์ฟเวอร์ของคุณจากไคลเอนต์ SVN:

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

สรุปบทเรียนของเรา ขอบคุณสำหรับการอ่าน.

ฝากความเห็น

วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7 LAMP VPS

วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7 LAMP VPS

เรียนรู้วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7; ระบบการจัดการเนื้อหา Headless ที่มีความยืดหยุ่นสูงและปลอดภัย

ตั้งค่า Nginx บน Ubuntu เพื่อสตรีมวิดีโอสด HLS

ตั้งค่า Nginx บน Ubuntu เพื่อสตรีมวิดีโอสด HLS

เรียนรู้วิธีการตั้งค่า Nginx บน Ubuntu สำหรับการสตรีมวิดีโอสด HLS ด้วยคำแนะนำที่ชัดเจนและเป็นประโยชน์

การสำรองข้อมูลยอดนิยมด้วย Percona XtraBackup บนแอพ WordPress แบบคลิกเดียว

การสำรองข้อมูลยอดนิยมด้วย Percona XtraBackup บนแอพ WordPress แบบคลิกเดียว

เรียนรู้การใช้ Percona XtraBackup สำหรับการสำรองข้อมูลด้วยวิธีที่เป็นระบบและง่ายดายบน WordPress ออนไลน์ของคุณ

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS ซึ่งเป็นโอเพ่นซอร์สและระบบปฏิบัติการฟรีพร้อมเวอร์ชันล่าสุดแล้ว สามารถตอบสนองความต้องการของผู้ใช้ Windows ยุคใหม่และล้ม Microsoft ได้หรือไม่? มาหาข้อมูลเพิ่มเติมเกี่ยวกับรูปแบบเก่านี้ แต่เป็นประสบการณ์ OS ที่ใหม่กว่ากัน

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

การโจมตีของ Ransomware กำลังเพิ่มขึ้น แต่ AI สามารถช่วยจัดการกับไวรัสคอมพิวเตอร์ตัวล่าสุดได้หรือไม่? AI คือคำตอบ? อ่านที่นี่รู้ว่า AI boone หรือ bane

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

ในที่สุด Whatsapp ก็เปิดตัวแอพเดสก์ท็อปสำหรับผู้ใช้ Mac และ Windows ตอนนี้คุณสามารถเข้าถึง Whatsapp จาก Windows หรือ Mac ได้อย่างง่ายดาย ใช้ได้กับ Windows 8+ และ Mac OS 10.9+

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

อ่านข้อมูลนี้เพื่อทราบว่าปัญญาประดิษฐ์กำลังได้รับความนิยมในหมู่บริษัทขนาดเล็กอย่างไร และเพิ่มโอกาสในการทำให้พวกเขาเติบโตและทำให้คู่แข่งได้เปรียบ

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

เมื่อเร็ว ๆ นี้ Apple เปิดตัว macOS Catalina 10.15.4 การอัปเดตเสริมเพื่อแก้ไขปัญหา แต่ดูเหมือนว่าการอัปเดตทำให้เกิดปัญหามากขึ้นที่นำไปสู่การสร้างเครื่อง Mac อ่านบทความนี้เพื่อเรียนรู้เพิ่มเติม

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

คอมพิวเตอร์ของเราจัดเก็บข้อมูลทั้งหมดในลักษณะที่เรียกว่าระบบไฟล์บันทึก เป็นวิธีการที่มีประสิทธิภาพที่ช่วยให้คอมพิวเตอร์สามารถค้นหาและแสดงไฟล์ได้ทันทีที่คุณกดค้นหาhttps://wethegeek.com/?p=94116&preview=true