Почему Гитлаб
Быстрые ссылки
- Почему Гитлаб
- Настроить
- Установить зависимости
- Установить 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 update
После завершения обновления есть пара вещей, которые необходимо установить, чтобы 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 необходимо запустить скрипт установки. Он входит в пакет, который вы только что установили, так что вы можете запустить его сейчас.
$ sudo gitlab-ctl переконфигурировать
Сценарий займет несколько минут, чтобы пройти через все. В основном это настройка базы данных для Gitlab. Вы увидите множество миграций Ruby on Rails, запущенных на экране. Это может занять некоторое время, но когда это будет сделано, Gitlab будет готов к использованию.
Начальная настройка
Откройте веб-браузер и перейдите на сервер Gitlab. Вас встретит страница с просьбой установить административный пароль. Это, очевидно, пароль для вашей учетной записи администратора. По умолчанию это имя учетной записи «root».
После того, как эта учетная запись настроена, вы можете либо войти в нее, либо зарегистрировать обычную учетную запись пользователя и выполнить вход. В любом случае, после входа вы получите доступ ко всей панели инструментов Gitlab для создания и управления репозиториями.
Настроить SSH
Вы не хотите вносить изменения в свои проекты, используя пароли. Это боль, и это не очень безопасно. Лучшее, что вы можете сделать, - это создать SSH для автоматического входа с любого компьютера с установленным ключом.
Ключи SSH очень легко создавать в Linux и Mac. В Windows 10 процесс должен быть таким же через доступное приложение OpenSSH.
Откройте терминал и выполните следующую команду, чтобы создать ключ. Вы можете пропустить часть -C '', если вы хотите просто использовать регистрационную информацию вашего компьютера. В противном случае адрес электронной почты обычно является правильным вызовом.
$ ssh-keygen -b 4096 -t rsa -C ''
Процесс проведет вас через пару шагов. Значения по умолчанию в основном хорошие, и все довольно очевидно. Если вы решите связать пароль с вашим ключом, он понадобится вам каждый раз, когда вы входите в систему или нажимаете на изменение. Вы можете оставить пароль пустым, чтобы не использовать его.
Чтобы просмотреть свой ключ, выполните команду ниже. Это будет выглядеть чепухой, и по сути это так, но это ваш ключ. Вам нужно будет скопировать его из терминала и вставить в Gitlab.
$ cat ~ / .ssh / id_rsa.pub
Вернитесь на Gitlab, нажмите на значок профиля в правом верхнем углу экрана. Затем нажмите «Настройки» в появившемся меню. В меню в левой части страницы нажмите «SSH Keys».
Скопируйте ключ с вашего терминала. Начните после «ssh-rsa» и остановитесь перед вашим адресом электронной почты. Итак, просто скопируйте ерунду. Вставьте его в большую коробку с надписью «Ключ». Назовите свой ключ и сохраните его. С этого момента вы сможете передавать свой код в свои хранилища без входа в систему.
Для обычного SSH
У вас уже есть ключ SSH. Вы также можете использовать его для SSH. OpenSSH имеет встроенную утилиту для нажатия ключа на ваш сервер.
$ ssh-copy-id -i ~ / .ssh / id_rsa.pub _IP
Замените имя_сервера и SERVER_IP своим именем пользователя на сервере и IP-адресом сервера.
Попробуйте войти на свой сервер, используя новый ключ.
$ ssh _IP
Вы должны подключиться немедленно, без необходимости ввода пароля.
Лучше заблокировать и остальную часть SSH. Это, вероятно, одно из самых слабых мест на общедоступном сервере. Откройте / etc / ssh / sshd_confg в выбранном вами текстовом редакторе на сервере.
Есть пара вещей, которые вам нужно изменить. Сначала найдите PermitRootLogin и установите для него значение no.
PermitRootLogin нет
Затем найдите PasswordAuthentication, раскомментируйте его и установите для no.
ПарольАутентификация нет
Затем убедитесь, что для следующих двух строк установлено значение no. Они должны быть по умолчанию в Ubuntu, но лучше проверить.
PermitEmptyPasswords нет HostbasedAuthentication нет
Наконец, найдите UsePAM в нижней части конфигурации и установите его тоже нет.
UsePAM нет
Сохраните и выйдите из своей конфигурации. Затем перезапустите службу SSH.
$ sudo systemctl перезапустить sshd
Настроить UFW
Последняя мера безопасности, которую вы, вероятно, захотите предпринять, это установка и настройка брандмауэра. Ubuntu очень хорошо работает с точно названным несложным межсетевым экраном (UFW). Это всего лишь оболочка для брандмауэра ядра iptables, но она значительно облегчает работу с брандмауэром. Идите и установите его.
$ sudo apt install ufw
После того, как вы установили UFW, начните с установки правил по умолчанию, чтобы запретить все.
$ sudo ufw default запретить входящие $ sudo ufw default запретить исходящие $ sudo ufw default запретить пересылку
Затем настройте свои правила, чтобы разрешить основные сервисы, включая Git. Комментарии просто там для информации. Не пытайтесь их запустить.
# SSH $ sudo ufw разрешить в ssh $ sudo ufw разрешить ssh # HTTP и HTTPS для Web $ sudo ufw разрешить в http $ sudo ufw разрешить http $ sudo ufw разрешить в https $ sudo ufw разрешить https # NTP для хранения времени правильное разрешение $ sudo ufw в ntp $ sudo ufw разрешить ntp # Порт 53 для разрешения домена DNS $ sudo ufw allow в 53 $ sudo ufw allow 53 # Возможно, вам это не понадобится # Если ваш сервер использует DHCP, разблокируйте 67 $ sudo ufw allow в 67 $ sudo ufw allow 67 # Наконец, Git $ sudo ufw allow в 9418 $ sudo ufw allo out 9418
Убедитесь, что все хорошо, и включите брандмауэр
$ sudo ufw enable
Вы можете проверить состояние вашего брандмауэра с помощью следующего:
$ sudo ufw status
Это оно! Ваш сервер Gitlab находится за брандмауэром.
Заключительные мысли
К настоящему времени у вас есть рабочий сервер Gitlab. Вы можете начать настройку учетных записей пользователей и проектов через интерфейс Gitlab. Gitlab теперь является обычным пакетом Ubuntu, поэтому он будет регулярно обновляться с помощью apt по мере обновления вашей системы.
Gitlab предоставит вам всю гибкость, необходимую вам для управления собственными проектами и более крупными проектами, над которыми вы, возможно, работаете с командой. Это полностью функциональная и надежная платформа, на которую все больше и больше команд начинают полагаться.