GNU/Linux >> Tutoriels Linux >  >> Panels >> Panels

Comment exécuter votre propre serveur Git avec GitlabHQ sur Ubuntu 14.04

Comment exécuter votre propre serveur Git avec GitlabHQ sur Ubuntu 14.04

Ce document décrit comment installer et configurer Git et GitHub. Ce sont d'excellents outils pour gérer et administrer toute une série de référentiels Git et les autorisations associées. Ainsi, ceux-ci restent de véritables bénédictions pour les utilisateurs qui écrivent des logiciels open source, cependant, lors de l'écriture d'un logiciel à source fermée, il peut être difficile de confier le code à un serveur tiers. Pour obtenir la flexibilité et le contrôle indispensables sur des éléments tels que Github/BitBucket sans héberger les référentiels git sur des serveurs extérieurs au contrôle des utilisateurs, GitLab reste une aubaine !

GitLab est un outil merveilleux qui offre une interface Web simple et conviviale mais puissante pour les référentiels Git sur votre serveur, à savoir GitHub. Les utilisateurs sont libres de l'héberger sur leur propre serveur cloud, de contrôler l'accès de manière personnalisée, et le seul facteur limitant la taille du dépôt est l'espace de stockage intégré du serveur.

Je n'émets aucune garantie que cela fonctionnera pour vous !

1 Remarque préliminaire

Ce didacticiel est basé sur le serveur Ubuntu 14.04, vous devez donc configurer une installation de base du serveur Ubuntu 14.04 avant de poursuivre ce didacticiel. Le système doit avoir une adresse IP statique. J'utilise 192.168.0.100 comme adresse IP dans ce tutoriel et server1.example.com comme nom d'hôte. Tous les logiciels requis doivent être installés pour faire fonctionner GitLab. Par conséquent, ceux qui utilisent un VPS existant (droplet)/une distribution Linux totalement différente peuvent être confrontés à des perturbations, expressément avec des versions Python et Ruby incompatibles. Par conséquent, il est impératif d'avoir Ruby 2.0 et Python 2.7 installé au départ.

2 Installation de Ruby 2.0 ou supérieur, Python 2.7 et Bundler Gem

Nous allons d'abord installer les pré-configurations avant les configurations du Git Hub. Le processus d'installation des packages requis a été expliqué ci-dessous.

apt-get update
apt-get install -y build-essential zlib1g-dev libyaml-dev libssl-dev libgdbm-dev libreadline-dev libncurses5-dev libffi-dev curl git-core openssh-server redis-server checkinstall libxml2 -dev libxslt-dev libcurl4-openssl-dev libicu-dev

Remarque :les utilisateurs doivent s'assurer que Ruby 1.8 n'est pas installé sur leur système, bien qu'il y ait peu de chances que ce soit le cas sur un Ubuntu 14.04 par défaut

