Instalowanie serwera Git i Apache HTTP:
Pakiety Git i Apache są dostępne w oficjalnym repozytorium pakietów Ubuntu. Możesz więc łatwo zainstalować go za pomocą menedżera pakietów APT.
Najpierw zaktualizuj pamięć podręczną repozytorium pakietów APT za pomocą następującego polecenia:
$ sudo apt aktualizacja
Pamięć podręczna repozytorium pakietów APT powinna zostać zaktualizowana.
Teraz zainstaluj Git i Apache za pomocą następującego polecenia:
$ sudo apt install git apache2 apache2-utils
Teraz naciśnij Tak a następnie naciśnij
Powinny być zainstalowane Git i Apache.
Konfigurowanie serwera HTTP Apache dla Git:
Teraz włącz Apache mod_env, mod_cgi, alias_modu i mod_rewrite moduły za pomocą następującego polecenia:
$ sudo a2enmod env cgi alias przepisać
Wymagane moduły Apache powinny być włączone.
Teraz utwórz nowy katalog /var/www/git do przechowywania wszystkich repozytoriów Git za pomocą następującego polecenia:
$ sudo mkdir /var/www/git
Teraz utwórz nową konfigurację witryny Apache /etc/apache2/sites-available/git.konf dla Git za pomocą następującego polecenia:
$ sudo nano /etc/apache2/sites-available/git.konf
Teraz wpisz następujące wiersze w pliku konfiguracyjnym:
Administrator serwera webmaster@localhost
SetEnv GIT_PROJECT_ROOT /var/www/git
Ustaw środowisko GIT_HTTP_EXPORT_ALL
ScriptAlias /git/ /usr/lib/git-core/git-http-backend/
Alias /git /var/www/git
Opcje +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Zezwól na zastąpienie Brak
Wymagaj wszystkich przyznanych
Katalog główny dokumentu /var/www/html
Opcje Indeksy ŚledźSymLinks MultiViews
Zezwól na zastąpienie Brak
Wymagaj wszystkich przyznanych
Dziennik błędów $APACHE_LOG_DIR/błąd.log
Ostrzeżenie o poziomie dziennika
Dziennik niestandardowy $APACHE_LOG_DIR/dostęp.log połączony
Ostateczny plik konfiguracyjny wygląda następująco. Teraz zapisz plik konfiguracyjny, naciskając
Teraz wyłącz domyślną konfigurację witryny Apache za pomocą następującego polecenia:
$ sudo a2dissite 000-default.konf
Domyślna konfiguracja witryny powinna być wyłączona.
Teraz włącz konfigurację witryny Git za pomocą następującego polecenia:
$ sudo a2ensite git.konf
Konfiguracja witryny Git powinna być włączona.
Teraz uruchom ponownie serwer Apache HTTP za pomocą następującego polecenia:
$ sudo systemctl restart apache2
Aby załadować nowe repozytorium Git dostępne przez serwer Apache HTTP, będziesz musiał uruchomić kilka poleceń. Nie chcesz robić w kółko tego samego tylko po to, by stworzyć nowe repozytorium Git. Postanowiłem więc napisać w tym celu skrypt powłoki.
Najpierw utwórz nowy skrypt powłoki /usr/local/bin/git-create-repo.cii za pomocą następującego polecenia:
$ sudo nano /usr/local/bin/git-create-repo.cii
Teraz wpisz następujące wiersze kodu w skrypcie powłoki:.
#!/bin/bashGIT_DIR="/var/www/git"
REPO_NAME=$1
mkdir -p "$GIT_DIR/$REPO_NAME.głupek"
płyta CD „$GIT_DIR/$REPO_NAME.głupek"
git init --bare &> /dev/null
dotknij git-daemon-export-ok
cp hooks/po aktualizacji.przykładowe hooki/po aktualizacji
konfiguracja git http.pakiet odbiorczy prawda
git aktualizacja-informacje-serwer
chown -Rf www-data:www-data "$GIT_DIR/$REPO_NAME.głupek"
echo "Repozytorium Git '$REPO_NAME' utworzone w $GIT_DIR/$REPO_NAME.głupek"
Po wpisaniu tych linii skrypt powłoki powinien wyglądać następująco. Teraz zapisz plik, naciskając
Teraz dodaj uprawnienie do wykonywania 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 katalogu głównym 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.sh test
Repozytorium Git test powinno być stworzone.
Aby uzyskać dostęp do repozytorium Git, potrzebujesz adresu IP serwera HTTP Git.
$ ip aJak widać adres IP w moim przypadku to 192.168.21.208. Dla ciebie będzie inaczej. Od teraz zastąp go swoim.
Teraz możesz sklonować test Repozytorium Git w następujący sposób:
$ git klon http://192.168.21.208/git/test.git
Repozytorium Git test powinien być sklonowany.
Teraz dodajmy nowe zatwierdzenie do test Repozytorium Git.
$ test CD/$ echo "Witaj świecie" > cześć
$ git dodaj .
$ git commit -m 'początkowe zatwierdzenie'
Teraz prześlij zmiany do test Repozytorium Git na serwerze w następujący sposób:
$ git push originJak widać, zmiany zostały przesłane w porządku just.
Konfiguracja uwierzytelniania użytkownika:
W tej sekcji pokażę, jak skonfigurować uwierzytelnianie użytkowników w repozytoriach Git na serwerze.
Najpierw edytuj git.konf plik konfiguracyjny witryny w następujący sposób:
$ sudo nano /etc/apache2/sites-available/git.konf
Teraz dodaj następującą sekcję do pliku konfiguracyjnego.
Podstawowy typ uwierzytelniania
AuthName „Weryfikacja Git”
AuthUserFile /etc/apache2/git.hasło
Wymagaj prawidłowego użytkownika
Tutaj, /etc/apache2/git.hasło to plik bazy danych użytkownika.
Ostateczny plik konfiguracyjny powinien wyglądać następująco. Teraz zapisz plik, naciskając
Teraz utwórz nowy plik bazy danych użytkownika /etc/apache2/git.hasło 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 ponownie to samo hasło i naciśnij
Parę użytkownik-hasło należy dodać do bazy danych.
Teraz uruchom ponownie serwer Apache HTTP za pomocą następującego polecenia:
$ sudo systemctl restart apache2
Teraz, jeśli spróbujesz sklonować test repozytorium ponownie, zostaniesz poproszony o uwierzytelnienie, jak widać na poniższym zrzucie ekranu.
Po uwierzytelnieniu przy użyciu nazwy użytkownika i hasła będziesz mógł uzyskać dostęp do repozytorium Git.
Nawet jeśli spróbujesz push lub pull z repozytorium Git, zostaniesz również poproszony o podanie nazwy użytkownika i hasła.
Po uwierzytelnieniu funkcja push/pull będzie działać.
Możesz także ustawić inną bazę danych użytkowników dla różnych repozytoriów Git. Może to być przydatne w przypadku projektów, w których wiele osób pracuje razem nad tym samym repozytorium Git.
Aby ustawić uwierzytelnianie oparte na repozytorium Git, najpierw edytuj git.konf plik konfiguracyjny witryny w następujący sposób:
$ sudo nano /etc/apache2/sites-available/git.konfTeraz dodaj następujące wiersze w pliku konfiguracyjnym.
Podstawowy typ uwierzytelniania
AuthName „Weryfikacja Git”
AuthUserFile /etc/apache2/git.test.hasło
Wymagaj prawidłowego użytkownika
Podstawowy typ uwierzytelniania
AuthName „Weryfikacja Git”
AuthUserFile /etc/apache2/git.test2.hasło
Wymagaj prawidłowego użytkownika
Dla każdego repozytorium Git test i test2, za
Ostateczny plik konfiguracyjny powinien wyglądać następująco. Teraz zapisz plik konfiguracyjny, naciskając
Teraz możesz utworzyć wymagane bazy danych użytkowników w następujący sposób:
$ sudo htpasswd -c /etc/apache2/git.test.hasło NAZWA UŻYTKOWNIKA$ sudo htpasswd -c /etc/apache2/git.test2.hasło NAZWA UŻYTKOWNIKA
Gdy skończysz, 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 mają do niego dostęp.
Tak więc konfigurujesz Git Server z Apache HTTP Server na Ubuntu. Dziękujemy za przeczytanie tego artykułu.