Το Subversion είναι ένα σύστημα παρακολούθησης εκδόσεων ανοιχτού κώδικα. Διατηρεί αρχεία σε ένα κεντρικό αποθετήριο και παρέχει έλεγχο έκδοσης καταλόγων ή αρχείων. Ως προγραμματιστής, μπορείτε να τραβήξετε αρχεία έργου από ένα αποθετήριο, να κάνετε αλλαγές σε αυτά και να τα προωθήσετε ξανά.
Το Subversion έχει επίσης ένα στοιχείο διακομιστή που μπορείτε να χρησιμοποιήσετε για να φιλοξενήσετε τα έργα σας. Λειτουργεί σαν ένας συνηθισμένος διακομιστής αρχείων.
Πώς να εγκαταστήσετε το Subversion
Το Subversion είναι εύκολο στην εγκατάσταση. Μπορείτε να χρησιμοποιήσετε την κατάλληλη εντολή για να ξεκινήσει η διανομή σας:
# Debian, Ubuntu
sudo apt εγκαθιστώ ανατροπή apache2 libapache2-mod-svn
# CentOS, Fedora, RHEL
sudo dnf εγκαθιστώ ανατροπή apache2 mod_dav_svn
Σημειώστε ότι και αυτή η εντολή εγκαθιστά τον διακομιστή ιστού Apache2. Θα χρειαστείτε έναν διακομιστή ιστού εάν θέλετε να αποκτήσετε πρόσβαση στο αποθετήριο Subversion μέσω HTTP ή WebDAV. Μπορείτε επίσης να χρησιμοποιήσετε το HTTPS, απλά θα χρειαστεί να εγκαταστήσετε και να διαμορφώσετε ένα ψηφιακό πιστοποιητικό για να το κάνετε.
Αφού εκτελέσετε αυτήν την εντολή, μπορείτε να ελέγξετε ότι η ανατροπή έχει εγκατασταθεί σωστά. Θα πρέπει τώρα να μπορείτε να εκτελέσετε το svn εντολή και μπορείτε να δείτε την τρέχουσα έκδοση χρησιμοποιώντας το --εκδοχή επιλογή:
Διαμόρφωση διακομιστή με Subversion
Εάν η εγκατάσταση έγινε ομαλά, μπορείτε τώρα να αρχίσετε να εργάζεστε στη διαμόρφωση του αποθετηρίου που θα χρησιμοποιήσετε με svn. Φυσικά, θα χρειαστεί να δημιουργήσετε ένα νέο αποθετήριο για αυτό. Πρώτα, δημιουργήστε έναν φάκελο σε έναν ριζικό κατάλογο για να τοποθετήσετε το αποθετήριο:
sudo mkdir /subversion
Εάν πρέπει να αποκτήσετε πρόσβαση στο αποθετήριο σας χρησιμοποιώντας το WebDAV μέσω HTTP, θα πρέπει να εκχωρήσετε στον Apache την κυριότητα του καταλόγου του. Δεδομένου ότι το Apache χρησιμοποιεί www-data χρήστης από προεπιλογή, εξουσιοδοτήστε αυτόν τον χρήστη ως εξής:
sudo chown www-data: www-data /subversion
Τώρα μπορείτε να μεταβείτε στο www-data χρήστη και ξεκινήστε να εργάζεστε στο αποθετήριο σας. Η εντολή που θα χρησιμοποιούσατε για να συνδεθείτε ως www-data χρήστης είναι:
sudo su -s /bin/bash www-data
Είστε πλέον χρήστης Apache και μετά από αυτό το βήμα, μπορείτε να δημιουργήσετε το αποθετήριο Subversion ως εξής:
svnadmin δημιουργώ /subversion/myrepo
Τώρα έχετε ένα αποθετήριο Subversion. Για να κάνετε αυτό το αποθετήριο λίγο πιο ασφαλές και να αναγνωρίσετε τους χρήστες του, το επόμενο βήμα είναι να δημιουργήσετε έναν χρήστη και να ορίσετε έναν κωδικό πρόσβασης για αυτόν. Για να το κάνετε αυτό, χρησιμοποιήστε την ακόλουθη εντολή:
htpasswd -cmb /subversion/passwd myadmin mypass
Σύμφωνα με αυτήν την εντολή, το όνομα χρήστη σας θα είναι myadmin και ο κωδικός σας θα είναι mypass. Μπορείτε να αλλάξετε αυτές τις τιμές σε ό, τι είναι κατάλληλο για τις περιστάσεις σας.
Το αποθετήριο Subversion σας είναι τώρα έτοιμο για χρήση. Σε αυτό το στάδιο, μπορείτε να βγείτε από το www-data χρήστη χρησιμοποιώντας το έξοδος εντολή.
Τώρα μπορείτε να στείλετε ένα έργο ή αρχείο που θέλετε στο αποθετήριο σας χρησιμοποιώντας την παρακάτω εντολή:
εισαγωγή sudo svn <τη διεύθυνση του έργου σας> file:///subversion/myrepo -m "Πρώτη Δέσμευση"
Αυτή η εντολή χρησιμοποιεί το εισαγωγή παράμετρο για να προωθήσετε τα πάντα στο φάκελο του έργου σας στο αποθετήριο Subversion. Ενώ το κάνετε αυτό, πρέπει να προσθέσετε το μήνυμα δέσμευσης με το -Μ παράμετρος.
Χρήση μεθόδων πρόσβασης στο Subversion
Ίσως έχετε παρατηρήσει ότι χρησιμοποιείτε το αρχείο:// πρωτόκολλο για να προσθέσετε ένα έργο στο αποθετήριο σας. Αυτό είναι μόνο ένα από τα πολλά πρωτόκολλα δικτύου που μπορείτε να χρησιμοποιήσετε για πρόσβαση σε ένα αποθετήριο svn. Μπορείτε επίσης να χρησιμοποιήσετε το πρωτόκολλο WebDAV μέσω HTTP ή HTTPS ή προσαρμοσμένης υποτροπής svn πρωτόκολλο.
Άμεση πρόσβαση στο αποθετήριο
Όπως είδατε, μπορείτε να χρησιμοποιήσετε το αρχείο:// πρωτόκολλο για πρόσβαση σε ένα τοπικό αποθετήριο. Δείτε πώς μπορείτε να αγοράσετε ένα τοπικό αποθετήριο στον τρέχοντα κατάλογο:
svn co αρχείο:///subversion/myrepo
Όταν ελέγχετε το repo, το svn εμφανίζει μια λίστα με τα αρχεία που περιέχει:
Πρόσβαση με χρήση WebDAV
Για να ενσωματώσετε το αποθετήριο Subversion με τον Apache, θα χρειαστεί να διαμορφώσετε ορισμένες ρυθμίσεις.
Για το πρώτο βήμα, ενεργοποιήστε το dav, dav_svn, και dav_fs modules χρησιμοποιώντας τις ακόλουθες εντολές:
sudo a2enmod dav dav_fs dav_svn
Αφού ενεργοποιήσετε τις απαιτούμενες μονάδες, μπορείτε τώρα να τις επεξεργαστείτε /etc/apache2/mods-enabled/dav_svn.conf αρχείο. Δημιουργήστε το αρχείο εάν δεν υπάρχει ήδη και αλλάξτε το περιεχόμενό του ως εξής:
<Τοποθεσία / ανατροπή>
DAV svn
SVNPath /subversion/myrepo
AuthType Basic
AuthName "Αποθετήριο Ανατροπής"
AuthUserFile /subversion/passwd
Απαιτώ έγκυρος χρήστης
</Location>
ο AuthUserFile Η ρύθμιση αναφέρεται στο αρχείο που δημιουργήσατε νωρίτερα χρησιμοποιώντας htpasswd. Η προσθήκη του εδώ θα παραχωρήσει πρόσβαση στο χώρο αποθήκευσης σε όλους τους χρήστες που ονομάζονται στο αρχείο, υπό την προϋπόθεση ότι θα ελέγξουν την ταυτότητα με έναν έγκυρο κωδικό πρόσβασης.
Αφού δημιουργήσετε και αποθηκεύσετε αυτό το αρχείο, επανεκκινήστε την υπηρεσία Apache2 με την ακόλουθη εντολή:
sudosystemctlεπανεκκίνησηapache2.υπηρεσία
Τώρα, όταν ανοίγετε ένα πρόγραμμα περιήγησης ιστού και πηγαίνετε στο http://localhost/subversion/, θα δείτε τα περιεχόμενα του αποθετηρίου σας. Όταν μεταβείτε σε αυτήν τη διεύθυνση, θα ζητήσει το όνομα χρήστη και τον κωδικό πρόσβασής σας:
Συνδεθείτε με το όνομα χρήστη (π.χ. myadmin) και κωδικό πρόσβασης (mypass) που ρυθμίσατε νωρίτερα. Μπορείτε να αποκτήσετε πρόσβαση στο αποθετήριο Subversion χρησιμοποιώντας το WebDAV αφού εισαγάγετε το όνομα χρήστη και τον κωδικό πρόσβασης:
Πρόσβαση με SSL και WebDAV
ο https:// Το πρωτόκολλο έχει σχεδόν την ίδια διαμόρφωση με το http:// πρωτόκολλο, με λίγες μόνο σημαντικές διαφορές. Για να δώσουμε ένα παράδειγμα, το .conf Το αρχείο που πρέπει να χρησιμοποιήσετε κατά τη διαμόρφωση είναι διαφορετικό. Πρέπει επίσης να εγκαταστήσετε ένα ψηφιακό πιστοποιητικό. Γιατί όπως γνωρίζετε, αυτή είναι η λογική λειτουργίας του Μέθοδος κρυπτογράφησης SSL.
Μπορείς δημιουργία ψηφιακού πιστοποιητικού μόνοι σας ή μπορείτε να εγκαταστήσετε ένα που έχει εκδοθεί από αρμόδια αρχή. Αν υποθέσουμε ότι έχετε εγκαταστήσει ένα ψηφιακό πιστοποιητικό, αυτό που πρέπει να κάνετε είναι απλό.
Η διαφορά σε αυτό το βήμα είναι οι αλλαγές που θα κάνετε στο αρχείο ρυθμίσεων. Ακολουθεί ένα δείγμα αρχείου διαμόρφωσης για χρήση SSL και WebDAV:
<Τοποθεσία / ανατροπή>
DAV On
SSLRequireSSL
Επιλογές Κανένας
AuthType Basic
AuthName "Αποθετήριο Ανατροπής"
AuthUserFile /subversion/passwd
Απαιτώ έγκυρος χρήστης
</Location>
Όπως μπορείτε να δείτε, η διαφορά μεταξύ https:// και http:// πρωτόκολλα δεν είναι τόσο πολύ όσον αφορά τις αλλαγές στο αρχείο ρυθμίσεων. Μετά από αυτές τις αλλαγές, θα πρέπει να επανεκκινήσετε το apache2 υπηρεσία. Τρέξιμο systemctl επανεκκινήστε το apache2.service να το πράξουν.
Γιατί να χρησιμοποιήσετε το Subversion;
Ως πρόγραμμα παρακολούθησης εκδόσεων, το Subversion θυμάται κάθε αλλαγή που γίνεται σε αρχεία και καταλόγους. Σας επιτρέπει να έχετε πρόσβαση σε παλιές εκδόσεις λογισμικού ή εγγράφων με τα οποία εργάζεστε και να βρείτε τις διαφορές τους. Αυτό διευκολύνει τη διαχείριση έργων, ειδικά εάν η ομάδα ανάπτυξής σας είναι μεγάλη ή κατανεμημένη.
Υπάρχουν πολλά συστήματα ελέγχου εκδόσεων για Linux εκτός από το Subversion, τα οποία μπορεί να θέλετε να εξετάσετε.