আমি এমন একটি সার্ভার সেটআপ করার চেষ্টা করছি যেখানে আমার গিট রেপো এইচটিটিপি (এস) এর মাধ্যমে অ্যাক্সেসযোগ্য হবে।
আমি গিটোলাইট এবং এনগিনেক্স ব্যবহার করছি (এবং ওয়েব ইন্টারফেসের জন্য গিটল্যাব তবে আমি সন্দেহ করি যে এটি কোনও তফাত করে)।
আমি পুরো বিকেলে অনুসন্ধান করেছি এবং আমার মনে হয় আমি আটকে আছি।
আমার মনে হয়েছে আমি বুঝতে পেরেছি যে জিটোলাইটের সাথে কাজ করার জন্য এনজিনেক্সের fcgiwrap প্রয়োজন, তাই আমি বেশ কয়েকটি কনফিগারেশন চেষ্টা করেছি, কিন্তু তাদের কোনওটিই কাজ করে না।
আমার সংগ্রহস্থলগুলি / হোম / গিট / রিপোজিটরিগুলিতে রয়েছে।
আমি চেষ্টা করেছি এমন তিনটি এনগিনেক্স কনফিগারেশন এখানে।
1:
location ~ /git(/.*) {
gzip off;
root /usr/lib/git-core;
fastcgi_pass unix:/var/run/fcgiwrap.socket;
include /etc/nginx/fcgiwrap.conf;
fastcgi_param SCRIPT_FILENAME /usr/lib/git-core/git-http-backend;
fastcgi_param DOCUMENT_ROOT /usr/lib/git-core/;
fastcgi_param SCRIPT_NAME git-http-backend;
fastcgi_param GIT_HTTP_EXPORT_ALL "";
fastcgi_param GIT_PROJECT_ROOT /home/git/repositories;
fastcgi_param PATH_INFO $1;
#fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
}
ফলাফল:
> git clone http://myservername/projectname.git test/
Cloning into test...
fatal: http://myservername/projectname.git/info/refs not found: did you run git update-server-info on the server?
এবং
> git clone http://myservername/git/projectname.git test/
Cloning into test...
error: The requested URL returned error: 502 while accessing http://myservername/git/projectname.git/info/refs
fatal: HTTP request failed
2:
location ~ /git(/.*) {
fastcgi_pass localhost:9001;
include /etc/nginx/fcgiwrap.conf;
fastcgi_param SCRIPT_FILENAME /usr/lib/git-core/git-http-backend;
fastcgi_param GIT_HTTP_EXPORT_ALL "";
fastcgi_param GIT_PROJECT_ROOT /home/git/repositories;
fastcgi_param PATH_INFO $1;
}
ফলাফল:
> git clone http://myservername/projectname.git test/
Cloning into test...
fatal: http://myservername/projectname.git/info/refs not found: did you run git update-server-info on the server?
এবং
> git clone http://myservername/git/projectname.git test/
Cloning into test...
error: The requested URL returned error: 502 while accessing http://myservername/git/projectname.git/info/refs
fatal: HTTP request failed
3:
location ~ ^.*\.git/objects/([0-9a-f]+/[0-9a-f]+|pack/pack-[0-9a-f]+.(pack|idx))$ {
root /home/git/repositories/;
}
location ~ ^.*\.git/(HEAD|info/refs|objects/info/.*|git-(upload|receive)-pack)$ {
root /home/git/repositories;
fastcgi_pass unix:/var/run/fcgiwrap.socket;
fastcgi_param SCRIPT_FILENAME /usr/lib/git-core/git-http-backend;
fastcgi_param PATH_INFO $uri;
fastcgi_param GIT_PROJECT_ROOT /home/git/repositories;
include /etc/nginx/fcgiwrap.conf;
}
ফলাফল:
> git clone http://myservername/projectname.git test/
Cloning into test...
error: The requested URL returned error: 502 while accessing http://myservername/projectname.git/info/refs
fatal: HTTP request failed
এবং
> git clone http://myservername/git/projectname.git test/
Cloning into test...
error: The requested URL returned error: 502 while accessing http://myservername/git/projectname.git/info/refs
fatal: HTTP request failed
আরও মনে রাখবেন যে এই কনফিগারেশনের যে কোনওটির সাথে আমি যখন এমন প্রকল্পের নামটির সাথে ক্লোন করার চেষ্টা করি যা বাস্তবে বিদ্যমান না, তখন আমি একটি 502 ত্রুটি পাই।
ইতিমধ্যে কেউ কি এটি করতে সফল হয়েছে? আমি কি ভুল করছি?
ধন্যবাদ।
হালনাগাদ:
nginx ত্রুটি লগ ফাইল বলেছেন:
2012/04/05 17:34:50 [crit] 21335#0: *50 connect() to unix:/var/run/fcgiwrap.socket failed (13: Permission denied) while connecting to upstream, client: 192.168.12.201, server: myservername, request: "GET /git/oct_editor.git/info/refs HTTP/1.1", upstream: "fastcgi://unix:/var/run/fcgiwrap.socket:", host: "myservername"
সুতরাং আমি /var/run/fcgiwrap.sket এর জন্য অনুমতিগুলি পরিবর্তন করেছি এবং এখন আমার কাছে রয়েছে:
> git clone http://myservername/git/projectname.git test/
Cloning into test...
error: The requested URL returned error: 403 while accessing http://myservername/git/projectname.git/info/refs
fatal: HTTP request failed
আমার কাছে এখন ত্রুটি.লগ ফাইলটি এখানে রয়েছে:
2012/04/05 17:36:52 [error] 21335#0: *78 FastCGI sent in stderr: "Cannot chdir to script directory (/usr/lib/git-core/git/projectname.git/info)" while reading response header from upstream, client: 192.168.12.201, server: myservername, request: "GET /git/projectname.git/info/refs HTTP/1.1", upstream: "fastcgi://unix:/var/run/fcgiwrap.socket:", host: "myservername"
আমি তদন্ত চালিয়ে যাচ্ছি।
/usr/lib/git-core/git/projectname.git/info
?