Subversion adalah sistem pelacakan versi sumber terbuka. Itu menyimpan file di repositori pusat dan menyediakan kontrol versi atas direktori atau file. Sebagai pengembang, Anda dapat menarik file proyek dari repositori, membuat perubahan, dan mendorongnya kembali.

Subversion juga memiliki komponen server yang dapat Anda gunakan untuk meng-host proyek Anda. Ini bekerja seperti server file biasa.

Cara Memasang Subversi

Subversion mudah dipasang. Anda dapat menggunakan perintah yang sesuai untuk distro Anda untuk memulai:

# Debian, Ubuntu
sudo tepat Install subversi apache2 libapache2-mod-svn

# CentOS, Fedora, RHEL
sudo dnf Install subversi Apache2 mod_dav_svn

Perhatikan bahwa perintah ini juga menginstal server web Apache2. Anda memerlukan server web jika ingin mengakses repositori Subversion melalui HTTP atau WebDAV. Anda juga dapat menggunakan HTTPS, Anda hanya perlu menginstal dan mengonfigurasi sertifikat digital untuk melakukannya.

Setelah Anda menjalankan perintah ini, Anda dapat memeriksa apakah Subversion telah terpasang dengan benar. Anda sekarang harus dapat menjalankan

instagram viewer
svn perintah dan Anda dapat melihat versi saat ini menggunakan --Versi: kapan pilihan:

Konfigurasi Server Dengan Subversion

Jika penginstalan berjalan lancar, Anda sekarang dapat mulai mengerjakan konfigurasi repositori yang akan Anda gunakan svn. Tentu saja, Anda harus membuat repositori baru untuk ini. Pertama, buat folder di direktori root untuk menempatkan repositori Anda:

sudo mkdir /subversion

Jika Anda perlu mengakses repositori Anda menggunakan WebDAV melalui HTTP, Anda harus memberikan Apache kepemilikan direktorinya. Sejak Apache menggunakan www-data pengguna secara default, otorisasi pengguna ini sebagai berikut:

sudo chown www-data: www-data /subversion

Anda sekarang dapat beralih ke www-data pengguna dan mulai mengerjakan repositori Anda. Perintah yang akan Anda gunakan untuk masuk sebagai www-data pengguna adalah:

sudo su -s /bin/bash www-data

Anda sekarang adalah pengguna Apache dan setelah langkah ini, Anda dapat membuat repositori Subversion Anda sebagai berikut:

svnadmin membuat /subversion/myrepo

Anda sekarang memiliki repositori Subversion. Untuk membuat repositori ini sedikit lebih aman dan untuk mengidentifikasi penggunanya, langkah selanjutnya adalah membuat pengguna dan menetapkan kata sandi untuknya. Untuk melakukannya, gunakan perintah berikut:

htpasswd -cmb /subversion/passwd myadmin mypass

Menurut perintah ini, nama pengguna Anda akan menjadi admin saya dan kata sandi Anda akan menjadi pas saya. Anda dapat mengubah nilai-nilai ini menjadi apa pun yang sesuai dengan keadaan Anda.

Repositori Subversion Anda sekarang siap digunakan. Pada tahap ini, Anda dapat keluar dari www-data pengguna dengan menggunakan KELUAR memerintah.

Sekarang Anda dapat mengirim proyek atau file yang diinginkan ke repo Anda menggunakan perintah di bawah ini:

sudo svn impor <alamat-proyek-Anda> file:///subversion/myrepo -m "Komitmen Pertama"

Perintah ini menggunakan impor parameter untuk mendorong semua yang ada di folder proyek Anda ke repositori Subversion Anda. Saat melakukan ini, Anda perlu menambahkan pesan komit dengan -m parameter.

Menggunakan Metode Akses di Subversion

Anda mungkin telah memperhatikan bahwa Anda menggunakan mengajukan:// protokol untuk menambahkan proyek ke repositori Anda. Ini hanyalah salah satu dari beberapa protokol jaringan yang dapat Anda gunakan untuk mengakses repositori svn. Anda juga dapat menggunakan protokol WebDAV melalui HTTP atau HTTPS, atau kebiasaan subversi svn protokol.

