<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://wiki.ark-hoster.ru/index.php?action=history&amp;feed=atom&amp;title=%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0_%D0%B8_%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_Git_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0</id>
	<title>Установка и настройка Git сервера - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.ark-hoster.ru/index.php?action=history&amp;feed=atom&amp;title=%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0_%D0%B8_%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_Git_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0"/>
	<link rel="alternate" type="text/html" href="https://wiki.ark-hoster.ru/index.php?title=%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0_%D0%B8_%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_Git_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0&amp;action=history"/>
	<updated>2026-05-01T12:59:29Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.31.0</generator>
	<entry>
		<id>https://wiki.ark-hoster.ru/index.php?title=%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0_%D0%B8_%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_Git_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0&amp;diff=1545&amp;oldid=prev</id>
		<title>Admin в 10:43, 15 октября 2025</title>
		<link rel="alternate" type="text/html" href="https://wiki.ark-hoster.ru/index.php?title=%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0_%D0%B8_%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_Git_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0&amp;diff=1545&amp;oldid=prev"/>
		<updated>2025-10-15T10:43:12Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;https://wiki.ark-hoster.ru/index.php?title=%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0_%D0%B8_%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_Git_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0&amp;amp;diff=1545&amp;amp;oldid=1440&quot;&gt;Внесённые изменения&lt;/a&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.ark-hoster.ru/index.php?title=%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0_%D0%B8_%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_Git_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0&amp;diff=1440&amp;oldid=prev</id>
		<title>Admin в 19:57, 14 октября 2025</title>
		<link rel="alternate" type="text/html" href="https://wiki.ark-hoster.ru/index.php?title=%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0_%D0%B8_%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_Git_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0&amp;diff=1440&amp;oldid=prev"/>
		<updated>2025-10-14T19:57:03Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;https://wiki.ark-hoster.ru/index.php?title=%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0_%D0%B8_%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_Git_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0&amp;amp;diff=1440&amp;amp;oldid=1439&quot;&gt;Внесённые изменения&lt;/a&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.ark-hoster.ru/index.php?title=%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0_%D0%B8_%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_Git_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0&amp;diff=1439&amp;oldid=prev</id>
		<title>Admin в 19:55, 14 октября 2025</title>
		<link rel="alternate" type="text/html" href="https://wiki.ark-hoster.ru/index.php?title=%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0_%D0%B8_%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_Git_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0&amp;diff=1439&amp;oldid=prev"/>
		<updated>2025-10-14T19:55:16Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;https://wiki.ark-hoster.ru/index.php?title=%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0_%D0%B8_%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_Git_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0&amp;amp;diff=1439&amp;amp;oldid=1434&quot;&gt;Внесённые изменения&lt;/a&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.ark-hoster.ru/index.php?title=%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0_%D0%B8_%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_Git_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0&amp;diff=1434&amp;oldid=prev</id>
		<title>Admin: Новая страница: «= Установка и настройка Git сервера =  == 1. Подготовка системы ==  * Войдите в систему под учет…»</title>
		<link rel="alternate" type="text/html" href="https://wiki.ark-hoster.ru/index.php?title=%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0_%D0%B8_%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_Git_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0&amp;diff=1434&amp;oldid=prev"/>
		<updated>2025-10-14T19:48:54Z</updated>

		<summary type="html">&lt;p&gt;Новая страница: «= Установка и настройка Git сервера =  == 1. Подготовка системы ==  * Войдите в систему под учет…»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= Установка и настройка Git сервера =&lt;br /&gt;
