Меню Рубрики

Установка git на свою freebsd

Предложение от 8host.com

Установка Git на FreeBSD 11.0

Система контроля версий – незаменимый инструмент в современной разработке программного обеспечения. Такие системы позволяют управлять программным обеспечением на уровне исходного кода: отслеживать изменения, вернуться к предыдущим этапам разработки, создавать ветки – альтернативные версии файлов и каталогов, и многое другое.

Одной из наиболее популярных систем контроля версий является распределённая система git. Многие проекты хранят файлы в репозиториях git, а сайты GitHub и Bitbucket сделали процесс совместного использования и разработки кода простым и производительным.

Данное руководство поможет установить и настроить git на сервере FreeBSD 11.0. В руководстве описано два метода установки программы, каждый из которых имеет свои преимущества.

Требования

  • Сервер FreeBSD 11.
  • Пользователь root.
  • SSH-ключ для удалённого доступа к серверу; необходимые инструкции можно найти в руководстве Настройка беспарольной аутентификации по SSH на сервере FreeBSD.

Читайте также:

Установка Git из пакетов

Git можно установить с помощью индекса пакетов FreeBSD. Это самый простой способ установки системы.

Обновите индекс репозитория pkg.

Загрузите и установите пакет git:

Чтобы подтвердить установку, нажмите y.

Система контроля версий Git успешно установлена на сервер. После этого можете переходить к настройке Git.

Установка Git из портов

FreeBSD имеет систему портов, с помощью которой также можно управлять пакетами. Для этого используется иерархия файловой системы, так называемое дерево портов, которое категорирует всё программное обеспечение, которое можно собрать с помощью FreeBSD. Оно находится в /usr/ports. Для работы с деревом портов FreeBSD предоставляет инструмент portsnap.

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

Сначала загрузите и распакуйте файлы дерева портов в /usr/ports.

sudo portsnap fetch extract

Если вы загрузили файлы дерева портов ранее, обновите их:

sudo portsnap fetch update

Откройте каталог devel/git:

Теперь соберите Git. Если добавить в команду BATCH=»yes», установка Git пройдёт в неинтерактивном режиме. Если вы отите установить программу в интерактивном режиме, просто пропустите BATCH=»yes».

sudo make install clean BATCH=»yes»

Система контроля версий Git успешно установлена на сервер. Теперь можно приступать к настройке.

Настройка Git

Для начала просмотрите текущие настройки Git. Они находятся в файле

Теперь можно обновить настройки. К примеру, вы можете указать имя пользователя с помощью команды:

git config —global user.name «8host»

Также рекомендуется обновить адрес электронной почты:

git config —global user.email «8host@example.com»

Примечание: Вместо 8host и 8host@example.com укажите свои данные.

Настройте текстовый редактор по умолчанию:

git config —global core.editor «vim»

Чтобы убедиться, что новые настройки были добавлены в файл, введите:

git config —list
user.name=8host
user.email=8host@example.com
core.editor=vim

Заключение

Система контроля версий Git успешно установлена на сервер FreeBSD 11.0 и готова к работе.

источник

Contents

Share

Sign up for our newsletter.

Get the latest tutorials on SysAdmin and open source topics.

Related

How To Install Git on FreeBSD 11.0

Not using FreeBSD 11? Choose a different version:

Introduction

Version control systems are an indispensable tool in modern software development. They allow you to keep track of your software at the source level. You can track changes, revert to previous stages, and branch to create alternate versions of files and directories.

Git is one of the most popular distributed version control systems. Many projects maintain their files in a Git repository, and sites like GitHub and Bitbucket have made sharing and contributing to code simple and valuable.

In this guide, we will demonstrate how to install and configure Git on a FreeBSD 11.0 server. We will cover how to install the software in two different ways, each of which has its own benefits.

Prerequisites

To follow this tutorial, you will need:

  • One FreeBSD 11 server with a root user. On DigitalOcean, the default freebsd user is fine.

A FreeBSD Droplet requires an SSH key for remote access. For help on setting up an SSH key, read How To Configure SSH Key-Based Authentication on a FreeBSD Server. To learn more about logging into your FreeBSD Droplet and basic management, check out the Getting Started with FreeBSD tutorial series.

Installing Git via Packages

