Git

Настройте Git Server с HTTP на CentOS 8

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

Установка Git и HTTP-сервера Apache:

Сначала обновите кеш репозитория пакетов CentOS 8 с помощью следующей команды:

$ sudo dnf makecache

Теперь установите Git, HTTP-сервер Apache и инструменты Apache с помощью следующей команды:

$ sudo dnf установить git httpd httpd-tools

Теперь нажмите Y а затем нажмите для подтверждения установки.

Должны быть установлены Git, Apache и необходимые инструменты Apache.

Настройка HTTP-сервера Apache:

В этом разделе я покажу вам, как настроить сервер Apache для доступа к репозиториям Git по протоколу HTTP.

Сначала создайте новый файл конфигурации / и т.д. / httpd / conf.d / git.conf с помощью следующей команды:

$ sudo vi / и т.д. / httpd / conf.d / git.conf

Теперь добавьте следующие строки в файл конфигурации / и т.д. / httpd / conf.d / git.conf:


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 Нет
Требовать все предоставлено


Дав Он
Индексы опций 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

Теперь перезапустите службу HTTP-сервера Apache с помощью следующей команды:

$ sudo systemctl перезапуск httpd

Также добавьте службу HTTP-сервера Apache при запуске системы CentOS 8 с помощью следующей команды:

$ sudo systemctl включить httpd

Теперь разрешите HTTP-порт (80) через файловую стену с помощью следующей команды:

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

Чтобы изменения вступили в силу, перезагрузите брандмауэр следующим образом:

$ sudo firewall-cmd --reload

Написание сценария для упрощения создания HTTP-доступных репозиториев Git:

Чтобы упростить создание репозиториев Git, доступных по протоколу HTTP, я написал простой сценарий оболочки, который можно использовать для экономии вашего драгоценного времени.

Если вы хотите использовать мой скрипт, создайте новый файл по пути / usr / sbin / git-crate-репо с помощью следующей команды:

$ sudo vi / usr / sbin / git-create-репо

Затем введите следующие строки кода во вновь созданном файле / usr / sbin / git-crate-репо.

#!/ bin / bash
GIT_DIR = "/ var / www / git"
REPO_NAME = 1 доллар США
mkdir -p "$ GIT_DIR / $ REPO_NAME.мерзавец "
cd "$ GIT_DIR / $ REPO_NAME.мерзавец "
git init --bare &> / dev / null
коснитесь git-daemon-export-ok
ловушки cp / пост-обновление.образцы крючков / пост-обновление
git config http.receivepack правда
git config http.uploadpack истина
git update-server-информация
chown -Rf apache: apache "$ GIT_DIR / $ REPO_NAME.мерзавец "
echo "Репозиторий Git" $ REPO_NAME "создан в $ GIT_DIR / $ REPO_NAME.мерзавец "

Вот как выглядит окончательный сценарий оболочки. Как только вы закончите, сохраните файл.

Теперь добавьте разрешение на исполняемый файл в сценарий оболочки / usr / sbin / git-create-repo с помощью следующей команды:

$ sudo chmod + x / usr / sbin / git-create-репо

Создайте 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.

Новый каталог контрольная работа/ должен быть создан в текущем рабочем каталоге bob.

Теперь Боб может перейти к контрольная работа/ каталог следующим образом:

$ cd test /

Теперь Боб создает новый файл сообщение.текст в репозитории Git.

$ echo 'привет от linuxhint' >> сообщение.текст

Боб фиксирует изменения.

$ git add .

$ git commit -m 'начальная фиксация'

Боб подтверждает, были ли изменения зафиксированы в репозитории.

$ git log --oneline

Теперь Боб загружает изменения на сервер Git.

$ git push origin

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

$ git clone http: // 192.168.20.129 / тест.мерзавец

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

$ cd test /

Шовон находит фиксацию, сделанную Бобом.

Теперь Шовон меняет сообщение.txt файл.

$ echo 'shovon добавил несколько новых текстов' >> сообщение.текст

Фиксирует изменения.

$ git add .

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

Шовон подтверждает, зафиксированы ли изменения в репозитории.

$ git log --oneline

Shovon загружает изменения на сервер Git.

$ git push origin

Теперь Боб получает изменения с сервера Git.

$ git pull

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

$ git log --oneline

Боб находит изменения, которые Шовон внес в сообщение.txt файл.

Вот как вы можете использовать репозитории Git с HTTP-сервера Git.

Добавление аутентификации пользователя на Git Server:

Если вы хотите добавить аутентификацию пользователя в серверные репозитории Git или определенные репозитории Git, ознакомьтесь со статьей Настройка Git Server с HTTP в Ubuntu.

Итак, вот как вы настраиваете Git Smart HTTP Server на CentOS 8 и используете репозитории Git с сервера Git. Спасибо, что прочитали эту статью.

Как установить League Of Legends на Ubuntu 14.04
Если вы поклонник League of Legends, то это возможность для вас протестировать League of Legends. Обратите внимание, что LOL поддерживается в PlayOnLi...
Установите последнюю версию игры OpenRA Strategy в Ubuntu Linux
OpenRA - это игровой движок Libre / Free Real Time Strategy, воссоздающий ранние игры Westwood, такие как классическая Command & Conquer: Red Alert. Р...
Установите последнюю версию эмулятора Dolphin для Gamecube и Wii в Linux
Эмулятор Dolphin позволяет вам играть в выбранные вами игры Gamecube и Wii на персональных компьютерах (ПК) Linux. Являясь свободно доступным игровым...