&lt;br /&gt;
== 1. Подготовка системы ==&lt;br /&gt;
&lt;br /&gt;
* Войдите в систему под учетной записью с правами &amp;#039;&amp;#039;&amp;#039;root&amp;#039;&amp;#039;&amp;#039; или пользователя с правами &amp;#039;&amp;#039;&amp;#039;sudo&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
* Убедитесь, что у вас есть доступ к серверу через SSH или консоль.&lt;br /&gt;
&lt;br /&gt;
== 2. Установка Git ===&lt;br /&gt;
&lt;br /&gt;
=== Установка пакета ===&lt;br /&gt;
&lt;br /&gt;
1. Обновите список пакетов:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
sudo apt update&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Установите Git:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
sudo apt install git&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3. Установите дополнительные компоненты:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
sudo apt install git-core gitweb git-daemon-run&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Проверка установки ===&lt;br /&gt;
&lt;br /&gt;
1. Проверьте версию Git:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
git --version&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Проверьте конфигурацию:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
git config --list&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 3. Настройка Git сервера ===&lt;br /&gt;
&lt;br /&gt;
=== Создание пользователя для Git ===&lt;br /&gt;
&lt;br /&gt;
1. Создайте пользователя для Git:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
sudo useradd -m -s /bin/bash git&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Установите пароль:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
sudo passwd git&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3. Создайте директорию для репозиториев:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
sudo mkdir -p /home/git/repositories&lt;br /&gt;
sudo chown git:git /home/git/repositories&lt;br /&gt;
sudo chmod 755 /home/git/repositories&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Настройка SSH ключей ===&lt;br /&gt;
&lt;br /&gt;
1. Переключитесь на пользователя git:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
sudo su - git&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Создайте директорию для SSH ключей:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
mkdir -p ~/.ssh&lt;br /&gt;
chmod 700 ~/.ssh&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3. Создайте файл authorized_keys:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
touch ~/.ssh/authorized_keys&lt;br /&gt;
chmod 600 ~/.ssh/authorized_keys&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 4. Создание репозиториев ===&lt;br /&gt;
&lt;br /&gt;
=== Создание голого репозитория ===&lt;br /&gt;
&lt;br /&gt;
1. Создайте голый репозиторий:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
cd /home/git/repositories&lt;br /&gt;
git init --bare my-project.git&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Установите права доступа:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
sudo chown -R git:git my-project.git&lt;br /&gt;
sudo chmod -R 755 my-project.git&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Создание репозитория с GitWeb ===&lt;br /&gt;
&lt;br /&gt;
1. Создайте репозиторий для GitWeb:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
cd /home/git/repositories&lt;br /&gt;
git init --bare --shared=group my-project-web.git&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Настройте описание репозитория:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
echo &amp;quot;My Project Repository&amp;quot; &amp;gt; my-project-web.git/description&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3. Включите GitWeb:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
echo &amp;quot;gitweb&amp;quot; &amp;gt; my-project-web.git/gitweb&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 5. Настройка GitWeb ===&lt;br /&gt;
&lt;br /&gt;
=== Установка и настройка GitWeb ===&lt;br /&gt;
&lt;br /&gt;
1. Установите GitWeb:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
sudo apt install gitweb&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Отредактируйте конфигурацию GitWeb:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
sudo nano /etc/gitweb.conf&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3. Настройте основные параметры:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
# Основные настройки&lt;br /&gt;
$projectroot = &amp;quot;/home/git/repositories&amp;quot;;&lt;br /&gt;
$git_temp = &amp;quot;/tmp&amp;quot;;&lt;br /&gt;
$projects_list = $projectroot;&lt;br /&gt;
&lt;br /&gt;
# Настройки отображения&lt;br /&gt;
$site_name = &amp;quot;Git Server&amp;quot;;&lt;br /&gt;
$site_html_head_string = &amp;quot;&amp;lt;link rel=&amp;#039;stylesheet&amp;#039; type=&amp;#039;text/css&amp;#039; href=&amp;#039;/gitweb.css&amp;#039;/&amp;gt;&amp;quot;;&lt;br /&gt;
$site_header = &amp;quot;/gitweb-header.html&amp;quot;;&lt;br /&gt;
$site_footer = &amp;quot;/gitweb-footer.html&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
# Настройки безопасности&lt;br /&gt;
$export_ok = &amp;quot;git-daemon-export-ok&amp;quot;;&lt;br /&gt;
$strict_export = 1;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Настройка веб-сервера для GitWeb ===&lt;br /&gt;
&lt;br /&gt;
1. Создайте конфигурацию для Apache:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
sudo nano /etc/apache2/sites-available/gitweb.conf&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Добавьте конфигурацию:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
    ServerName git.example.com&lt;br /&gt;
    DocumentRoot /usr/share/gitweb&lt;br /&gt;
    &lt;br /&gt;
    Alias /gitweb /usr/share/gitweb&lt;br /&gt;
    &amp;lt;Directory /usr/share/gitweb&amp;gt;&lt;br /&gt;
        Options +ExecCGI&lt;br /&gt;
        AddHandler cgi-script .cgi&lt;br /&gt;
        DirectoryIndex gitweb.cgi&lt;br /&gt;
        Require all granted&lt;br /&gt;
    &amp;lt;/Directory&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    ScriptAlias /gitweb.cgi /usr/share/gitweb/gitweb.cgi&lt;br /&gt;
    &amp;lt;Directory /usr/share/gitweb&amp;gt;&lt;br /&gt;
        Options +ExecCGI&lt;br /&gt;
        AddHandler cgi-script .cgi&lt;br /&gt;
        Require all granted&lt;br /&gt;
    &amp;lt;/Directory&amp;gt;&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3. Включите сайт:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
