Pakiety git i apache są dostępne w oficjalnym repozytorium pakietów Ubuntu. Możesz więc łatwo go zainstalować w APT Package Manager.
Najpierw zaktualizuj pamięć podręczną repozytorium pakietów Apt za pomocą następującego polecenia:
Aktualizacja $ sudo apt
Pamięć podręczna repozytorium pakietów Apt powinna zostać zaktualizowana.
Teraz zainstaluj git i apache z następującym poleceniem:
$ sudo apt Zainstaluj git apache2 Apache2-Utils
Teraz naciśnij Y a następnie naciśnij Aby potwierdzić instalację.
Git i Apache powinny być zainstalowane.
Konfigurowanie serwera Apache HTTP dla GIT:
Teraz włącz Apache mod_env, mod_cgi, mod_alias I mod_rewrite moduły z następującym poleceniem:
$ sudo a2enmod env cGI pseudonim
Wymagane moduły Apache powinny być włączone.
Teraz utwórz nowy katalog /var/www/git za utrzymanie wszystkich repozytoriów GIT z następującym poleceniem:
$ sudo mkdir/var/www/git
Teraz utwórz nową konfigurację witryny Apache /etc/apache2/witryny-dostępny/git.conf dla git z następującym poleceniem:
$ sudo nano/etc/apache2/witryny-dostępny/git.conf
Teraz wpisz następujące wiersze w pliku konfiguracyjnym:
ServerAdmin Webmaster@LocalHost
Setenv git_project_root /var/www/git
Setenv git_http_export_all
Scriptalias/git//usr/lib/git-core/git-http-backend/
Alias /git /var /www /git
Opcje +execcgi -multiviews +SymLinksifownMatch
Bezwyznaniowe
Wymagać wszystkich przyznanych
DocumentRoot/var/www/html
Indeksy opcji obserwuje MultiViews
Bezwyznaniowe
Wymagać wszystkich przyznanych
ErrorLog $ apache_log_dir/error.dziennik
LOGLEVEL OSTRZEŻENIE
CustomLog $ apache_log_dir/access.Log łącznie
Ostateczny plik konfiguracyjny wygląda następująco. Teraz zapisz plik konfiguracyjny, naciskając + X śledzony przez Y I .
Teraz wyłącz domyślną konfigurację witryny Apache za pomocą następującego polecenia:
$ sudo a2dissite 000-default.conf
Domyślna konfiguracja witryny powinna być wyłączona.
Teraz włącz konfigurację witryny GIT za pomocą następującego polecenia:
$ sudo a2ensite git.conf
Konfiguracja witryny GIT powinna być włączona.
Teraz uruchom ponownie serwer Apache HTTP za pomocą następującego polecenia:
$ sudo systemctl restart apache2
Aby rozbić nowe repozytorium GIT dostępne przez serwer Apache HTTP, będziesz musiał uruchomić kilka poleceń. Nie chcesz robić tego samego w kółko, aby stworzyć nowe repozytorium Git. Postanowiłem więc napisać skrypt powłoki w tym celu.
Najpierw utwórz nowy skrypt powłoki /usr/local/bin/git-create-repo.cii Z następującym poleceniem:
$ sudo nano/usr/local/bin/git-create-repo.cii
Teraz wpisz następujące wiersze kodów w skrypcie powłoki.
#!/bin/bash
Git_dir = "/var/www/git"
Repo_name = 1 $
mkdir -p "$ git_dir/$ repo_name.git "
cd "$ git_dir/$ repo_name.git "
git init - -bare &> /dev /null
Dotknij git-daemon-export-ok
Haczyki CP/post-update.próbki haczyków/post-update
Git Config Http.Otrzymaj Pack True
Git aktualizacja-serwer-info
chown -rf www-data: www-data "$ git_dir/$ repo_name.git "
echo "git repozytorium '$ repo_name' utworzone w $ git_dir/$ repo_name.git "
Po wpisaniu tych wierszy skrypt powłoki powinien wyglądać w następujący sposób. Teraz zapisz plik, naciskając + X śledzony przez Y I .
Teraz dodaj zgodę Wykonaj do skryptu powłoki za pomocą następującego polecenia:
$ sudo chmod +x/usr/local/bin/git-create-repo.cii
Teraz utwórz nowe repozytorium GIT test w korzeni projektu Git /var/www/git używając git-create-repo.cii Skrypt powłoki w następujący sposób:
$ sudo git-create-repo.Test SH
Repozytorium GIT test należy utworzyć.
Aby uzyskać dostęp do repozytorium GIT, potrzebujesz adresu IP serwera GIT HTTP.
$ ip a
Jak widać, adres IP w moim przypadku jest 192.168.21.208. Będzie dla Ciebie inaczej. Wymień go od teraz.
Teraz możesz sklonować test Repozytorium Git w następujący sposób:
$ git Clone http: // 192.168.21.208/git/test.git
Repozytorium GIT test należy sklonować.
Teraz dodajmy nowe zobowiązanie do test Repozytorium Git.
$ CD Test/
$ echo „hello świat”> hello
$ git add .
$ git commit -m „początkowe zatwierdzenie”
Teraz prześlij zmiany do test Repozytorium git na serwerze w następujący sposób:
$ git push pochodzenie
Jak widać, zmiany są w porządku.
Konfigurowanie uwierzytelniania użytkownika:
W tej sekcji pokażę, jak skonfigurować uwierzytelnianie użytkownika na repozytoriach GIT na serwerze.
Najpierw edytuj git.conf Plik konfiguracji witryny w następujący sposób:
$ sudo nano/etc/apache2/witryny-dostępny/git.conf
Teraz dodaj następującą sekcję w pliku konfiguracyjnym.
Authtype Basic
AuthName „GIT weryfikacja”
Authuserfile/etc/apache2/git.Passwd
Wymagają ważnego użytkownika
Tutaj, /etc/apache2/git.Passwd to plik bazy danych użytkowników.
Ostateczny plik konfiguracyjny powinien wyglądać w następujący sposób. Teraz zapisz plik, naciskając + X śledzony przez Y I .
Teraz utwórz nowy plik bazy danych użytkowników /etc/apache2/git.Passwd i dodaj nowego użytkownika (powiedzmy Shovon) do pliku bazy danych w następujący sposób:
$ sudo htpasswd -c/etc/apache2/git.Passwd Shovon
Teraz wpisz nowe hasło dla nowego użytkownika i naciśnij .
Wpisz to samo hasło i naciśnij .
Do bazy danych należy dodać parę słów użytkownika.
Teraz uruchom ponownie serwer Apache HTTP za pomocą następującego polecenia:
$ sudo systemctl restart apache2
Teraz, jeśli spróbujesz sklonować test Ponownie repozytorium zostaniesz poproszony o uwierzytelnienie, jak widać na zrzucie ekranu poniżej.
Po uwierzytelnieniu za pomocą nazwy użytkownika i hasła będziesz mógł uzyskać dostęp do repozytorium GIT.
Nawet gdy próbujesz pchnąć lub wyciągnąć z repozytorium GIT, zostaniesz również poproszony o nazwę użytkownika i hasło.
Po uwierzytelnianiu się pchanie/ciągnięcie będzie działać.
Możesz także ustawić różną bazę danych użytkowników dla różnych repozytoriów GIT. Może to być przydatne w projektach, w których wiele osób pracuje nad tym samym repozytorium Git.
Aby ustawić uwierzytelnianie GIT, po pierwsze, edytuj git.conf Plik konfiguracji witryny w następujący sposób:
$ sudo nano/etc/apache2/witryny-dostępny/git.conf
Teraz dodaj następujące wiersze w pliku konfiguracyjnym.
Authtype Basic
AuthName „GIT weryfikacja”
Authuserfile/etc/apache2/git.test.Passwd
Wymagają ważnego użytkownika
Authtype Basic
AuthName „GIT weryfikacja”
Authuserfile/etc/apache2/git.test2.Passwd
Wymagają ważnego użytkownika
Dla każdego repozytorium GIT test I test2, A Sekcja jest zdefiniowana. Dla każdego repozytorium GIT używany jest inny plik bazy danych użytkowników.
Ostateczny plik konfiguracyjny powinien wyglądać w następujący sposób. Teraz zapisz plik konfiguracyjny, naciskając + X śledzony przez Y I .
Teraz możesz utworzyć wymagane bazy danych użytkowników w następujący sposób:
$ sudo htpasswd -c/etc/apache2/git.test.Passwd Nazwa użytkownika
$ sudo htpasswd -c/etc/apache2/git.test2.Passwd Nazwa użytkownika
Po zakończeniu uruchom ponownie serwer Apache HTTP za pomocą następującego polecenia:
$ sudo systemctl restart apache2
Teraz każde repozytorium GIT powinno mieć własny zestaw użytkowników, którzy mogą do niego uzyskać dostęp.
Tak więc konfigurujesz serwer GIT z Apache HTTP Server na Ubuntu. Dziękujemy za przeczytanie tego artykułu.