У меня есть репозиторий git в каталоге внутри / home / raynes / pubgit /. Я пытаюсь использовать gitweb, чтобы предоставить ему веб-интерфейс. Я использую nginx в качестве своего веб-сервера для всего остального, поэтому я действительно не хочу использовать другой только для этого.
Я в основном следую этому руководству: http://michalbugno.pl/en/blog/gitweb-nginx, это единственное руководство, которое я могу найти через Google, и оно действительно недавнее. Очевидно, что fcgiwrap отсутствует в репозиториях Lucid Lynx, поэтому я установил его вручную. Я создаю экземпляры через spawn-fcgi:
spawn-fcgi -f /usr/local/sbin/fcgiwrap -a 127.0.0.1 -p 9001
Все хорошо. Мой /etc/gitweb.conf выглядит следующим образом:
# path to git projects (<project>.git)
$projectroot = "/home/raynes/pubgit";
$my_uri = "http://mc.raynes.me";
$home_link = "http://mc.raynes.me/";
# directory to use for temp files
$git_temp = "/tmp";
# target of the home link on top of all pages
#$home_link = $my_uri || "/";
# html text to include at home page
$home_text = "indextext.html";
# file with project list; by default, simply scan the projectroot dir.
$projects_list = $projectroot;
# stylesheet to use
$stylesheet = "/gitweb/gitweb.css";
# logo to use
$logo = "/gitweb/git-logo.png";
# the 'favicon'
$favicon = "/gitweb/git-favicon.png";
И моя конфигурация сервера nginx такова:
server {
listen 80;
server_name mc.raynes.me;
location / {
root /usr/share/gitweb;
if (!-f $request_filename) {
fastcgi_pass 127.0.0.1:9001;
}
fastcgi_index index.cgi;
fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
include fastcgi_params;
}
}
Единственная разница в том, что я установил для fastcgi_pass значение 127.0.0.1:9001. Когда я иду в http://mc.raynes.me Меня приветствует страница, на которой просто написано «403» и ничего больше. Я не имею ни малейшего понятия, что я сделал не так.
Любые идеи?
Убедитесь, что ваш SCRIPT_FILENAME правильный. Я обнаружил, что мне нужно указать полное абсолютное местоположение, чтобы оно работало:
fastcgi_param SCRIPT_FILENAME /usr/share/gitweb/gitweb.cgi;
Если ошибки по-прежнему возникают, возможно, вам также потребуется указать полный путь к файлу конфигурации Gitweb:
fastcgi_param GITWEB_CONFIG /etc/conf.d/gitweb.conf;