sudo a2ensite gitweb&lt;br /&gt;
sudo systemctl restart apache2&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 6. Настройка Git Daemon ===&lt;br /&gt;
&lt;br /&gt;
=== Настройка Git Daemon ===&lt;br /&gt;
&lt;br /&gt;
1. Отредактируйте конфигурацию Git Daemon:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
sudo nano /etc/default/git-daemon&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Настройте параметры:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
GIT_DAEMON_ENABLE=1&lt;br /&gt;
GIT_DAEMON_USER=git&lt;br /&gt;
GIT_DAEMON_BASE_PATH=/home/git/repositories&lt;br /&gt;
GIT_DAEMON_OPTIONS=&amp;quot;--export-all --reuseaddr --verbose --base-path=/home/git/repositories&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3. Запустите Git Daemon:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
sudo systemctl start git-daemon&lt;br /&gt;
sudo systemctl enable git-daemon&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Настройка репозиториев для Git Daemon ===&lt;br /&gt;
&lt;br /&gt;
1. Создайте файл для экспорта репозитория:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
touch /home/git/repositories/my-project.git/git-daemon-export-ok&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Установите права доступа:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
sudo chown git:git /home/git/repositories/my-project.git/git-daemon-export-ok&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 7. Настройка SSH доступа ===&lt;br /&gt;
&lt;br /&gt;
=== Настройка SSH для Git ===&lt;br /&gt;
&lt;br /&gt;
1. Отредактируйте SSH конфигурацию:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
sudo nano /etc/ssh/sshd_config&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Добавьте настройки для Git:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
# Настройки для Git&lt;br /&gt;
Match User git&lt;br /&gt;
    AllowUsers git&lt;br /&gt;
    ForceCommand git-shell&lt;br /&gt;
    X11Forwarding no&lt;br /&gt;
    AllowTcpForwarding no&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3. Перезапустите SSH:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
