gitlab-license-generator/lang/README_RU.md
Jonny_Bro (Nikita) c8401373a2
Some checks failed
Publish Container to Github at dev / build-and-push-image (push) Has been cancelled
Ruby Gem / rebuild (push) Has been cancelled
init
2025-02-04 16:59:14 +05:00

154 lines
6.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<div align="center">
# Генератор лицензий GitLab
<p align="center">
<a href="../README.md">English</a>
</p>
</div>
## Описание
**GitLab License Generator** Этот проект генерирует лицензию GitLab для **целей разработки**. Если у вас возникнут какие-либо проблемы, пожалуйста, устраните их самостоятельно.
> [Последнее тестирование](../README.md).
## Принципы
### **src/generator.keys.rb**
GitLab использует пару открытого/закрытого ключа для шифрования своей лицензии. Открытый ключ поставляется с дистрибутивом GitLab, а закрытый ключ хранится в безопасности. Сама лицензия представляет собой просто словарь JSON. Поскольку GitLab сделал свой код открытым, мы можем легко сгенерировать собственную лицензию.
### **src/generator.license.rb**
Папка `lib` извлекается из исходного кода GitLab. Она используется для сборки и проверки лицензии. Скрипт `src/generator.license.rb` загружает эту функциональность.
### **src/scan.features.rb**
Функции извлекаются из объекта, заполненного константами. Самый полный план лицензии — **Ultimate**, но такие функции, как Geo Mirroring, не включены ни в один стандартный план. Поэтому мы вручную добавляем эти функции.
## Использование
### Предпосылки
Перед началом убедитесь, что ваша среда правильно настроена.
#### 1. Установите Ruby и gem
Для запуска этого проекта вам понадобится **Ruby** и менеджер пакетов **gem**.
- **В Linux (Ubuntu/Debian)**:
```bash
sudo apt update
sudo apt install ruby-full
```
- **На macOS** (через Homebrew):
```bash
brew install ruby
```
#### 2. Установите Bundler и необходимые gems
После установки Ruby вам необходимо установить **Bundler** для управления зависимостями Ruby.
```bash
gem install bundler
```
#### 3. Установите gem `gitlab-license`
Для проекта требуется gem `gitlab-license`, который будет автоматически загружен и использован скриптом.
```bash
gem install gitlab-license
```
### Шаги по созданию лицензии GitLab
#### 1. Клонируйте репозиторий проекта
Скопируйте этот проект на свой локальный компьютер.
```bash
git clone https://github.com/Lakr233/GitLab-License-Generator.git
cd GitLab-License-Generator
```
#### 2. Запустите скрипт `make.sh`
После выполнения всех предварительных условий запустите скрипт:
```bash
./make.sh
```
Скрипт выполнит следующие действия:
- Загрузит и распакует gem-файл `gitlab-license`.
- Скопирует и изменит необходимые файлы.
- Клонирует исходный код GitLab с GitLab.com.
- Сгенерирует пару открытого и закрытого ключей.
- Создаст лицензию GitLab.
#### 3. Замена открытого ключа в GitLab
Скрипт генерирует открытый ключ, расположенный в `build/public.key`. Вам необходимо заменить существующий открытый ключ GitLab на этот недавно сгенерированный, чтобы убедиться, что лицензия принята.
- **Если на вашем сервере установлен GitLab**:
```bash
sudo cp ./build/public.key /opt/gitlab/embedded/service/gitlab-rails/.license_encryption_key.pub
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart
```
- **Если GitLab установлен через Docker**:
Измените файл `docker-compose.yml`, чтобы смонтировать новый открытый ключ внутрь контейнера:
```yaml
volumes:
- "./build/public.key:/opt/gitlab/embedded/service/gitlab-rails/.license_encryption_key.pub"
```
Затем перезапустите контейнер:
```bash
docker-compose down
docker-compose up -d
```
#### 4. Установите лицензию в GitLab
После замены открытого ключа войдите в интерфейс администратора GitLab, чтобы установить сгенерированную лицензию.
1. Войдите в GitLab как администратор.
2. Перейдите в **Admin Area** из верхнего правого угла.
3. Перейдите в **Settings > General** и загрузите сгенерированный файл лицензии (`build/result.gitlab-license`).
4. Установите флажок **Terms of Service** и нажмите **Add License**.
При необходимости вы можете напрямую перейти на страницу загрузки лицензии через:
```
<YourGitLabURL>/admin/license/new
```
#### 5. Отключить Service Ping (необязательно)
Если вы хотите отключить сбор данных об использовании GitLab (Service Ping), измените файл конфигурации GitLab:
- Откройте файл конфигурации:
```bash
sudo nano /etc/gitlab/gitlab.rb
```
- Добавьте следующую строку:
```bash
gitlab_rails['usage_ping_enabled'] = false
```
- Перенастройте и перезапустите GitLab:
```bash
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart
```
### Поиск неисправностей
- **Ошибка HTTP 502**:
Если вы столкнулись с этой ошибкой, дождитесь завершения запуска GitLab (это может занять некоторое время).
## ЛИЦЕНЗИЯ
Данный проект лицензирован по **WTFPL License**.
Авторские права (c) 2023, Тим Кук, Все права не защищены.