The first installation method we’ll show uses the FreeBSD package index. This is generally the easiest and fastest way to install Git.

First, update the pkg repository index.

Next, download and install the git package.

You’ll need to enter y to confirm the installation. That’s it!

You can now move on to the Configuring Git section below to see some basic, useful customization options.

Installing Git via Ports

The FreeBSD ports system is another way of manging applications on a FreeBSD server. It’s managed through a filesystem hierarchy called the ports tree, located at /usr/ports , which categorizes each available piece of software that FreeBSD knows how to build. portsnap is a tool that comes with FreeBSD and simplifies working with the ports tree. You can learn more in this ports on FreeBSD tutorial.

Читайте также:  Установка противотуманных фар на задний ход

Install Git via ports will take longer than installing it via packages, as you will be building it and several dependencies from source (rather than downloading precompiled binaries, as you would do with pkg ). The benefit of using ports is a higher level of customization.

First, if you haven’t already, download and extract the ports tree files into /usr/ports . This may take a while, but you only ever have to do it once.

If you already have the ports tree downloaded, instead you should update it with:

Then, move to the devel/git directory in the ports tree.

Finally, build Git. Including BATCH=»yes» in this command will install the Git port quietly and avoid the many dialogs along the way asking which parts of certain software you would like installed. You can omit this if you would like to be prompted for which components of each port to install; hitting ENTER will assume the default.

Now that Git is installed, we can configure it.

Configuring Git

First, let’s view the existing Git configuration settings. These are pulled from the

From here, you can update any settings you’d like. For example, update your username with the following command replacing sammy with your username.

You can update your email address with this command, replacing sammy@example.com with your email address.

Specify your default text editor by replacing vim below with your preferred text editor.

You can check that your updates went through by looking at your configuration settings again.

Conclusion

You should now have Git installed on your FreeBSD 11.0 server. For more information on Git, check out the following tutorials:

источник

GitLab: организация совместной разработки проектов

GitLab — платформа для организации совместной работы с git-репозиториями. Представляет собой web-приложение, которое можно развернуть на любом сервере. GitLab популярен в области организации командной разработки, благодаря своим широким функциональным возможностям: созданию отдельных проектов, добавлению кода, обработке запросов, отслеживанию ошибок, средствам визуализации и многим другим. Код проекта написан на языке Ruby и распространяется под лицензией MIT .

В данной статье описывается процесс установки GitLab 8.4 на FreeBSD 10.2.

Git: установка и настройка

Git — распределенная система контроля версий. С более подробной информацией о Git можно ознакомиться в соответствующей статье.

Установка git

Установка сложностей не представляет. Я ставлю пакеты из собственного репозитория 1) с именем FreeBSD_102_local:

Для сборки git со своей конфигурацией перед сборкой пакета для репозитория выполняем

Настройка git

Репозитории git будут храниться в домашней директории пользователя git. Кроме того, для корректной работы GitLab у пользователя должна быть интерактивная оболочка. Поэтому выполняем:

Для работы с git по протоколу git запускаем соответствующий daemon. Для запуска сервиса при старте системы пишем в файл /etc/rc.conf:

Мы не будем работать по этому протоколу, т.к. это протокол без аутентификации пользователей 2) .

Работа с git

Более детальную информацию по работе с Git можно найти в статье о Git.

Установка и настройка GitLab 8

Системы GitLab нет в портах FreeBSD, поэтому установку придется проводить вручную. Это не представляет особых сложностей, поскольку GitLab написан на Ruby и почти на 100% платформонезависим. Однако, GitLab зависит от некоторых программ, которые предварительно нужно установить в систему. Так, GitLab Shell зависит от node. Кроме того, начиная с версии 8.0, веб-запросы к Git осуществляются c помощью утилиты, написанной на языке go, которая компилируется во время развертывания GitLab. Проверяем, что пакеты node и go находятся в репозитории FreeBSD_102_local и выполняем установку:

Про остальные зависимости написано ниже.

Устанавливаем RubyGems — фреймворк для установки библиотек и приложений, написанных на Ruby. При этом пакет ruby будет поставлен через зависимости:

Далее нам придется установить несколько Ruby-приложений. Представляется, что наилучший способ следующий: приложения из коллекции портов установить через pkg, а остальные поставить через Bundler — менеджер управления зависимостями в Ruby.

