zoukankan      html  css  js  c++  java
  • 笔记三、apache搭建gitweb【转】

    参考文章:
     

    ubuntu下安装软件十分简单。只需要apt-get install即可,不用自己下载源码,自己编译。这篇文章主要写一下web服务器的搭建,至于gitweb,其实很久以前已经搞了,那时为了更好地推广git而做的,不过至今效果甚少。但它与web服务器共同使用,因此在这里也一并写上。

    apache

    1、先查看80端口是否被占用
    netstat -nap | grep 80
    有则停止程序,否则与apache冲突,比如,我的虚拟机先前已经有了boa,则要停止boa。

    2、安装apache
    sudo apt-get install apache2
    安装后,默认已经运行,并且开机自启动

    重启命令:

    /etc/init.d/apache2 restart

    如果重启apache2有警告,如下:
    Could not reliably determine the server’s fully qualified domain name, using ::1. Set the ‘ServerName’ directive globally to suppress this message
    解决也简单,在/etc/apache2/apache2.conf文件最后添加
    ServerName localhost
    (注:localhost名称为机上的名称,和/etc/hostname 一致)

    安装完成后,还有些小事情要完善一下。

    1、 改默认目录

    以前老版本的apache2默认的目录是www,但新版本变成了/var/www/html,apache邮件列表上有关于这个修改的说明,在新版本的ubuntu和Fedora,都已经使用了新的默认目录。如果想要修改也简单,在/etc/apache2/sites-available/000-default.conf文件中,把
    DocumentRoot /var/www/html
    改为
    DocumentRoot /var/www

    2、改默认主页
    一般地,默认主页是index.html文件,但有的场合下不是这个,这时就要修改了。

    进入/etc/apache2目录,用下面的命令查找(又学习了一个查找的):
    grep -iR DirectoryIndex /etc/apache2
    找到/etc/apache2/mods-enabled/dir.conf文件,在DirectoryIndex后面加上想要的默认主页名称即可,如下(最后一个是我自己加上的):
    <IfModule mod_dir.c>
    DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm latelee_index.html
    </IfModule>

    至此,web服务器基本上可以说完成了。

    apache2本身就记录有访问信息(我的网站不断受到垃圾消息干扰,和其斗争过程,分析过访问日志)。可以通过查看access.log来了解。

    查看访问IP,并统计:
    cat /var/log/apaches/access.log | awk ‘{print $1}’ | sort -n | uniq -c | sort -n

    查看IP及访问的页面:
    cat /var/log/apaches/access.log | awk ‘{print $1 $11}’

    在工作中,我需要将自己做的事务共享出去,我就是用这些命令来看看有没有人来访问(万一哪天扯皮,我就有理由说:我都已经发出公告了,你们没看,怪谁呢?哈哈哈哈!)。

    gitweb

    1、安装gitweb
    sudo apt-get install gitweb

    如果提示:
    E: Unable to fetch some archives, maybe run apt-get update or try with –fix-missing?
    则要执行命令sudo apt-get update

    2、设置gitweb属性

    编辑/etc/gitweb.conf文件
    项目路径(在开头处):
    $projectroot = “/home/git”;

    在最后加上
    $site_name = “GitWeb @ LateLee-Server”;

    #$site_name = “192.168.1.254 @ Git”;      #gitweb首页标题栏
    $feature{‘search’}{‘default’} = [1];
    $feature{‘blame’}{‘default’} = [1];
    #$feature{‘snapshot’}{‘default’} = [‘tgz’,’tbz2′,’zip’];
    #禁止Snapshot
    $feature{‘snapshot’}{‘default’} = [undef];

    5、页面布局改善:

     如果未生成/var/www/gitweb这个目录

    ln -s  /usr/share/gitweb/ /var/www/gitweb

    直接输入IP,再添加gitweb即可访问gitweb。

    http://192.168.18.168/gitweb/

    这样,就可以在浏览器上查看log和代码了。

    上面所述环境为最新版的ubuntu,14.04。网上有些文章提到的配置已经不适合新版本了,故写了本文。

    李迟,发表于2014年11月04日晚上

     

    在Ubuntu 14.04上配置 gitweb

    分类: Linux

    1。先安装 gitweb和 apache2

    2. 修改配置文件(因为gitweb在/etc/apache2/conf.d/下安装了配置文件,这个目录是过时的):

    1. sudo cp /etc/apache2/conf.d/gitweb /etc/apache2/conf-available/gitweb.conf  
    2. cd /etc/apache2/conf-enabled  
    3. sudo ln -s ../conf-available/gitweb.conf  

    修改gitweb.conf 如下:
    1. Alias /gitweb /usr/share/gitweb  
    2.   
    3. <Directory /usr/share/gitweb>  
    4.   Options +FollowSymLinks +ExecCGI  
    5.   AddHandler cgi-script .cgi  
    6. </Directory>  
    (在 FollowSymLinks之前加上了 "+"解决语法问题)

    3. 使能cgi:

    1. sudo a2enmod cgi  
    2. sudo service apache2 restart  

    4. 修改/etc/gitweb.conf,添加上项目信息:
    1. $projectroot = "/home/charles/repo";  
    2. $projects_list = $projectroot;  

    5. 创建项目信息.

    把项目信息和实际代码分开。

    1. mkdir repo  
    2. cd repo/  
    3. git clone  --bare ~/code/linux-3.10.28 linux-3.10.28  

    然后,打开 http://localhost/gitweb/  就能看到项目信息了。

    6。因为 gitweb 的数据来源和实际的代码不在同一个地方,所以,需要经常更新 ~/repo。

    这可以用一个脚本来实现:

    1. #!/bin/bash  
    2. cd ${HOME}/code/linux-3.10.28  
    3. git remote add web  /home/charles/repo/linux-3.10.28 >& /dev/null   
    4. sudo git push -f web  
    如果有下面的警告,
    1. warning: push.default is unset; its implicit value is changing in  
    2. Git 2.0 from 'matching' to 'simple'. To squelch this message  
    3. and maintain the current behavior after the default changes, use:  
    4.   
    5.   git config --global push.default matching  
    6.   
    7. To squelch this message and adopt the new behavior now, use:  
    8.   
    9.   git config --global push.default simple  
    10.   
    11. When push.default is set to 'matching', git will push local branches  
    12. to the remote branches that already exist with the same name.  
    执行 
    1. git config --global push.default matching  

    就行了。

    可以自动化的来更新:

    1. crontab -l  
    2. * * * * * ${HOME}/foo/git.web.push  

    更换gitweb.css和gitweb.js, 下载项目,并拷贝文件到 /usr/share/gitweb/ 即可 

    Java代码  
    1. git clone https://github.com/kogakure/gitweb-theme.git  




     
    加入群组,具体看下一篇文章:
      服务器git
     
  • 相关阅读:
    Jquery使用live导致执行的内容会重复执行
    网上找的些tomact配置
    DatePicker 注意点 1.不用v-model 用:value 2.配合on-change进行回调 3.初始值 当天的用 (new Date()).toLocaleDateString().replace(///g, '-')
    Springboot框架 idea 工具 解决代码修改需要重新启动的方式
    合同签订
    ORACLE链接错误解决方案
    oracle中的split
    axis2和springboot冲突问题
    ActiveMQ中文乱码问题
    AXIS2的接口调用常见以及不常见问题
  • 原文地址:https://www.cnblogs.com/sky-heaven/p/5185197.html
Copyright © 2011-2022 走看看