Panduan Terbaik untuk Menyiapkan SVN Subversif Apache dan Tortoisesvn untuk Kawalan Versi

Panduan Terbaik untuk Menyiapkan SVN Subversif Apache dan Tortoisesvn untuk Kawalan Versi

Sekiranya kerja anda memerlukan pengendalian dokumen, laman web, dan jenis fail lain yang sentiasa dikemas kini, anda mungkin mahu menggunakan mekanisme kawalan versi jika anda tidak melakukannya.

Antara lain, ini membolehkan anda (dan sekumpulan kolaborator berpotensi juga) untuk menjejaki perubahan yang dibuat ke fail yang diberikan, dan membolehkan anda kembali ke versi terdahulu jika masalah ditemui atau apabila kemas kini tidak menghasilkan hasil yang diharapkan.

Dalam ekosistem perisian percuma, sistem kawalan versi yang paling banyak digunakan dipanggil Subversif Apache (atau Svn untuk pendek). Dengan bantuan mod_dav_svn (Modul Apache untuk subversi), anda boleh mengakses repositori subversi menggunakan HTTP dan pelayan web.

Yang berkata, mari kita gulung lengan kita dan pasang alat ini pada RHEL / CENTOS 7, Fedora 22-24, Debian 8/7 dan Ubuntu 16.04-15.04 pelayan. Untuk ujian kami, kami akan menggunakan a Centos 7 pelayan dengan IP 192.168.0.100.

Di sisi pelanggan (a Windows 7 mesin), kami akan memasang dan menggunakan Tortoisesvn (yang berdasarkan subversif Apache) sebagai antara muka kepada SVN.

Persekitaran ujian kami

Pelayan - Centos 7 Alamat IP - 192.168.0.100 Pelanggan - Windows 7 

Langkah 1 - Memasang dan Mengkonfigurasi SVN di Linux

Seperti yang telah kami sebutkan, kami akan bergantung kepada Apache untuk mengakses repositori SVN menggunakan antara muka web. Jika ia belum dipasang, pastikan untuk menambahkannya ke senarai pakej seperti yang ditunjukkan di bawah:

------------------ Pada Centos / RHEL / FEDORA ------------------ # yum update && yum install mod_dav_svn subversion httpd -y ------------------ Di Debian / Ubuntu ------------------ # apt-get kemas kini && apt-get pemasangan libapache2-svn subversion apache2 -y 

Semasa pemasangan dihidupkan Centos 7, Fail konfigurasi Apache untuk SVN akan dibuat sebagai /etc/httpd/conf.modul.D/10-subversi.Conf. Buka fail dan tambahkan blok konfigurasi berikut:

/etc/httpd/conf.modul.D/10-subversi.Conf
 Dav svn svnparentpath/websrv/svn authtype asas authname "Selamat datang ke SVN" AuthuserFile/etc/httpd/subversion-Auth memerlukan pengguna sah  
Konfigurasikan modul Apache SVN

Catatan: Pada Debian / Ubuntu anda perlu menambah baris di bawah ke /etc/apache2/mods-enabled/dav_svn.Conf fail.

/etc/apache2/mods-enabled/dav_svn.Conf
 Dav svn svnparentpath/websrv/svn authtype asas authname "Selamat Datang ke SVN" AuthuserFile/etc/apache2/subversion-Auth memerlukan pengguna sah  

Pada Debian / Ubuntu, anda perlu membolehkan dav_svn Apache Modul:

# a2enmod dav_svn 

