Гит сервер хостује спремиште пројекта, које садржи изворни код и друге основне датотеке. Док се, углавном, можете ослонити на глобално познате Гит хостинг услуге као што је ГитХуб, у неким случајевима, боље је да угостите свој лични Гит сервер за додатну приватност, прилагодљивост и безбедност.

Хајде да научимо како можете да подесите приватни Гит сервер на Линук-у.

Предуслови за подешавање Гит сервера

Пре него што почнете да подешавате свој приватни Гит сервер, морате имати приступ резервној машини или морате бити претплаћени на добављаче у облаку. Ово је важно јер ћете подесити резервну машину да делује као Гит сервер на који ћете се повезати са своје локалне машине и обављати Гит операције.

Иако не постоје добро дефинисани системски захтеви, један гигабајт РАМ-а би требало да буде довољан да Гит сервер буде функционалан. Штавише, уверите се да имате Линук дистрибуцију која је покренута на машини.

Корак 1: Преузмите и инсталирајте Гит на Линук серверу

Непотребно је рећи да морате да имате инсталиран Гит на вашем Линук серверу као прелиминарни корак. Покрените терминал и користите менаџер пакета ваше Линук дистрибуције да бисте инсталирали Гит:

instagram viewer

На Дебиан/Убунту дериватима:

судо апт инсталирај гит

на Арцх-басед дистрибуције:

судо пацман -С гит

На ЦентОС/РХЕЛ/Федора:

судо днф инсталирај гит

Када се Гит инсталира на вашем систему, пређите на следеће кораке да бисте конфигурисали ваш Линук систем да угости ваша Гит спремишта као Гит сервер.

Корак 2: Подесите Гит кориснички налог

Повежите се са својим Линук сервером преко ССХ-а, РДП или било који други протокол за даљински приступ. Или, ако користите резервни рачунар као сервер, укључите га и креирајте нови кориснички налог за руковање вашим репозиторијумима.

ссх корисничко име@адреса
судо усерадд гит

Након додавања новог корисника, пребаците се на њега помоћу су команда:

су гит

Стварање посвећеног гит кориснички налог је безбедносни протокол који обезбеђује да ће клијенти који се повезују на ваш Гит сервер имати ограничену видљивост и приступ ресурсима на машини. Ово вам омогућава да безбедно сарађујете у групним пројектима где ће више чланова тима приступати вашем серверу.

Корак 3: Креирајте .ссх директоријум и додајте овлашћене кључеве

Креирање а .ссх директоријум је неопходан за складиштење јавних кључева и других битних података који ће диктирати ко ће добити приступ овом Гит серверу. За почетак, пријавите се на гит кориснички налог који сте претходно креирали, креирајте .ссх директоријум и ограничите приступ само на гит корисника:

ссх гит@адреса
мкдир.ссх
цхмод 700 .ссх/
додирните .ссх/аутхоризед_кеис

Обезбедите дозволе за приступ директоријуму помоћу цхмод команду како бисте осигурали да нико осим вас не може да унесе измене у њу. Пређите у .ссх директоријум и креирајте нову датотеку "ауторизовани_кључеви" користећи додирнути команда.

цд.ссх
ссх-кеиген -т рса #покрени ову команду само ако НЕМАТЕ датотеку ид_рса.пуб
мачкаид_рса.пуб

Мораћете да ажурирате ову датотеку са ССХ јавним кључевима клијената којима желите да дате приступ Гит серверу. Прекините ССХ сесију и отворите .ссх/ид_рса.пуб датотеку на вашој локалној машини помоћу уређивача текста или команда мачке. Ова датотека садржи ваш јавни шифровани кључ, који ће вам, када се упише у датотеку аутхоризед_кеис, омогућити приступ Гит серверу без лозинке.

цд.ссх
ви ауторизовани кључеви

Копирајте јавни кључ и отворите нову ССХ везу са Гит сервером. Пређите у .ссх директоријум, отворите датотеку аутхоризед_кеис помоћу уређивача текста и налепите јавни кључ. Сачувајте промене и изађите.

Од тада, требало би да будете у могућности да се повежете са сервером без икакве лозинке. Поновите овај корак за сваку машину која ће се повезати са сервером.

Корак 4: Направите директоријум за складиштење свих ваших спремишта

Приступите Линук серверу и креирајте директоријум или користите уграђени као основни директоријум. Имајте на уму да је ово директоријум у коме ће се чувати сва ваша спремишта. Ово је добра пракса ради уредније организације пројеката.

мкдир име_директорија

Након креирања директоријума, пређите на последњи корак у овом водичу да бисте завршили подешавање Гит сервера.

Корак 5: Започните развој додавањем новог пројекта

Сада сте практично завршили са подешавањем Гит сервера. Сада само треба да започнете развој тако што ћете иницијализовати спремишта и додати удаљено порекло на вашу локалну машину. Померите се у надређени директоријум користећи цд командујте и креирајте а .гит директоријум пројекта:

цд родитељски именик
мкдирНови пројекат.гит

Сада иницијализујте голо гит спремиште:

гит инит --голо

Са иницијализованим спремиштем, време је да додате удаљено порекло на вашу локалну машину:

гит даљинско додавање имена порекла гит@адреса:нев_пројецт.гит

То је све што је требало да урадите на страни сервера. Сада сваки аутентификовани клијент може да обавља редовне Гит операције као што су гурање, повлачење, спајање, клонирање и још много тога. Да бисте започели нове пројекте, мораћете да поновите овај корак сваки пут када креирате нови пројекат.

Тестирајте његову функционалност тако што ћете извршити гит пусх:

тоуцх тестфиле
гит адд тестфиле
гит урезивање -м "тест фајл"
гит пусх име мастер
гит клон гит@аддресс: нев_пројецт.гит

Ваша датотека ће бити успешно послата на удаљено порекло. Да бисте проверили да ли је пусх операција функционисала, можете клонирати спремиште и требало би да пронађете пробну датотеку у спремишту.

Безбедносни савети за ваш Гит сервер

Док је Гит сервер покренут и ради, морате обратити велику пажњу на његов безбедносни статус какав јесте ваш лични сервер и ваша је искључива одговорност да га одржавате и штитите од спољашњих утицаја претње. Неке од најбољих безбедносних пракси које треба усвојити су:

  • Онемогућите пријаву лозинком
  • Промените подразумевану шкољку у гит-схелл. Ово ограничава пријављеног корисника да изда било коју команду која није гит
  • Користите прилагођени порт за ССХ
  • Онемогућите пријаву роот корисника
  • Редовно правите резервне копије података

Постоји много таквих безбедносних конфигурација и безбедносних мера које можете применити на свом Линук серверу да бисте га заштитили од нападача и спречили неовлашћени приступ.