This repository has been archived by the owner on Dec 6, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 120
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #18 from RootShell-coder/main
tested ver 17.4.2-ee
- Loading branch information
Showing
3 changed files
with
159 additions
and
5 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,154 @@ | ||
<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, Тим Кук, Все права не защищены. |