Panduan Utama untuk Menyiapkan Apache Subversion SVN dan TortoisesVN untuk Kontrol Versi

Panduan Utama untuk Menyiapkan Apache Subversion SVN dan TortoisesVN untuk Kontrol Versi

Jika pekerjaan Anda memerlukan dokumen penanganan, halaman web, dan jenis file lain yang diperbarui secara berkala, Anda mungkin ingin menggunakan mekanisme kontrol versi jika Anda belum melakukannya.

Antara lain, ini memungkinkan Anda (dan sekelompok kolaborator potensial juga) untuk melacak perubahan yang dilakukan pada file tertentu, dan memungkinkan Anda kembali ke versi sebelumnya jika masalah ditemui atau ketika pembaruan belum menghasilkan hasil yang diharapkan.

Dalam ekosistem perangkat lunak gratis, sistem kontrol versi yang paling digunakan secara terang-terangan disebut Subversi Apache (atau Svn Ringkasnya). Dengan bantuan mod_dav_svn (Modul Apache untuk subversi), Anda dapat mengakses repositori subversion menggunakan HTTP dan server web.

Yang mengatakan, mari kita gulung lengan baju kita dan instal alat -alat ini di a Rhel / centos 7, Fedora 22-24, Debian 8/7 Dan Ubuntu 16.04-15.04 server. Untuk tes kami, kami akan menggunakan a Centos 7 server dengan IP 192.168.0.100.

Di sisi klien (a Windows 7 mesin), kami akan menginstal dan menggunakan Tortoisesvn (yang didasarkan pada subversi Apache) sebagai antarmuka ke SVN.

Lingkungan pengujian kami

Server - Centos 7 Alamat IP - 192.168.0.100 Klien - Windows 7 

Langkah 1 - Menginstal dan Mengkonfigurasi SVN di Linux

Seperti yang baru saja kami sebutkan, kami akan mengandalkan Apache untuk mengakses repositori SVN menggunakan antarmuka web. Jika belum diinstal, pastikan untuk menambahkannya ke daftar paket seperti yang ditunjukkan di bawah ini:

------------------ Di centos / rhel / fedora ------------------ # yum update && yum install mod_dav_svn subversion httpd -y ------------------ Di debian / ubuntu ------------------ # apt-get update && apt-get install libapache2-svn subversion apache2 -y 

Selama pemasangan Centos 7, File konfigurasi Apache untuk SVN akan dibuat sebagai /etc/httpd/conf.modul.D/10-subversi.conf. Buka file dan tambahkan blok konfigurasi berikut:

/etc/httpd/conf.modul.D/10-subversi.conf
 Dav svn svnparentpath/webrv/svn authtype dasar authname "selamat datang ke svn" authuserfile/etc/httpd/subversion-auth memerlukan pengguna yang valid  
Konfigurasikan modul Apache SVN

Catatan: Pada Debian / Ubuntu Anda perlu menambahkan baris di bawah ini ke /etc/apache2/mods-enabled/dav_svn.conf mengajukan.

/etc/apache2/mods-enabled/dav_svn.conf
 Dav svn svnparentpath/webrv/svn authtype dasar authname "selamat datang di svn" authuserfile/etc/apache2/subversion-auth memerlukan pengguna yang valid  

Pada Debian / Ubuntu, Anda perlu mengaktifkan Dav_svn Apache modul:

# A2ENMOD DAV_SVN 

