Размещайте свои собственные программные проекты с Gitlab

Почему Гитлаб

Быстрые ссылки

  • Почему Гитлаб
  • Настроить
  • Установить зависимости
  • Установить Gitlab
  • Запустите программу установки
  • Начальная настройка
  • Настроить SSH
    • Для обычного SSH
  • Настроить UFW
  • Заключительные мысли

Есть много отличных вариантов для размещения ваших проектов и обмена вашим кодом. Вы можете бесплатно создать учетную запись Github прямо сейчас. Итак, с какой стати вы захотите самостоятельно настроить Gitlab?

Есть несколько хороших аргументов для этого, на самом деле, не последним из которых является конфиденциальность. Гитлаб твой. Вы принимаете это, и у вас есть это. Таким образом, вы можете контролировать, кто имеет доступ к вашим репозиториям. Это также означает, что у вас есть контроль над самой платформой. На вас не распространяются корпоративные политики, произвольные изменения цен и сбор данных.

Самостоятельный контроль версий также означает, что вы не зависите от службы доступа к своему коду. Конечно, шансы Github или другого подобного сервиса быть полностью недоступным из-за сбоя невелики, но разве вы не предпочли бы, чтобы такая возможность вообще не была?

Gitlab также очень прост в настройке и требует только наличия у вас Linux-сервера с программным обеспечением Gitlab с открытым исходным кодом, большинство из которых поставляется с предварительно настроенными и готовыми к работе.

Настроить

Прежде чем начать, вам нужно настроить VPS для размещения Gitlab, если вы не планируете размещать его локально. Такие хостинговые компании, как DigitalOcean и Linode, предлагают экономически эффективные варианты, которые могут запустить ваш сервер.

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

Это руководство будет следовать Ubuntu 16.04 LTS. Это последняя версия долгосрочной поддержки Ubuntu, с которой очень легко работать. Debian Stretch (Stable) также будет отличным вариантом, и большая часть этого руководства будет работать с ним. И DigitalOcean, и Linode настроят ваш сервер под выбранную вами ОС, поэтому вам не нужно устанавливать Ubuntu.

Установить зависимости

При первой загрузке Ubuntu рекомендуется обновить систему, чтобы убедиться, что нет доступных исправлений безопасности. Иди вперед и сделай это первым.

$ sudo apt update
$ sudo apt upgrade

После завершения обновления есть несколько вещей, которые необходимо установить, чтобы Gitlab начал работу. Используйте apt, чтобы установить их тоже.

$ sudo apt установить curl openssh-сервер ca-сертификаты postfix

Это оно. Вы готовы запустить скрипт установки Gitlab.

Установить Gitlab

Gitlab поддерживает свой собственный репозиторий Debian / Ubuntu. Чтобы включить репозиторий на вашем сервере, загрузите и запустите удобный скрипт установки, предоставленный командой Gitlab.

$ curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | судо баш

Это может выглядеть много, но он просто загружает скрипт и сообщает командной строке запустить его. Скрипту потребуется несколько секунд для запуска и настройки хранилища. Как только это произойдет, вы будете готовы установить пакет Gitlab.

$ sudo apt install gitlab-ce

Эта установка займет несколько минут. Gitlab поставляется в одном большом пакете, который называется «Пакет Omnibus». Он поставляется со всем, что нужно Gitlab, и все вместе.

Запустите программу установки

Gitlab Запуск начальной конфигурацииGitlab Запуск начальной конфигурации

Для настройки Gitlab необходимо запустить скрипт установки. Он входит в пакет, который вы только что установили, так что вы можете запустить его сейчас.

$ sudo gitlab-ctl переконфигурировать

Сценарий займет несколько минут, чтобы пройти через все. В основном это настройка базы данных для Gitlab. Вы увидите множество миграций Ruby on Rails, запущенных на экране. Это может занять некоторое время, но когда это будет сделано, Gitlab будет готов к использованию.

Начальная настройка

Настройка учетной записи GitlabНастройка учетной записи Gitlab

Откройте веб-браузер и перейдите на сервер Gitlab. Вас встретит страница, на которой вас попросят установить административный пароль. Это, очевидно, пароль для вашей учетной записи администратора. По умолчанию это имя учетной записи «root».

Экран приветствия GitlabЭкран приветствия Gitlab

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

Настроить SSH

Вы не хотите вносить изменения в свои проекты, используя пароли. Это боль, и это не очень безопасно. Лучшее, что вы можете сделать, — это создать SSH для автоматического входа с любого компьютера с установленным ключом.

Ключи SSH очень легко создавать в Linux и Mac. В Windows 10 процесс должен быть таким же через доступное приложение OpenSSH.

