zoukankan      html  css  js  c++  java
  • git+gitolite+cgit+apache on Ubuntu

    git+gitolite+cgit+apache on Ubuntu

    Just record, do *NOT* copy-paste.

    git+gitolite

    sudo apt-get install git openssh-server
    sudo adduser git
    su - git
    
    git clone git://github.com/sitaramc/gitolite
    mkdir -p $HOME/bin
    gitolite/install -to $HOME/bin
    gitolite setup -pk YourName.pub
    
    git clone git@host:gitolite-admin

    cgit+apache

    sudo apt-get install libssl-dev apache2
    
    curl -LOJ "http://git.zx2c4.com/cgit/snapshot/cgit-0.9.2.tar.xz"
    tar xf cgit-0.9.2.tar.xz 
    cd cgit-0.9.2/
    make get-git
    make
    sudo make install
    
    sudo a2enmod rewrite

    /etc/apache2/sites-available/cgit

    <VirtualHost *:80>
        ServerAdmin admin@example.com
        ServerName git.example.com
    
        DocumentRoot /var/www/htdocs/cgit/
    
        <Directory /var/www/htdocs/cgit/>
            AllowOverride None
            Options +ExecCGI
            Order allow,deny
            Allow from all
        </Directory>
    
        Alias /cgit.png /var/www/htdocs/cgit/cgit.png
        Alias /cgit.css /var/www/htdocs/cgit/cgit.css
        ScriptAlias / "/var/www/htdocs/cgit/cgit.cgi/"
        RewriteRule ^$ / [R]
        RewriteRule ^/(.*)$ /cgit.cgi/$1 [PT]
    
        ErrorLog /var/log/apache2/cgit-error.log
    
        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn
    
        CustomLog /var/log/apache2/cgit-access.log combined
    </VirtualHost>

    /etc/cgitrc

    # Enable caching of up to 1000 output entriess
    cache-size=1000
    
    # cache time to live 
    cache-dynamic-ttl=5
    cache-repo-ttl=5
    cache-repo-ttl=5
    
    # Specify some default clone urls using macro expansion
    clone-url=http://e3200/$CGIT_REPO_URL git@e3200:$CGIT_REPO_URL
    
    # Specify the css url
    css=/cgit.css
    
    # Show owner on index page
    enable-index-owner=1
    
    # Source gitweb.description, gitweb.owner from each project config
    enable-git-config=1
    
    # Allow http transport git clone
    enable-git-clone=1
    
    # Show extra links for each repository on the index page
    enable-index-links=1
    
    # Remove .git suffix from project display
    remove-suffix=1
    
    # Enable ASCII art commit history graph on the log pages
    enable-commit-graph=1
    
    # Show number of affected files per commit on the log pages
    enable-log-filecount=1
    
    # Show number of added/removed lines per commit on the log pages
    enable-log-linecount=1
    
    # Sort branches by date
    branch-sort=age
    
    # Add a cgit favicon
    favicon=/favicon.ico
    
    # Use a custom logo
    logo=/cgit.png
    
    # Enable statistics per week, month and quarter
    max-stats=quarter
    
    # Set the title and heading of the repository index page
    root-title=e3200 Git repositories
    
    # Set a subheading for the repository index page
    root-desc=tracking the foobar development
    
    # Include some more info about example.com on the index page
    root-readme=/var/www/htdocs/cgit/about.htm
    
    # Allow download of tar.gz, tar.bz2 and zip-files
    snapshots=tar.gz tar.bz2 zip
    
    ##
    ## List of common mimetypes
    ##
    
    mimetype.gif=image/gif
    mimetype.html=text/html
    mimetype.jpg=image/jpeg
    mimetype.jpeg=image/jpeg
    mimetype.pdf=application/pdf
    mimetype.png=image/png
    mimetype.svg=image/svg+xml
    
    # Highlight source code with python pygments-based highligher
    source-filter=/usr/lib/cgit/filters/syntax-highlighting.sh
    
    # Format markdown, restructuredtext, manpages, text files, and html files
    # through the right converters
    about-filter=/usr/lib/cgit/filters/about-formatting.sh
    
    ##
    ## Search for these files in the root of the default branch of repositories
    ## for coming up with the about page:
    ##
    readme=:README.md
    readme=:readme.md
    readme=:README.mkd
    readme=:readme.mkd
    readme=:README.rst
    readme=:readme.rst
    readme=:README.html
    readme=:readme.html
    readme=:README.htm
    readme=:readme.htm
    readme=:README.txt
    readme=:readme.txt
    readme=:README
    readme=:readme
    readme=:INSTALL.md
    readme=:install.md
    readme=:INSTALL.mkd
    readme=:install.mkd
    readme=:INSTALL.rst
    readme=:install.rst
    readme=:INSTALL.html
    readme=:install.html
    readme=:INSTALL.htm
    readme=:install.htm
    readme=:INSTALL.txt
    readme=:install.txt
    readme=:INSTALL
    readme=:install
    
    ##
    ## List of repositories.
    ## PS: Any repositories listed when section is unset will not be
    ##     displayed under a section heading
    ## PPS: This list could be kept in a different file (e.g. '/etc/cgitrepos')
    ##      and included like this:
    ##        include=/etc/cgitrepos
    ##
    
    project-list=/home/git/projects.list
    scan-path=/home/git/repositories

    /usr/lib/cgit/filters/syntax-highlighting.sh

    sudo apt-get install highlight
    exec highlight
    --force --inline-css -f -I -O xhtml -S "$EXTENSION" 2>/dev/null

    Permission

    sudo gpasswd -a www-data git
    find /home/git/repositories -type d | xargs chmod g+rx find /home/git/repositories -type f | xargs chmod g+r
    chmod g+r /home/git/{projects.list,.gitolite.rc} chmod g+rx /home/git/{repositories/,.gitolite/}
    chmod g+r /home/git/

    ~/.gitolite.rc

    $UMASK=0027
    GIT_CONFIG_KEYS  =>  '.*',

    /usr/lib/cgit/filters/html-converters/resources/markdown.pl

    ## Disabled; causes problems under Perl 5.6.1:
    # use utf8;
    # binmode( STDOUT, ":utf8" );  # c.f.: http://acis.openlib.org/dev/perl-unicode-struggle.html

    ref:

    http://www.mahlerauto.com/setting-up-cgit-with-gitolite.html
    http://blog.nas-admin.org/?p=39
    https://wiki.archlinux.org/index.php/Cgit#Syntax_highlighting
    http://easior.is-programmer.com/posts/40650.html

  • 相关阅读:
    CSS 自适应技巧
    实现在线阅读WORD,PDF等文件,JAVA,PHP都可以
    最简单的无线分类,无限树形菜单解决方案
    python生成组织架构图(网络拓扑图、graph.editor拓扑图编辑器)
    python将字符串类型改成日期类型
    python发送邮件
    下载Crypto,CyCrypto,PyCryptodome 报错问题
    UnicodeEncodeError: 'latin-1' codec can't encode characters in position 41-50: ordinal not in range(256)
    pymysql.err.InterfaceError: (0, '')解决办法
    经典三级联动
  • 原文地址:https://www.cnblogs.com/eshizhan/p/3383876.html
Copyright © 2011-2022 走看看