Anonim

Защо Gitlab

бързи връзки

  • Защо Gitlab
  • Настройвам
  • Инсталиране на зависимости
  • Инсталирайте Gitlab
  • Изпълнете настройката
  • Първоначалната настройка
  • Настройте SSH
    • За редовна SSH
  • Конфигурирайте UFW
  • Заключителни мисли

Има много страхотни опции за хостинг на вашите проекти и споделяне на вашия код. Можете да отидете да настроите Github акаунт в момента безплатно. И така, защо бихте искали да преминете през неприятностите сами да настроите Gitlab?

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

Самостоятелно хостваният контрол на версиите също означава, че не сте зависими от услуга за достъп до вашия код. Разбира се, шансовете на Github или друга подобна услуга да бъде напълно недостъпна поради прекъсване са малки, но не бихте ли предпочели това изобщо да не е възможност?

Gitlab също е много лесен за настройване и изисква само да имате Linux сървър, работещ с отворения код Gitlab софтуер, по-голямата част от който е предварително конфигуриран и готов за стартиране.

Настройвам

Преди да започнете, ще трябва да получите VPS, настроен да хоства Gitlab, освен ако не планирате да го хоствате локално. Хостинг компании като DigitalOcean и Linode предлагат рентабилни опции, които могат да накарат вашия сървър да работи и да работи.

Също така е добра идея да купите име на домейн и за вашия сървър. Или можете да насочите поддомейн на съществуващо име на домейн на вашия сървър Gitlab. Така или иначе ще улесните достъпа до уеб интерфейса.

Това ръководство ще следва Ubuntu 16.04 LTS. Това е най-новото издание за дългосрочна поддръжка на Ubuntu и много лесно да се работи с него. Debian Stretch (Stable) също би бил чудесен вариант и по-голямата част от това ръководство ще работи и с него. Както DigitalOcean, така и Linode ще настроят вашия сървър с избраната от вас ОС, така че няма нужда да инсталирате Ubuntu.

Инсталиране на зависимости

Когато за първи път стартирате Ubuntu, е добре да актуализирате системата, за да сте сигурни, че няма налични корекции за защита. Върви напред и направи това първо.

$ sudo apt актуализация $ sudo apt надстройка

След като актуализацията приключи, има няколко неща, които трябва да инсталирате, за да започнете 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 инсталирайте 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 ключове“.

Копирайте ключа от терминала си. Започнете след „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 и го задайте на не.

PermitRootLogin no

След това намерете PasswordAuthentication, разкаментирайте го и го задайте на no.

PasswordAuthentication no

След това се уверете, че следните два реда са настроени на не. Те трябва да бъдат по подразбиране в Ubuntu, но е по-добре да проверите.

PermitEmptyPasswords no HostbasedAuthentication no

И накрая, намерете UsePAM в долната част на конфигурацията и го задайте също не.

UsePAM no

Запазете и излезте от вашата конфигурация. След това рестартирайте SSH услугата.

$ sudo systemctl рестартира sshd

Конфигурирайте UFW

Последната мярка за сигурност, която вероятно искате да предприемете, е инсталирането и настройката на защитна стена. Ubuntu работи много добре с подходящо наречената неусложнена защитна стена (UFW). Това е просто обвивка около защитната стена на ядрото на iptables, но прави работата с защитната стена много по-лесна. Продължете и го инсталирайте.

$ sudo apt инсталирате ufw

След като инсталирате ufw, започнете, като зададете правилата по подразбиране, за да откажете всичко.

$ sudo ufw по подразбиране отказ на входящите $ sudo ufw по подразбиране отказване на изходящите $ sudo ufw по подразбиране отказване напред

След това настройте вашите правила, за да разрешите основните услуги, включително 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 разрешете в 53 $ sudo ufw разреши 53 # Вероятно няма да ви трябва това # Ако вашият сървър използва DHCP, деблокирайте 67 $ sudo ufw разреши в 67 $ sudo ufw разреши 67 # Накрая, Git $ sudo ufw разреши в 9418 $ sudo ufw разпредели 9418

Уверете се, че всичко е добре, и активирайте защитната стена

$ sudo ufw enable

Можете да проверите състоянието на вашата защитна стена със следното:

$ sudo ufw статус

Това е! Вашият сървър на Gitlab е зад защитна стена.

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

До този момент вече имате работещ сървър на Gitlab. Можете да започнете да настройвате потребителски акаунти и проекти чрез интерфейса на Gitlab. Gitlab вече е обикновен Ubuntu пакет, така че ще се актуализира редовно с apt, докато поддържате вашата система актуализирана.

Gitlab ще ви осигури цялата гъвкавост, която ще ви е необходима за управление на вашите собствени проекти и по-големи проекти, за които може да работите с екип. Това е напълно способна и здрава платформа, на която все повече и повече екипи започват да разчитат.

Хоствайте свои собствени софтуерни проекти с gitlab