Позже, при развертывании GitLab, мы воспользуемся Bundler-ом для установки Ruby-приложений.

Redis

Redis — это высокопроизводительная база данных, которая размещается в памяти и хранит данные типа «ключ-значение». Часто используется для ускорения сетевых приложений.

Далее нам потребуется минимальная настройка конфигурационного файла: нужно запретить слушать tcp, разрешить unixsocket и выставить права доступа на сокет. Это можно сделать с помощью любимого текстового редактора ee:

В результате соответствующие строки должны быть такими:

Обратите внимание, что файл redis.sock должен находиться в директории, на которую выставлены права полного доступа для группы. Это нужно, чтобы обеспечить доступ к файлу для пользователя git, которого мы добавим в группу redis. В противном случае при перезапуске сервиса права доступа на группу и группа будут перезаписаны.

Для автоматического запуска после старта системы редактируем /etc/rc.conf:

В результате будет создан файл /var/run/redis/redis.sock, которому мы назначим владельца и права доступа:

Читайте также:  Установка grub ubuntu live cd

Наконец, не забываем добавить пользователя git в группу redis:

PostgreSQL

PostgreSQL — это объектно-реляционная система управления базами данных. Именно эта СУБД рекомендована для хранения данных GitLab 3) .

Устанавливаем сервер PostgreSQL.

Версия выбрана из тех соображений, что на данный момент эта версия ставится по умолчанию. Опции компиляции пакета для репозитория можно предварительно выставить командой

Разрешаем автозапуск после старта системы:

По умолчанию PostgreSQL работает в кодировке UTF-8. Но, как видно из файла /etc/login.conf для FreeBSD пользовательской кодировкой по умолчанию является KOI8-R. Поэтому пользователю PostgreSQL придется сменить локаль. Для этого в файл /etc/login.conf добавим следующие строки:

и запустим обновление системной базы данных:

Затем пропишем класс в rc.conf:

Перед запуском сервиса проводим инициализацию:

После этого можно работать с базой данных. Запускаем сервер:

Следующим шагом ставим пароль администратора на СУБД:

Теперь запрещаем вход в БД без пароля для всех, кроме пользователя git. Пользователю git разрешим беспарольный доступ к БД gitlab. Запускаем текстовый редактор

и правим файл так, чтобы в нем были следующие строки:

В интерактивном терминале создаем новую базу данных gitlab для пользователя git:

Проверим, что локально разрешен вход без пароля, для чего подключимся к новой базе:

Далее отредактируем основной конфигурационный файл postgresql.conf:

Параметр max_connection отвечает за максимальное число пользователей, одновременно подключенных к СУБД. По умолчанию max_connection=100. Уменьшим это число до 20.

Параметр shared_buffers определяет объем разделяемой памяти, используемый сервером. Для машины с 2Гб ОЗУ выставим этот параметр до 256Mb.

Остальные параметры оставим по умолчанию. Перезапустим сервис:

На этом настройку СУБД для работы с GitLab можно считать завершенной.

Установка и настройка GitLab

Ядро GitLab

GitLab устанавливаем в домашнюю директории пользователя git, предварительно войдя в систему:

Затем создадим необходимые директории и выставим нужные права доступа:

Заходим в директорию gitlab и копируем конфигурационные файлы:

Пользователи других СУБД должны скопировать файл настроек с другим расширением.

Посторонним запрещаем доступ к файлам:

Далее редактируем настройки конфигурации:

Параметр worker_processes должен быть равен число процессоров машины.

В файле config/resque.yml необходимо откорректировать redis-сокет. В нашем случае оставляем как есть:

Файл config/gitlab.yml должен содержать следующие строки:

где tau.home.local — имя хоста, на котором разворачивается GitLab. Вторая и третья строки меняются только в том случае, когда мы хотим работать с веб-интерфейсом через защищенное соединение.

Файл config/database.yml должен содержать корректное имя базы данных:

Создаем директорию для сателлитов:

С помощью менеджера bundler устанавливаем Ruby-пакеты:

Последняя строка определяет настройки git, когда к нему происходит обращение через веб-сервер.

Установка и настройка GitLab Shell

Чтобы обеспечить доступ по протоколу https, изменяем файл config.yml:

