Τα πακέτα Git και Apache είναι διαθέσιμα στο επίσημο αποθετήριο πακέτων του Ubuntu. Έτσι, μπορείτε εύκολα να το εγκαταστήσετε με τον διαχειριστή πακέτων APT.
Αρχικά, ενημερώστε την προσωρινή μνήμη αποθήκευσης του πακέτου APT με την ακόλουθη εντολή:
$sudoκατάλληλη ενημέρωση
Η προσωρινή μνήμη αποθήκευσης πακέτων APT θα πρέπει να ενημερωθεί.
Τώρα, εγκαταστήστε το Git και το Apache με την ακόλουθη εντολή:
$sudoκατάλληλοςεγκαθιστώ πηγαίνωapache2 apache2-utils
Τώρα, πατήστε ΚΑΙ και μετά πατήστε για επιβεβαίωση της εγκατάστασης.
Πρέπει να εγκατασταθούν τα Git και Apache.
Διαμόρφωση διακομιστή Apache HTTP για Git:
Τώρα, ενεργοποιήστε το Apache mod_env , mod_cgi , mod_alias και mod_rewrite μονάδες με την ακόλουθη εντολή:
$sudoa2enmodenvcgiψευδώνυμοξαναγράφω
Οι απαιτούμενες μονάδες Apache θα πρέπει να είναι ενεργοποιημένες.
Τώρα, δημιουργήστε έναν νέο κατάλογο /var/www/git για τη διατήρηση όλων των αποθετηρίων Git με την ακόλουθη εντολή:
$sudo mkdir /όπου/www/πηγαίνωΤώρα, δημιουργήστε μια νέα διαμόρφωση ιστότοπου Apache /etc/apache2/sites-available/git.conf για το Git με την ακόλουθη εντολή:
$sudo νανο /και τα λοιπά/apache2/ιστότοποι-διαθέσιμοι/git.confΤώρα, πληκτρολογήστε τις ακόλουθες γραμμές στο αρχείο διαμόρφωσης:
<VirtualHost*:80>>ServerAdmin webmaster@localhost
SetEnv GIT_PROJECT_ROOT<ισχυρός> /όπου/www/πηγαίνωισχυρός>>
SetEnv GIT_HTTP_EXPORT_ALL
ScriptAlias/πηγαίνω/ /usr/lib/git-core/git-http-backend/
Ψευδώνυμο/πηγαίνω /όπου/www/πηγαίνω
<Ευρετήριο/usr/lib/git-core>>
Επιλογές +ExecCGI-MultiViews+SymLinksIfOwnerMatch
AllowOverride Καμία
Απαιτούνται όλα τα χορηγούμενα
Ευρετήριο>>
DocumentRoot/όπου/www/html
<Ευρετήριο/όπου/www>>
Επιλογές Ευρετήρια FollowSymLinks MultiViews
AllowOverride Καμία
Απαιτούνται όλα τα χορηγούμενα
Ευρετήριο>>
Αρχείο καταγραφής σφαλμάτων$ {APACHE_LOG_DIR}/αρχείο καταγραφής σφαλμάτων
Προειδοποίηση LogLevel
CustomLog$ {APACHE_LOG_DIR}/access.log σε συνδυασμό
VirtualHost>>
Το τελικό αρχείο διαμόρφωσης φαίνεται ως εξής. Τώρα, αποθηκεύστε το αρχείο διαμόρφωσης πατώντας + Χ ακολουθούμενη από ΚΑΙ και Το
Τώρα, απενεργοποιήστε την προεπιλεγμένη διαμόρφωση ιστότοπου Apache με την ακόλουθη εντολή:
$sudoa2dissite 000-default.confΗ προεπιλεγμένη διαμόρφωση ιστότοπου πρέπει να απενεργοποιηθεί.
Τώρα, ενεργοποιήστε τη διαμόρφωση ιστότοπου Git με την ακόλουθη εντολή:
$sudoa2ensite git.confΗ διαμόρφωση της τοποθεσίας Git πρέπει να είναι ενεργοποιημένη.
Τώρα, επανεκκινήστε τον διακομιστή Apache HTTP με την ακόλουθη εντολή:
$sudosystemctl επανεκκίνηση apache2Για να εκκινήσετε ένα νέο αποθετήριο Git προσβάσιμο μέσω του διακομιστή Apache HTTP, θα πρέπει να εκτελέσετε μερικές εντολές. Δεν θέλετε να κάνετε το ίδιο πράγμα ξανά και ξανά μόνο για να δημιουργήσετε ένα νέο αποθετήριο Git. Έτσι, αποφάσισα να γράψω ένα σενάριο για αυτό το σκοπό.
Αρχικά, δημιουργήστε ένα νέο σενάριο κελύφους /usr/local/bin/git-create-repo.sh με την ακόλουθη εντολή:
$sudo νανο /usr/τοπικός/είμαι/git-create-repo.shΤώρα, πληκτρολογήστε τις ακόλουθες γραμμές κωδικών στο σενάριο κελύφους.
#!/bin/bashGIT_DIR='/var/www/git'
REPO_NAME=$ 1
mkdir -Π '$ {GIT_DIR}/$ {REPO_NAME}.πηγαίνω'
CD '$ {GIT_DIR}/$ {REPO_NAME}.πηγαίνω'
git init --μόλις &> /dev/μηδενικό
αφήgit-daemon-export-ok
cpγάντζοι/μετα-ενημέρωση.γάντζους δειγμάτων/μετά την ενημέρωση
git confighttp.receivepackαληθής
git update-server-info
chown -Ρφwww-data: www-data'$ {GIT_DIR}/$ {REPO_NAME}.πηγαίνω'
πέταξε έξω 'Αποθήκη Git'$ {REPO_NAME}'δημιουργήθηκε στο$ {GIT_DIR}/$ {REPO_NAME}.πηγαίνω'
Μόλις πληκτρολογήσετε αυτές τις γραμμές, το σενάριο κελύφους πρέπει να έχει την ακόλουθη μορφή. Τώρα, αποθηκεύστε το αρχείο πατώντας + Χ ακολουθούμενη από ΚΑΙ και Το
Τώρα, προσθέστε άδεια εκτέλεσης στο σενάριο κελύφους με την ακόλουθη εντολή:
$sudo chmod+ x/usr/τοπικός/είμαι/git-create-repo.shΤώρα, δημιουργήστε ένα νέο αποθετήριο Git δοκιμή στη ρίζα του έργου Git /var/www/git χρησιμοποιώντας το git-create-repo.sh shell script ως εξής:
$sudogit-create-repo.shδοκιμήΤο αποθετήριο Git δοκιμή πρέπει να δημιουργηθεί.
Για να αποκτήσετε πρόσβαση στο αποθετήριο Git, χρειάζεστε τη διεύθυνση IP του διακομιστή Git HTTP.
$ipπρος τοΌπως μπορείτε να δείτε, η διεύθυνση IP στην περίπτωσή μου είναι 192.168.21.208 Το Θα είναι διαφορετικό για εσάς. Αντικαταστήστε το με το δικό σας από εδώ και στο εξής.
Τώρα, μπορείτε να κλωνοποιήσετε το δοκιμή Αποθετήριο Git ως εξής:
$git κλώνοςhttp://192.168.21.208/πηγαίνω/test.goΤο αποθετήριο Git δοκιμή πρέπει να κλωνοποιηθεί.
Τώρα, ας προσθέσουμε μια νέα δέσμευση στο δοκιμή Αποθετήριο Git.
$CDδοκιμή/$πέταξε έξω 'Γειά σου Κόσμε' >>γεια σας
$git addΤο
$git commit -Μ «αρχική δέσμευση»
Τώρα, ανεβάστε τις αλλαγές στο δοκιμή Αποθήκη Git στον διακομιστή ως εξής:
$git pushπροέλευσηΌπως μπορείτε να δείτε, οι αλλαγές ανεβαίνουν μια χαρά.
Διαμόρφωση ελέγχου ταυτότητας χρήστη:
Σε αυτήν την ενότητα, θα σας δείξω πώς να ρυθμίσετε τον έλεγχο ταυτότητας χρήστη στα αποθετήρια Git του διακομιστή.
Αρχικά, επεξεργαστείτε το git.conf αρχείο διαμόρφωσης ιστότοπου ως εξής:
$sudo νανο /και τα λοιπά/apache2/ιστότοποι-διαθέσιμοι/git.confΤώρα, προσθέστε την ακόλουθη ενότητα στο αρχείο διαμόρφωσης.
<LocationMatch/πηγαίνω/Το*.πηγαίνω>>AuthType Basic
AuthName'Επαλήθευση Git'
AuthUserFile/και τα λοιπά/apache2/git.passwd
Απαιτείται έγκυρος χρήστης
LocationMatch>>
Εδώ, /etc/apache2/git.passwd είναι το αρχείο βάσης δεδομένων χρήστη.
Το τελικό αρχείο διαμόρφωσης πρέπει να έχει την ακόλουθη μορφή. Τώρα, αποθηκεύστε το αρχείο πατώντας + Χ ακολουθούμενη από ΚΑΙ και Το
Τώρα, δημιουργήστε ένα νέο αρχείο βάσης δεδομένων χρήστη /etc/apache2/git.passwd και προσθέστε έναν νέο χρήστη (ας πούμε shovon ) στο αρχείο βάσης δεδομένων ως εξής:
$sudohtpasswd-ντο /και τα λοιπά/apache2/git.passwd shovonΤώρα, πληκτρολογήστε έναν νέο κωδικό πρόσβασης για τον νέο χρήστη και πατήστε Το
Πληκτρολογήστε ξανά τον ίδιο κωδικό πρόσβασης και πατήστε Το
Το ζεύγος χρήστη-κωδικού πρόσβασης πρέπει να προστεθεί στη βάση δεδομένων.
Τώρα, επανεκκινήστε τον διακομιστή Apache HTTP με την ακόλουθη εντολή:
$sudosystemctl επανεκκίνηση apache2Τώρα, αν προσπαθήσετε να κλωνοποιήσετε το δοκιμή και πάλι, θα σας ζητηθεί να κάνετε έλεγχο ταυτότητας όπως μπορείτε να δείτε στο παρακάτω στιγμιότυπο οθόνης.
Μόλις πραγματοποιήσετε έλεγχο ταυτότητας χρησιμοποιώντας το όνομα χρήστη και τον κωδικό πρόσβασης, θα έχετε πρόσβαση στο αποθετήριο Git.
Ακόμα και όταν προσπαθείτε να σπρώξετε ή να τραβήξετε από το αποθετήριο Git, θα σας ζητηθεί επίσης το όνομα χρήστη και ο κωδικός πρόσβασης.
Μόλις πραγματοποιήσετε έλεγχο ταυτότητας, το push/pull θα λειτουργήσει.
Μπορείτε επίσης να ορίσετε διαφορετική βάση δεδομένων χρηστών για διαφορετικά αποθετήρια Git. Αυτό μπορεί να είναι χρήσιμο για έργα όπου πολλοί άνθρωποι εργάζονται μαζί στο ίδιο αποθετήριο Git.
Για να ορίσετε τον έλεγχο ταυτότητας στο χώρο αποθήκευσης Git, πρώτα, επεξεργαστείτε το git.conf αρχείο διαμόρφωσης ιστότοπου ως εξής:
$sudo νανο /και τα λοιπά/apache2/ιστότοποι-διαθέσιμοι/git.confΤώρα, προσθέστε τις ακόλουθες γραμμές στο αρχείο διαμόρφωσης.
<Τοποθεσία/πηγαίνω/test.go>>AuthType Basic
AuthName'Επαλήθευση Git'
AuthUserFile/και τα λοιπά/apache2/git.test.passwd
Απαιτείται έγκυρος χρήστης
Τοποθεσία>>
<Τοποθεσία/πηγαίνω/test2.git>>
AuthType Basic
AuthName'Επαλήθευση Git'
AuthUserFile/και τα λοιπά/apache2/git.test2.passwd
Απαιτείται έγκυρος χρήστης
Τοποθεσία>>
Για κάθε αποθετήριο Git δοκιμή και δοκιμή2 , προς το ορίζεται το τμήμα. Ένα διαφορετικό αρχείο βάσης δεδομένων χρηστών χρησιμοποιείται για κάθε αποθετήριο Git.
Το τελικό αρχείο διαμόρφωσης πρέπει να έχει την ακόλουθη μορφή. Τώρα, αποθηκεύστε το αρχείο διαμόρφωσης πατώντας + Χ ακολουθούμενη από ΚΑΙ και Το
Τώρα, μπορείτε να δημιουργήσετε τις απαιτούμενες βάσεις δεδομένων χρηστών ως εξής:
$sudohtpasswd-ντο /και τα λοιπά/apache2/git.test.passwd USERNAME$sudohtpasswd-ντο /και τα λοιπά/apache2/git.test2.passwd ΟΝΟΜΑ ΧΡΗΣΤΗ
Μόλις τελειώσετε, επανεκκινήστε τον διακομιστή Apache HTTP με την ακόλουθη εντολή:
$sudosystemctl επανεκκίνηση apache2Τώρα, κάθε αποθετήριο Git πρέπει να έχει το δικό του σύνολο χρηστών που μπορούν να έχουν πρόσβαση σε αυτό.
Έτσι, έτσι διαμορφώνετε τον Git Server με Apache HTTP Server στο Ubuntu. Ευχαριστώ που διαβάσατε αυτό το άρθρο.