Inštalácia servera Git a Apache HTTP:
Balíky Git a Apache sú k dispozícii v oficiálnom úložisku balíkov Ubuntu. Môžete ho teda ľahko nainštalovať pomocou správcu balíkov APT.
Najskôr aktualizujte medzipamäť úložiska balíkov APT pomocou nasledujúceho príkazu:
$ sudo apt aktualizácia
Vyrovnávacia pamäť úložiska balíkov APT by sa mala aktualizovať.
Teraz nainštalujte Git a Apache pomocou nasledujúceho príkazu:
$ sudo apt nainštalovať git apache2 apache2-utils
Teraz stlačte Y a potom stlačte
Mali by byť nainštalované Git a Apache.
Konfigurácia servera Apache HTTP pre Git:
Teraz povoľte Apache mod_env, mod_cgi, mod_alias a mod_rewrite moduly s nasledujúcim príkazom:
$ sudo a2enmod env cgi alias prepísať
Mali by byť povolené požadované moduly Apache.
Teraz vytvorte nový adresár / var / www / git na udržanie všetkých úložísk Git pomocou nasledujúceho príkazu:
$ sudo mkdir / var / www / git
Teraz vytvorte novú konfiguráciu webu Apache / etc / apache2 / sites-available / git.konf pre Git s nasledujúcim príkazom:
$ sudo nano / etc / apache2 / sites-available / git.konf
Teraz zadajte do konfiguračného súboru nasledujúce riadky:
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
Možnosti + ExecCGI -MultiViews + SymLinksIfOwnerMatch
AllowOverride Žiadne
Vyžadovať všetky udelené
DocumentRoot / var / www / html
Možnosti Registery FollowSymLinks MultiViews
AllowOverride Žiadne
Vyžadovať všetky udelené
ErrorLog $ APACHE_LOG_DIR / chyba.log
Varovanie LogLevel
CustomLog $ APACHE_LOG_DIR / prístup.log kombinovať
Výsledný konfiguračný súbor vyzerá nasledovne. Teraz uložte konfiguračný súbor stlačením
Teraz deaktivujte predvolenú konfiguráciu stránky Apache pomocou nasledujúceho príkazu:
$ sudo a2dissite 000-predvolené.konf
Predvolená konfigurácia webu by mala byť zakázaná.
Teraz povoľte konfiguráciu stránky Git pomocou nasledujúceho príkazu:
$ sudo a2ensite git.konf
Konfigurácia stránky Git by mala byť povolená.
Teraz reštartujte server Apache HTTP pomocou nasledujúceho príkazu:
$ sudo systemctl reštart apache2
Aby ste mohli zaviesť nové úložisko Git prístupné cez HTTP server Apache, budete musieť spustiť niekoľko príkazov. Nechcete robiť stále to isté, len aby ste vytvorili nové úložisko Git. Preto som sa rozhodol pre tento účel napísať shell skript.
Najskôr vytvorte nový shell skript / usr / local / bin / git-create-repo.š nasledujúcim príkazom:
$ sudo nano / usr / local / bin / git-create-repo.š
Teraz zadajte nasledujúce riadky kódov do shellového skriptu.
#!/ bin / bashGIT_DIR = "/ var / www / git"
REPO_NAME = 1 dolár
mkdir -p "$ GIT_DIR / $ REPO_NAME.git "
cd "$ GIT_DIR / $ REPO_NAME.git "
git init --bare &> / dev / null
klepnite na git-daemon-export-ok
háky cp / post-aktualizácia.ukážka háčikov / post-aktualizácia
git config http.receivepack pravda
git update-server-info
chown -Rf www-data: www-data "$ GIT_DIR / $ REPO_NAME.git "
echo "Git repozitár '$ REPO_NAME' vytvorený v $ GIT_DIR / $ REPO_NAME.git "
Po zadaní týchto riadkov by mal shell shell vyzerať nasledovne. Teraz uložte súbor stlačením
Teraz pridajte povolenie na spustenie do shellového skriptu pomocou nasledujúceho príkazu:
$ sudo chmod + x / usr / local / bin / git-create-repo.š
Teraz vytvorte nové úložisko Git test v koreňovom adresári projektu Git / var / www / git pomocou git-create-repo.š nasledujúci shell skript:
$ sudo git-create-repo.sh test
Úložisko Git test by mali byť vytvorené.
Na prístup do úložiska Git potrebujete adresu IP servera Git HTTP.
$ ip aAko vidíte, adresa IP v mojom prípade je 192.168.21.208. U teba to bude iné. Odteraz ho vymeňte za svoj.
Teraz môžete klonovať test Repozitár Git takto:
$ git klon http: // 192.168.21.208 / git / test.git
Úložisko Git test by mali byť naklonované.
Teraz pridajme nové potvrdenie do test Úložisko Git.
$ cd test /$ echo "Hello World"> ahoj
$ git pridať .
$ git commit -m 'initial commit'
Teraz nahrajte zmeny do test Repozitár Git na serveri takto:
$ git push pôvodAko vidíte, zmeny sa nahrávajú v poriadku.
Konfigurácia autentifikácie používateľa:
V tejto časti vám ukážem, ako nakonfigurovať autentifikáciu používateľov v úložiskách Git na serveri.
Najskôr upravte git.konf konfiguračný súbor webu nasledovne:
$ sudo nano / etc / apache2 / sites-available / git.konf
Teraz pridajte do konfiguračného súboru nasledujúcu časť.
AuthType Basic
AuthName "Overenie Git"
AuthUserFile / etc / apache2 / git.heslo
Vyžadovať platného používateľa
Tu, / etc / apache2 / git.heslo je súbor databázy používateľov.
Výsledný konfiguračný súbor by mal vyzerať nasledovne. Teraz uložte súbor stlačením
Teraz vytvorte nový súbor databázy používateľov / etc / apache2 / git.heslo a pridať nového používateľa (povedzme šovon) do databázového súboru nasledovne:
$ sudo htpasswd -c / etc / apache2 / git.passwd shovon
Teraz zadajte nové heslo pre nového používateľa a stlačte
Zadajte rovnaké heslo a stlačte
Do databázy by sa mal pridať pár používateľ-heslo.
Teraz reštartujte server Apache HTTP pomocou nasledujúceho príkazu:
$ sudo systemctl reštart apache2
Teraz, ak sa pokúsite naklonovať test úložiska, budete požiadaní o autentifikáciu, ako vidíte na snímke obrazovky nižšie.
Po autentifikácii pomocou používateľského mena a hesla budete mať prístup do úložiska Git.
Aj keď sa pokúsite tlačiť alebo vytiahnuť z úložiska Git, zobrazí sa výzva aj na zadanie používateľského mena a hesla.
Po overení bude tlačiť a ťahať.
Môžete tiež nastaviť inú databázu používateľov pre rôzne úložiská Git. To by mohlo byť užitočné pre projekty, kde veľa ľudí pracuje spoločne na rovnakom úložisku Git.
Ak chcete nastaviť autentifikáciu úložiska Git, najskôr upravte git.konf konfiguračný súbor webu nasledovne:
$ sudo nano / etc / apache2 / sites-available / git.konfTeraz pridajte do konfiguračného súboru nasledujúce riadky.
AuthType Basic
AuthName "Overenie Git"
AuthUserFile / etc / apache2 / git.test.heslo
Vyžadovať platného používateľa
AuthType Basic
AuthName "Overenie Git"
AuthUserFile / etc / apache2 / git.test2.heslo
Vyžadovať platného používateľa
Pre každé úložisko Git test a test2, a
Výsledný konfiguračný súbor by mal vyzerať nasledovne. Teraz uložte konfiguračný súbor stlačením
Teraz môžete vytvoriť požadované databázy používateľov nasledovne:
$ sudo htpasswd -c / etc / apache2 / git.test.heslo USERNAME$ sudo htpasswd -c / etc / apache2 / git.test2.heslo USERNAME
Po dokončení reštartujte server Apache HTTP pomocou nasledujúceho príkazu:
$ sudo systemctl reštart apache2
Teraz by každé úložisko Git malo mať svoju vlastnú skupinu používateľov, ktorí k nej majú prístup.
Takto si teda nakonfigurujete Git Server s Apache HTTP Serverom na Ubuntu. Ďakujeme, že ste si prečítali tento článok.