так, чтобы в нем содержалась строка

где tau.home.local — имя машины с GitLab.

Также указываем, что будем использовать самоподписанный сертификат:

GitLab WorkHorse

WorkHorse не требует дополнительных настроек. Устанавливаем и компилируем утилиту.

Инициализация базы данных

создает таблицы базы данных.

Скрипт запуска

Скрипт запуска GitLab нужно скачать отдельно и положить его в директорию /usr/local/etc/rc.d, разрешив запуск скрипта:

После этого можно добавить в /etc/rc.conf:

Последние штрихи

Проверим, что GitLab установлен корректно:

На ошибку о неустановленном скрипте запуска можно не обращать внимание: у нас FreeBSD. С ошибкой Sidekiq не очень понятно, но вроде бы приложение работает.

Осталось поставить какое-то жутко нужное волшебство

и организовать ротацию логов. Для этого в директории /etc/newsyslog.d.conf создаем файл gitlab:

На этом установка и настройка GitLab завершена. Осталось сделать так:

Установка и настройка Nginx

Nginx — веб-сервер, официально рекомендованный для работы с GitLab.

Выполняем установку пакета:

Пользователя www, под которым работает nginx, добавим в группу git:

Настраиваем Nginx для работы с GitLab по протоколу https. Создаем директории для хранения настроек хостов и сертификатов:

это мы делаем для удобства, чтобы не загромождать основной файл nginx.conf. Копируем файл настроек:

и редактируем его. Для сертификатов прописываем следующие пути:

Создаем отдельные файлы для хранения логов:

Основной конфигурационный файл приводим к следующему виду:

Настройка клиентской части

TortoiseGit

TortoiseGit — клиент системы контроля версий с графическим интерфейсом для ОС Windows. Является расширением Проводника Windows. Установка и настройка проблем обычно не вызывает.

Если при работе: клонировании или push-запросе возникает ошибка, связанная с самоподписанным сертификатом, то команда

решает данную проблему. Однако, так делать не рекомендуется. Более длинный способ решения проблемы — добавить сертификат в настройках git:

источник

Vermus

Программирование, администрирование, музыка, мысли.

1 июня 2009 г.

Установка git сервера на Freebsd 7.2 c клиентами EGit на Eclipse под Windows

Система спроектирована как набор программ, специально разработанных с учётом их использования в скриптах. Это позволяет удобно создавать специализированные системы контроля версий на базе Git или пользовательские интерфейсы. Например, Cogito является именно таким примером фронтенда к репозиториям Git. А StGit использует Git для управления коллекцией патчей.

Git поддерживает быстрое разделение и слияние версий, включает инструменты для визуализации и навигации по нелинейной истории разработки. Как и Darcs, BitKeeper, Mercurial, SVK, Bazaar и Monotone, Git предоставляет каждому разработчику локальную копию всей истории разработки, изменения копируются из одного репозитория в другой.

Читайте также:  Установка бампера на филдер

Удалённый доступ к репозиториям Git обеспечивается git-daemon, SSH, или HTTP сервером. TCP-сервис git-daemon входит в дистрибутив Git и является наряду с SSH наиболее распространённым и надёжным методом доступа. HTTP метод доступа, несмотря на ряд ограничений, очень популярен в контролируемых сетях, потому что позволяет использование существующих конфигураций сетевых фильтров.

Для публичного доступа к репозиторию можно воспользоваться git-daemon.
Также возможен доступ через http (апач+dav+gitweb).
Я же выбрал более простой и надёжный путь — ssh.

Для начала определимся с сервером.
Создаем пользователя, который будет работать с репозиториями, а так же являться администратором gitosis: gituser (создаем без пароля).

При создании, в качестве домашней указываем корневую директорию с репозиториями.

Для начала мы сосредоточимся на авторизации пользователя через ssh .
Для этого, проверим настройки sshd, примерно как здесь.

Устанавливаем gitosis, набор скриптов, которые выполняются при открытии ssh-сессии, позволяют использовать ssh ключи для авторизации в репозиториях, а также освобождают от необходимости создавать много пользователей в системе для доступа к репозиториям.

Далее надо создать gitosis-хостинг с авторизацией только по ключам:
То есть проинициализировать репозиторий самого gitosis в указанной нами директории.
Я решил управление gitosis оставить на сервере.

