Ubuntu12.04系统上gitolite+gitweb服务器系统盘损坏重装恢复过程

时间:2024-03-22 22:49:59

主要操作步骤如下:

1、重装系统Ubuntu16.04.2-Desktop-amd64。

2、安装ssh。 sudo apt-get install ssh。修改IP地址为192.168.8.250。

3、添加用户gitolite。sudo useradd -u 1003 -m gitolite(-u 指定userID,因损坏系统gitolite的id为1003,这样建立可以不用修改原有git仓库文件的权限)。

4、因前系统的gitolite版本为低版本,Ubuntu16.04上的版本较新并跟原有版本不兼容,如使用新版本需要迁移仓库数据,决定采用以前较低版本。从ubuntu12.04拷贝gitolite_2.2-1_all.deb安装包。执行sudo dkpg -i gitolite_2.2-1_all.deb安装gitolite。

5、安装gitweb。sudo apt-get install gitweb。修改/etc/gitweb.conf。如下图:$projectroot参数修改。

Ubuntu12.04系统上gitolite+gitweb服务器系统盘损坏重装恢复过程

6、执行ssh-******生成id_rsa.pub。将其拷贝至/home/gitolite/目录重命名为gitolite-admin.pub.(命令号输入ssh-******,一路回车,生成文件位于当前用户目录.ssh目录下)

7、切换到gitolite用户(su gitolite),在用户目录下(/home/gitolite/)执行gl-setup gitolite-admin.pub。成功按回车弹出配置文件,修改配置文件(.gitolite.rc)中的UMASK为0022。成功会生成repositories目录。

Ubuntu12.04系统上gitolite+gitweb服务器系统盘损坏重装恢复过程

Ubuntu12.04系统上gitolite+gitweb服务器系统盘损坏重装恢复过程

8、重命名repositories(/home/gitolite/repositories/)目录下gitolite-admin.git文件夹gitolite-admin.git.bak,找到原有仓库中的gitolite-admin.git仓库文件 ,将其拷贝到repositories文件下。

9、退出gitolite用户,执行git clone gitolite-admin.git下载gitolite-admin仓库。

10、再次进入gitolite用户,将原来的gitolite-admin.git文件恢复(删除gitolite-admin.git,将gitolite-admin.git.bak 改回gitolite-admin.git)。

11、退出gitolite用户。进入刚才下载的gitolite-admin仓库目录。

Ubuntu12.04系统上gitolite+gitweb服务器系统盘损坏重装恢复过程

12、将gitolite-admin.pub拷贝到keydir目录下。

13、修改conf文件下的gitolite.conf文件

@sz_team组中加入gitolite-admin,以及将以下图中的RW+ = ****, ****换成gitolite-admin,注意是repo gitolite-admin。

Ubuntu12.04系统上gitolite+gitweb服务器系统盘损坏重装恢复过程

14、提交仓库代码。

15、切换到gitolite用户,删除repositories或将其改为其它的名字,将原有仓库通过软链接链接到repositories。ln -s /media/disk/d/gitolite/repositories repositories (此处原来gitolite仓库的磁盘挂载到了/media/disk/d)

16、执行sudo chmod -R 755 /home/gitolite。至此安装完成。

17、重启apache2。sudo servcie apache2 restart。

18、打开gitweb网页查看是否正常,pull push代码提示KEY不对需要执行 ssh-****** -R 192.168.8.250清除原来的KEY。