Свой GitLab сервер на Ubuntu 18.04: Полная инструкция по установке и настройке

Свой GitLab сервер на Ubuntu 18.04: Полная инструкция по установке и настройке

Хватит зависеть от сторонних платформ! Пришло время развернуть собственный, полнофункциональный сервер для управления кодом, который будет работать под вашим полным контролем.

GitLab — это мощная альтернатива GitHub, которая предоставляет все необходимое для профессиональной разработки: репозитории Git, Issue Tracker, Code Review, CI/CD и вики. И всё это — на вашем собственном железе.

Представьте: ваши проекты, ваши данные, ваши правила. Полная независимость и безопасность.

В этом руководстве вы получите пошаговый план, как с нуля поднять рабочую версию GitLab Community Edition на Ubuntu 18.04. Мы не просто установим пакет, а настроим всё для комфортной работы.

Вы научитесь подключать официальный репозиторий, выполнять первоначальную настройку и даже интегрировать GitLab с уже установленным веб-сервером Apache.

Мы подробно разберем процесс первоначальной авторизации, настройки учётной записи и добавления SSH-ключей для безопасного доступа. Вы узнаете, как отключить публичную регистрацию для приватности и создадите свой первый проект.

Всё это — без сложных манипуляций и с полным пониманием каждого действия. Готовьтесь превратить ваш сервер в мощный хаб для разработки. Начнем!


Один из самых популярных репозиториев для хранения и общего доступа к коду - это GitHub, однако после покупки проекта компанией Microsoft популярность стали набирать и другие проекты, один из них - GitLab. Это аналогичный свободный менеджер репозиториев, с помощью которого можно работать с кодом, принимать Pull Request'ы, отслеживать сообщения об ошибках и тестировать свои приложения.

У GitLab есть такие же инструменты, как и у GitHub, есть страница Issue для сообщений об ошибках, есть поддержка код-ревью, wiki, а также вы можете работать с несколькими приватными проектами.


Содержание статьи

Установка GitLab в Ubuntu 18.04

У GitLab есть несколько версий. Кроме онлайн версии, в которую вы можете выгружать свои проекты, доступной на веб-сайте GitLab.com, есть версия Community Edition и платная версия Enterprice Edition, которые можно установить на свой компьютер и создать собственный Git-сервер. В этой инструкции мы рассмотрим, как установить GitLab Ubuntu 18.04 версии Community Edition. Для этого будем использовать официальный репозиторий.

Сначала обновите репозитории до самой последний версии:

sudo apt upgrade

1. Установка репозитория

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

curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash

Свой GitLab сервер на Ubuntu 18.04: Полная инструкция по установке и настройке

2. Установка пакета программы

После завершения вы можете установить gitlab-ce командой:

sudo apt install gitlab-ce

Когда установка GitLab Ubuntu 18.04 будет завершена, вы увидите такое сообщение:

Свой GitLab сервер на Ubuntu 18.04: Полная инструкция по установке и настройке

3. Развёртывание GitLab

Теперь нам необходимо подготовить программу к работе. Сначала нужно настроить URL, по которой будет открываться интерфейс GitLab. Для этого откройте файл /etc/gitlab/gitlab.rb и найдите там строчку external_url. Здесь нужно указать ваш домен. На своём локальном компьютере я буду использовать домен gitlab.local:

sudo vi /etc/gitlab/gitlab.rb

external_url 'http://gitlab.local'

Свой GitLab сервер на Ubuntu 18.04: Полная инструкция по установке и настройке

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

sudo gitlab-ctl reconfigure

Свой GitLab сервер на Ubuntu 18.04: Полная инструкция по установке и настройке

Если на вашем сервере включён брандмауэр, необходимо добавить в исключения порты для протоколов http и ssh:

sudo ufw allow ssh
sudo ufw allow http

Чтобы наш локальный домен работал, необходимо добавить запись о нём в файл /etc/hosts:

sudo vi /etc/hosts

127.0.0.1 gitlab.local

4. Развёртывание программы с установленным Apache

Если на вашем компьютере уже установлен веб-сервер Apache, вы можете настроить программу таким образом, чтобы она работала через существующий веб-сервер. Для этого измените такие строки в /etc/gitlab/gitlab.rb:

sudo vi /etc/gitlab/gitlab.rb

external_url 'http://gitlab.local'
nginx['enable'] = false
web_server['external_users'] = ['www-data']

Затем пересоберите программу:

sudo gitlab-ctl reconfigure

В Apache надо добавить новый виртуальный хост с такой конфигурацией:

sudo vi /etc/apache2/sites-available/gitlab.conf

<VirtualHost *:80>
ServerName gitlab.local
ServerSignature Off
ProxyPreserveHost On
AllowEncodedSlashes NoDecode
<Location />
  Require all granted
  ProxyPassReverse http://127.0.0.1:8080
  ProxyPassReverse http://gitlab.local
