GitHub — отличное решение для совместной работы над кодом и управления репозиториями, но некоторые люди и компании не чувствуют себя в безопасности, размещая свой код в облаке, и вместо этого предпочитают поддерживать интрасеть. Сделать ваши репозитории доступными в локальной интрасети довольно легко, но иметь хороший интерфейс для взаимодействия с этими репозиториями, облегчая сотрудничество между командами, не так просто.
Git предоставляет веб-интерфейс для решения этой проблемы, gitweb, но это не элегантное и современное решение. Трудно понять, что изменилось, кто это сделал и когда это произошло. Кроме того, просмотр рабочего дерева является громоздким. Существуют и другие доступные решения, но некоторые из них слишком сложны для установки или, опять же, плохо подходят для глаз. Недавно я обнаружил GitList, бесплатное средство просмотра Git-репозитория с открытым исходным кодом . Его интерфейс во многом напоминает GitHub, но стремится сделать все простым и понятным.
В этой статье я расскажу вам, как настроить свой собственный просмотрщик репозитория Git. Не волнуйтесь, это не повредит, и это быстрее, чем установка WordPress!
Окружающая обстановка
В этом руководстве я предполагаю, что вы работаете с дистрибутивом Linux на основе Debian, но GitList будет работать с чем угодно. В основном вам нужно:
- Apache с mod_rewrite или Nginx
- Гит
- PHP 5.3+
Если они не установлены, откройте терминал и запустите:
sudo apt-get update sudo apt-get установить php5 apache2 git
Я также сделаю следующие предположения относительно вашей среды:
- Путь к вашим репозиториям Git:
/home/bob/code
- Путь к корню документа Apache:
/var/www
- Путь к исполняемому файлу Git:
/usr/bin/git
- Ваш корневой URL-адрес Apache:
http://localhost
Пользователь Apache получит доступ к вашим репозиториям Git, поэтому вам необходимо применить соответствующие права доступа:
sudo chmod -R 744 / home / bob / code
Установка и настройка GitList
Сначала скачайте GitList . Вы можете выбрать либо последнюю стабильную версию, либо основную версию, но имейте в виду, что основная версия может содержать ошибки, так как разработчики активно работают над ней. После выбора пакета распакуйте его в корневой каталог документов Apache внутри папки с именем gitlist
Теперь для настройки GitList! Переименуйте файл config.ini-example
config.ini
[Мерзавец] client = '/ usr / bin / git'; Ваш путь к исполняемому файлу git репозитории = '/ home / bob / code /'; Путь к вашим репозиториям ; Вы можете скрыть репозитории из GitList, просто скопируйте это для каждого репозитория, который вы хотите скрыть ; скрытый [] = '/ home / bob / code / SecretProject' [приложение] baseurl = 'http: // localhost / gitlist'; Базовый URL приложения ; Если вам нужно указать пользовательские типы файлов для определенных расширений, сделайте это здесь [типы файлов] ; расширение = тип ; dist = xml
Остался только один шаг: нам нужно создать папку внутри /var/www/gitlist
cache
Так:
cd / var / www / gitlist кеш mkdir кеш chmod 777
Теперь перейдите по http://localhost/gitlist
Помогите! Страница не найдена!
GitList использует Apache mod_rewrite для создания красивых URL. Поэтому, если страница не найдена, включите mod_rewrite в Apache:
sudo a2enmod переписать
Также убедитесь, что Apache может прочитать файл .htaccess
Файл .htaccess
Откройте файл конфигурации вашего веб-сайта Apache по умолчанию (обычно он находится в /etc/apache2/sites-enabled/000-default
<Directory / var / www /> Опции Индексы FollowSymLinks MultiViews AllowOverride Нет Заказать разрешить, отказать разрешить от всех </ Directory>
Измените параметр AllowOverride
None
All
Сохраните изменения и перезапустите Apache.
sudo /etc/init.d/apache2 restart
Пользовательская настройка
Интерфейс GitList был создан с использованием Twitter Bootstrap и использует LESS . Файлы LESS доступны в web/less
Предоставляется make-файл, поэтому все, что вам нужно сделать, это настроить файлы LESS на свой вкус, запустить make
web
Конечно, у вас должен быть установлен lessc
npm : npm install less
GitList работает на основе механизма шаблонов Twig , и все шаблоны доступны в views
Чтобы понять, что происходит, я рекомендую вам прочитать этот урок . Не забудьте очистить содержимое папки cache
.twig
Изображение через Fotolia