Skocz do zawartości
Zaloguj się, aby obserwować  
baltazar_gabka

Konfiguracja gitweb i nginx

Polecane posty

Witam.

Próbuję skonfigurować nginx i gitweb.

cp -r /usr/share/gitweb/ /var/www/strona_www/

Następnie edytuję plik

vim /etc/nginx/sites-available/strona_www
server {
  listen 80;
  server_name strona_www;
  access_log /var/log/nginx/strona_www-access.log;
  error_log /var/log/nginx/strona_www-info-error.log warn;


  location /gitweb/ {
   index index.cgi;
   gzip off;
   include fastcgi_params;
   fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
   fastcgi_param GIT_PROJECT_ROOT /home/pawel/repo/websites;
   fastcgi_pass 127.0.0.1:9000;
  }
}

 

Zawartość pliku: /etc/nginx/fastcgi_params

fastcgi_param  QUERY_STRING       $query_string;
fastcgi_param  REQUEST_METHOD     $request_method;
fastcgi_param  CONTENT_TYPE       $content_type;
fastcgi_param  CONTENT_LENGTH     $content_length;


fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
fastcgi_param  REQUEST_URI        $request_uri;
fastcgi_param  DOCUMENT_URI       $document_uri;
fastcgi_param  DOCUMENT_ROOT      $document_root;
fastcgi_param  SERVER_PROTOCOL    $server_protocol;


fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
fastcgi_param  SERVER_SOFTWARE    nginx/$nginx_version;


fastcgi_param  REMOTE_ADDR        $remote_addr;
fastcgi_param  REMOTE_PORT        $remote_port;
fastcgi_param  SERVER_ADDR        $server_addr;
fastcgi_param  SERVER_PORT        $server_port;
fastcgi_param  SERVER_NAME        $server_name;


# PHP only, required if PHP was built with --enable-force-cgi-redirect
fastcgi_param  REDIRECT_STATUS    200;

Następnie restart serwera.

 

Po wpisaniu adresu w przeglądarce otrzymuję taki komunikat:

No input file specified.

Będę wdzięczny za pomoc.

 

Edytowano przez baltazar_gabka (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Zamień server_name na strony, z których wchodzisz do danego vhosta. Może to być np. :

 

server_name domena.pl www.domena.pl;

 

Do tego zaraz za tym dorzuć:

 

index index.cgi index.php index.html index.htm;

 

 

Zrestartuj z poziomu service nginx restart i sprawdź.

Edytowano przez Archi (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Plik teraz wygląda tak:

server {
  listen 80;
  server_name strona_www www.strona_www;
  index index.cgi index.php index.html index.htm;
  access_log /var/log/nginx/strona_www-access.log;
  error_log /var/log/nginx/strona_www-error.log warn;


  location /gitweb/ {
   index index.cgi;
   gzip off;
   include fastcgi_params;
   fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
   fastcgi_param GIT_PROJECT_ROOT /home/pawel/repo/websites;
   fastcgi_pass 127.0.0.1:9000;
  }


  location = /favicon.ico {
    expires max;
    log_not_found off;
    access_log off;
  }
}

Pliku strona_www-error.log nic nie mam.

W katalogu /var/www/strona_www/gitweb/ utworzyłem dodatkowo plik index.html

Po pisaniu w przeglądarce adresu mam to samo co w poście wyżej.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Chyba już wiem czemu, umknęło mi to jakoś wcześniej,.

 

Twój skrypt parsuje wszystko do fastcgi.

 

Wrzuć do jakiegoś /etc/nginx/fpm.conf :

 

gzip off;
   include fastcgi_params;
   fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
   fastcgi_param GIT_PROJECT_ROOT /home/pawel/repo/websites;
   fastcgi_pass 127.0.0.1:9000;

 

 

Wykasuj:

 

location /gitweb/ {
   index index.cgi;
   gzip off;
   include fastcgi_params;
   fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
   fastcgi_param GIT_PROJECT_ROOT /home/pawel/repo/websites;
   fastcgi_pass 127.0.0.1:9000;
  }

 

 

I zamiast tego wrzuć:

 

location ~ \.php$ {
                include /etc/nginx/fpm.conf;
        }
        location ~ \.cgi$ {
                include /etc/nginx/fpm.conf;
        }

 

 

Daj znać jakie efekty. W access logu musi być logowana chociaż sama próba dostania się do nieznanego pliku więc jeśli po tym również nginx nie będzie chciał nic logować to znaczy, że w ogóle nie wpada do tego vhosta.

Edytowano przez Archi (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Zmieniłem według tego co powyżej.

W logu mam:

 

 

2013/01/21 19:08:24 [error] 2277#0: *2 FastCGI sent in stderr: "PHP Parse error:  syntax error, unexpected T_STRING in /var/www/strona_www/gitweb/index.cgi on line 3420" while reading response header from upstream, client: 77.89.84.211, server: strona_www, request: "GET /gitweb/ HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "strona_www"

 

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się

Zaloguj się, aby obserwować  

×