Apache Subversion juga dikenal sebagai SVN, ini adalah program pengontrol versi dan revisi sumber terbuka yang membantu dalam menyimpan versi file historis saat ini dan sebelumnya seperti dokumen, kode sumber, dan web halaman. SVN berada di bawah Lisensi Apache.
Dalam tutorial ini, kita akan mempelajari cara menginstal &mengkonfigurasi SVN pada RHEL 8 dan Rocky Linux 8. Di sini pengguna yang diautentikasi akan diizinkan untuk melakukan operasi check-in dan checkout pada repositori SVN .
Langkah 1) Instal SVN dan Apache
Paket SVN &Apache (http) tersedia di repositori paket default RHEL 8 dan Rocky Linux 8. Jalankan perintah dnf berikut untuk menginstal paket yang diperlukan,
$ sudo dnf install -y httpd subversion mod_dav_svn
Langkah 2) Edit File Konfigurasi Apache Subversion
Buat file ‘/etc/httpd/conf.d/subversion.conf’ dan tambahkan baris berikut ke dalamnya.
$ sudo vi /etc/httpd/conf.d/subversion.conf <Location /svn> DAV svn SVNParentPath /var/www/svn/ AuthType Basic AuthName "SVN Repository" AuthUserFile /etc/svn/svn-auth-accounts Require valid-user </Location>
Pengaturan di atas hanya akan mengizinkan pengguna yang diautentikasi untuk menggunakan repositori SVN.
Langkah 3) Buat Pengguna SVN melalui perintah htpasswd
Jalankan perintah di bawah ini untuk membuat pengguna untuk SVN melalui perintah htpasswd,
$ sudo htpasswd -cm /etc/svn-auth-accounts linuxtechi New password: Re-type new password: Adding password for user linuxtechi $
Pada perintah htpasswd di atas kita telah menggunakan ‘-c’ &‘-m’ pilihan. -c digunakan untuk membuat file kata sandi (/etc/svn-auth-accounts) dan -m digunakan untuk membuat kata sandi enkripsi MD5 untuk pengguna. Untuk membuat pengguna kedua hapus '-c' dari perintah di atas jika tidak maka akan menimpa file yang ada.
$ sudo htpasswd -m /etc/svn-auth-accounts pkumar New password: Re-type new password: Adding password for user pkumar $
Langkah 4) Buat Repositori SVN
Jalankan perintah berikut satu demi satu untuk membuat repositori svn pertama Anda dan untuk mengatur izin yang diperlukan,
$ sudo mkdir /var/www/svn $ cd /var/www/svn/ $ sudo svnadmin create repo $ sudo chown apache.apache repo/
Catatan:Jika SELinux diaktifkan, terapkan aturan selinux di bawah ini dengan menjalankan,
$ sudo chcon -R -t httpd_sys_content_t /var/www/svn/repo/ $ sudo chcon -R -t httpd_sys_rw_content_t /var/www/svn/repo/
Langkah 5) Mulai dan Aktifkan Layanan Apache
Jalankan perintah systemctl di bawah untuk memulai dan mengaktifkan layanan server web apache.
$ sudo systemctl start httpd $ sudo systemctl enable httpd
Jika firewall diaktifkan di sistem Anda, izinkan port berikut dengan menjalankan,
$ sudo firewall-cmd --permanent --zone=public --add-service=http $ sudo firewall-cmd --permanent --zone=public --add-service=https $ sudo firewall-cmd --reload
Langkah 6) Akses Repo SVN dari Browser Web
Ketik URL berikut di browser web Anda,
http://
Di browser cukup ganti alamat ip dengan IP Server SVN Anda
Langkah 7) Nonaktifkan akses anonim di Repositori SVN
Edit file – /var/www/svn/repo/conf/svnserve.conf, tambahkan dua baris di bawah ini
## Disable Anonymous Access anon-access = none ## Enable Access control authz-db = authz
Langkah 8) Impor Konten Direktori Proyek ke repositori SVN
Mari kita buat direktori proyek sampel pertama kita dan file-nya.
$ mkdir devops $ cd devops/ $ touch testfile_1 ; touch testfile_2 $
Sekarang gunakan perintah SVN untuk mengimpor proyek 'devops' ke repo. Karena kami telah membuat contoh proyek 'devops' di server svn itu sendiri. Jadi jalankan perintah svn berikut,
$ sudo svn import -m "First SVN Repo" devops file:///var/www/svn/repo/devops Adding devops/testfile_1 Adding devops/testfile_2 Committing transaction... Committed revision 1. $
Sekarang Periksa dari Peramban
Langkah 9) Lihat Proyeknya
Dalam kasus saya, saya ingin checkout proyek devops di laptop Ubuntu saya menggunakan perintah SVN. Jadi untuk melakukan operasi checkout, harap buat sistem Anda memiliki paket subversion yang diinstal, jika tidak, gunakan perintah “sudo apt install -y subversion“ untuk menginstal paket yang diperlukan.
$ mkdir svn_data $ svn co http://192.168.1.180/svn/repo/devops/ /home/pkumar/svn_data/ --username linuxtechi A svn_data/testfile_1 A svn_data/testfile_2 Checked out revision 1. $
Langkah 10) Melakukan Perubahan
Setelah membuat perubahan yang diperlukan dalam kode proyek , kita dapat melakukan perubahan ke repo SVN. Dalam kasus saya, saya telah membuat satu file lagi di folder proyek linux.
$ cd svn_data/ $ touch testfile_3 $ svn add testfile_3 --username linuxtechi A testfile_3 $ $ svn commit -m "New File addedd" --username linuxtechi Adding testfile_3 Transmitting file data . Committed revision 2. $
Catatan:Saat melakukan perubahan jika Anda mendapatkan kesalahan di bawah ini
svn:E000013:Komit gagal (detail mengikuti):
svn:E000013:tidak dapat memulai transaksi
Kemudian untuk mengatasi kesalahan ini, pastikan bahwa pengguna Apache telah membaca &menulis akses ke seluruh repositori.
$ cd /var/www/svn/repo $ sudo chown -R apache:apache * $ sudo chmod -R 664 *
Itu saja dari tutorial ini, silakan bagikan umpan balik dan pertanyaan Anda di bagian komentar di bawah ini.