Bagaimana cara men-setup Gitlab-omnibus dengan server web yang tidak dibundel?

11

Install

  1. Saya menginstal gitlabpaket melalui paket omnibus pada debian 7(versi 7.8.1-omnibus-1_amd64.deb);
  2. ubah pengaturan seperti yang dijelaskan dalam Menggunakan server web yang tidak dibundel
  3. jalankan perintah konfigurasi ulang: sudo gitlab-ctl reconfigure(selesai tanpa kesalahan).

Nginx

Saya tidak mendapatkan nginxkonfigurasi untuk gitlab ini kecuali untuk apa yang mungkin dibuat oleh paket dengan /etc/gitlab/gitlab.rbfile berikut :

external_url 'http://git.mydomain.fr'
web_server['external_users'] = ['www-data']
nginx['enable'] = false
ci_nginx['enable'] = false

Log

/var/log/nginx/gitlab_error.log

2015/02/28 14:29:16 [alert] 4137#0: *14738 768 worker_connections are not enough while connecting to upstream, client: x.x.128.194, server: git.mydomain.fr, request: "GET / HTTP/1.0", upstream
: "http://x.x.128.194:80/", host: "git.mydomain.fr"

/var/log/nginx/gitlab_access.log

Di acces.log saya mendapat ratusan permintaan /.

x.x.128.194 - - [28/Feb/2015:14:29:16 +0100] "GET / HTTP/1.0" 500 186 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:37.0) Gecko/20100101 Firefox/37.0"
x.x.128.194 - - [28/Feb/2015:14:29:16 +0100] "GET / HTTP/1.0" 500 186 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:37.0) Gecko/20100101 Firefox/37.0"
x.x.128.194 - - [28/Feb/2015:14:29:16 +0100] "GET / HTTP/1.0" 500 186 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:37.0) Gecko/20100101 Firefox/37.0"x.x.128.194 - - [28/Feb/2015:14:29:16 +0100] "GET / HTTP/1.0" 500 186 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:37.0) Gecko/20100101 Firefox/37.0"
x.x.128.194 - - [28/Feb/2015:14:29:16 +0100] "GET / HTTP/1.0" 500 186 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:37.0) Gecko/20100101 Firefox/37.0"

Pertanyaan

Ketika mencoba untuk menghubungi servis secara lokal menggunakan links2atau eksternal saya mendapat kesalahan 502 Bad Gateway.

  • saya perlu membuat konfigurasi nginx khusus?
Édouard Lopez
sumber

Jawaban:

9

Melanjutkan penjelajahan, saya menemukan /var/opt/gitlab/direktori dan menyelesaikan tugas ini:

sudo ln -s /var/opt/gitlab/nginx/conf/gitlab-http.conf /etc/nginx/sites-available/
sudo ln -s /etc/nginx/sites-{available,enabled}/gitlab-http.conf
sudo service nginx reload
Édouard Lopez
sumber
Aku akan menandai ini sebagai ̶a̶n̶s̶w̶e̶r̶.̶ kerjanya Sejauh yang saya tahu, ̶ dan tidak ada yang lebih baik berlatih / solusi Memberikan 404 kesalahan bahkan saat login. Apakah ini kesalahan saya?
GCon
1
Ya, itu adalah kesalahan saya. Bekerja!
GCon
1
Catatan, ini tidak lagi berfungsi sepenuhnya, karena Anda akan mendapatkan unknown log format "gitlab_access" in /etc/nginx/sites-enabled/gitlab-http.conf:52kesalahan.
00500005
Berikut ini memperbaiki masalah format log sudo ln -s /var/opt/gitlab/nginx/conf/nginx.conf /etc/nginx/sites-available/dansudo ln -s /etc/nginx/sites-{available,enabled}/nginx.conf
solidgumby
2

Sedangkan untuk gitlab 8, kita tidak bisa lagi terhubung ke default gitlab-http.conf karena bundel webserver tidak akan diinstal ketika kita atur nginx['enable'] = false.

Cukup unduh konfigurasi server web yang tepat dari repositori resep GitLab dan ubah YOUR_SERVER_FQDNdengan nama domain pilihan Anda.

Lihat di sini untuk instruksi detail tentang cara menginstal gitlab menggunakan server web yang tidak dibundel.

Euph0rix
sumber
1

Untuk memastikan bahwa pengguna dapat diakses, pengguna Nginx Anda (biasanya www-data atau nginx) harus ditambahkan ke grup gitlab-www:

sudo usermod -aG gitlab-www nginx

atau

sudo usermod -aG gitlab-www www-data
Mohsen Beiranvand
sumber
1

Jika Anda terhubung gitlab-http.conf dan dapatkan:

format log tidak dikenal "gitlab_access" di /etc/nginx/sites-enabled/gitlab-http.conf

Cukup tambahkan log_formatarahan dari /var/opt/gitlab/nginx/conf/nginx.confke konfigurasi nginx global Anda:

http {
  ...
  log_format gitlab_access '$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent"';
  log_format gitlab_ci_access '$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent"';
  log_format gitlab_mattermost_access '$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent"';
  ...
}
Frederic Seiler
sumber