Pengantar
Subversion (atau SVN) adalah sistem kontrol versi perangkat lunak sumber terbuka yang digunakan untuk memelihara dan melacak perubahan pada kode perangkat lunak. Artikel ini akan memandu Anda melalui proses pengaturan server SVN di CentOS 7 yang dapat dijangkau dari komputer lokal Anda. Terakhir, kami akan menguji server tersebut dengan membuat proyek sampel pada klien SVN.
Prasyarat
- Instalasi CentOS 7 yang sudah ada. Jika Anda memerlukan bantuan untuk menyiapkan CentOS 7, lihat cara kami untuk Pengaturan Awal CentOS 7.
- Pengetahuan dasar tentang baris perintah Linux
Menginstal SVN
Langkah pertama untuk menjalankan server Anda adalah menginstal SVN. Di CentOS, ini paling mudah dilakukan menggunakan yum
manajer paket. Jalankan perintah berikut untuk menginstal SVN:
sudo yum install subversion
Tekan y
, saat diminta, untuk mengonfirmasi penginstalan Anda. Setelah selesai, Anda akan melihat "Lengkap!" di terminal. Untuk memverifikasi instalasi, jalankan perintah berikut:
svn --version
Jika dipasang dengan benar, Anda akan melihat pesan singkat yang memberikan detail versi dan informasi hak cipta untuk pemasangan SVN Anda.
.
Membuat Repositori
Sebelum Anda dapat mulai menggunakan SVN, Anda harus memutuskan struktur apa yang Anda perlukan untuk repositori Anda. Untuk tim kecil atau penggunaan pribadi, satu repositori sudah cukup. Jika Anda membutuhkan beberapa repositori, Anda harus mengulangi bagian ini untuk setiap repositori yang Anda butuhkan. Jalankan perintah berikut untuk membuat direktori sistem file di /srv/svn
untuk repositori.
sudo mkdir /srv/svn
Selanjutnya, inisialisasi repositori menggunakan svnadmin
perintah:
sudo svnadmin create /srv/svn
Perintah ini membuat struktur folder yang diperlukan untuk repositori SVN dan beberapa file default.
.
Mengonfigurasi Server
Ada banyak opsi untuk menjalankan server SVN. Untuk tutorial ini, kita akan menggunakan svnserve
bawaan , yang sangat mudah untuk memulai. Opsi ini cocok untuk sebagian besar tim yang tidak memerlukan opsi lanjutan.
.
Membuat Pengguna
cd /srv/svn/conf sudo nano svnserve.conf
Dalam file ini, kami akan menambahkan dua properti. Pertama adalah password-db
yang menunjuk ke file tempat pengguna akan disimpan. Kedua adalah realm
, yang dapat Anda anggap sebagai "namespace" yang digunakan oleh repositori ini. Nama ranah ini akan ditampilkan kepada pengguna selama autentikasi.
[general] password-db = passwd realm = my company
Jika Anda mengedit file konfigurasi yang dibuat sebelumnya, properti ini sudah ada. Anda dapat menghapus simbol komentar (
#
)–dan spasi putih sebelumnya–dan edit tugas agar sesuai dengan di atas atau sesuai keinginan Anda.
.
Dalam /srv/svn/conf
ini direktori, Anda seharusnya sudah melihat passwd
mengajukan. svnadmin
perintah di atas membuat file ini secara otomatis. Tambahkan pengguna sebanyak yang Anda inginkan dengan menentukan nama pengguna dan sandi dalam pasangan nilai kunci. Misalnya:
[users] samantha = secretpassword robert = hunter2
Memulai server
Untuk memulai server, kami menggunakan svnserve
perintah.
sudo svnserve -d -r /srv/svn
-d
switch memulainya sebagai proses latar belakang (daemon). -r
switch mengarahkan server ke lokasi sistem file dari repositori yang kita buat sebelumnya. (Untuk daftar lengkap opsi konfigurasi, jalankan man svnserve
.)
Pastikan untuk menjalankan proses ini sebagai pengguna (root) yang ditinggikan. Jika tidak, pengguna akhir tidak akan dapat melakukan perubahan apa pun ke repositori.
.
Port default untuk svnserve
adalah 3690. Untuk memverifikasi bahwa server SVN sedang berjalan, buka browser dan navigasikan ke http://myserver:3690
(mengganti myserver
dengan nama host atau alamat IP server Anda). Anda akan melihat beberapa teks yang mirip dengan di bawah ini.
Contoh Respon Subversi di Browser
Padahal kita bisa menggunakan
http://
di sini untuk memastikan bahwa server dimulai, kami terutama akan berinteraksi dengan server SVN menggunakansvn://
khusus format URL.
.
Membuat Proyek Uji
Untuk memastikan semuanya sudah diatur dengan benar, kami akan membuat proyek dummy. Mulai sekarang, Anda harus bekerja dari klien yang telah menginstal SVN. Jika Anda tidak memiliki akses mudah ke komputer lain (atau jika Anda menginstal SVN di komputer Anda untuk penggunaan pribadi), Anda tentu saja dapat menggunakan server yang sedang Anda kerjakan.
Mulailah dengan membuat folder proyek uji.
mkdir ~/Documents/my-first-project
Kemudian, jalankan perintah berikut untuk mengimpor direktori tersebut ke SVN. (Sekali lagi, pastikan untuk mengganti myserver
dengan nama host atau IP server SVN Anda.)
svn import ~/Documents/my-first-project svn://myserver:3690/my-first-project -m "Initial commit." --username robert --password hunter2
Ada banyak flag dalam satu perintah itu, jadi mari kita tinjau apa yang dilakukan masing-masing flag tersebut.
import
membuat proyek baru di SVN. Kami menentukan sumber dan kemudian tujuan.-m "Initial commit."
adalah pesan komit kami yang masuk ke SVN.--username
dan--password
adalah detail autentikasi.
Anda mungkin menerima peringatan bahwa kata sandi Anda akan di-cache tidak terenkripsi. Jika komputer klien Anda sudah dilindungi kata sandi, Anda mungkin setuju dengan ini. Namun untuk keamanan yang optimal, Anda dapat memasukkan “tidak” saat diminta untuk
Store password unencrypted
, dan kata sandi Anda tidak akan di-cache. Anda juga dapat mengikuti saran pengaturanstore-plaintext-passwords
(dalam file konfigurasi yang ditunjukkan) ke “no” sehingga Anda tidak diminta lagi.
.
Jika semuanya berjalan dengan baik, Anda akan melihat Committed revision 1
di terminal.
Kesalahan Umum
Berikut adalah beberapa kesalahan yang bisa Anda dapatkan jika ada sesuatu yang tidak dikonfigurasi dengan benar:
- Otentikasi atau otorisasi gagal :Tinjau pengaturan di bawah "Membuat Pengguna". Sangat penting bahwa file konfigurasi ini berada di tempat yang benar dan tidak ada kesalahan ketik.
- Tidak dapat terhubung ke repositori :Pastikan server berjalan dan Anda memulainya dengan
-r
yang benar jalan. - Kesalahan izin file :Pastikan server berjalan dengan izin yang lebih tinggi. Jika Anda tidak yakin,
ps aux
perintah akan menunjukkan kepada Anda pengguna yang menjalankansvnserve
.
.
Kesimpulan
Setelah menyelesaikan tutorial ini, Anda seharusnya dapat:
- Buat repositori SVN dasar di CentOS 7
- Tambahkan pengguna ke repositori
- Mulai server tempat klien dapat mengakses repositori
Ada banyak opsi tambahan yang dapat Anda konfigurasikan dalam penginstalan SVN Anda. Untuk informasi lebih lanjut, lihat Buku SVN, yang memberikan detail lebih mendalam tentang konfigurasi dan pemeliharaan server SVN.
Atlantic.net menawarkan hosting VPS serta layanan hosting terkelola yang mencakup lapisan layanan terkelola yang penting bagi bisnis untuk paket hosting Anda. Hubungi kami hari ini untuk informasi lebih lanjut.