mirror of
https://github.com/Lakr233/GitLab-License-Generator.git
synced 2026-01-30 11:55:35 +02:00
tested ver 17.4.2-ee
This commit is contained in:
154
lang/README_FR.md
Normal file
154
lang/README_FR.md
Normal file
@@ -0,0 +1,154 @@
|
||||
<div align="center">
|
||||
|
||||
# GitLab License Generator
|
||||
|
||||
<p align="center">
|
||||
<a href="../README.md">English</a>
|
||||
</p>
|
||||
|
||||
</div>
|
||||
|
||||
## Description
|
||||
|
||||
**GitLab License Generator** Ce projet permet de générer une licence GitLab à des **fins de développement**. Si vous rencontrez des problèmes, merci de les résoudre par vous-même.
|
||||
|
||||
Dernier test effectué sur GitLab v17.4.1-ee.
|
||||
|
||||
## Principes
|
||||
|
||||
### **src/generator.keys.rb**
|
||||
|
||||
GitLab utilise une paire de clés publique/privée pour chiffrer sa licence. La clé publique est fournie avec la distribution GitLab, tandis que la clé privée est conservée de manière sécurisée. La licence est simplement un dictionnaire JSON. Comme GitLab a rendu son code open-source, il est facile de générer sa propre licence.
|
||||
|
||||
### **src/generator.license.rb**
|
||||
|
||||
Le dossier `lib` est extrait du code source de GitLab. Il est utilisé pour générer et valider la licence. Le script `src/generator.license.rb` le charge pour effectuer cette tâche.
|
||||
|
||||
### **src/scan.features.rb**
|
||||
|
||||
Les fonctionnalités sont extraites d'un objet contenant des constantes. Le plan le plus complet est **Ultimate**, mais des fonctionnalités comme le Geo Mirroring ne sont incluses dans aucun plan standard. Nous les ajoutons donc manuellement.
|
||||
|
||||
## Utilisation
|
||||
|
||||
### Prérequis
|
||||
|
||||
Avant de commencer, assurez-vous que votre environnement est correctement configuré.
|
||||
|
||||
#### 1. Installer Ruby et gem
|
||||
Pour exécuter ce projet, vous devez installer **Ruby** et le gestionnaire de paquets **gem**.
|
||||
|
||||
- **Sous Linux (Ubuntu/Debian)** :
|
||||
```bash
|
||||
sudo apt update
|
||||
sudo apt install ruby-full
|
||||
```
|
||||
|
||||
- **Sous macOS** (via Homebrew) :
|
||||
```bash
|
||||
brew install ruby
|
||||
```
|
||||
|
||||
#### 2. Installer Bundler et les gems nécessaires
|
||||
Une fois Ruby installé, vous devez installer **Bundler** pour gérer les dépendances Ruby.
|
||||
|
||||
```bash
|
||||
gem install bundler
|
||||
```
|
||||
|
||||
#### 3. Installer le gem `gitlab-license`
|
||||
Le projet nécessite le gem `gitlab-license`, qui sera automatiquement téléchargé et utilisé par le script.
|
||||
|
||||
```bash
|
||||
gem install gitlab-license
|
||||
```
|
||||
|
||||
### Étapes pour générer la licence GitLab
|
||||
|
||||
#### 1. Cloner le dépôt du projet
|
||||
Clonez ce projet sur votre machine locale.
|
||||
|
||||
```bash
|
||||
git clone https://github.com/Lakr233/GitLab-License-Generator.git
|
||||
cd GitLab-License-Generator
|
||||
```
|
||||
|
||||
#### 2. Exécuter le script `make.sh`
|
||||
Une fois que tous les prérequis sont en place, exécutez le script :
|
||||
|
||||
```bash
|
||||
./make.sh
|
||||
```
|
||||
|
||||
Le script effectuera les actions suivantes :
|
||||
- Téléchargement et extraction du gem `gitlab-license`.
|
||||
- Copie et modification des fichiers nécessaires.
|
||||
- Clonage du code source GitLab depuis GitLab.com.
|
||||
- Génération d’une paire de clés publique/privée.
|
||||
- Génération d’une licence GitLab.
|
||||
|
||||
#### 3. Remplacer la clé publique dans GitLab
|
||||
Le script génère une clé publique dans le fichier `build/public.key`. Vous devez remplacer la clé publique utilisée par GitLab avec celle générée pour que la licence soit acceptée.
|
||||
|
||||
- **Si GitLab est installé sur votre serveur** :
|
||||
```bash
|
||||
sudo cp ./build/public.key /opt/gitlab/embedded/service/gitlab-rails/.license_encryption_key.pub
|
||||
sudo gitlab-ctl reconfigure
|
||||
sudo gitlab-ctl restart
|
||||
```
|
||||
|
||||
- **Si GitLab est installé via Docker** :
|
||||
Modifiez votre fichier `docker-compose.yml` pour monter la nouvelle clé publique dans le conteneur :
|
||||
|
||||
```yaml
|
||||
volumes:
|
||||
- "./build/public.key:/opt/gitlab/embedded/service/gitlab-rails/.license_encryption_key.pub"
|
||||
```
|
||||
|
||||
Puis redémarrez le conteneur :
|
||||
```bash
|
||||
docker-compose down
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
#### 4. Installer la licence dans GitLab
|
||||
Une fois la clé publique remplacée, connectez-vous à l'interface d'administration de GitLab pour installer la licence générée.
|
||||
|
||||
1. Connectez-vous à GitLab en tant qu’administrateur.
|
||||
2. Accédez à **Admin Area** via le coin supérieur droit.
|
||||
3. Allez dans **Settings > General** et téléchargez le fichier de licence généré (`build/result.gitlab-license`).
|
||||
4. Cochez la case **Terms of Service** et cliquez sur **Add License**.
|
||||
|
||||
Si nécessaire, accédez directement à la page de téléchargement de la licence via :
|
||||
```
|
||||
<YourGitLabURL>/admin/license/new
|
||||
```
|
||||
|
||||
#### 5. Désactiver Service Ping (optionnel)
|
||||
Si vous souhaitez désactiver la collecte de données d'utilisation par GitLab (Service Ping), modifiez le fichier de configuration GitLab :
|
||||
|
||||
- Ouvrez le fichier de configuration :
|
||||
```bash
|
||||
sudo nano /etc/gitlab/gitlab.rb
|
||||
```
|
||||
|
||||
- Ajoutez la ligne suivante :
|
||||
```bash
|
||||
gitlab_rails['usage_ping_enabled'] = false
|
||||
```
|
||||
|
||||
- Reconfigurez et redémarrez GitLab :
|
||||
```bash
|
||||
sudo gitlab-ctl reconfigure
|
||||
sudo gitlab-ctl restart
|
||||
```
|
||||
|
||||
### Résolution des problèmes
|
||||
|
||||
- **Erreur HTTP 502** :
|
||||
Si vous obtenez cette erreur, patientez simplement, car GitLab peut mettre du temps à démarrer.
|
||||
|
||||
## LICENCE
|
||||
|
||||
Ce projet est sous licence **WTFPL License**.
|
||||
|
||||
Copyright (c) 2023, Tim Cook, All Rights Not Reserved.
|
||||
154
lang/README_RU.md
Normal file
154
lang/README_RU.md
Normal file
@@ -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, Тим Кук, Все права не защищены.
|
||||
Reference in New Issue
Block a user