Beberapa klarifikasi:

  1. Itu Svnparentpath Petunjuk menunjukkan direktori di mana repositori kami akan dibuat nanti. Jika direktori ini tidak ada (yang kemungkinan besar terjadi), buatlah dengan:
    # mkdir -p /webrv /svn 

    Penting untuk dicatat bahwa direktori ini tidak boleh ditempatkan di dalam, atau tumpang tindih, Root document dari host virtual yang saat ini dilayani oleh Apache. Ini adalah showstopper!

  2. Itu AuthuserFile Petunjuk menunjukkan file di mana kredensial pengguna yang valid akan disimpan. Jika Anda ingin mengizinkan semua orang mengakses SVN tanpa otentikasi, lepaskan empat baris terakhir di blok lokasi. Jika itu masalahnya, lewati Langkah 2 dan pergi langsung ke Langkah 3.
  3. Meskipun Anda mungkin tergoda untuk memulai kembali Apache untuk menerapkan perubahan terbaru ini, jangan lakukan itu karena kami masih perlu membuat file otentikasi dengan pengguna yang valid untuk SVN, dan repositori itu sendiri.

Langkah 2 - Tambahkan pengguna yang diizinkan untuk mengakses SVN

Kami sekarang akan menggunakan htpasswd Untuk membuat kata sandi untuk akun yang akan diizinkan untuk mengakses SVN. Hanya untuk pengguna pertama, kami akan membutuhkan -C pilihan.

Akun yang diizinkan dan kata sandi terenkripsi bcrypt (-B) akan disimpan di /etc/httpd/subversion-auth berpasangan dengan nilai kunci. Perhatikan bahwa menurut standar hari ini, enkripsi MD5 atau SHA default yang digunakan oleh htpasswd dianggap tidak aman.

------------------ Di centos / rhel / fedora ------------------ # htpasswd -cb/etc/httpd/subversion -auth tecmint ------------------ Di debian / ubuntu ------------------ # htpasswd -cb/etc/apache2/subversion -auth tecmint 

Jangan lupa untuk mengatur kepemilikan dan izin yang tepat ke file otentikasi:

------------------ Di centos / rhel / fedora ------------------ # chgrp apache/etc/httpd/subversion-auth # chmod 660/etc/httpd/subversion-auth ------------------ Di debian / ubuntu ------------------ # chgrp www-data/etc/apache2/subversion-auth # chmod 660/etc/apache2/subversion-auth 

Langkah 3 - Tambahkan Keamanan dan Buat Repositori SVN

Karena Anda akan mengakses SVN melalui antarmuka web, Anda harus mengizinkan Http (dan secara opsional Https) Lalu lintas melalui firewall Anda.

------------------ Di centos / rhel / fedora ------------------ # firewall-cmd --add-service = http --permanent # firewall-cmd --add-service = https --permanent # firewall-cmd-reload 

Dengan memuat kembali konfigurasi firewall dengan --Muat ulang, Pengaturan permanen segera diberlakukan.

Buat repositori SVN awal yang disebut tecmint:

# SVNADMIN Buat/WebSRV/SVN/TECMINT 

Ubah pemilik dan pemilik grup menjadi Apache secara rekursif:

------------------ Di centos / rhel / fedora ------------------ # chown -r Apache: Apache/Websrv/svn/tecmint ------------------ Di debian / ubuntu ------------------ # chown -r www-data: www-data/webrv/svn/tecmint 

Akhirnya, Anda perlu mengubah konteks keamanan /Websrv/SVN/TecMint (Perhatikan bahwa Anda harus mengulangi langkah ini jika Anda memutuskan untuk membuat repositori lain nanti):

------------------ Di centos / rhel / fedora ------------------ # chcon -r -t httpd_sys_content_t/webrv/svn/tecmint/ # chcon -r -t httpd_sys_rw_content_t/webrv/svn/tecmint/ 

Catatan: Dua perintah terakhir mungkin tidak berlaku jika Anda menginstal SVN pada VPS dengan selinux dinonaktifkan.

Disarankan Baca: Pelajari cara menonaktifkan Selinux sementara atau permanen di Linux

Mengulang kembali Apache dan verifikasi repositori tersedia.

------------------ Di centos / rhel / fedora ------------------ # Systemctl restart httpd ------------------ Di debian / ubuntu ------------------ # Systemctl Restart Apache2 

Kemudian luncurkan browser web dan arahkan ke http: // 192.168.0.100/svn/tecmint. Setelah memasukkan kredensial untuk pengguna yang valid yang kami buat Langkah 1, output harus mirip dengan:

