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.
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 -vruby 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-rdocRé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 :
Répétez le mot de passe pour l'utilisateur "root" de MariaDB :
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'
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
Ce sera votre page d'accueil par défaut.
5 liens
- gitlab :https://about.gitlab.com/
- ubuntu :http://www.ubuntu.com/