Эта команда создает в домашней директории пользователя gituser пару id_rsa и id_rsa.pub. Первый файл — секретный, должен быть закрыт от любого пользователя на системе, а так же не передаваться по сети.
Второй ключ публичный, мы его должны передать в gitosis при инициализации gitosis. Его рекомендуют скопировать в директорию, доступную всем для чтения, например /tmp . Далее инициализируем gitosis и его репозиторий.
(Первые две команды, в случае, если у вас не установлен sudo.)

ключ -H обязателен, иначе команда sudo будет выполняться в домашнюю директорию предыдущего пользователя (например /root).

Теперь у нас есть несколько директорий в домашней директории gituser. Папка repositories предназначена для хранения репозиториев, там уже находится репозиторий настроек gitosis (gitosis-admin).

Если у вас старый setuptools, рекомендуют прописать следующие права:

Далее, заходим под пользователем gituser и забираем репозиторий администрирования gitosis:

Это удаленно, а у так как у нас админ на этом же хосте, то локально:

Создание «репозиториев» в gitosis.
Редактируем файл gitosis.conf:

где project — название будущего репозитория.

Создаем публичный ключ в клиенте windows.
Для этого используем пакет msysGit. Я выбрал portable версию, ибо нам из пакета нужен только генератор ssh ключей (PortableGit\bin\ssh-keygen.exe).

Обычно пара сохраняется в папку c:\\Documents and Settings\\Username\\.ssh на XP или c:\\Users\\Username\\.ssh на Vista. Заливаем публичный ключ (vasya.pub) в директорию gitosis-admin/keydir, место куда мы извлекли репозиторий настроек gitosis.

«Пушим» настройки в репозиторий gitosis.

После этого проверить, что файл конфигурации изменился (есть ссылка в домашней директории gituser), а также скопировались ключи в

/repositories/gitosis-admin.git/gitosis-export/keydir. При загрузке в репозиторий gitosis сам извлекает изменившееся файлы в директорию gitosis-admin.

Создаем репозиторий на сервере под юзером gituser:

—bare обозначает, что у нас нет намерения хранить файлы самого проекта на сервере, только diff и файлы, которые генерирует сам git (проще говоря, структура git репозитория). Что кстати, совершенно достаточно даже для Git Plugin for Trac, который мы намереваемся установить.

Теперь нам необходимо создать ветку (branch), иначе EGit будет ругаться на отсутствие оных. Выполнить push на полностью пустом репозитории нельзя.
Для первого коммита автоматически создается бранч с именем master, в него же по умолчанию попадают следующие коммиты

Попробуем получить проект через ssh с помощью плагина EGit .
Установка eclipse и самого плагина очень проста.
В меню eclipse выбираем File-Import, Git Repository. Выбираем протокол git+ssh:// , указываем путь:

Самое главное! eclipse прописывает путь к ssh, как $HOME/ssh. Его необходимо поправить на $HOME/.ssh в меню:
Window-Preferences — General — Network Connection — SSH2. Там же можно управлять ключами и просматривать их. Если eclipse не найдет ключи ничего забираться не будет.
Дальнейшие действия по добавлению проекта интуитивно понятны.

Единственное, в новой версии появилась галочка Import projects after clone, которую надо снять, ибо она у меня привела к пустому списку проектов, попробуйте, может у вас получится. Это не страшно, по вышеприведенному примеру указано как просто сделать share project с извлеченного проекта на диске (плюс показано ниже).

Можно также забрать проект через консоль:

Запускаем PortableGit\git-cmd.bat и выполняем:

Далее, создаем проект в eclipse, добавляем в него наш извлеченный проект (Import-File System), жмем на проекте Team-Share (Git) и все, наш проект теперь помечен, как гит репозиторий. Пробуем менять файлы, коммитить и пушить.

Если возникают какие-либо проблемы, то смотрим /var/log/auth.log .
А также в eclipse ( Help — About Eclipse — Configuration Details — View Error Log).
Также можно добавить после строчки [gitosis] в gitosis.conf:

При задании которого при обращении к gitosis (через консольный клиент) будут выведена дополнительная информация при ошибках.

Об установке багтрекера Trac для git, а также использовании git в Visual Studio в следующий раз.

источник

Добавить комментарий