sudo systemctl restart ssh&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Настройка Git Shell ===&lt;br /&gt;
&lt;br /&gt;
1. Создайте директорию для Git Shell:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
sudo mkdir -p /home/git/git-shell-commands&lt;br /&gt;
sudo chown git:git /home/git/git-shell-commands&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Создайте скрипт для отображения репозиториев:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
sudo nano /home/git/git-shell-commands/list-repos&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3. Добавьте содержимое:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
echo &amp;quot;Available repositories:&amp;quot;&lt;br /&gt;
ls -la /home/git/repositories/&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4. Сделайте скрипт исполняемым:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
sudo chmod +x /home/git/git-shell-commands/list-repos&lt;br /&gt;
sudo chown git:git /home/git/git-shell-commands/list-repos&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 8. Настройка файрвола ===&lt;br /&gt;
&lt;br /&gt;
=== Настройка UFW ===&lt;br /&gt;
&lt;br /&gt;
1. Разрешите SSH трафик:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
sudo ufw allow ssh&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Разрешите HTTP трафик для GitWeb:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
sudo ufw allow 80/tcp&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3. Разрешите Git Daemon порт:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
sudo ufw allow 9418/tcp&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4. Проверьте статус:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
sudo ufw status&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Настройка iptables ===&lt;br /&gt;
&lt;br /&gt;
1. Разрешите необходимые порты:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT&lt;br /&gt;
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT&lt;br /&gt;
sudo iptables -A INPUT -p tcp --dport 9418 -j ACCEPT&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Сохраните правила:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
sudo iptables-save &amp;gt; /etc/iptables/rules.v4&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 9. Управление репозиториями ===&lt;br /&gt;
&lt;br /&gt;
=== Создание репозитория ===&lt;br /&gt;
&lt;br /&gt;
1. Создайте новый репозиторий:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
cd /home/git/repositories&lt;br /&gt;
sudo -u git git init --bare new-project.git&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Установите права доступа:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
sudo chown -R git:git new-project.git&lt;br /&gt;
sudo chmod -R 755 new-project.git&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3. Настройте описание:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
echo &amp;quot;New Project Repository&amp;quot; | sudo tee new-project.git/description&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Управление доступом ===&lt;br /&gt;
&lt;br /&gt;
1. Добавьте SSH ключ пользователя:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
sudo -u git bash -c &amp;quot;echo &amp;#039;ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC...&amp;#039; &amp;gt;&amp;gt; /home/git/.ssh/authorized_keys&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Удалите SSH ключ:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
sudo -u git bash -c &amp;quot;sed -i &amp;#039;/ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC.../d&amp;#039; /home/git/.ssh/authorized_keys&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Управление репозиториями ===&lt;br /&gt;
&lt;br /&gt;
1. Просмотрите список репозиториев:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
ls -la /home/git/repositories/&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Удалите репозиторий:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
sudo rm -rf /home/git/repositories/old-project.git&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3. Переименуйте репозиторий:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
sudo mv /home/git/repositories/old-name.git /home/git/repositories/new-name.git&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 10. Мониторинг и логирование ===&lt;br /&gt;
&lt;br /&gt;
=== Настройка логирования ===&lt;br /&gt;
&lt;br /&gt;
1. Создайте скрипт логирования Git операций:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
sudo nano /home/git/git-shell-commands/log-activity&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Добавьте содержимое:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
echo &amp;quot;$(date): $SSH_ORIGINAL_COMMAND&amp;quot; &amp;gt;&amp;gt; /home/git/git-activity.log&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3. Сделайте скрипт исполняемым:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
sudo chmod +x /home/git/git-shell-commands/log-activity&lt;br /&gt;
sudo chown git:git /home/git/git-shell-commands/log-activity&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Просмотр логов ===&lt;br /&gt;
&lt;br /&gt;
1. Просмотрите логи SSH:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
sudo tail -f /var/log/auth.log | grep git&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Просмотрите логи Git активности:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
sudo tail -f /home/git/git-activity.log&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3. Просмотрите логи Apache для GitWeb:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
sudo tail -f /var/log/apache2/access.log | grep gitweb&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Создание скрипта мониторинга ===&lt;br /&gt;
&lt;br /&gt;
1. Создайте скрипт мониторинга:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
sudo nano /usr/local/bin/git-monitor.sh&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Добавьте содержимое:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
# Проверка статуса Git сервисов&lt;br /&gt;
if systemctl is-active --quiet ssh; then&lt;br /&gt;
    echo &amp;quot;SSH is running&amp;quot;&lt;br /&gt;
else&lt;br /&gt;
    echo &amp;quot;SSH is not running&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
if systemctl is-active --quiet git-daemon; then&lt;br /&gt;
    echo &amp;quot;Git Daemon is running&amp;quot;&lt;br /&gt;
else&lt;br /&gt;
    echo &amp;quot;Git Daemon is not running&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
if systemctl is-active --quiet apache2; then&lt;br /&gt;
    echo &amp;quot;Apache is running&amp;quot;&lt;br /&gt;
else&lt;br /&gt;
    echo &amp;quot;Apache is not running&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Проверка репозиториев&lt;br /&gt;