Откройте терминал и выполните следующую команду, чтобы создать ключ. Вы можете пропустить часть -C email [электронная почта защищена] ’, если вы хотите просто использовать информацию для входа на свой компьютер. В противном случае адрес электронной почты обычно является правильным вызовом.

$ ssh-keygen -b 4096 -t rsa -C '[электронная почта защищена]'

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

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

$ cat ~ / .ssh / id_rsa.pub

Вернитесь на Gitlab, нажмите на значок профиля в правом верхнем углу экрана. Затем нажмите «Настройки» в появившемся меню. В меню в левой части страницы нажмите «SSH Keys».

Gitlab Добавить ключ SSHGitlab Добавить ключ SSH

Скопируйте ключ с вашего терминала. Начните после «ssh-rsa» и остановитесь перед вашим адресом электронной почты. Итак, просто скопируйте ерунду. Вставьте его в большую коробку с надписью «Ключ». Назовите свой ключ и сохраните его. С этого момента вы сможете отправлять свой код в свои хранилища без входа в систему.

Для обычного SSH

У вас уже есть ключ SSH. Вы также можете использовать его для SSH. OpenSSH имеет встроенную утилиту для нажатия ключа на ваш сервер.

$ ssh-copy-id -i ~ / .ssh / id_rsa.pub [электронная почта защищена] _IP

Замените имя_сервера и SERVER_IP своим именем пользователя на сервере и IP-адресом сервера.

Попробуйте войти на свой сервер, используя новый ключ.

$ ssh [электронная почта защищена] _IP

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

Gitlab SSH ConfigGitlab SSH Config

Лучше заблокировать и остальную часть SSH. Вероятно, это одно из самых слабых мест на общедоступном сервере. Откройте / etc / ssh / sshd_confg в выбранном вами текстовом редакторе на сервере.

Есть пара вещей, которые вам нужно изменить. Сначала найдите PermitRootLogin и установите для него значение no.

PermitRootLogin нет

Затем найдите PasswordAuthentication, раскомментируйте его и установите для no.

ПарольАутентификация нет

Затем убедитесь, что для следующих двух строк установлено значение no. Они должны быть по умолчанию в Ubuntu, но лучше проверить.

PermitEmptyPasswords нет
HostbasedAuthentication нет

Наконец, найдите UsePAM в нижней части конфигурации и установите его тоже нет.

UsePAM нет

Сохраните и выйдите из своей конфигурации. Затем перезапустите службу SSH.

$ sudo systemctl перезапустить sshd

Настроить UFW

Конфигурация Gitlab UFWКонфигурация Gitlab UFW

Последняя мера безопасности, которую вы, вероятно, захотите предпринять, это установка и настройка брандмауэра. Ubuntu очень хорошо работает с точно названным несложным межсетевым экраном (UFW). Это всего лишь оболочка вокруг брандмауэра ядра iptables, но она значительно облегчает работу с брандмауэром. Идите и установите его.

$ sudo apt install ufw

После того, как вы установили UFW, начните с установки правил по умолчанию, чтобы запретить все.

$ sudo ufw default запретить входящие
$ sudo ufw default запретить исходящие
$ sudo ufw default deny forward

Затем настройте свои правила, чтобы разрешить основные сервисы, включая Git. Комментарии просто там для информации. Не пытайтесь их запустить.

# SSH
$ sudo ufw разрешить в SSH
$ sudo ufw разрешить ssh
# HTTP и HTTPS для веба
$ sudo ufw разрешить в http
$ sudo ufw разрешить http
$ sudo ufw разрешить в https
$ sudo ufw разрешает https
# NTP для поддержания правильного времени
$ sudo ufw разрешить в NTP
$ sudo ufw разрешить ntp
# Порт 53 для разрешения домена DNS
$ sudo ufw разрешить в 53
$ sudo ufw allow out 53
# Вам, вероятно, это не понадобится
# Если ваш сервер использует DHCP, разблокируйте 67
$ sudo ufw разрешить в 67
$ sudo ufw разрешить 67
# Наконец, Git
$ sudo ufw разрешить в 9418
$ sudo ufw allo out 9418

Убедитесь, что все хорошо, и включите брандмауэр

$ sudo ufw enable

Вы можете проверить состояние вашего брандмауэра с помощью следующего:

$ sudo ufw status

Это оно! Ваш сервер Gitlab находится за брандмауэром.

Заключительные мысли

К настоящему времени у вас есть рабочий сервер Gitlab. Вы можете начать настройку учетных записей пользователей и проектов через интерфейс Gitlab. Gitlab теперь является обычным пакетом Ubuntu, поэтому он будет регулярно обновляться с помощью apt по мере обновления вашей системы.

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

Ссылка на основную публикацию
Adblock
detector