笔记三、apache搭建gitweb【转】

简介: 参考文章:     http://www.latelee.org/using-gnu-linux/ubuntu-apache-gitweb.html     http://blog.csdn.net/caspiansea/article/details/41952139     http://tom-cjp.iteye.com/blog/1005081   ubuntu下安装软件十分简单。
参考文章:
 

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/下安装了配置文件,这个目录是过时的):

 

[plain]  view plaincopyprint?在CODE上查看代码片派生到我的代码片
 
  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 如下:

 

 

[plain]  view plaincopyprint?在CODE上查看代码片派生到我的代码片
 
  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:

 

[plain]  view plaincopyprint?在CODE上查看代码片派生到我的代码片
 
  1. sudo a2enmod cgi  
  2. sudo service apache2 restart  

4. 修改/etc/gitweb.conf,添加上项目信息:

 

 

[plain]  view plaincopyprint?在CODE上查看代码片派生到我的代码片
 
  1. $projectroot = "/home/charles/repo";  
  2. $projects_list = $projectroot;  

 

5. 创建项目信息.

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

 

[html]  view plaincopyprint?在CODE上查看代码片派生到我的代码片
 
  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。

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

 

[plain]  view plaincopyprint?在CODE上查看代码片派生到我的代码片
 
  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  
如果有下面的警告,

 

 

[plain]  view plaincopyprint?在CODE上查看代码片派生到我的代码片
 
  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.  
执行 
[plain]  view plaincopyprint?在CODE上查看代码片派生到我的代码片
 
  1. git config --global push.default matching  

就行了。

 

可以自动化的来更新:

 

[plain]  view plaincopyprint?在CODE上查看代码片派生到我的代码片
 
  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
 
【作者】 张昺华
【新浪微博】 张昺华--sky
【twitter】 @sky2030_
【facebook】 张昺华 zhangbinghua
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
目录
相关文章
|
4月前
|
SQL 分布式计算 数据可视化
Apache Zeppelin系列教程第一篇——安装和使用
Apache Zeppelin系列教程第一篇——安装和使用
73 0
|
5月前
|
分布式计算 Java 大数据
Apache SeaTunnel 3 分钟入门指南
Apache SeaTunnel 3 分钟入门指南
227 0
|
移动开发 应用服务中间件 Linux
Apache Guacamole教程之安装部署
Apache Guacamole教程之安装部署
5845 0
|
4月前
|
SQL Apache 流计算
Apache StreamPark系列教程第一篇——安装和体验
Apache StreamPark系列教程第一篇——安装和体验
178 0
|
4月前
|
SQL 关系型数据库 MySQL
Apache StreamPark系列教程第二篇——项目打包和开发
Apache StreamPark系列教程第二篇——项目打包和开发
70 0
|
分布式计算 大数据 Shell
Spark 环境搭建_配置 HistoryServer|学习笔记
快速学习 Spark 环境搭建_配置 HistoryServer
347 0
Spark 环境搭建_配置 HistoryServer|学习笔记
|
11月前
|
Web App开发 安全 数据可视化
快速上手Apache
快速上手Apache
121 0
|
关系型数据库 MySQL 应用服务中间件
Apache的安装与使用经验| 学习笔记
快速学习Apache的安装与使用经验。
82 0
|
自然语言处理 搜索推荐 Apache
手把手带你入门Apache伪静态的配置
网站伪静态,主要是为了增加搜索引擎的友好度,方便网站内容被搜索引擎收录而诞生的。类似网站上常用的301重定向、404页面的设置等在SEO方面是必不可少的。 伪静态是相对真实静态来讲的,通常我们为了增强搜索引擎的友好面,都将文章内容生成静态页面,但是有的朋友为了实时的显示一些信息。或者还想运用动态脚本解决一些问题。不能用静态的方式来展示网站内容。但是这就损失了对搜索引擎的友好面。
623 1
手把手带你入门Apache伪静态的配置
|
Web App开发 安全 应用服务中间件
Apache简介
最近由于学习的需要,需要用到Apache,本文就简单的介绍一下Apache。
2366 0

推荐镜像

更多