</Location>
RewriteEngine on
RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f
RewriteRule .* http://127.0.0.1:8080%{REQUEST_URI} [P,QSA]
DocumentRoot /opt/gitlab/embedded/service/gitlab-rails/public
ErrorDocument 404 /404.html
ErrorDocument 422 /422.html
ErrorDocument 500 /500.html
ErrorDocument 503 /deploy.html
LogFormat "%{X-Forwarded-For}i %l %u %t "%r" %>s %b" common_forwarded
ErrorLog /var/log/apache2/gitlab_error.log
CustomLog /var/log/apache2/gitlab_forwarded.log common_forwarded
CustomLog /var/log/apache2/gitlab_access.log combined env=!dontlog
CustomLog /var/log/apache2/gitlab.log combined
</VirtualHost>

Свой GitLab сервер на Ubuntu 18.04: Полная инструкция по установке и настройке

Здесь gitlab.local - это домен, который будет использоваться для доступа к gitlab, а порт 8080 - тот порт, на котором сервис gitlab ожидает соединений. Его можно посмотреть командой:

sudo netstat -pant | grep unicorn

После этого активируйте модули Apache - rewrite, proxy и proxy_http:

sudo a2enmod rewrite
sudo a2enmod proxy
sudo a2enmod proxy_http

А потом активируйте наш виртуальный хост и перезапустите Apache:

sudo a2ensite gitlab
sudo systemctl restart apache2

Настройка GitLab в Ubuntu

1. Авторизация

Дальше вы можете войти в веб-интерфейс. Для этого откройте в браузере выбранный домен: http://gitlab.local

Свой GitLab сервер на Ubuntu 18.04: Полная инструкция по установке и настройке

На первом шаге вам нужно ввести пароль для суперпользователя.

Свой GitLab сервер на Ubuntu 18.04: Полная инструкция по установке и настройке

Далее надо авторизоваться в системе. Для этого введите логин root и ранее выбранный пароль, затем нажмите Sign in.

2. Настройка аккаунта

Затем настроим имя вашего пользователя. По умолчанию используется Administrator. Откройте меню Settings и найдите там пункт Full Name и укажите там желаемое имя:

Свой GitLab сервер на Ubuntu 18.04: Полная инструкция по установке и настройке

Затем нажмите кнопку Update profile settings.

3. Настройка SSH-ключа

Для того чтобы вы могли без ввода логина и пароля отправлять данные в этот репозиторий, нужно прописать сюда ваш публичный ключ. Для этого сначала создайте соответствующий ключ для GitLab командой:

ssh-keygen

Свой GitLab сервер на Ubuntu 18.04: Полная инструкция по установке и настройке

Если в вашей системе уже есть другие ssh-ключи, то вы можете изменить имя создаваемого ключа. Для этого, когда программа спросит путь, куда нужно сохранить ключ, введите старый путь и новое имя:

Свой GitLab сервер на Ubuntu 18.04: Полная инструкция по установке и настройке

Ключ будет находится в файле с расширением *.pub. Если вы выбрали имя файла gitlab_rsa, то публичный ключ будет находится в файле gitlab_rsa.pub. Скопируйте этот ключ. Затем откройте в левом меню веб-интерфейса GitLab пункт SSH Keys, вставьте ключ в поле Key и нажмите Add key:

 

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

4. Отключение регистрации

Кликните по значку ключа на верхней панели, а затем в левом меню выберите Settings. Здесь найдите пункт Sign-up restrictions и снимите галочку с пункта sign-up enabled:

Свой GitLab сервер на Ubuntu 18.04: Полная инструкция по установке и настройке

 

Затем сохраните настройки.

5. Создание проекта

Кликните по кнопке со значком Плюс, затем выберите New Project:

Свой GitLab сервер на Ubuntu 18.04: Полная инструкция по установке и настройке

В открывшемся окне введите имя проекта, например testproject, и нажмите кнопку Create Project:

Свой GitLab сервер на Ubuntu 18.04: Полная инструкция по установке и настройке

Затем откройте терминал и клонируйте полученный репозиторий:

git clone http://gitlab.local/root/testproject.git

Далее добавьте файл README.md:

cd testproject

vi README.md

И отправьте изменения на сервер:

git add --all

git commit -m 'Add README.md'

git push origin master

Свой GitLab сервер на Ubuntu 18.04: Полная инструкция по установке и настройке

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

Свой GitLab сервер на Ubuntu 18.04: Полная инструкция по установке и настройке

Выводы

В этой статье мы разобрали, как выполняется установка GitLab Server Ubuntu 18.04. Как видите, это не так сложно, как может показаться на первый взгляд. Здесь очень удобно отслеживать изменения в своих проектах и работать в команде, не рассчитывая на доступность сторонних сервисов.

Оставить комментарий


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