Anonim

Чому Gitlab

Швидкі посилання

  • Чому Gitlab
  • Налаштування
  • Встановити залежності
  • Встановіть Gitlab
  • Запустіть налаштування
  • Початкова настройка
  • Налаштування 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-сертифікати поштового коду

Це воно. Ви готові запустити сценарій встановлення 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. OpenSSH має вбудовану утиліту для натискання ключа на ваш сервер.

$ ssh-copy-id -i ~ / .ssh / id_rsa.pub _IP

Замініть ім'я_сервера та ім’я SERVER_IP своїм ім’ям користувача на сервері та IP-адресою сервера.

Спробуйте увійти на свій сервер за допомогою нового ключа.

$ ssh _IP

Вам слід підключитися негайно без необхідності введення пароля.

Краще також заблокувати решту SSH. Це, мабуть, одна з найслабших точок на публічному сервері. Відкрийте / etc / ssh / sshd_confg в текстовому редакторі, обраному вами на сервері.

Є кілька речей, які потрібно змінити. Спочатку знайдіть PermitRootLogin та встановіть його на "ні".

PermitRootLogin немає

Далі знайдіть PasswordAuthentication, скаментуйте його та встановіть значення "no".

Аутентифікація пароля немає

Потім переконайтесь, що наступні два рядки встановлені на "ні". Вони повинні бути за замовчуванням на Ubuntu, але краще перевірити.

PermitEmptyPasswords немає HostbasedAuthentication ні

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

UsePAM no

Збережіть та вийдіть із конфігурації. Потім перезапустіть службу SSH.

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

Налаштування UFW

Останній захід безпеки, який ви, ймовірно, хочете вжити, - це встановлення та налаштування брандмауера. Ubuntu дуже добре працює з влучно названим неускладненим брандмауером (UFW). Це просто обгортка навколо брандмауера ядра iptables, але це значно спрощує роботу з брандмауером. Ідіть і встановіть його.

$ sudo apt install ufw

Після того, як у вас встановлено ufw, почніть із встановлення стандартних правил, щоб все заперечувати.

$ sudo ufw за замовчуванням відхилити вхідні $ sudo ufw за замовчуванням відхилити вихідні $ sudo ufw за замовчуванням відхилити вперед

Далі налаштуйте свої правила, щоб дозволити базові послуги, включаючи 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 дозволити 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