Title: Ubuntu 12.04 Subversion setup log files Post by: edenaxas on August 28, 2012, 00:47:55 am Σε μορφη blog (sic) θα κρατησω "σημειωσεις" στησιματος subversion σε ubuntu server 12.04. Το βαζω εδω για ευκολη αναφορα δικη μου και για αλλους στο μελλον που ισως κανουν κατι παρομοιο :)
Εαν καποιος εχει καποιο heads up ειναι ευπροσδεκτο. ;) Title: Re: Ubuntu 12.04 Subversion setup log files Post by: edenaxas on August 28, 2012, 00:48:51 am
Title: Re: Ubuntu 12.04 Subversion setup log files Post by: edenaxas on August 29, 2012, 15:26:04 pm next step is package installation.
Code: sudo apt-get install subversion libapache2-svn με το παραπανω εχουμε εγκαταστησει το svn και apache(εαν δεν εχει εγκατασταθει προηγουμενως). μενουν 1) configuration του repository και το γεμισμα του με τα αρχικα αρχεια που εχουμε για το/τα project μας 2) configuration του httpd ωστε να μπορουμε να δουμε το repository μεσω http * δεν ειναι απαραιτητη η χρηση httpd για να γινει το repo διαθεσιμο στο δικτυο αλλα ειναι η πιο σταθερη λυση μιας και βασιζεται στον Apache με οτι καλο/κακο συνεαπαγεται αυτο. Title: Re: Ubuntu 12.04 Subversion setup log files Post by: edenaxas on August 29, 2012, 15:28:28 pm Στο documentation του Svn στο appendix A, προσπερνα τα γενικα αλλα και τα πολυ τεχνικα και μπαινει στο ψητο με το τι κανεις για το 1ο βημα παραπανω, υποθετωντας οτι εχεις εγκαταστησει τα απαραιτητα πακετα, πραγμα που καναμε προηγουμενως.
next step, create repo & import data στο φακελο που θελουμε παταμε Code: cd /path/to/repo τωρα εχουμε δημιουργησει τη ριζα του svn δεντρου και μπορουμε με import να γεμισουμε με δεδομενα που θελουμε. εστω οτι εχουμε σε ενα φακελο πχ /home/vag ενα φακελο με ονομα test που εχει το συνολο των αρχειων κωδικα που θελουμε να βαλουμε στο svn. Πρεπει να διαμορφωσουμε τον φακελο ακολουθωντας την κοινη πρακτικη που λεει διαμορφωση κατα /home/vag/myproject/ trunk/ branches/ tags/ όπου τα αρχεια του κωδικα τα βαζουμε ολα στο φακελο trunk. Για να κανουμε το βημα του import κανουμε Code: svn import /home/vag/test file:///path/to/repo/test -m "initial import" τωρα εχουμε ολοκληρωσει και το βημα create repo και το βημα import data. Με ls στο φακελο που καναμε import δεν θα δουμε τα αρχεια καθως αυτα βρισκονται στις εσωτερικες βασεις δεδομενων του svn. Εαν κανουμε τοπικα checkout θα παρουμε τον φακελο test οπως τον ειχαμε. Τωρα μενει να διαμορφωσουμε τον apache να κανει διαθεσιμο το δεντρο μεσω http. Title: Re: Ubuntu 12.04 Subversion setup log files Post by: BOBoMASTORAS on August 29, 2012, 15:39:07 pm Στα πολύ γρήγορα
Create repository: Code: # mkdir /var/subversion Create Apache configuration: edit /etc/apache2/sites-available/default Code: <Location /> Add second repository Code: # svnadmin create /var/subversion/repository2 Add user Code: # htpasswd /etc/subversion/.htpasswd username Add ACLs for user edit /etc/subversion/authz Code: [repository:/] Title: Re: Ubuntu 12.04 Subversion setup log files Post by: edenaxas on August 29, 2012, 15:44:34 pm cool!
thanx, θα το δω! Title: Re: Ubuntu 12.04 Subversion setup log files Post by: BOBoMASTORAS on August 29, 2012, 15:48:39 pm ξέχασα να πω ότι access του repository θα γίνεται με
svn co http://example.org/repository και του repository2 svn co http://example.org/repository2 Αν δε θες να είναι στο / πάνω στο domain σου αλλάξεις το Location directive του apache πχ <Location /svn> οπότε μετά τα repository γίνονται svn co http://example.org/svn/repository κτλ Το σετάρισμα που έβαλα παραπάνω επιτρέπει σε ένα parent directory να υπάρχουν πολλά repositories. Στο documentation του svn αναφέρει και ένα άλλο το οποίο θέλει ξεχωριστά directives για κάθε repository. Προτιμώ αυτό που ανέφερα καθώς έτσι δεν απαιτείται να αλλαχθεί το config του apache, κάθε φορά που δημιουργείται νέο repo Το μειονέκτημα του παραπάνω setup είναι ότι πρέπει πάντα να υπάρχει το όνομα του repository στο URI. Δλδ μπορείς με αυτό τον τρόπο να κάνεις access το repository με svn co http://example.org Για να κάνεις το παραπάνω απαιτείται ο άλλος τρόπος σεταρίσματος του apache με 1 Location directive ανα repository. (χωρίς SvnParentPath) Προσοχή αν έχεις alias /repository στον apache τότε όποτε κάνεις access το http://example.org/repository θα παίρνεις ένα περίεργο error message στα log files του apache. Αυτό συμβαίνει γιατί ο apache δε ξέρει αν πρέπει να εξυπηρετήσει το svn dav repository ή το alias Title: Re: Ubuntu 12.04 Subversion setup log files Post by: edenaxas on August 31, 2012, 06:51:15 am xm κανοντας - ακριβως - οτι λες παραπανω, στο co μου δινει κενο xml απαντηση - null αποκριση.
Παντως κανεις ακριβως οτι λεει το red bean οποτε Σε καθε περιπτωση, βρηκα πολυ πιο ευκολο το στησιμο του svnserve για συνδεση σε δικτυο. Μπορεις εαν θελεις να κανεις configure και SASL και να εχεις επιπλεον ασφαλεια. Πανω κατω εαν ακολουθησεις αυτο (http://www.tonyspencer.com/2007/03/02/setup-a-subversion-server-in-4-minutes/), σε πολυ λιγο θα εχεις svn server ετοιμο, με επιπλεον βηματα για Sasl που υπαρχουν αναλυτικα στο red bean μπορεις να εχεις και ασφαλεια - περα απο την στοιχειωδη userpass ασφαλεια που δινει το svnserve. Title: Re: Ubuntu 12.04 Subversion setup log files Post by: BOBoMASTORAS on August 31, 2012, 12:49:28 pm ο svnserve όταν είχα διαβάσει εγώ έλεγε ότι δεν είναι να τον ανοίξεις στον internet. Μπορεί να έχεις κρυπτογράφηση μέσω ssl, αλλά το θέμα είναι ότι αυτοί που έγραψαν το subversion δε σου εγγυόνται ότι το svnserve δεν έχει exploits, stack overflows και όλα τα σχετικά. Οπότε προτιμώ τον apache. Άλλωστε μέσω του dav_svn μπορείς να έχεις read πρόσβαση στα αρχεία από οποιοδήποτε υπολογιστή έχει σύνδεση στο internet χωρίς κάποιο ειδικό πρόγραμμα.
|