Git

Конфигурирайте Git сървър с HTTP на CentOS 8

Конфигурирайте Git сървър с HTTP на CentOS 8
В тази статия ще ви покажа как да конфигурирате Git Smart HTTP сървър на CentOS 8 за хостинг на вашите Git хранилища частно. И така, нека започнем.

Инсталиране на Git и Apache HTTP сървър:

Първо актуализирайте кеша на хранилището на CentOS 8 със следната команда:

$ sudo dnf makecache

Сега инсталирайте Git, Apache HTTP сървър и Apache инструменти със следната команда:

$ sudo dnf install git httpd httpd-tools

Сега натиснете Y и след това натиснете за да потвърдите инсталацията.

Трябва да бъдат инсталирани Git, Apache и необходимите Apache инструменти.

Конфигуриране на Apache HTTP сървър:

В този раздел ще ви покажа как да конфигурирате сървъра на Apache за достъп до Git хранилища през HTTP протокол.

Първо създайте нов конфигурационен файл / etc / httpd / conf.г / git.конф със следната команда:

$ sudo vi / etc / httpd / conf.г / git.конф

Сега добавете следните редове към конфигурационния файл / etc / httpd / conf.г / git.конф:


SetEnv GIT_PROJECT_ROOT / var / www / git
SetEnv GIT_HTTP_EXPORT_ALL
DocumentRoot / var / www / git
ScriptAlias ​​/ / usr / libexec / git-core / git-http-backend /
 

Опции + ExecCGI -MultiViews + SymLinksIfOwnerMatch
AllowOverride Няма
Изискване на всички предоставени


Dav On
Опции Индекси FollowSymLinks
AllowOverride Няма
Изискване на всички предоставени

Окончателният конфигурационен файл трябва да изглежда както следва. Сега запазете конфигурационния файл.

Сега създайте GIT_PROJECT_ROOT директория / var / www / git със следната команда:

$ sudo mkdir / var / www / git

Сега конфигурирайте SELinux за / var / www / git директория със следната команда:

$ sudo semanage fcontext -m -t httpd_sys_rw_content_t
"/ var / www / git (/.*)?"

За да влязат в сила промените в SELinux, изпълнете следната команда:

$ sudo restorecon -Rv / var / www / git

Сега рестартирайте услугата на Apache HTTP сървър със следната команда:

$ sudo systemctl рестартирайте httpd

Освен това добавете услугата Apache HTTP сървър към стартирането на системата CentOS 8 със следната команда:

$ sudo systemctl активира httpd

Сега разрешете HTTP порта (80) през файловата стена със следната команда:

$ sudo firewall-cmd --add-service = http --permanent

За да влязат в сила промените, презаредете защитната стена, както следва:

$ sudo firewall-cmd --reload

Писане на скрипт за създаване на HTTP достъпни Git хранилища по-лесно:

За да улесня създаването на HTTP достъпни Git хранилища, написах прост скрипт за черупки, който можете да използвате, за да спестите много от ценното си време.

Ако искате да използвате моя скрипт, създайте нов файл в пътя / usr / sbin / git-crate-repo със следната команда:

$ sudo vi / usr / sbin / git-create-repo

След това въведете следните редове кодове в новосъздадения файл / usr / sbin / git-crate-repo.

#!/ 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
докоснете git-daemon-export-ok
cp куки / след актуализация.примерни куки / след актуализация
git config http.getpack true
git config http.uploadpack вярно
git update-server-info
chown -Rf apache: apache "$ GIT_DIR / $ REPO_NAME.git "
echo "Git хранилище '$ REPO_NAME' създадено в $ GIT_DIR / $ REPO_NAME.git "

Ето как изглежда финалният скрипт на черупката. След като приключите, запазете файла.

Сега добавете изпълнително разрешение към скрипта на черупката / usr / sbin / git-create-repo със следната команда:

$ sudo chmod + x / usr / sbin / git-create-repo

Създаване на HTTP достъпни Git хранилища:

Сега можете да създадете ново HTTP достъпно Git хранилище (нека го наречем тест) със следната команда:

$ sudo git-create-repo тест

Ново достъпно HTTP хранилище на Git тест трябва да се изчисли.

Достъп до Git хранилищата от Git сървъра:

За да получите достъп до Git хранилищата, които сте създали на вашия CentOS 8 Git сървър, имате нужда от този IP адрес на CentOS 8 Git сървъра и името на Git хранилището.

Администраторът на Git сървър може да намери IP адреса на Git сървъра със следната команда:

$ nmcli

В моя случай IP адресът е 192.168.20.129. За вас ще е различно. Така че, не забравяйте да го замените от сега нататък.

След като администраторът на Git сървъра намери IP адреса, той / тя може да го изпрати на потребителите / разработчиците, които ще използват Git хранилища, хоствани на Git сървъра. Тогава потребителите / разработчиците могат да получат достъп до желаните от тях Git хранилища.

Например, ако Боб иска да клонира хранилището на Git тест от Git сървъра, той може да направи това, както следва:

$ git clone http: // 192.168.20.129 / тест.git

Хранилището на Git тест трябва да се клонира от Git сървъра.

Нова директория тест/ трябва да се създаде в текущата работна директория на bob.

Сега bob може да навигира до тест/ директория, както следва:

$ cd тест /

Сега bob създава нов файл съобщение.текст в хранилището на Git.

$ echo 'здравей от linuxhint' >> съобщение.текст

Боб извършва промените.

$ git add .

$ git commit -m 'първоначален ангажимент'

Боб потвърждава дали промените са били ангажирани в хранилището.

$ git log --oneline

Сега bob качва промените на Git сървъра.

$ git push origin

Друг разработчик (да кажем шовон), който иска да допринесе за тест Git хранилището също може да клонира тест хранилище от Git сървъра.

$ git clone http: // 192.168.20.129 / тест.git

Шовон навигира към тест/ директория.

$ cd тест /

Шовън намира ангажимента, който е направил Боб.

Сега, shovon променя съобщението.txt файл.

$ echo 'shovon добави някои нови текстове' >> съобщение.текст

Фиксира промените.

$ git add .

$ git commit -m 'добави ново съобщение'

Shovon потвърждава дали промените са били ангажирани в хранилището.

$ git log --oneline

Shovon качва промените на Git сървъра.

$ git push origin

Сега bob изтегля промените от Git сървъра.

$ git pull

Боб намира новия ангажимент.

$ git log --oneline

Боб намира промените, които Shovon направи в съобщението.txt файл.

Ето как можете да използвате Git хранилища от Git HTTP сървъра.

Добавяне на удостоверяване на потребителя към Git сървър:

Ако искате да добавите удостоверяване на потребителя към Git хранилища в целия сървър или конкретни хранилища на Git, проверете статията Конфигуриране на Git сървър с HTTP в Ubuntu.

И така, вие конфигурирате Git Smart HTTP сървър на CentOS 8 и използвате Git хранилища от Git сървъра. Благодаря, че прочетохте тази статия.

Инсталирайте най-новия Dolphin Emulator за Gamecube & Wii на Linux
Dolphin Emulator ви позволява да играете избраните от вас игри Gamecube & Wii на Linux Personal Computers (PC). Като безплатно достъпен и емулатор на...
Как да използвам GameConqueror Cheat Engine в Linux
Статията обхваща ръководство за използването на GameConqueror cheat engine в Linux. Много потребители, които играят игри под Windows, често използват ...
Най-добрите емулатори на игрови конзоли за Linux
Тази статия ще изброи популярния софтуер за емулация на игрова конзола, наличен за Linux. Емулацията е слой за софтуерна съвместимост, който емулира х...