Akses Repositori SVN melalui Browser

Pada titik ini kami belum menambahkan kode apa pun ke repositori kami. Tapi kami akan melakukannya dalam satu menit.

Langkah 4 - Instal TortoisesVN di Windows 7 Client

Seperti yang kami sebutkan di Pendahuluan, Tortoisesvn adalah antarmuka yang ramah pengguna ke Subversion Apache. Ini adalah perangkat lunak gratis yang dilisensikan di bawah GPL dan dapat diunduh dari https: // tortoisesvn.net/unduhan.html.

Pilih arsitektur (32 atau 64-bit) Itu sesuai dengan mesin Anda dan instal program sebelum melanjutkan.

Langkah 5 - Mengatur repositori SVN di mesin klien

Pada langkah ini kami akan menggunakan folder bernama aplikasi website di dalam Dokumen. Folder ini berisi file HTML, dan dua folder bernama skrip dan gaya dengan javascript dan file CSS (naskah.JS Dan gaya.CSS, masing -masing) yang ingin kami tambahkan ke kontrol versi.

Klik kanan aplikasi website dan pilih svn checkout. Ini akan membuat salinan lokal dari repositori jarak jauh (yang kosong saat ini) dan menginisialisasi folder untuk kontrol versi:

Konfigurasikan SVN di Direktori Klien

Dalam URL Repositori, ketik http: // 192.168.0.100/svn/tecmint Dan pastikan direktori checkout lokal tetap sama, lalu klik OKE:

Konfigurasikan repositori SVN di klien

Masukkan nama pengguna dan kata sandi (lihat Langkah 2) dan klik OKE:

Masukkan kredensial pengguna SVN

Anda akan ditanya apakah Anda ingin checkout ke direktori yang tidak kosong. Mengonfirmasi untuk melanjutkan dengan checkout. Setelah selesai, tanda centang hijau akan muncul di sebelah nama folder:

Lihat Direktori SVN

Langkah 6 - melakukan perubahan dan menggunakan file ke repositori SVN jarak jauh

Klik kanan aplikasi website lagi dan pilih Melakukan kali ini. Selanjutnya, tulis komentar deskriptif untuk mengidentifikasi komit ini, dan periksa file dan folder yang ingin Anda berikan ke repositori. Akhirnya, klik OKE:

Menerapkan file ke repositori SVN jarak jauh

Tergantung pada ukuran file, komit tidak perlu lebih dari satu menit. Saat selesai, Anda akan melihat bahwa kami sekarang berada di Revisi 1, Yang cocok dengan versi dan file yang tercantum dalam antarmuka web:

Konfirmasi Revisi Repositori SVN

Jika ada beberapa orang yang mengerjakan file yang sama, Anda akan ingin Memperbarui salinan lokal Anda agar versi terbaru tersedia untuk dikerjakan. Anda dapat melakukannya dengan mengklik kanan aplikasi website dan memilih Memperbarui Dari menu konteks.

Selamat! Anda telah berhasil mengatur server SVN dan melakukan / memperbarui proyek sederhana di bawah kontrol versi.

Ringkasan

Di artikel ini kami telah menjelaskan cara menginstal dan mengkonfigurasi Subversi Apache server repositori pada a Centos 7 server, dan cara melakukan perubahan pada repositori itu menggunakan Tortoisesvn.

Harap dicatat masih banyak lagi Svn Dan Tortoisesvn dari apa yang dapat kita bahas secara memadai di sini (khususnya cara kembali ke revisi sebelumnya), jadi Anda mungkin ingin merujuk ke dokumen resmi (SVN dan TortoisesVN) untuk informasi lebih lanjut dan kasus konfigurasi.

Seperti biasa, jangan ragu untuk memberi tahu kami jika Anda memiliki pertanyaan! Jangan ragu untuk menggunakan formulir komentar di bawah ini untuk menghubungi kami kapan saja.