笔记三、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
 
posted @ 2016-02-08 20:09  Sky&Zhang  阅读(864)  评论(0编辑  收藏  举报