Akses Langsung ke Repositori

Seperti yang Anda lihat, Anda dapat menggunakan mengajukan:// protokol untuk mengakses repositori lokal. Inilah cara Anda dapat checkout repo lokal ke direktori Anda saat ini:

file bersama svn:///subversion/myrepo

Saat Anda memeriksa repo, svn menampilkan daftar file yang dikandungnya:

Mengakses Menggunakan WebDAV

Untuk mengintegrasikan repositori Subversion Anda dengan Apache, Anda harus mengonfigurasi beberapa pengaturan.

Untuk langkah pertama, aktifkan dav, dav_svn, dan dav_fs modul menggunakan perintah berikut:

sudo a2enmod dav dav_fs dav_svn

Setelah mengaktifkan modul yang diperlukan, Anda sekarang dapat mengedit /etc/apache2/mods-enabled/dav_svn.conf mengajukan. Buat file tersebut jika belum ada, dan ubah isinya sebagai berikut:

<Lokasi / subversi>
DAV svn
SVNPath /Subversion/myrepo
AuthType Dasar
NamaOtentikasi "Gudang Subversi"
AuthUserFile /Subversion/passwd
Memerlukan valid-pengguna
</Location>

Itu FilePenggunaOtentik pengaturan referensi file yang Anda buat sebelumnya menggunakan htpasswd. Menambahkannya di sini akan memberikan akses repositori ke semua pengguna yang disebutkan dalam file, asalkan mereka mengautentikasi dengan kata sandi yang valid.

Setelah Anda membuat dan menyimpan file ini, mulai ulang layanan Apache2 dengan perintah berikut:

sudosistemctlmengulang kembaliapache2.melayani

Sekarang, ketika Anda membuka browser web dan pergi ke http://localhost/subversion/, Anda akan melihat konten repositori Anda. Ketika Anda pergi ke alamat ini, ia akan meminta nama pengguna dan kata sandi Anda:

Masuk dengan nama pengguna (mis. admin saya) dan kata sandi (pas saya) yang Anda atur sebelumnya. Anda dapat mengakses repositori Subversion Anda menggunakan WebDAV setelah memasukkan nama pengguna dan kata sandi:

Mengakses Dengan SSL dan WebDAV

Itu https:// protokol memiliki konfigurasi yang hampir sama dengan http:// protokol, dengan hanya beberapa perbedaan penting. Untuk memberikan contoh, .conf file yang perlu Anda gunakan selama konfigurasi berbeda. Anda juga perlu menginstal sertifikat digital. Karena seperti yang Anda tahu, ini adalah logika kerja dari Metode enkripsi SSL.

Kamu bisa buat sertifikat digital sendiri, atau Anda dapat memasangnya yang dikeluarkan oleh otoritas yang berwenang. Dengan asumsi Anda telah menginstal sertifikat digital, yang perlu Anda lakukan adalah sederhana.

Perbedaan pada langkah ini adalah perubahan yang akan Anda buat pada file konfigurasi. Di bawah ini adalah contoh file konfigurasi untuk penggunaan SSL dan WebDAV:

<Lokasi / subversi>
DAV Aktif
SSLMemerlukanSSL
Pilihan Tidak ada
AuthType Dasar
NamaOtentikasi "Gudang Subversi"
AuthUserFile /Subversion/passwd
Memerlukan valid-pengguna
</Location>

Seperti yang Anda lihat, perbedaan antara https:// dan http:// protokol tidak banyak dalam hal perubahan dalam file konfigurasi. Setelah perubahan ini, Anda harus memulai ulang apache2 melayani. Lari systemctl restart Apache2.service untuk melakukannya.

Mengapa Menggunakan Subversi?

Sebagai pelacak versi, Subversion mengingat setiap perubahan yang dilakukan pada file dan direktori. Ini memungkinkan Anda mengakses versi lama perangkat lunak atau dokumen yang sedang Anda kerjakan dan menemukan perbedaannya. Ini mempermudah pengelolaan proyek, terutama jika tim pengembangan Anda besar atau terdistribusi.

Ada banyak sistem kontrol versi untuk Linux selain Subversion, yang mungkin ingin Anda pertimbangkan.