Beberapa penjelasan:

  1. The Svnparentpath Arahan menunjukkan direktori di mana repositori kami akan dibuat kemudian. Jika direktori ini tidak wujud (yang paling mungkin berlaku), buatnya dengan:
    # mkdir -p /websrv /svn 

    Penting untuk diperhatikan bahawa direktori ini tidak boleh ditempatkan di dalam, atau bertindih, Documentroot tuan rumah maya yang kini dilayan oleh Apache. Ini adalah pertunjukan!

  2. The Authuserfile Arahan menunjukkan fail di mana kelayakan pengguna yang sah akan disimpan. Sekiranya anda ingin membolehkan semua orang mengakses SVN tanpa pengesahan, keluarkan empat baris terakhir di blok lokasi. Sekiranya itu berlaku, langkau Langkah 2 dan menuju terus ke Langkah 3.
  3. Walaupun anda mungkin tergoda untuk memulakan semula Apache untuk menerapkan perubahan baru -baru ini, jangan lakukannya lagi kerana kami masih perlu membuat fail pengesahan dengan pengguna yang sah untuk SVN, dan repositori itu sendiri.

Langkah 2 - Tambah pengguna yang dibenarkan mengakses SVN

Kami sekarang akan menggunakan htpasswd Untuk membuat kata laluan untuk akaun yang akan dibenarkan mengakses SVN. Untuk pengguna pertama sahaja, kami memerlukan -c pilihan.

Akaun yang dibenarkan dan kata laluan yang disulitkan bcrypt (-B) akan disimpan di /etc/httpd/subversion-auth Dalam pasangan nilai utama. Perhatikan bahawa mengikut piawaian hari ini, enkripsi MD5 atau sha lalai yang digunakan oleh HtPasswd dianggap tidak selamat.

------------------ Pada Centos / RHEL / FEDORA ------------------ # htpasswd -cb/etc/httpd/subversion -auth tecmint ------------------ Di Debian / Ubuntu ------------------ # htpasswd -cb/etc/apache2/subversion -auth tecmint 

Jangan lupa untuk menetapkan pemilikan dan keizinan yang betul ke fail pengesahan:

------------------ Pada Centos / RHEL / FEDORA ------------------ # CHGRP Apache/ETC/HTTPD/SUBVERSI-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 keselamatan dan buat repositori SVN

Oleh kerana anda akan mengakses SVN melalui antara muka web, anda perlu membenarkan Http (Dan secara pilihan Https) Trafik melalui firewall anda.

------------------ Pada Centos / RHEL / FEDORA ------------------ # firewall-cmd --Add-service = http --permanent # firewall-cmd --add-service = https --permanent # firewall-cmd-reload 

Dengan memuatkan semula konfigurasi firewall dengan --Tambah nilai, Tetapan tetap dilaksanakan dengan segera.

Buat repositori SVN awal yang dipanggil Tecmint:

# svnadmin create/websrv/svn/tecmint 

Tukar pemilik dan pemilik kumpulan ke Apache RECURSIVEL:

------------------ Pada Centos / RHEL / FEDORA ------------------ # Chown -r Apache: Apache/WebSRV/SVN/TECMINT ------------------ Di Debian / Ubuntu ------------------ # chown -r www-data: www-data/websrv/svn/tecmint 

Akhirnya, anda perlu mengubah konteks keselamatan /websrv/svn/tecmint (Perhatikan bahawa anda perlu mengulangi langkah ini jika anda memutuskan untuk membuat repositori lain kemudian):

------------------ Pada Centos / RHEL / FEDORA ------------------ # chcon -r -t httpd_sys_content_t/websrv/svn/tecmint/ # chcon -r -t httpd_sys_rw_content_t/websrv/svn/tecmint/ 

Catatan: Dua arahan terakhir mungkin tidak terpakai jika anda memasang SVN pada VPS dengan selinux dilumpuhkan.

Cadangan Baca: Ketahui cara melumpuhkan selinux sementara atau kekal di linux

Mula semula Apache dan sahkan repositori ada.

------------------ Pada Centos / RHEL / FEDORA ------------------ # Systemctl mulakan semula httpd ------------------ Di Debian / Ubuntu ------------------ # Systemctl mulakan semula apache2 

Kemudian lancarkan penyemak imbas web dan tunjukkannya http: // 192.168.0.100/SVN/TECMINT. Setelah memasuki kelayakan untuk pengguna yang sah yang kami buat Langkah 1, Output harus sama dengan:

