Bagaimana saya memperbaiki masalah dengan Ubuntu 11.10 server dan gitweb?

1

Hai dan maaf untuk bahasa Inggris yang buruk dulu: (...

Saya punya satu server 11.10 ubuntu dan saya ingin membuat server gitweb. saya merujuk ke situs ini - http://www.snowfrog.net/2011/08/02/setting-up-gitweb-on-your-ubuntu-workstation/ .

jadi, saya mencoba menginstal gitweb dan restart server apache.

(as root account)
$ apt-get install gitweb
$ service apache2 restart

dan saya mencoba menghubungkan server gitweb saya, tetapi saya tidak dapat terhubung - Galat Server Internal. Saya sedang mencari banyak waktu dan mencoba menyelesaikan masalah ini, saya tidak bisa.

ini adalah gitweb saya dan informasi server saya -

  1. menginstal 'mediawiki' dan berfungsi sekarang.
  2. menginstal 'apache2' dan berfungsi juga.
  3. git juga bekerja. saya mencoba untuk mengkloning git repo ke desktop saya, dan berhasil terkoneksi.
  4. menginstal 'gitweb' dan ... tidak berfungsi. - Kesalahan server dari dalam.
  5. saya memeriksa log apache2 saya.

    [error] [client ---.---.---.---] (13)Permission denied: exec of '/usr/share/gitweb/index.cgi' failed
    [error] [client ---.---.---.---] Premature end of script headers: index.cgi
    
  6. gitweb diinstal ke / usr / share / gitweb.

  7. ini adalah izin untuk / usr / share / gitweb forlder.

    -rwxr-xr-- 1 root root 221331 2012-05-08 02:24 gitweb.cgi
    lrwxrwxrwx 1 root root     10 2011-06-11 18:17 index.cgi -> gitweb.cgi
    drwxrwxrwx 2 root root   4096 2012-05-07 19:36 static
    
  8. ini adalah hasil dari 'perl /usr/share/index.cgi'.

    Status: 404 Not Found^M
    Content-Type: text/html; charset=utf-8^M
    ^M
    <?xml version="1.0" encoding="utf-8"?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US" lang="en-US">
    <!-- git web interface version 1.7.5.4, (C) 2005-2006, Kay Sievers <[email protected]>, Christian Gierke -->
    <!-- git core binaries version 1.7.5.4 -->
    <head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
    <meta name="generator" content="gitweb/1.7.5.4 git/1.7.5.4"/>
    <meta name="robots" content="index, nofollow"/>
    <title>Untitled Git</title>
    <link rel="stylesheet" type="text/css" href="static/gitweb.css"/>
    <link rel="shortcut icon" href="static/git-favicon.png" type="image/png" />
    </head>
    <body>
    <div class="page_header">
    <a title="git homepage" href="http://git-scm.com/"><img class="logo" height="27" src="static/git-logo.png" alt="git" width="72" /></a><a href="/">projects</a> / </div>
    <div class="page_body">
    <br /><br />
    404 - No projects found
    <br />
    </div>
    <div class="page_footer">
    <a class="rss_logo" href="?a=opml">OPML</a> <a class="rss_logo" href="?a=project_index">TXT</a>
    </div>
    <script type="text/javascript" src="static/gitweb.js"></script>
    </body>
    </html>
    
  9. /etc/gitweb.conf

    # path to git projects (<project>.git)
    $projectroot = "/home/git/repositories";
    
    # 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 = "/home/git/projects.list";
    
    # stylesheet to use
    @stylesheets = ("static/gitweb.css");
    
    # javascript code for gitweb
    $javascript = "static/gitweb.js";
    
    # logo to use
    $logo = "static/git-logo.png";
    
  10. /etc/apache2/conf.d/gitweb

    Alias /gitweb /usr/share/gitweb
    
    <Directory /usr/share/gitweb>
      Option FollowSymLinks +ExecCGI
      AddHandler cgi-script .cgi
    <Directory>
    
  11. saya mengecualikan perintah ini - "a2enmod cgi, a2enmod perl" dan sudah diaktifkan.

Keris
sumber

Jawaban:

0

Sepertinya apache tidak dapat menjalankan index.cgi karena tidak memiliki izin. index.cgi adalah symlink ke gitweb.cgi, dan saya bisa melihat dari izin itu bahwa hanya root yang bisa menjalankannya.

Biasanya Apache tidak berjalan sebagai pengguna root, jadi Anda perlu mengubah izin dari gitweb.cgi untuk mengizinkan Apache untuk menjalankannya.

Coba jalankan perintah ini (sebagai root) untuk mengubah izin di gitweb.cgi

chmod +x /usr/share/gitweb/gitweb.cgi
Tjlevine
sumber
Terima kasih atas balasan, dan saya melakukan perintah itu ... tapi, itu tidak terlalu :)
Kris