Vous pouvez vérifier votre version de Python comme suit (dans mon cas, c'est Python 2.7.6) :

python --version

[email protected] :~# python --version
Python 2.7.6
[email protected] :~#

Cela peut être fait comme indiqué ci-dessous, en installant Ruby 2.1.2, Ruby peut être installé comme suit :

mkdir /tmp/ruby &&cd /tmp/ruby
wget http://ftp.ruby-lang.org/pub/ruby/2.1/ruby-2.1.2.tar.gz
tar zxvf ruby -2.1.2.tar.gz
cd ruby-2.1.2
./configure
make
make install

De plus, nous vérifierons la version ruby ​​comme :

rubis -v

[email protected]:/tmp/ruby/ruby-2.1.2# ruby ​​-v
ruby 2.1.2p95 (2014-05-08 révision 45877) [x86_64-linux]
example@unixlinux. en ligne :/tmp/ruby/ruby-2.1.2#

Ensuite, nous allons installer le Bundler Gem comme suit :

gem install bundler --no-ri --no-rdoc

[email protected]:/tmp/ruby/ruby-2.1.2# gem install bundler --no-ri --no-rdoc
Récupération :bundler-1.6.5.gem (100%)
Bundler-1.6.5 installé avec succès
1 gem installé
[email protected]:/tmp/ruby/ruby-2.1.2#

Nous allons maintenant créer un utilisateur user=git pour Gitlab à utiliser dans d'autres configurations, comme suit :

adduser --disabled-login --gecos 'GitLab' git

3 Installation du shell GitLab

Nous allons télécharger le shell GitLab à l'aide de la commande suivante :

cd /home/git
sudo -u git -H git clone https://github.com/gitlabhq/gitlab-shell.git
cd gitlab-shell
sudo -u git -H git checkout v1.7.0
sudo -u git -H cp config.yml.example config.yml

De plus, nous ferons une sauvegarde du fichier d'origine config.yml.example et le copierons dans config.yml. Modifiez le fichier comme suit :

vi config.yml

Nous devons maintenant changer la valeur de gitlab_url :"http://localhost/" en valeur git comme indiqué :

# GitLab user. git by default
user: git

# Url to gitlab instance. Used for api calls. Should end with a slash.
#gitlab_url: "http://localhost/"
gitlab_url:     "http://server1.example.com"

[....]

Nous allons maintenant exécuter le shell GitLab installé comme suit :

sudo -u git -H ./bin/install

Il aura une sortie comme celle-ci :

[email protected]:/home/git/gitlab-shell# sudo -u git -H ./bin/install
mkdir -p /home/git/repositories:true
mkdir -p /home /git/.ssh :vrai
chmod 700 /home/git/.ssh :vrai
touchez /home/git/.ssh/authorized_keys :vrai
chmod 600 /home/git/. ssh/authorized_keys :vrai
chmod -R ug+rwX,o-rwx /home/git/repositories :vrai
find /home/git/repositories -type d -print0 | xargs -0 chmod g+s :vrai
[email protected]:/home/git/gitlab-shell#

4 Installation de Mariadb pour GitLab

Maintenant, nous allons configurer le GitLab pour utiliser un Mariadb à utiliser en backend. La première étape consiste à installer Mariadb avec la commande ci-dessous. Au cours du processus d'installation, il vous sera demandé de configurer un mot de passe root MySQL, que vous pouvez définir selon vos préférences personnelles, mais vous devez en prendre note pour l'utiliser dans les étapes suivantes.

apt-get install mariadb-server mariadb-client libmariadbclient-dev

Nouveau mot de passe pour l'utilisateur "root" de MariaDB :<--mot de passemariadb
Répétez le mot de passe pour l'utilisateur "root" de MariaDB :<--mot de passemariadb

Création de la base de données Gitlab :

mysql -u root -p

Dans l'invite Mariadb, utilisez database=gitlabdb user=gitlabuser et password=gitlabuserpassword :

CREATE DATABASE gitlabdb DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
GRANT SELECT, LOCK TABLES, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER ON gitlabdb.* TO 'gitlabuser'@'localhost' IDENTIFIED BY 'gitlabuserpassword';
vider les privilèges ;
quitter

Nous allons maintenant procéder à l'installation comme suit :

cd /home/git
sudo -u git -H git clone https://github.com/gitlabhq/gitlabhq.git gitlab
cd /home/git/gitlab
sudo -u git -H git checkout 6-0-stable
sudo -u git -H cp config/gitlab.yml.example config/gitlab.yml

Tout comme avec le shell GitLab configuré, si vous avez un domaine configuré pour le VPS, vous devez modifier le config.yml pour utiliser ce domaine (comme indiqué dans la commande ci-dessous) :

sudo -u git -H vi config/gitlab.yml

[...] 
## GitLab settings # gitlab: # ## Web server settings # host: localhost # port: 80 # https: false gitlab: ## Web server settings host: server1.example.com port: 80 https: false
[...]

Ici, vous devez également définir quelques autorisations de fichiers Linux, configurer le Gitconfig de l'utilisateur git et configurer certains GitLabconfig et répertoires pour l'utilisateur git (comme indiqué ci-dessous) :

cd /home/git/gitlab
chown -R git log/
chown -R git tmp/
chmod -R u+rwX log/
chmod -R u+rwX tmp /
sudo -u git -H mkdir /home/git/gitlab-satellites
sudo -u git -H mkdir tmp/pids/
sudo -u git -H mkdir tmp/sockets/
chmod -R u+rwX tmp/pids/
chmod -R u+rwX tmp/sockets/
sudo -u git -H mkdir public/uploads
chmod -R u +rwX public/uploads
sudo -u git -H cp config/unicorn.rb.example config/unicorn.rb
sudo -u git -H git config --global user.name "GitLab"
sudo -u git -H git config --global user.email "[email protected]"
sudo -u git -H git config --global core.autocrlf input
sudo -u git cp config/database.yml.mysql config/database.yml

Ensuite, nous devons dire à GitLab d'utiliser l'utilisateur gitlab Mariadb que vous avez configuré précédemment. Pour cela, nous allons éditer le fichier config/database.ymlfile (comme indiqué ci-dessous) :

sudo -u git -H vi config/database.yml

[...]
#production: # adapter: mysql2 # encoding: utf8 # reconnect: false # database: gitlabhq_production # pool: 10 # username: root # password: "secure password" production: adapter: mysql2 encoding: utf8 reconnect: false database: gitlabdb pool: 10 username: gitlabuser password: "gitlabuserpassword"
[...]

Veuillez mettre les valeurs telles que vous les avez données au moment de la création de la base de données, les valeurs ci-dessus peuvent différer si vous avez utilisé d'autres valeurs au moment de la création de la base de données. Modifiez les autorisations de fichier comme :

sudo -u git -H chmod o-rwx config/database.yml

Maintenant, nous pouvons installer quelques gemmes supplémentaires, et cela peut être une étape assez longue (comme indiqué ci-dessous) :

cd /home/git/gitlab
gem install charlock_holmes --version '0.6.9.4'

Téléchargez le package et installez-le :

wget https://downloads-packages.s3.amazonaws.com/ubuntu-14.04/gitlab_7.1.1-omnibus-1_amd64.deb
apt-get install openssh-server
apt-get install postfix # Sélectionnez 'Site Internet', l'utilisation de sendmail à la place fonctionne également, exim a des problèmes

Ici, il demandera une entrée utilisateur, veuillez sélectionner Site Internet, utilisez la messagerie système comme server1.example.com Vous pouvez également utiliser sendmail au lieu d'installer postfix. Dans ce cas exim ne fonctionne pas. Installez ensuite le laboratoire git :

dpkg -i gitlab_7.1.1-omnibus-1_amd64.deb

Modifiez le fichier de configuration pour ajouter notre nom d'hôte, c'est-à-dire hostname=server1.example.com :

vi /etc/gitlab/gitlab.rb


[....]
#external_url 'http://gitlab.example.com' external_url 'http://server1.example.com'

Nous allons ensuite reconfigurer le démarrage du GitLab comme suit :

reconfigurer gitlab-ctl

Vous pouvez parcourir la page de connexion à http://192.168.0.100/users/sign_on utiliser les informations d'identification comme username=root et password=5iveL!fe


Modifier le mot de passe d'origine :


Ce sera votre page d'accueil par défaut.


  • gitlab :https://about.gitlab.com/
  • ubuntu :http://www.ubuntu.com/

Panels
  1. Comment installer le serveur HTTP Git avec Nginx sur Ubuntu 20.04

  2. Comment installer WordPress avec LAMP Stack sur Ubuntu 16.04

  3. Comment installer un serveur de messagerie avec PostfixAdmin sur Ubuntu 20.04

  4. Comment installer les forums Vanilla avec OpenLiteSpeed ​​sur Ubuntu 20.04

  5. Comment sécuriser votre serveur Ubuntu avec le pare-feu CSF

Comment installer le serveur HTTP Git avec Nginx sur Ubuntu 18.04 LTS

Comment exécuter le serveur Tomcat au démarrage sur le serveur Ubuntu

Comment configurer le serveur Git sur Ubuntu 20.04

Exécutez votre propre site Web de partage de vidéos avec YouPHPTube sur Debian 10 Buster

Comment exécuter votre propre serveur de noms avec ISPConfig et providerdomain.de (Schlund)

Comment :sécuriser votre serveur Ubuntu ou Debian avec IPTables