Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: [попытка How-to] Свой Git сервер с доступом по WebDAV  (Прочитано 3297 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Shalmaran

  • Автор темы
  • Активист
  • *
  • Сообщений: 839
  • Cow super power!
    • Просмотр профиля
    • kristyushatmb.livejournal.com
Попробую написать How-To по созданию собственного сервера, на базе Ubuntu Server 15.04.
Версия сервера не очень важна, но стоит учитывать, что в разных версиях ОС, включены разные версии WEB-сервера Apache. Я использовал 15.04, в состав которого входит Apache 2.4.
У меня самого не всё идёт гладко, но я думаю, что скоро я всё сделаю :) Жду комментарии и замечания.
Для начала установлю необходимые пакеты:
sudo apt update
sudo apt install apache2 git git-core git-svn gitweb
Теперь можно создать папки для проектов.
Общую папку для сайта:
sudo mkdir /var/www/mysite.git
Папку для логов и главную папку:
sudo mkdir /var/www/mysite.git/logs
sudo mkdir /var/www/mysite.git/htdocs
Ну и папку для проектов:
sudo mkdir /var/www/mysite.git/htdocs/git
Подключаю необходимые модули:
sudo a2enmod dav
sudo a2enmod dav_fs
sudo a2enmod rewrite
sudo a2enmod env
sudo a2enmod cgi
sudo service apache2 restart
Ошибок нет, значит иду дальше.
Теперь стоит настроить виртуальный сервер.
Конфигурации сайтов Apache лежат в /etc/apache2/sites-available. Создаю и редактирую новый файл конфигурации.
sudo touch /etc/apache2/sites-available/git.mysite.conf
sudo vi /etc/apache2/sites-available/git.mysite.conf
git.mysite.conf:
# Виртуальный сервер git.example.com
<VirtualHost *:80>
# Адрес, что будет слушать Apache
ServerName git.example.com

# Почта администратора сайта
ServerAdmin admin@example.com

# Директория сайта
DocumentRoot /var/www/mysite.git/htdocs
# В качестве индексного файла буду использовать Gitweb
DirectoryIndex /cgi-bin/gitweb.cgi

#Включу mod_rewrite на всём виртуальном сервере
RewriteEngine On
RewriteRule ^/([a-zA-Z0-9_\-]+\/\.git)/?(\?.*)?$ /cgi-bin/gitweb.cgi/$1 [L,PT]

# Логи
ErrorLog /var/www/git/logs/error.log
CustomLog /var/www/git/logs/access.log "combined"

# Подключение папки cgi-bin/
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/

<Directory "/cgi-bin/">
SetHandler cgi-script
Options +ExecCGI
Order allow,deny
Allow from all
AddHandler cgi-script .cgi
</Directory>

# Установка переменных ля Gitweb
SetEnv GITWEB_CONFIG /var/www/mysite.git/gitweb.conf
Alias /gitweb /usr/share/gitweb/

# И установка прав на основную папку
<Directory "/var/www/mysite.git/htdocs">
 Allow from all
 Options Indexes MultiViews FollowSymLinks
 AllowOverride None
 Order allow,deny
 Require all granted
 </Directory>

# Ещё один необходимый псевдоним для репозитория Git
Alias /git /var/www/mysite.git/htdocs
# Включение DAV и установка прав
<Location /git>
DAV On
AuthType Basic
AuthName "Git"
AuthUserFile /var/www/mysite.git/passwd.git
Require valid-user
</Location>
</VirtualHost>

Осталось отредактировать файл конфигурации gitweb.
/var/www/mysite.git/gitweb.conf:
# Адрес Git репозитория
$my_uri = "http://git.example.com";

# Название сайта, отображается в заголовке
$site_name = "git.example.com";

# Путь к репозиториям Git на жёстком диске
$projectroot = "/var/www/mysite.git/htdocs/git/";

# Временная папка
$dir_temp = "/tmp";

# Ссылка на домашнюю страницу
$home_text = $my_uri;

# Текст, можно откомментировать и вставить свой
$home_text = "indextext.html";

$projects_list = $projectroot;
$stylesheet = "/gitweb/gitweb.css";
$logo = "/gitweb/git-logo.png";
$favicon = "/gitweb/git-favicon.png";
$projects_list_description_width = 40;

$feature{'pathinfo'}{'default'} = [1];
Создаю пользователей:
sudo htpasswd -cm /var/www/mysite.git/passwd.git user
Включаю конфигурацию и перезапускаю Apache:
sudo a2ensite git.mysite.conf
sudo service apache2 restart

Пока всё. Надо шлифовать. Жду комментарии.
« Последнее редактирование: 22 Октября 2015, 20:56:43 от Shalmaran »
Banana Pi

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Re: [попытка How-to] Свой Git сервер с доступом по WebDAV
« Ответ #1 : 22 Октября 2015, 12:07:31 »
ServerAlias уберите.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

 

Страница сгенерирована за 0.017 секунд. Запросов: 22.