ขั้นตอนที่ฉันได้ดำเนินการเพื่อทำให้แล็ปท็อปเป็นเซิร์ฟเวอร์ Subversion เครดิตจะต้องไปAlephZarroสำหรับเส้นทางของเขาที่นี่ ตอนนี้ฉันมีเซิร์ฟเวอร์ SVN ที่ใช้งานได้แล้ว (ซึ่งขณะนี้ได้รับการทดสอบในเครื่องเท่านั้น)
การตั้งค่าเฉพาะ: Kubuntu 8.04 Hardy Heron
ข้อกำหนดในการปฏิบัติตามคู่มือนี้:
- โปรแกรม apt-get package manager
- โปรแกรมแก้ไขข้อความ (ฉันใช้ kate)
- สิทธิ์การเข้าถึง sudo
1: ติดตั้งเซิร์ฟเวอร์ Apache HTTP และโมดูลที่ต้องการ:
sudo apt-get install libapache2-svn apache2
จะมีการติดตั้งแพ็คเกจพิเศษต่อไปนี้:
apache2-mpm-worker apache2-utils apache2.2-common
2: เปิดใช้งาน SSL
sudo a2enmod ssl
sudo kate /etc/apache2/ports.conf
เพิ่มหรือตรวจสอบว่าสิ่งต่อไปนี้อยู่ในไฟล์:
<IfModule mod_ssl.c>
Listen 443
</IfModule>
3: สร้างใบรับรอง SSL:
sudo apt-get install ssl-cert
sudo mkdir /etc/apache2/ssl
sudo /usr/sbin/make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/apache2/ssl/apache.pem
4: สร้างโฮสต์เสมือน
sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/svnserver
sudo kate /etc/apache2/sites-available/svnserver
เปลี่ยน (ใน ports.conf):
"NameVirtualHost *" to "NameVirtualHost *:443"
และ (ใน svnserver)
<VirtualHost *> to <VirtualHost *:443>
เพิ่มภายใต้ ServerAdmin (เช่นในไฟล์ svnserver):
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/apache.pem
SSLProtocol all
SSLCipherSuite HIGH:MEDIUM
5: เปิดใช้งานไซต์:
sudo a2ensite svnserver
sudo /etc/init.d/apache2 restart
เพื่อเอาชนะคำเตือน:
sudo kate /etc/apache2/apache2.conf
เพิ่ม:
"ServerName $your_server_name"
6: การเพิ่มที่เก็บ (ies): การตั้งค่าต่อไปนี้ถือว่าเราต้องการโฮสต์หลายที่เก็บ เรียกใช้สิ่งนี้เพื่อสร้างที่เก็บแรก:
sudo mkdir /var/svn
REPOS=myFirstRepo
sudo svnadmin create /var/svn/$REPOS
sudo chown -R www-data:www-data /var/svn/$REPOS
sudo chmod -R g+ws /var/svn/$REPOS
6. ก. สำหรับที่เก็บเพิ่มเติม: ทำขั้นตอนที่ 6 อีกครั้ง (เปลี่ยนค่าของ REPOS) โดยข้ามขั้นตอนmkdir /var/svn
7: เพิ่มผู้ใช้ที่พิสูจน์ตัวตน
sudo htpasswd -c -m /etc/apache2/dav_svn.passwd $user_name
8: เปิดใช้งานและกำหนดค่า WebDAV และ SVN:
sudo kate /etc/apache2/mods-available/dav_svn.conf
เพิ่มหรือไม่แสดงความคิดเห็น:
<Location /svn>
DAV svn
# for multiple repositories - see comments in file
SVNParentPath /var/svn
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/apache2/dav_svn.passwd
Require valid-user
SSLRequireSSL
</Location>
9: รีสตาร์ทเซิร์ฟเวอร์ apache:
sudo /etc/init.d/apache2 restart
10: การตรวจสอบความถูกต้อง:
เปิดเบราว์เซอร์:
http://localhost/svn/$REPOS
https://localhost/svn/$REPOS
ทั้งคู่ต้องใช้ชื่อผู้ใช้และรหัสผ่าน ฉันคิดว่าไม่แสดงความคิดเห็น:
<LimitExcept GET PROPFIND OPTIONS REPORT>
</LimitExcept>
ใน/etc/apache2/mods-available/dav_svn.conf
จะอนุญาตให้เรียกดูโดยไม่ระบุชื่อ
เบราว์เซอร์แสดง "Revision 0: /"
กระทำบางสิ่ง:
svn import --username $user_name anyfile.txt https://localhost/svn/$REPOS/anyfile.txt -m “Testing”
ยอมรับใบรับรองและป้อนรหัสผ่าน ตรวจสอบสิ่งที่คุณเพิ่งทำ:
svn co --username $user_name https://localhost/svn/$REPOS
ทำตามขั้นตอนเหล่านี้ (สมมติว่าฉันไม่ได้ทำสำเนา / วางข้อผิดพลาดใด ๆ ) ฉันมีที่เก็บ SVN ที่ใช้งานได้บนแล็ปท็อปของฉัน