把路由器改装成git服务器(OpenWRT环境的GIT服务器搭建)

时间:2023-03-09 15:02:20
把路由器改装成git服务器(OpenWRT环境的GIT服务器搭建)

把路由器改装成git服务器(OpenWRT环境的GIT服务器搭建)

在单位中,通常都标配了git服务器用来管理代码。

对于家庭或者小办公室,这种方式有点不经济。当然如果是开源项目就简单了,刚刚被微软收购的github是理想选择。但如果没有打算开源,我今天的话题可能对你有用。

我就属于喜欢在家中干活的那一类,以前常年开着一台电脑做下载,最近改了这个坏习惯。但是没有了长期开机的设备,也就没有了git server。

趁着周末,把一台老的路由器改了改,当成git server来用,感觉效果爆棚,不能不安利给大家。

硬件

  • 一台能够安装OpenWRT(或者Linux系统的)路由器,我用的是一台老设备,Netgear WND3700V1。
  • 视你日常工作量大小,准备一个空间足够的U盘,最好是高速的,当然这个高速是指能匹配路由器USB口的标准就足够。

系统软件

成文时,OpenWRT的版本是18.06.0,其它版本应当也可以,OpenWRT挺早就支持git软件包了。下载地址在:http://downloads.openwrt.org/。也可能是我的问题,但至少看起来,这样一个纯技术网站,不*已经下载不到了。

因为各家路由设备的硬件复杂性,虽然都是同样的OpenWRT,不同的路由器仍然要下载自己硬件对应的版本。如果之前没有安装过OpenWRT的话,建议你在https://openwrt.org/toh/views/toh_fwdownload查询OpenWRT支持的设备列表,确认自己应当使用的版本。

OpenWRT的安装这里不讲,请参考官方相关文档。通常都是在自己路由器的管理界面使用软件更新功能,选择下载的固件文件,上传随后升级。

接着请根据自己家里网络的情况,配置上网设置各项目,保证基本路由功能工作正常。

管理路由器

OpenWRT18.06.0的默认管理方式是使用ssh,方法:ssh root@[IP地址]。根据路由器的FLASH大小,比较小的FLASH是默认没有WEB GUI界面的,比如我用的这台。所幸大多情况下使用命令行配置路由器效率更高,而且有些工作是使用GUI界面做不到的。

OpenWRT的默认账户用户名是root,没有密码,正常情况下第一次登陆会要求你修改密码。在一个连接公网的环境中,请尽早登陆修改密码。

配置镜像源

如果你不用*就能访问官方的源服务器的话,请跳过这一节内容。

OpenWRT使用opkg工具来管理扩展包。因为前面所说的原因,需要配置使用镜像源来保证所需软件包的安装。

中间碰到一个小麻烦是国外的镜像服务器,基本都使用了https协议,OpenWRT不能直接支持。国内的镜像大多倒是http协议,但镜像中又缺乏一些驱动包,无法驱动U盘。

所以如果找不到更好的完整源的话,只好把变更源这样一件小事分成两步来做。

opkg的源配置文件路径为:/etc/opkg/distfeeds.conf,首先做一个备份,然后你可以使用你喜欢的编辑工具修改,我通常都是vi。

把distfeeds.conf文件的内容修改为:

src/gz openwrt_core http://openwrt.proxy.ustclug.org/releases/18.06.0/targets/ar71xx/generic/packages
src/gz openwrt_kmods https://downloads.lede-project.urown.net/snapshots/targets/ar71xx/generic/kmods/4.9.117-1-e017c397f3c6ba06dc921b136a63fb36
src/gz openwrt_base http://openwrt.proxy.ustclug.org/releases/18.06.0/packages/mips_24kc/base
src/gz openwrt_luci http://openwrt.proxy.ustclug.org/releases/18.06.0/packages/mips_24kc/luci
src/gz openwrt_packages http://openwrt.proxy.ustclug.org/releases/18.06.0/packages/mips_24kc/packages
src/gz openwrt_routing http://openwrt.proxy.ustclug.org/releases/18.06.0/packages/mips_24kc/routing
src/gz openwrt_telephony http://openwrt.proxy.ustclug.org/releases/18.06.0/packages/mips_24kc/telephony

这里面使用了两个源,分别是:http://openwrt.proxy.ustclug.org和https