Faire fonctionner GitLab sur un serveur Apache

I-Pourquoi ?

Lorsque l’on a un site web on peut souhaiter ajouter des services à ce dernier sans pour autant acheter un autre serveur, ça ce complique lorsque le service ajouter sur le site web utilise lui également sont propre service web sur le port 80 (par défaut) ce qui pose un problème de conflit. Nous allons donc configurer un service GitLab sur un serveur apache en faisant une redirection via notre apache (voir ici pour connaitre la configuration en cour)

II-Comment ?

a) Sur Gitlab

Tout d’abord nous allons commencer par éditer le fichier de configuration de GitLab et changer le port du GitLab sur le 8888.

 sudo vi /etc/gitlab/gitlab.rb
external_url 'gitlab.example.org:8888'
sudo gitlab-ctl reconfigure

b) Sur apache

Nous allons maintenant reconfigurer le serveur apache pour que lorsqu’on demande l’accès à gitlab.exemple.org il nous redirige vers gitlab.exemple.org:8888

éditez le fichier « 000-default.conf » :

nano /etc/apache2/sites-available/000-default.conf

ensuite ajoutons la partie concernant le gitlab :

<If "req('Host') == 'gitlab.example.org'">
     Redirect "/" "http://gitlab.example.org:8888"
</If>

ce qui au final nous donne ce fichier de configuration :

<VirtualHost *:80>
 # The ServerName directive sets the request scheme, hostname and port that
 # the server uses to identify itself. This is used when creating
 # redirection URLs. In the context of virtual hosts, the ServerName
 # specifies what hostname must appear in the request's Host: header to
 # match this virtual host. For the default virtual host (this file) this
 # value is not decisive as it is used as a last resort host regardless.
 # However, you must set it for any further virtual host explicitly.
 ServerName boblecodeur.fr

 ServerAdmin webmaster@localhost
 DocumentRoot /var/www/html
 
 # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
 # error, crit, alert, emerg.
 # It is also possible to configure the loglevel for particular
 # modules, e.g.
 #LogLevel info ssl:warn

 ErrorLog ${APACHE_LOG_DIR}/error.log
 CustomLog ${APACHE_LOG_DIR}/access.log combined
 
 # For most configuration files from conf-available/, which are
 # enabled or disabled at a global level, it is possible to
 # include a line for only one particular virtual host. For example the
 # following line enables the CGI configuration for this host only
 # after it has been globally disabled with "a2disconf".
 #Include conf-available/serve-cgi-bin.conf

 <If "req('Host') == 'gitlab.example.org'">
      Redirect "/" "http://gitlab.example.org:8888"
</If>
</VirtualHost>
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet

 

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *