Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#51 Le 10/04/2020, à 18:08

vincent-avct

Re : [RÉSOLU] configuration gitlab-ce \ ubuntu 16.04 \ https

j'ai installer le module proxy et fait un reboot de la machine

---------
AVANT sudo a2ensite gitlab-apache24.conf
---------

sudo systemctl restart pache2

Failed to restart pache2.service: Unit pache2.service not found.

systemctl -l --no-pager status apache2

● apache2.service - LSB: Apache2 web server
   Loaded: loaded (/etc/init.d/apache2; bad; vendor preset: enabled)
  Drop-In: /lib/systemd/system/apache2.service.d
           └─apache2-systemd.conf
   Active: active (running) since ven. 2020-04-10 19:03:43 CEST; 1min 36s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 1326 ExecStart=/etc/init.d/apache2 start (code=exited, status=0/SUCCESS)
    Tasks: 6
   Memory: 30.2M
      CPU: 542ms
   CGroup: /system.slice/apache2.service
           ├─1433 /usr/sbin/apache2 -k start
           ├─1439 /usr/sbin/apache2 -k start
           ├─1440 /usr/sbin/apache2 -k start
           ├─1441 /usr/sbin/apache2 -k start
           ├─1442 /usr/sbin/apache2 -k start
           └─1443 /usr/sbin/apache2 -k start

avril 10 19:03:40 sd-106325 systemd[1]: Starting LSB: Apache2 web server...
avril 10 19:03:40 sd-106325 apache2[1326]:  * Starting Apache httpd web server apache2
avril 10 19:03:43 sd-106325 apache2[1326]:  *
avril 10 19:03:43 sd-106325 systemd[1]: Started LSB: Apache2 web server.

sudo apache2ctl -t

Syntax OK

----------
APRES sudo a2ensite gitlab-apache24.conf
----------
sudo systemctl restart pache2

Failed to restart pache2.service: Unit pache2.service not found.

systemctl -l --no-pager status apache2

● apache2.service - LSB: Apache2 web server
   Loaded: loaded (/etc/init.d/apache2; bad; vendor preset: enabled)
  Drop-In: /lib/systemd/system/apache2.service.d
           └─apache2-systemd.conf
   Active: active (running) (Result: exit-code) since ven. 2020-04-10 19:03:43 CEST; 16min ago
     Docs: man:systemd-sysv-generator(8)
  Process: 4619 ExecReload=/etc/init.d/apache2 reload (code=exited, status=1/FAILURE)
  Process: 1326 ExecStart=/etc/init.d/apache2 start (code=exited, status=0/SUCCESS)
    Tasks: 6
   Memory: 30.5M
      CPU: 1.344s
   CGroup: /system.slice/apache2.service
           ├─1433 /usr/sbin/apache2 -k start
           ├─4252 /usr/sbin/apache2 -k start
           ├─4253 /usr/sbin/apache2 -k start
           ├─4254 /usr/sbin/apache2 -k start
           ├─4255 /usr/sbin/apache2 -k start
           └─4256 /usr/sbin/apache2 -k start

avril 10 19:17:23 sd-106325 apache2[4619]:  * Reloading Apache httpd web server apache2
avril 10 19:17:24 sd-106325 apache2[4619]:  *
avril 10 19:17:24 sd-106325 apache2[4619]:  * The apache2 configtest failed. Not doing anything.
avril 10 19:17:24 sd-106325 apache2[4619]: Output of config test was:
avril 10 19:17:24 sd-106325 apache2[4619]: AH00526: Syntax error on line 43 of /etc/apache2/sites-enabled/gitlab-apache24.conf:
avril 10 19:17:24 sd-106325 apache2[4619]: DocumentRoot takes one argument, Root directory of the document tree
avril 10 19:17:24 sd-106325 apache2[4619]: Action 'configtest' failed.
avril 10 19:17:24 sd-106325 apache2[4619]: The Apache error log may have more information.
avril 10 19:17:24 sd-106325 systemd[1]: apache2.service: Control process exited, code=exited status=1
avril 10 19:17:24 sd-106325 systemd[1]: Reload failed for LSB: Apache2 web server.

sudo apache2ctl -t

AH00526: Syntax error on line 43 of /etc/apache2/sites-enabled/gitlab-apache24.conf:
DocumentRoot takes one argument, Root directory of the document tree
Action '-t' failed.
The Apache error log may have more information.

Dernière modification par vincent-avct (Le 10/04/2020, à 18:22)

Hors ligne

#52 Le 10/04/2020, à 19:29

bruno

Re : [RÉSOLU] configuration gitlab-ce \ ubuntu 16.04 \ https

C'est :

sudo systemctl restart apache2

Tu copies aveuglément les commandes que j'indique, avec leur fautes de frappe, sans même faire l'effort de les saisir et d'essayer de le comprendre.

Corrige l'erreur par indiquée par apache2ctl.

#53 Le 10/04/2020, à 20:33

vincent-avct

Re : [RÉSOLU] configuration gitlab-ce \ ubuntu 16.04 \ https

en fait je vous renvoie les informations que vous me demandez mais j'essaie d'avancer en parallèle, donc j'ai besoin de comprendre
vous et d'autres m'avez déjà posté 3 ou 4 fois cette commandes. effectivement je ne fais plus de recherche, et j'ai malheureusement et bêtement fait un copier/coller ce qui ne m'a pas empêcher de faire des recherches.

Je peux vous dire qu'une fois le module installé apache redémarre, mais qu'une fois le vhost installé il ne redémarre plus.

concernant l'erreur  avant l'installation du module proxy elle est sur

ProxyPreserveHost On

et une fois le proxy installé ainsi que le vhost elle est sur

DocumentRoot /opt/gitlab/embedded/service/gitlab-rails/public

j'ai modifié les droit d'accès à public qui était sur

roor:root

pour

www-data:gitlab-www

comme indiqué sur cette page que vous m'avez envoyé.
https://docs.gitlab.com/omnibus/setting … web-server
bien entendu je peux me tromper, mais comme vous le savez il n'y a que celui qui ne fait rien qui ne se trompe jamais.

merci de votre aide

Dernière modification par vincent-avct (Le 11/04/2020, à 08:45)

Hors ligne

#54 Le 11/04/2020, à 09:57

bruno

Re : [RÉSOLU] configuration gitlab-ce \ ubuntu 16.04 \ https

Il faut donner le contenu complet de ton hôte virtuel.

#55 Le 11/04/2020, à 10:15

vincent-avct

Re : [RÉSOLU] configuration gitlab-ce \ ubuntu 16.04 \ https

Bonjour, voici le contenu de l'hôte virtuel

/etc/apache2/sites-available/gitlab-apache24.conf
# This configuration has been tested on GitLab 8.2
# Note this config assumes unicorn is listening on default port 8080 and
# gitlab-workhorse is listening on port 8181. To allow gitlab-workhorse to
# listen on port 8181, edit or create /etc/default/gitlab and change or add the following:
#
# gitlab_workhorse_options="-listenUmask 0 -listenNetwork tcp -listenAddr 127.0.0.1:8181 -authBackend http://127.0.0.1:8080"
#
#Module dependencies
# mod_rewrite
# mod_proxy
# mod_proxy_http
<VirtualHost *:80>
  ServerName gitlab.avct.net
  ServerSignature Off

  ProxyPreserveHost On

  # Ensure that encoded slashes are not decoded but left in their encoded state.
  # http://doc.gitlab.com/ce/api/projects.html#get-single-project
  AllowEncodedSlashes NoDecode

  <Location />
    # New authorization commands for apache 2.4 and up
    # http://httpd.apache.org/docs/2.4/upgrading.html#access
    Require all granted

    #Allow forwarding to gitlab-workhorse
    ProxyPassReverse http://127.0.0.1:9229
    ProxyPassReverse http://gitlab.avct.net/
  </Location>

  # Apache equivalent of nginx try files
  # http://serverfault.com/questions/290784/what-is-apaches-equivalent-of-nginxs-try-files
  # http://stackoverflow.com/questions/10954516/apache2-proxypass-for-rails-app-gitlab
  RewriteEngine on

  #Forward all requests to gitlab-workhorse except existing files like error documents
  RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f [OR]
  RewriteCond %{REQUEST_URI} ^/uploads/.*
  RewriteRule .* http://127.0.0.1:9229%{REQUEST_URI} [P,QSA,NE]

  # needed for downloading attachments
  DocumentRoot /opt/gitlab/embedded/service/gitlab-rails/public # /home/git/gitlab/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 502 /502.html
  ErrorDocument 503 /503.html

   # It is assumed that the log directory is in /var/log/httpd.
  # For Debian distributions you might want to change this to
  # /var/log/apache2.
  LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b" common_forwarded
  ErrorLog /var/log/apache2/gitlab.avct.net_error.log
  CustomLog /var/log/apache2/gitlab.avct.net_forwarded.log common_forwarded
  CustomLog /var/log/apache2/gitlab.avct.net_access.log combined env=!dontlog
  CustomLog /var/log/apache2/gitlab.avct.net.log combined

</VirtualHost>

Hors ligne

#56 Le 11/04/2020, à 12:34

bruno

Re : [RÉSOLU] configuration gitlab-ce \ ubuntu 16.04 \ https

Là tu n'as pas corrigé l'erreur indiquée en #52 :

  DocumentRoot /opt/gitlab/embedded/service/gitlab-rails/public # /home/git/gitlab/public
DocumentRoot takes one argument, Root directory of the document tree

#57 Le 12/04/2020, à 12:12

vincent-avct

Re : [RÉSOLU] configuration gitlab-ce \ ubuntu 16.04 \ https

Bonjour à tous et à toi en particulier Bruno,

j'ai enfin trouvé une configuration correcte... je crois

tout d'abord pour cette ligne indiquée en #57 il semblerait que le commentaire posait problème

je prépare un post complet avec les fichiers de configuration les commandes utiles, quelques liens, pour une installation gitlab en https utilisant apache

encore merci à Bruno

Hors ligne

#58 Le 13/04/2020, à 18:02

vincent-avct

Re : [RÉSOLU] configuration gitlab-ce \ ubuntu 16.04 \ https

Bonjour,


On trouve facilement des tutos pour l'installation de base.

Concernant gitlab.rb je poste uniquement les lignes décommentées, il est important  de vérifier la correspondance des ports via la commande indiqué en #33, notamment pour gitlab_workhorse['listen_addr']. Comme indiqué dans le titre cette configuration correspond à une installation de gitlab-ce sur un système Ubuntu 16.04, utilisant le serveur apache2. Il est donc nécessaire de désactiver le serveur nginx qui est installé par défaut avec le paquet.

external_url 'https://gitlab.avct.net'
gitlab_workhorse['enable'] = true
gitlab_workhorse['listen_network'] = "tcp"
gitlab_workhorse['listen_umask'] = 000
gitlab_workhorse['listen_addr'] = "localhost:9229"
gitlab_workhorse['dir'] = "/var/opt/gitlab/gitlab-workhorse"
unicorn['enable'] = true
unicorn['listen'] = 'localhost'
unicorn['port'] = 8080

web_server['external_users'] = ['www-data']
nginx['enable'] = false

ensuite le contenu du vhost pour une connexion https avec certificat SSL généré avec letsencrypt.
Je n'ai pas réussi à utilisé correctement la configuration letsencrypt contenu dans gitlab.rb
j'ai donc enregistré le fichier, déployé le domaine puis généré le certificat à l'aide de

sudo certbot --apache
# This configuration has been tested on GitLab 8.2
# Note this config assumes unicorn is listening on default port 8080 and
# gitlab-workhorse is listening on port 8181. To allow gitlab-workhorse to
# listen on port 8181, edit or create /etc/default/gitlab and change or add the following:
#
# gitlab_workhorse_options="-listenUmask 0 -listenNetwork tcp -listenAddr 127.0.0.1:8181 -authBackend http://127.0.0.1:8080"
#
#Module dependencies
# mod_rewrite
# mod_ssl
# mod_proxy
# mod_proxy_http
# mod_headers

# This section is only needed if you want to redirect http traffic to https.
# You can live without it but clients will have to type in https:// to reach gitlab.
<VirtualHost *:80>
  ServerName gitlab.avct.net
  ServerSignature Off

  RewriteEngine on
  RewriteCond %{HTTPS} !=on
  RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [NE,R,L]
RewriteCond %{SERVER_NAME} =gitlab.avct.net
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>

<VirtualHost *:443>
  SSLEngine on
  #strong encryption ciphers only
  #see ciphers(1) http://www.openssl.org/docs/apps/ciphers.html
  SSLProtocol all -SSLv2
  SSLHonorCipherOrder on
  SSLCipherSuite "ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS"
  Header add Strict-Transport-Security: "max-age=15768000;includeSubdomains"
  SSLCompression Off
  # SSLCACertificateFile /etc/gitlab/ssl/your-ca.crt

  ServerName gitlab.avct.net

  ServerSignature Off

  ProxyPreserveHost On

  # Ensure that encoded slashes are not decoded but left in their encoded state.
  # http://doc.gitlab.com/ce/api/projects.html#get-single-project
  AllowEncodedSlashes NoDecode

  <Location />
  # New authorization commands for apache 2.4 and up
    # http://httpd.apache.org/docs/2.4/upgrading.html#access
    Require all granted

    #Allow forwarding to gitlab-workhorse
    ProxyPassReverse http://127.0.0.1:9229
    ProxyPassReverse http://gitlab.avct.net/
  </Location>

  # Apache equivalent of nginx try files
  # http://serverfault.com/questions/290784/what-is-apaches-equivalent-of-nginxs-try-files
  # http://stackoverflow.com/questions/10954516/apache2-proxypass-for-rails-app-gitlab
  RewriteEngine on

  #Forward all requests to gitlab-workhorse except existing files like error documents
  RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f [OR]
  RewriteCond %{REQUEST_URI} ^/uploads/.*
  RewriteRule .* http://127.0.0.1:9229%{REQUEST_URI} [P,QSA,NE]

  RequestHeader set X_FORWARDED_PROTO 'https'
  RequestHeader set X-Forwarded-Ssl on

  # needed for downloading attachments
  DocumentRoot /opt/gitlab/embedded/service/gitlab-rails/public
  # DocumentRoot /home/git/gitlab/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 502 /502.html
  ErrorDocument 503 /503.html

  # It is assumed that the log directory is in /var/log/httpd.
  # For Debian distributions you might want to change this to
  # /var/log/apache2.
  LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b" common_forwarded
  ErrorLog /var/log/apache2/gitlab.avct.net_error.log
  CustomLog /var/log/apache2/gitlab.avct.net_forwarded.log common_forwarded
  CustomLog /var/log/apache2/gitlab.avct.net_access.log combined env=!dontlog
  CustomLog /var/log/apache2/gitlab.avct.net.log combined

  SSLCertificateFile /etc/letsencrypt/live/gitlab.avct.net/fullchain.pem
  SSLCertificateKeyFile /etc/letsencrypt/live/gitlab.avct.net/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
</VirtualHost>

J'ai découvert ce site, bien pratique, pour tester les certificats. ssllabs

Dernière modification par vincent-avct (Le 13/04/2020, à 18:15)

Hors ligne