debian系统下安装git的gitosis服务器教程

前段时间一直在用google code,大概了解了svn的使用方法(其实也没有怎么了解,因为使用了eclipse的svn插件,没有手动使用svn命令过)。想在家里的龙芯上也弄个版本管理软件,这样既可以控制平时写的软件的版本,同时也实现了对这些程序的备份。

以前在自己的电脑上搭建过svn服务器,所以这次想尝试一下搭建git的服务器。git是分布式的版本控制软件,因此本身没有很强的服务器概念。因此选择了gitosis这个软件。

安装这个软件非常方便,直接用apt-get就可以了,很久没有刷新软件源了,导致第一次安装没有成功,重新刷新一下就好了。安装完之后,按照http://en.gentoo-wiki.com/wiki/Gitosis这篇wiki的指示配置gitosis。不过其中有一点需要说明的是,debian安装的gitosis创建的组和用户都是gitosis,因此wiki上描述的远程路径帐户名都要改为gitosis。

在本地用ssh-keygen生成一对密钥对之后,把公钥上传到龙芯上,然后用那把公钥初始化版本库,这样我这台电脑就是这个版本库的拥有者了。初始化之后,就可以通过gitosis账户远程clone一个gitosis-admin.git版本库,里面有账户和代码库的设置,修改之后,先commit到本地,然后再push到远程版本库中。

在安装gitosis之前,apt建议我安装git-daemon-run和gitweb两个包,那就试试看好了。前面那个包好像是用runit程序进行管理的,现在还不清楚是怎么控制开启和关闭(在/etc/init.d文件夹下没有服务脚本),修改一下/etc/sv/git-daemon/run文件,把git-daemon启动参数改掉,其中的base-path改为版本库的路径,我这里是/srv/gitosis/repositories(gitosis账户的家目录是在/srv/gitosis),最后加上–export-all暴露所有的版本库。

然后安装gitweb,安装也很方便,配置起来麻烦了点。因为不会弄apache的虚拟主机,所以直接在原来的默认主机里进行配置。把gitweb安装在/usr/lib/cgi-bin中的gitweb.cgi复制到原来配置的cgi-bin路径(我这里是/srv/sgi-bin),把/usr/share/gitweb下的图片和css文件复制到apache默认主机的根目录(我把它们复制到了/srv/www/git文件夹下)。然后配置/etc/gitweb.conf,其中的$projectroot改为版本库的根路径(我这里是/srv/gitosis/repositories),所有图片和css文件的路径前面加上了”/git”(因为我把它们放在了默认主机的根目录下的git目录中)。最后修改apache的配置,debian的默认主机配置文件是/etc/apache2/sites-enabled/000-default,在虚拟主机项目下增加:
SetEnv  GITWEB_CONFIG   /etc/gitweb.conf

这样apache会去读取gitweb的配置文件,设置好相应的环境变量。

 代码如下 复制代码
<Directory "/srv/www/cgi-bin/gitweb">
Options FollowSymlinks ExecCGI
Allow from all
AllowOverride all
Order allow,deny

<Files gitweb.cgi>
SetHandler cgi-script
</Files>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.* /gitweb.cgi/$0 [L,PT]
</Directory>

这段从网上抄来的设置,应该是改写url用的吧。

 代码如下 复制代码
<Directory "/srv/gitosis/repositories">
Allow from all
</Directory>

这个应该是设置可以访问版本库根文件夹,但是这个设置好像没有用。

重新启动apache,访问xxx/cig-bin/gitweb.cgi,但是显示的是403错误,没有权限访问。不清楚为什么会这样,把整个版本库根文件夹访问权限改为755就可以显示了。

 

最后照着样子自己本地初始化git版本库,然后放到远程的版本库中。初始化是成功的,在gitweb页面中也可以看见。但是修改之后commit,然后再push的时候,报错project description file hasn’t been set。这个不知道怎么解决,网上搜索了下,说是要同时修改本地和远程的描述文件(.git/description),然后的确是可以提交了。先尝试到这里,以后继续。。。

时间: 2024-10-29 00:33:05

debian系统下安装git的gitosis服务器教程的相关文章

Linux系统下安装配置postfix邮件服务器教程

  一,安装postfix,cyrus-sasl,cyrus-imapd 如果yum提示找不到软件包,请换一下源,请参考centos 6推荐使用epel源 代码如下: [root@localhost ~]# yum install postfix [root@localhost ~]# yum install cyrus* 二,删除了sendmail 代码如下: [root@localhost ~]# rpm -e sendmail 或者 代码如下: [root@localhost ~]# yu

在Ubuntu系统下安装JDK和Tomcat的教程_java

