业余时间完成一些代码工程,需要一个代码管理工具,由于此类项目大多要求一定的保密性,此时使用类似Github这种必须开源的gitServer就不太适合了,正好手里有一台群辉NAS,用群辉配置一个Git Server来满足这个要求。
- 创建GitRepo目录
- 创建gitcode用户
- 安装GitServer
- 开启SSH
- 配置gitcode账户权限&配置免密登录
- 创建代码仓库
一、创建GitRepo目录
这里我们需要创建一个GitServer的数据存储的主共享目录:
进入
控制面板 > 共享文件夹 > 新增(GitRepo)
二、创建gitcode用户
这里创建一个单独的git用户账户,专用于终端代码提交:
进入
控制面板 > 用户帐号 > 新增
(这里我创建的账户名称为
gitcode
)
用户群组可以使用默认的
users
:
分配共享文件夹权限时,将前面创建的
GitRepo目录赋予读写权限
:
应用程序权限全部允许:
三、安装GitServer
前往
套件中心 > 搜索与安装Git Server
:
完成安装后,打开Git Server,
勾选gitcode的用户权限
:
四、开启SSH
进入
控制面板 > 终端机和SNMP > 启动SSH功能 > 端口默认为22
(端口可根据需要自行定义)
五、配置权限
开启SSH后,通过
管理员
或
gitcode账户
便可以在
终端中通过ssh命令登录
到
远端NAS
了。
- 更改gitcode帐户目录权限
- 配置免密登录
5.1 更改gitcode帐户目录权限
- 1.使用管理员帐号和密码登录:
ssh <管理员账户>@<nas_ip> -p <端口>
// 例如:
ssh [email protected] -p 22
- 2.切换到root:
sudo -i
- 3.进入homes目录:
cd /volume1/homes
- 4.修改git用户目录权限:
chmod -R 755 gitcode
5.2 配置免密登录
- 1.进入git帐户目录:
cd /volume1/homes/gitcode
- 2.创建.ssh文件夹:
mkdir .ssh
- 3.创建authorized_keys文件:
// 进入.ssh
cd /volume1/homes/gitcode/.ssh
// 创建 authorized_keys文件
touch authorized_keys
- 4.将终端的
id_rsa.pub
内容拷贝
到authorized_keys
中,多个id_rsa.pub时,可分行处理(一行一个
):
- 5.创建git-shell-commands目录: 此目录是解决ssh登录该帐号是报 hint: ~/git-shell-commands should exist and have read and execute access. 错误的问题。
// 进入 gitcode 目录
cd /volume1/homes/gitcode
// 创建 git-shell-commands目录
mkdir git-shell-commands
- 6.设置.ssh目录权限组并赋予权限:
// 进入 gitcode 目录
cd /volume1/homes/gitcode
// 设置权限组
chown -R gitcode:users .ssh
// 赋权
chmod -R 700 .ssh
- 7.设置authorized_keys文件权限:
cd /volume1/homes/gitcode/.ssh
chmod 600 authorized_keys
- 8.到此免密登录配置完成。
六、创建代码仓库
- 1.使用管理员帐号和密码登录:
ssh <管理员账户>@<nas_ip> -p <端口>
// 例如:
ssh [email protected] -p 22
- 2.创建代码仓库:
// 进入公共文件夹
cd /volume1/GitRepo
// 创建代码仓库
git --bare init <repo_name>.git
// 修改<repo_name>.git文件及其子目录的归属用户和组
chown -R gitcode:users <repo_name>.git
- 3.客户端Clone:
git clone ssh://gitcode@<nas_ip>:<端口>/volume1/GitRepo/<repo_name>.git
- Git Server配置完成。
= THE END =
文章首发于公众号”CODING技术小馆“,如果文章对您有帮助,欢迎关注我的公众号。
版权归原作者 bjxiaxueliang 所有, 如有侵权,请联系我们删除。