参考文章:
 

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日晚上

分类: Linux2014-12-16
02:25 1019人阅读 评论(0) 收藏 举报

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. <Directory /usr/share/gitweb>
  3. Options +FollowSymLinks +ExecCGI
  4. AddHandler cgi-script .cgi
  5. </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. git config --global push.default matching
  5. To squelch this message and adopt the new behavior now, use:
  6. git config --global push.default simple
  7. When push.default is set to 'matching', git will push local branches
  8. 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/ 即可

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

 
加入群组,具体看下一篇文章:
  服务器git
 

笔记三、apache搭建gitweb【转】的更多相关文章

  1. [读书笔记] 三、搭建基于Spring boot的JavaWeb项目

    一.POM <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3. ...

  2. Apache搭建多个站点

    如何用Apache搭建的网站系统上运行多个站点呢?最平常的大概有3种方法. 第一种:单IP不同端口 第二种:多IP同端口(独立IP的虚拟空间) 第三种:域名绑定根目录的方式(共享IP的虚拟空间) 下面 ...

  3. Docker学习笔记之一,搭建一个JAVA Tomcat运行环境

    Docker学习笔记之一,搭建一个JAVA Tomcat运行环境 前言 Docker旨在提供一种应用程序的自动化部署解决方案,在 Linux 系统上迅速创建一个容器(轻量级虚拟机)并部署和运行应用程序 ...

  4. 《Apache Kafka 实战》读书笔记-认识Apache Kafka

    <Apache Kafka 实战>读书笔记-认识Apache Kafka 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.kafka概要设计 kafka在设计初衷就是 ...

  5. SpringMVC笔记——SSM框架搭建简单实例

    落叶枫桥 博客园 首页 新随笔 联系 订阅 管理 SpringMVC笔记——SSM框架搭建简单实例 简介 Spring+SpringMVC+MyBatis框架(SSM)是比较热门的中小型企业级项目开发 ...

  6. 三节点搭建openstack-Mitaka版本

    前言: 现在的云计算平台已经非常火,也非常的稳定了.像阿里云平台,百度云平台等等,今天咱们基于openstack来搭建一个云平台 注意: 本次平台搭建为三节点搭建(没有外部存储节点,所有存储为本地存储 ...

  7. 在linux下使用Apache搭建文件服务器

    目录 一.关于文件服务器 二.使用Apache搭建文件服务器 三.测试文件服务器是否可用 一.关于文件服务器 ​ 在一个项目中,如果想把公共软件或者资料共享给项目组成员,可以搭建一个简易的文件服务器来 ...

  8. ZooKeeper学习笔记三:使用ZooKeeper实现一个简单的配置中心

    作者:Grey 原文地址:ZooKeeper学习笔记三:使用ZooKeeper实现一个简单的配置中心 前置知识 完成ZooKeeper集群搭建以及熟悉ZooKeeperAPI基本使用 需求 很多程序往 ...

  9. Oracle学习笔记三 SQL命令

    SQL简介 SQL 支持下列类别的命令: 1.数据定义语言(DDL) 2.数据操纵语言(DML) 3.事务控制语言(TCL) 4.数据控制语言(DCL)  

随机推荐

  1. Javascript中常用事件的命名

    OnClick :单击事件 OnChange:改变事件 OnSelect:选中事件 OnFocus:获得焦点事件 OnBlur:失去焦点事件 Onload:载入文件 OnUnload:卸载文件 anc ...

  2. 中断(interrupt)、异常(exception)、陷入(trap)

    原文出处:http://lhk518.blog.163.com/blog/static/3153998320084263554749/ 中断:是为了设备与CPU之间的通信.典型的有如服务请求,任务完成 ...

  3. bnuoj 34985 Elegant String DP+矩阵快速幂

    题目链接:http://acm.bnu.edu.cn/bnuoj/problem_show.php?pid=34985 We define a kind of strings as elegant s ...

  4. Windows10+IIS7.5上如何配置PHP站点

    最近我一直在写PHP,但是我很喜欢微软的开发环境和Windows的硬件环境,我就想在IIS上配置一下PHP站点,这样用起来也比较方便,在经过各位前辈的文章学习后,自己整理了一个比较简单的图片为主的教程 ...

  5. 关于High-Resolution Timer(了解)

    如果一个系统包含高精度性能计数器(HRPC,high-resolution performance counter)则此系统提供高精度定时器.你可以使用API函数QueryPerformanceFre ...

  6. 怪物AI(复习)

    怪物AI执行 //-----------------------------------------------主动攻击---------------------------------------- ...

  7. java web项目,java类中获得WEB-INF路径

    private static String getWebInfPath() { URL url = 当前类.class.getProtectionDomain().getCodeSource().ge ...

  8. discuzx完全自定义设计模板门户首页,栏目,专题模板方法

    第一种:门户首页模板(index.htm,保存于templatedefaultportal) <!--{subtemplate common/header}--> <style id ...

  9. vector 的resize 和 reserve

    首先声明,都是转载的,理解知识为主要目的. http://www.cnblogs.com/zahxz/archive/2013/02/20/2918711.html C++内置的数组支持容器的机制,但 ...

  10. ZOJ 1115 Digital Roots(简单,字符串与数)

    题目 //好一道水水题,可是我居然也错了那么多次,后来百度来发现是因为数据数位可能很长很长,要用字符串数组... //简单 //有坑啊——数据可能很大很大,要用字符串表示! #include<s ...