一.安装jdk 去java官网下载最新的jdk,Java SE Downloads 解压,tar -zxvf jdk-7u45-linux-i586.tar.gz,将解压生成的jdk1.7.0_45存放到你需要放置的目录,我放置在/usr/share/目录下 配置环境变量 1.JAVA_HOME环境变量 作用:它指向jdk的安装目录,Ecplise/Netbeans/Tomcat等软件就是通过搜索JAVA_HOME变量来找到并使用安装好的jdk 配置方法: echo JAVA_HOME=/usr

debian系统下安装oracle jdk的4个步骤

debian源里默认的java是openjdk,当前版本是7.如果需要安装oracle官方的jdk8,可以使用java-package打包官方jdk的方式来安装: 1.安装java-package # apt-get install java-package 2.下载oracle jdk 8 下载linux x64的tar.gz包,当前下载回来的文件为:jdk-8u25-linux-x64.tar.gz 3.打包 进入jdk下载目录,执行: $ make-jpkg jdk-8u25-linux-

Windows系统下安装Python的SSH模块教程_python

Python中使用SSH需要用到OpenSSH,而OpenSSH依赖于paramiko模块,而paramiko模块又依赖于pycrypto模块,因此要在Python中使用SSH,则需要先安装模块顺序是:pycrypto -> ecdsa -> paramiko 1.安装pyCrypto 安装这个比较麻烦,需要本地编译,要装vs或gcc还有一堆配置,还不一定能编译成功.(网上能搜到安装步骤) 建议直接下载已编译版: http://www.voidspace.org.uk/python/modul

在Windows系统下安装PHP5.0配置简明教程

PHP5包括以下一些重要的特征: ·支持新的对象模型和许多新特点的Zend引擎. ·完全重新编写了XML支持,扩展性能围绕着优秀的libxml2库(http://www.xmlsoft.org/). ·新的SimpleXML扩展,PHP对象轻松访问操作. ·全新的内建SOAP扩展,支持Web服务的交换. ·增加命名为MySQLi的了MySQL的扩展,支持MySQL4.1及以后版本的功能. ·绑定SQLite数据库. ·极大地改进流的设计,包括通过流操作底层的socket 首先,点这里下载PHP5

阿里云Linux-CentOS系统下-搭建Git服务器详解_Linux

 阿里云Linux-CentOS系统下-搭建Git服务器 步骤总结: 1. 安装git 首先确认服务器是否安装Git 在Xshell中输入命令:$ rpm -qa git 结果如下表示已经安装: 如果未安装就安装git 在Xshell中输入:$ yum install git 2. 创建一个git用户,用来运行git服务: 在Xshell中输入:$ sudo adduser git 此时在阿里云服务器的根目录:/home文件夹下新增一个文件夹git 按这个层级建立文件用于存放客户端用户的公钥:/

在 Debian Linux 上安装配置 ISC DHCP 服务器

在 Debian Linux 上安装配置 ISC DHCP 服务器 Dynamic Host Control Protocol(DHCP)给网络管理员提供了一种便捷的方式,为不断变化的网络主机或是动态网络提供网络层地址.其中最常用的 DHCP 服务工具是 ISC DHCP Server.DHCP 服务的目的是给主机提供必要的网络信息以便能够和其他连接在网络中的主机互相通信.DHCP 服务提供的信息包括:DNS 服务器信息,网络地址(IP),子网掩码,默认网关信息,主机名等等. 本教程介绍运行在

Linux系统下安装谷歌Google拼音输入法的方法

  Linux系统下安装谷歌Google拼音输入法的方法.目前,网络上提供的拼音输入法非常多,不过,不少网友会觉得使用谷歌拼音输入法这款软件更顺手.那么,谷歌拼音输入法怎么安装使用呢?在今天的教程中,我们就以Linux系统为例子,给大家分享一下谷歌拼音输入法的安装方法.需要说明的是,本操作方法是基于Linux系统的CentOS 5进行的! 谷歌拼音输入法安卓版 推荐:谷歌拼音输入法安卓版 SCIM-GooglePinyin 项目试图将 Android 上的 Google 拼音输入法移植到 GNU

如何在XP系统下利用IIS架构Web服务器

   如何在XP系统下利用IIS架构Web服务器            利用Windows XP的组件就可以满足建站的要求,而且安全性能不错. 安装IIS 在Windows XP 专业版中,IIS并不是默认安装的,而是作为可选的组件,现在我们要建立一个站点,就可以选择安装它,方法很简单,放入XP光盘,然后运行光盘,在运行界面中选择添加组件,或者打开控制面板然后打开添加或者删除文件,选择添加Windows组件.在弹出对话框中选择internet 信息服务(IIS).然后点击确定安装就可以了.或者您