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 ~ File Hosting Provider ~ Crypto Enthusiast ~ Automation Expert Bitcoin donation: 32Uu4NKGnxSPC7UukYXVyRHwbppbQpKVki