REPO_COUNT=$(ls -1 /home/git/repositories/ | wc -l)&lt;br /&gt;
echo &amp;quot;Number of repositories: $REPO_COUNT&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Проверка использования диска&lt;br /&gt;
DISK_USAGE=$(du -sh /home/git/repositories/ | cut -f1)&lt;br /&gt;
echo &amp;quot;Repository disk usage: $DISK_USAGE&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3. Сделайте скрипт исполняемым:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
sudo chmod +x /usr/local/bin/git-monitor.sh&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 11. Устранение неполадок ===&lt;br /&gt;
&lt;br /&gt;
=== Частые проблемы ===&lt;br /&gt;
&lt;br /&gt;
1. &amp;#039;&amp;#039;&amp;#039;Не могу клонировать репозиторий&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* Проверьте SSH ключи: &amp;lt;code&amp;gt;ssh -T git@server&amp;lt;/code&amp;gt;&lt;br /&gt;
* Проверьте права доступа: &amp;lt;code&amp;gt;ls -la /home/git/repositories/&amp;lt;/code&amp;gt;&lt;br /&gt;
* Проверьте SSH конфигурацию&lt;br /&gt;
&lt;br /&gt;
2. &amp;#039;&amp;#039;&amp;#039;GitWeb не работает&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* Проверьте Apache: &amp;lt;code&amp;gt;sudo systemctl status apache2&amp;lt;/code&amp;gt;&lt;br /&gt;
* Проверьте конфигурацию GitWeb: &amp;lt;code&amp;gt;sudo nano /etc/gitweb.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
* Проверьте права доступа к репозиториям&lt;br /&gt;
&lt;br /&gt;
3. &amp;#039;&amp;#039;&amp;#039;Git Daemon не работает&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* Проверьте статус: &amp;lt;code&amp;gt;sudo systemctl status git-daemon&amp;lt;/code&amp;gt;&lt;br /&gt;
* Проверьте конфигурацию: &amp;lt;code&amp;gt;sudo nano /etc/default/git-daemon&amp;lt;/code&amp;gt;&lt;br /&gt;
* Проверьте файрвол: &amp;lt;code&amp;gt;sudo ufw status&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Диагностика ===&lt;br /&gt;
&lt;br /&gt;
1. Проверьте статус служб:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
sudo systemctl status ssh&lt;br /&gt;
sudo systemctl status git-daemon&lt;br /&gt;
sudo systemctl status apache2&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Проверьте подключения:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
sudo netstat -tlnp | grep -E &amp;#039;:(22|80|9418)&amp;#039;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3. Проверьте SSH подключение:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
ssh -T git@localhost&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4. Проверьте права доступа:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
ls -la /home/git/&lt;br /&gt;
ls -la /home/git/repositories/&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 12. Дополнительные настройки ===&lt;br /&gt;
&lt;br /&gt;
=== Настройка хуков ===&lt;br /&gt;
&lt;br /&gt;
1. Создайте хук для уведомлений:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
sudo nano /home/git/repositories/my-project.git/hooks/post-receive&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Добавьте содержимое:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
echo &amp;quot;Repository updated: $(date)&amp;quot; | mail -s &amp;quot;Git Update&amp;quot; admin@example.com&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3. Сделайте хук исполняемым:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
sudo chmod +x /home/git/repositories/my-project.git/hooks/post-receive&lt;br /&gt;
sudo chown git:git /home/git/repositories/my-project.git/hooks/post-receive&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Настройка резервного копирования ===&lt;br /&gt;
&lt;br /&gt;
1. Создайте скрипт резервного копирования:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
sudo nano /usr/local/bin/git-backup.sh&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Добавьте содержимое:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
BACKUP_DIR=&amp;quot;/backup/git&amp;quot;&lt;br /&gt;
REPO_DIR=&amp;quot;/home/git/repositories&amp;quot;&lt;br /&gt;
DATE=$(date +%Y%m%d_%H%M%S)&lt;br /&gt;
&lt;br /&gt;
# Создание директории для бэкапа&lt;br /&gt;
mkdir -p $BACKUP_DIR&lt;br /&gt;
&lt;br /&gt;
# Резервное копирование репозиториев&lt;br /&gt;
tar -czf $BACKUP_DIR/git_repos_$DATE.tar.gz -C $REPO_DIR .&lt;br /&gt;
&lt;br /&gt;
# Удаление старых бэкапов (старше 7 дней)&lt;br /&gt;
find $BACKUP_DIR -name &amp;quot;git_repos_*.tar.gz&amp;quot; -mtime +7 -delete&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Git backup completed: git_repos_$DATE.tar.gz&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3. Сделайте скрипт исполняемым:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
sudo chmod +x /usr/local/bin/git-backup.sh&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4. Добавьте в crontab:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
# Ежедневный бэкап в 2:00&lt;br /&gt;
0 2 * * * /usr/local/bin/git-backup.sh&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Заключение ==&lt;br /&gt;
&lt;br /&gt;
Git сервер успешно установлен и настроен! Теперь вы можете предоставлять услуги управления версиями.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Для размещения ваших Git серверов на надежном хостинге рекомендуем воспользоваться услугами [ARK-HOSTER.RU](https://ark-hoster.ru):&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[Выделенные серверы](https://ark-hoster.ru/dedicated/)&amp;#039;&amp;#039;&amp;#039; - для высоконагруженных Git серверов&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[VPS/VDS серверы](https://ark-hoster.ru/vpsgame/)&amp;#039;&amp;#039;&amp;#039; - для небольших и средних команд&lt;br /&gt;
&lt;br /&gt;
Наши специалисты помогут с настройкой Git сервера и обеспечением безопасности ваших репозиториев!&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
</feed>