Git

Налаштуйте Git Server за допомогою HTTP на CentOS 8

Налаштуйте Git Server за допомогою 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.

Налаштування сервера HTTP Apache:

У цьому розділі я покажу вам, як налаштувати сервер 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 None
Вимагати всіх наданих


Dav On
Індекси параметрів FollowSymLinks
AllowOverride None
Вимагати всіх наданих

Кінцевий файл конфігурації повинен виглядати наступним чином. Тепер збережіть файл конфігурації.

Тепер створіть 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 "
кд "$ GIT_DIR / $ REPO_NAME.git "
git init --bare &> / dev / null
touch git-daemon-export-ok
cp хуки / після оновлення.зразки хуків / після оновлення
git config http.отримуйте пакет правда
git config http.uploadpack true
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:

Тепер ви можете створити нове сховище Git, доступне для HTTP (назвемо його тест) з наступною командою:

$ sudo git-create-repo тест

Нове сховище Git, доступне для HTTP тест повинні бути ящиками.

Доступ до сховищ 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 створює новий файл повідомлення.txt у сховищі Git.

$ echo 'привіт з linuxhint' >> повідомлення.txt

Боб робить зміни.

$ git add .

$ git commit -m 'початковий коміт'

Боб підтверджує, чи внесено зміни до сховища.

$ git log --oneline

Тепер bob завантажує зміни на сервер Git.

$ git push origin

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

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

Шовон переходить до тест / каталог.

$ cd тест /

Шовон знаходить фіксацію, яку зробив Боб.

Тепер шовон змінює повідомлення.txt-файл.

$ echo 'shovon додав кілька нових текстів' >> повідомлення.txt

Фіксує зміни.

$ git add .

$ git commit -m 'додав нове повідомлення'

Шовон підтверджує, чи були зміни внесені до сховища.

$ git log --oneline

Шовон завантажує зміни на сервер Git.

$ git push origin

Тепер bob витягує зміни з сервера Git.

$ git pull

Боб знаходить нову фіксацію.

$ git log --oneline

Боб знаходить зміни, внесені Шовоном у повідомлення.txt-файл.

Ось як ви можете використовувати сховища Git із сервера Git HTTP.

Додавання автентифікації користувача на Git Server:

Якщо ви хочете додати автентифікацію користувача до серверних сховищ Git або конкретних сховищ Git, тоді перевірте статтю Налаштування сервера Git за допомогою HTTP на Ubuntu.

Отже, ось як ви налаштовуєте Git Smart HTTP Server на CentOS 8 і використовуєте сховища Git із сервера Git. Дякуємо, що прочитали цю статтю.

Top 10 Games to Play on Ubuntu
Windows platform has been one of the dominating platforms for gaming because of the huge percentage of games that are developing today to natively sup...
5 найкращих аркадних ігор для Linux
В наш час комп’ютери - це серйозні машини, що використовуються для ігор. Якщо ви не можете отримати новий високий бал, ви зрозумієте, що я маю на уваз...
Битва за Веснот 1.13.6 Розробка випущена
Битва за Веснот 1.13.6, випущений минулого місяця, є шостим випуском розробки в 1.13.x, і це забезпечує низку вдосконалень, особливо до інтерфейсу кор...