笔记三、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日晚上
1。先安装 gitweb和
apache2
2.
修改配置文件(因为gitweb在/etc/apache2/conf.d/下安装了配置文件,这个目录是过时的):
- sudo cp /etc/apache2/conf.d/gitweb /etc/apache2/conf-available/gitweb.conf
- cd /etc/apache2/conf-enabled
- sudo ln -s ../conf-available/gitweb.conf
修改gitweb.conf 如下:
- Alias /gitweb /usr/share/gitweb
- <Directory /usr/share/gitweb>
- Options +FollowSymLinks +ExecCGI
- AddHandler cgi-script .cgi
- </Directory>
(在 FollowSymLinks之前加上了 "+"解决语法问题)
3. 使能cgi:
- sudo a2enmod cgi
- sudo service apache2 restart
4.
修改/etc/gitweb.conf,添加上项目信息:
- $projectroot = "/home/charles/repo";
- $projects_list = $projectroot;
5.
创建项目信息.
把项目信息和实际代码分开。
- mkdir repo
- cd repo/
- git clone --bare ~/code/linux-3.10.28 linux-3.10.28
然后,打开 http://localhost/gitweb/
就能看到项目信息了。
6。因为 gitweb
的数据来源和实际的代码不在同一个地方,所以,需要经常更新 ~/repo。
这可以用一个脚本来实现:
- #!/bin/bash
- cd ${HOME}/code/linux-3.10.28
- git remote add web /home/charles/repo/linux-3.10.28 >& /dev/null
- sudo git push -f web
如果有下面的警告,
- warning: push.default is unset; its implicit value is changing in
- Git 2.0 from 'matching' to 'simple'. To squelch this message
- and maintain the current behavior after the default changes, use:
- git config --global push.default matching
- To squelch this message and adopt the new behavior now, use:
- git config --global push.default simple
- When push.default is set to 'matching', git will push local branches
- to the remote branches that already exist with the same name.
执行
- git config --global push.default matching
就行了。
可以自动化的来更新:
- crontab -l
- * * * * * ${HOME}/foo/git.web.push
更换gitweb.css和gitweb.js,
下载项目,并拷贝文件到 /usr/share/gitweb/ 即可
- git clone https://github.com/kogakure/gitweb-theme.git

笔记三、apache搭建gitweb【转】的更多相关文章
- [读书笔记] 三、搭建基于Spring boot的JavaWeb项目
一.POM <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3. ...
- Apache搭建多个站点
如何用Apache搭建的网站系统上运行多个站点呢?最平常的大概有3种方法. 第一种:单IP不同端口 第二种:多IP同端口(独立IP的虚拟空间) 第三种:域名绑定根目录的方式(共享IP的虚拟空间) 下面 ...
- Docker学习笔记之一,搭建一个JAVA Tomcat运行环境
Docker学习笔记之一,搭建一个JAVA Tomcat运行环境 前言 Docker旨在提供一种应用程序的自动化部署解决方案,在 Linux 系统上迅速创建一个容器(轻量级虚拟机)并部署和运行应用程序 ...
- 《Apache Kafka 实战》读书笔记-认识Apache Kafka
<Apache Kafka 实战>读书笔记-认识Apache Kafka 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.kafka概要设计 kafka在设计初衷就是 ...
- SpringMVC笔记——SSM框架搭建简单实例
落叶枫桥 博客园 首页 新随笔 联系 订阅 管理 SpringMVC笔记——SSM框架搭建简单实例 简介 Spring+SpringMVC+MyBatis框架(SSM)是比较热门的中小型企业级项目开发 ...
- 三节点搭建openstack-Mitaka版本
前言: 现在的云计算平台已经非常火,也非常的稳定了.像阿里云平台,百度云平台等等,今天咱们基于openstack来搭建一个云平台 注意: 本次平台搭建为三节点搭建(没有外部存储节点,所有存储为本地存储 ...
- 在linux下使用Apache搭建文件服务器
目录 一.关于文件服务器 二.使用Apache搭建文件服务器 三.测试文件服务器是否可用 一.关于文件服务器 在一个项目中,如果想把公共软件或者资料共享给项目组成员,可以搭建一个简易的文件服务器来 ...
- ZooKeeper学习笔记三:使用ZooKeeper实现一个简单的配置中心
作者:Grey 原文地址:ZooKeeper学习笔记三:使用ZooKeeper实现一个简单的配置中心 前置知识 完成ZooKeeper集群搭建以及熟悉ZooKeeperAPI基本使用 需求 很多程序往 ...
- Oracle学习笔记三 SQL命令
SQL简介 SQL 支持下列类别的命令: 1.数据定义语言(DDL) 2.数据操纵语言(DML) 3.事务控制语言(TCL) 4.数据控制语言(DCL)
随机推荐
- SQL通用查询
获取日期截取 ), ) --不要时间2002-1-1 ),) ----20020101 ),) ---06:05:05
- hdu 2255 奔小康赚大钱 最大权匹配KM
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2255 传说在遥远的地方有一个非常富裕的村落,有一天,村长决定进行制度改革:重新分配房子.这可是一件大事 ...
- 【BZOJ】【1986】【USACO 2004 Dec】/【POJ】【2373】划区灌溉
DP/单调队列优化 首先不考虑奶牛的喜欢区间,dp方程当然是比较显然的:$ f[i]=min(f[k])+1,i-2*b \leq k \leq i-2*a $ 当然这里的$i$和$k$都是偶数啦~ ...
- 【BZOJ】【1150】【CTSC2007】数据备份Backup
堆/贪心 一共N-1个元素……用堆维护最大值,取了第x个元素以后,插入v[x-1]+v[x+1]-v[x]这个元素,如果再取这个新元素就表示不取x,而取x-1和x+1……大概就是这种“带反悔”的思路吧 ...
- JAVA 关于Icon,Image,ImageIcon的简单的对比参考 分类: Java Game 2014-08-14 17:08 210人阅读 评论(0) 收藏
转自:http://blog.csdn.net/bcmissrain/article/details/7190886 其实就算是现在,我还是有不少地方概念模糊,但是下面的内容是是没有什么问题的.稍微介 ...
- 【bzoj1085】[SCOI2005]骑士精神
1085: [SCOI2005]骑士精神 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 1757 Solved: 961[Submit][Statu ...
- delete错误
今天找了半天delete错误,后来才知道是MTd和MDd模式的问题,MTd的内存申请和释放必须在同一个模块里面,接口上面不能使用stl等,MDd可以使用.改成MDd就可以了
- UML状态图(转载)
概述: 图表本身的名称,阐明该图的目的和其他细节.它描述了在一个系统中的一个组成部分不同的状态.状态是特定的一个系统的组件/对象. 状态图描述了一个状态机.我们阐明的状态机可以被定义为一台机器,它定义 ...
- Linux内存分配----SLAB
动态内存管理 内存管理的目标是提供一种方法,为实现各种目的而在各个用户之间实现内存共享.内存管理方法应该实现以下两个功能: 最小化管理内存所需的时间 最大化用于一般应用的可用内存(最小化管理开销) 内 ...
- tomcat与IIS在多IP服务器下的支持
同一个服务器下,双IP(或更多IP),实现tomcat与IIS公用80端口. 操作其实也很简单的,首先禁用iis的套接字池,iis绑定一个ip,然后tomcat在绑定另一个ip,最后重启下服务器即可. ...