Langkah-langkah yang telah saya lakukan untuk menjadikan laptop saya sebagai server Subversion. Penghargaan harus diberikan kepada AlephZarro untuk arahannya di sini . Saya sekarang memiliki server SVN yang berfungsi (yang saat ini hanya diuji secara lokal).
Pengaturan khusus: Kubuntu 8.04 Hardy Heron
Persyaratan untuk mengikuti panduan ini:
- program pengelola paket apt-get
- editor teks (saya menggunakan kate)
- hak akses sudo
1: Instal server HTTP Apache dan modul yang diperlukan:
sudo apt-get install libapache2-svn apache2
Paket tambahan berikut akan diinstal:
apache2-mpm-worker apache2-utils apache2.2-common
2: Aktifkan SSL
sudo a2enmod ssl
sudo kate /etc/apache2/ports.conf
Tambahkan atau periksa apakah yang berikut ini ada di file:
<IfModule mod_ssl.c>
Listen 443
</IfModule>
3: Buat sertifikat 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: Buat host virtual
sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/svnserver
sudo kate /etc/apache2/sites-available/svnserver
Ubah (di ports.conf):
"NameVirtualHost *" to "NameVirtualHost *:443"
dan (di svnserver)
<VirtualHost *> to <VirtualHost *:443>
Tambahkan, di bawah ServerAdmin (juga di file svnserver):
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/apache.pem
SSLProtocol all
SSLCipherSuite HIGH:MEDIUM
5: Aktifkan situs:
sudo a2ensite svnserver
sudo /etc/init.d/apache2 restart
Untuk mengatasi peringatan:
sudo kate /etc/apache2/apache2.conf
Menambahkan:
"ServerName $your_server_name"
6: Menambahkan repositori: Pengaturan berikut mengasumsikan kita ingin meng-host banyak repositori. Jalankan ini untuk membuat repositori pertama:
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.a. Untuk lebih banyak repositori: lakukan langkah 6 lagi (ubah nilai REPOS), lewati langkah tersebutmkdir /var/svn
7: Tambahkan pengguna yang diautentikasi
sudo htpasswd -c -m /etc/apache2/dav_svn.passwd $user_name
8: Mengaktifkan dan mengonfigurasi WebDAV dan SVN:
sudo kate /etc/apache2/mods-available/dav_svn.conf
Tambahkan atau hapus komentar:
<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: Mulai ulang server apache:
sudo /etc/init.d/apache2 restart
10: Validasi:
Mengaktifkan browser:
http://localhost/svn/$REPOS
https://localhost/svn/$REPOS
Keduanya membutuhkan nama pengguna dan kata sandi. Saya pikir tidak berkomentar:
<LimitExcept GET PROPFIND OPTIONS REPORT>
</LimitExcept>
di /etc/apache2/mods-available/dav_svn.conf
, akan memungkinkan penjelajahan anonim.
Browser menampilkan "Revisi 0: /"
Lakukan sesuatu:
svn import --username $user_name anyfile.txt https://localhost/svn/$REPOS/anyfile.txt -m “Testing”
Terima sertifikat dan masukkan kata sandi. Lihat apa yang baru saja Anda lakukan:
svn co --username $user_name https://localhost/svn/$REPOS
Mengikuti langkah-langkah ini (dengan asumsi saya belum membuat salinan / tempel kesalahan), saya memiliki repositori SVN yang berfungsi di laptop saya.