Gitlab installation

Dépendences

sudo apt-get update
sudo apt-get install curl openssh-server ca-certificates

Ensuite, installez Postfix pour envoyer des courriels de notification. Si vous souhaitez utiliser une autre solution pour envoyer des e-mails, veuillez sauter cette étape et configurer un serveur SMTP externe après l'installation de GitLab.

sudo apt-get install -y postfix

Pendant l'installation de Postfix, un écran de configuration peut apparaître. Sélectionnez 'Site Internet' et appuyez sur la touche Entrée. Utilisez le DNS externe de votre serveur pour 'mail name' et appuyez sur Entrée. Si d'autres écrans apparaissent, continuez à appuyer sur la touche Entrée pour accepter les valeurs par défaut.

Installion

Ajouter le dépôt de paquets GitLab.

curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash

Ensuite, installez le paquetage GitLab. Assurez-vous que vous avez correctement configuré votre DNS, et modifiez https://gitlab.example.com pour l'URL à laquelle vous souhaitez accéder à votre instance GitLab. L'installation configurera et démarrera automatiquement GitLab à cette URL.

Pour les URLs https://, GitLab demandera automatiquement un certificat avec Let's Encrypt, qui requiert un accès HTTP entrant et un nom d'hôte valide. Vous pouvez également utiliser votre propre certificat ou simplement utiliser http:// (sans s).

sudo apt-get install gitlab-ce

Configuration

Gitlab

sudo nano /etc/gitlab/gitlab.rb
# Modify external url to match the domain in our apache config file 
external_url "http://<yourdomain>"
# Disable nginx
nginx['enable'] = false
# Give apache user privileges to listen to gitLab
web_server['external_users'] = ['www-data']
sudo gitlab-ctl reconfigure

Il peut arriver que parfois le site retourne une erreur 502 lors d'une installation cela peut provenir de la page edité lors du déploiement. Pour

sudo gitlab-ctl deploy-page down 

Apache2

sudo apt-get update
sudo apt-get install apache2

sudo a2enmod proxy_http
sudo a2enmod rewrite
sudo a2enmod ssl
sudo a2enmod headers
sudo service apache2 restart

Configuration

sudo nano /etc/apache2/sites-enable/gitlab.conf
<VirtualHost *:80>
  ServerName <your_domain_or_sub_domain>
  ServerSignature Off

  ProxyPreserveHost On
  AllowEncodedSlashes NoDecode

  <Location />
  Require all granted

  ProxyPassReverse http://127.0.0.1:8080
  ProxyPassReverse <your_domain_or_sub_domain>
  </Location>

  RewriteEngine on
  RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f
  RewriteRule .* http://127.0.0.1:8080%{REQUEST_URI} [P,QSA]

  # needed for downloading attachments
  DocumentRoot /opt/gitlab/embedded/service/gitlab-rails/public

  #Set up apache error documents, if back end goes down (i.e. 503 error) then a maintenance/deploy page is thrown up.
  ErrorDocument 404 /404.html
  ErrorDocument 422 /422.html
  ErrorDocument 500 /500.html
  ErrorDocument 503 /deploy.html

  LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b" common_forwarded
  ErrorLog  /var/log/httpd/logs/<your_domain_or_sub_domain>_error.log
  CustomLog /var/log/httpd/logs/<your_domain_or_sub_domain>_forwarded.log common_forwarded
  CustomLog /var/log/httpd/logs/<your_domain_or_sub_domain>_access.log combined env=!dontlog
  CustomLog /var/log/httpd/logs/<your_domain_or_sub_domain>.log combined
</VirtualHost>

Commandes

Une fois Omnibus GitLab installé et configuré, votre serveur aura un processus de répertoire de service runit (runsvdir) qui sera lancé au démarrage via /etc/inittab ou la ressource Upstart etc/init/gitlab-runsvdir.conf. Vous ne devriez pas avoir à vous occuper directement du processus runsvdir ; vous pouvez utiliser le frontal gitlab-ctl à la place.

Vous pouvez démarrer, arrêter ou redémarrer GitLab et tous ses composants avec les commandes suivantes.

# Start all GitLab components
sudo gitlab-ctl start

# Stop all GitLab components
sudo gitlab-ctl stop

# Restart all GitLab components
sudo gitlab-ctl restart

Notez que sur un serveur à un seul cœur, le redémarrage de Puma et Sidekiq peut prendre jusqu'à une minute. Votre instance GitLab donnera une erreur 502 jusqu'à ce que Puma soit à nouveau opérationnel.

Il est également possible de démarrer, arrêter ou redémarrer des composants individuels.

sudo gitlab-ctl restart sidekiq

Puma supporte les recharges sans temps mort. Celles-ci peuvent être déclenchées comme suit:

sudo gitlab-ctl hup puma

MarquandT

Ethical Hacker ~ Web Developper ~ Hosting Provider ~ Crypto Enthusiast ~ Automation Expert Bitcoin donation: 32Uu4NKGnxSPC7UukYXVyRHwbppbQpKVki

Comments

You must login to send a comment.