Akses repositori SVN melalui penyemak imbas

Pada ketika ini kami belum menambah kod ke repositori kami. Tetapi kita akan melakukannya dalam satu minit.

Langkah 4 - Pasang Tortoisesvn di pelanggan Windows 7

Seperti yang telah kami sebutkan dalam Pengenalan, Tortoisesvn adalah antara muka mesra pengguna untuk subversif Apache. Ia adalah perisian percuma yang dilesenkan di bawah GPL dan boleh dimuat turun dari https: // tortoisesvn.bersih/muat turun.html.

Pilih seni bina (32 atau 64-bit) yang sepadan dengan mesin anda dan memasang program sebelum meneruskan.

Langkah 5 - Persediaan Repositori SVN pada Mesin Pelanggan

Dalam langkah ini kita akan menggunakan folder yang dinamakan WebApp dalam Dokumen. Folder ini mengandungi fail HTML, dan dua folder bernama skrip dan gaya dengan JavaScript dan fail CSS (Skrip.js dan gaya.CSS, masing -masing) yang kami mahu tambahkan ke kawalan versi.

Klik kanan WebApp dan pilih svn checkout. Ini akan membuat salinan tempatan repositori jauh (yang kosong pada masa ini) dan memulakan folder untuk kawalan versi:

Konfigurasikan SVN pada Direktori Pelanggan

Dalam URL Repository, jenis http: // 192.168.0.100/SVN/TECMINT dan pastikan direktori checkout tempatan tetap sama, kemudian klik okey:

Konfigurasikan repositori SVN pada pelanggan

Masukkan nama pengguna dan kata laluan (rujuk Langkah 2) dan klik okey:

Masukkan kelayakan pengguna SVN

Anda akan ditanya sama ada anda ingin mendaftar masuk ke direktori yang tidak kosong. Mengesahkan untuk meneruskan perjalanan. Setelah selesai, tanda semak hijau akan muncul di sebelah nama folder:

Lihat Direktori SVN

Langkah 6 - Mengadakan perubahan dan menggunakan fail ke Repositori SVN Jauh

Klik kanan pada WebApp sekali lagi dan pilih Melakukan kali ini. Seterusnya, tulis komen deskriptif untuk mengenal pasti komit ini, dan periksa fail dan folder yang anda mahu gunakan ke repositori. Akhirnya, klik okey:

Menyebarkan fail ke repositori SVN jauh

Bergantung pada saiz fail, komit tidak boleh mengambil masa lebih dari satu minit. Apabila sudah selesai, anda akan melihat bahawa kita sekarang semakan 1, yang sepadan dengan versi dan fail yang disenaraikan di antara muka web:

Sahkan semakan repositori SVN

Sekiranya terdapat beberapa orang yang mengusahakan fail yang sama, anda akan mahu Kemas kini Salinan tempatan anda untuk mempunyai versi terkini yang tersedia untuk diusahakan. Anda boleh melakukannya dengan mengklik kanan WebApp dan memilih Kemas kini dari menu konteks.

Tahniah! Anda telah berjaya menyediakan pelayan SVN dan mengadakan projek mudah di bawah kawalan versi.

Ringkasan

Dalam artikel ini kami telah menjelaskan cara memasang dan mengkonfigurasi Subversif Apache pelayan repositori pada a Centos 7 pelayan, dan bagaimana untuk melakukan perubahan pada repositori itu menggunakan Tortoisesvn.

Sila ambil perhatian ada lebih banyak lagi Svn dan Tortoisesvn daripada apa yang kita dapat dengan secukupnya di sini (khususnya cara kembali ke semakan sebelumnya), jadi anda mungkin mahu merujuk kepada dokumen rasmi (SVN dan Tortoisesvn) untuk maklumat lanjut dan konfigurasi.

Seperti biasa, jangan ragu untuk memberitahu kami jika anda mempunyai soalan! Jangan ragu untuk menggunakan borang komen di bawah untuk menghubungi kami bila -bila masa.