Гит сервер хостује спремиште пројекта, које садржи изворни код и друге основне датотеке. Док се, углавном, можете ослонити на глобално познате Гит хостинг услуге као што је ГитХуб, у неким случајевима, боље је да угостите свој лични Гит сервер за додатну приватност, прилагодљивост и безбедност.
Хајде да научимо како можете да подесите приватни Гит сервер на Линук-у.
Предуслови за подешавање Гит сервера
Пре него што почнете да подешавате свој приватни Гит сервер, морате имати приступ резервној машини или морате бити претплаћени на добављаче у облаку. Ово је важно јер ћете подесити резервну машину да делује као Гит сервер на који ћете се повезати са своје локалне машине и обављати Гит операције.
Иако не постоје добро дефинисани системски захтеви, један гигабајт РАМ-а би требало да буде довољан да Гит сервер буде функционалан. Штавише, уверите се да имате Линук дистрибуцију која је покренута на машини.
Корак 1: Преузмите и инсталирајте Гит на Линук серверу
Непотребно је рећи да морате да имате инсталиран Гит на вашем Линук серверу као прелиминарни корак. Покрените терминал и користите менаџер пакета ваше Линук дистрибуције да бисте инсталирали Гит:
На Дебиан/Убунту дериватима:
судо апт инсталирај гит
на Арцх-басед дистрибуције:
судо пацман -С гит
На ЦентОС/РХЕЛ/Федора:
судо днф инсталирај гит
Када се Гит инсталира на вашем систему, пређите на следеће кораке да бисте конфигурисали ваш Линук систем да угости ваша Гит спремишта као Гит сервер.
Корак 2: Подесите Гит кориснички налог
Повежите се са својим Линук сервером преко ССХ-а, РДП или било који други протокол за даљински приступ. Или, ако користите резервни рачунар као сервер, укључите га и креирајте нови кориснички налог за руковање вашим репозиторијумима.
ссх корисничко име@адреса
судо усерадд гит
Након додавања новог корисника, пребаците се на њега помоћу су команда:
су гит
Стварање посвећеног гит кориснички налог је безбедносни протокол који обезбеђује да ће клијенти који се повезују на ваш Гит сервер имати ограничену видљивост и приступ ресурсима на машини. Ово вам омогућава да безбедно сарађујете у групним пројектима где ће више чланова тима приступати вашем серверу.
Корак 3: Креирајте .ссх директоријум и додајте овлашћене кључеве
Креирање а .ссх директоријум је неопходан за складиштење јавних кључева и других битних података који ће диктирати ко ће добити приступ овом Гит серверу. За почетак, пријавите се на гит кориснички налог који сте претходно креирали, креирајте .ссх директоријум и ограничите приступ само на гит корисника:
ссх гит@адреса
мкдир.ссх
цхмод 700 .ссх/
додирните .ссх/аутхоризед_кеис
Обезбедите дозволе за приступ директоријуму помоћу цхмод команду како бисте осигурали да нико осим вас не може да унесе измене у њу. Пређите у .ссх директоријум и креирајте нову датотеку "ауторизовани_кључеви" користећи додирнути команда.
цд.ссх
ссх-кеиген -т рса #покрени ову команду само ако НЕМАТЕ датотеку ид_рса.пуб
мачкаид_рса.пуб
Мораћете да ажурирате ову датотеку са ССХ јавним кључевима клијената којима желите да дате приступ Гит серверу. Прекините ССХ сесију и отворите .ссх/ид_рса.пуб датотеку на вашој локалној машини помоћу уређивача текста или команда мачке. Ова датотека садржи ваш јавни шифровани кључ, који ће вам, када се упише у датотеку аутхоризед_кеис, омогућити приступ Гит серверу без лозинке.
цд.ссх
ви ауторизовани кључеви
Копирајте јавни кључ и отворите нову ССХ везу са Гит сервером. Пређите у .ссх директоријум, отворите датотеку аутхоризед_кеис помоћу уређивача текста и налепите јавни кључ. Сачувајте промене и изађите.
Од тада, требало би да будете у могућности да се повежете са сервером без икакве лозинке. Поновите овај корак за сваку машину која ће се повезати са сервером.
Корак 4: Направите директоријум за складиштење свих ваших спремишта
Приступите Линук серверу и креирајте директоријум или користите уграђени као основни директоријум. Имајте на уму да је ово директоријум у коме ће се чувати сва ваша спремишта. Ово је добра пракса ради уредније организације пројеката.
мкдир име_директорија
Након креирања директоријума, пређите на последњи корак у овом водичу да бисте завршили подешавање Гит сервера.
Корак 5: Започните развој додавањем новог пројекта
Сада сте практично завршили са подешавањем Гит сервера. Сада само треба да започнете развој тако што ћете иницијализовати спремишта и додати удаљено порекло на вашу локалну машину. Померите се у надређени директоријум користећи цд командујте и креирајте а .гит директоријум пројекта:
цд родитељски именик
мкдирНови пројекат.гит
Сада иницијализујте голо гит спремиште:
гит инит --голо
Са иницијализованим спремиштем, време је да додате удаљено порекло на вашу локалну машину:
гит даљинско додавање имена порекла гит@адреса:нев_пројецт.гит
То је све што је требало да урадите на страни сервера. Сада сваки аутентификовани клијент може да обавља редовне Гит операције као што су гурање, повлачење, спајање, клонирање и још много тога. Да бисте започели нове пројекте, мораћете да поновите овај корак сваки пут када креирате нови пројекат.
Тестирајте његову функционалност тако што ћете извршити гит пусх:
тоуцх тестфиле
гит адд тестфиле
гит урезивање -м "тест фајл"
гит пусх име мастер
гит клон гит@аддресс: нев_пројецт.гит
Ваша датотека ће бити успешно послата на удаљено порекло. Да бисте проверили да ли је пусх операција функционисала, можете клонирати спремиште и требало би да пронађете пробну датотеку у спремишту.
Безбедносни савети за ваш Гит сервер
Док је Гит сервер покренут и ради, морате обратити велику пажњу на његов безбедносни статус какав јесте ваш лични сервер и ваша је искључива одговорност да га одржавате и штитите од спољашњих утицаја претње. Неке од најбољих безбедносних пракси које треба усвојити су:
- Онемогућите пријаву лозинком
- Промените подразумевану шкољку у гит-схелл. Ово ограничава пријављеног корисника да изда било коју команду која није гит
- Користите прилагођени порт за ССХ
- Онемогућите пријаву роот корисника
- Редовно правите резервне копије података
Постоји много таквих безбедносних конфигурација и безбедносних мера које можете применити на свом Линук серверу да бисте га заштитили од нападача и спречили неовлашћени приступ.