Synology DS213J 群晖NAS git server架设方法!
最近单位购入一台Synology DS213J用作数据存储。
本人打算将一些项目的源代码也放在上面,他本身的套件中心提供了SVN SERVER和GIT SERVER。
设置SVN SERVER非常简单,基本上安装成功,设定账号,即可使用。
但是GIT SERVER的架设遇到了麻烦,按照他的帮助说明,是无法成功的,经过尝试,发现其实就是写帮助的人少写了一点内容(也就是目录权限的修改),即可解决。
现将解决方法记录如下,作为自己的备忘录,如果能帮助到有同样需求和同样麻烦的人,那么也是很开心的事情。
1.首先,进入DSM,然后在套件中心中找到GIT SERVER,下载安装即可。
2.看看DSM帮助中心对GIT SERVER使用的帮助:
若要允许用户使用 Git: 请使用拥有管理权限的帐户登录 DSM。进入控制面板 > 终端机并启用 SSH 服务。
请启动 Git 套件,并选择用户以向其提供从资料库签入与签出文件的能力。
注: 通过称为 git-shell 的壳工具,Git 用户将被限制仅可进行 Git 相关活动。此登录壳将应用于 Git 用户可进行确保这些帐户仅用于 Git 操作。因此,Git 用户只能使用 SSH 连接来推拉 Git 存储库,而没有 DSM 完全的访问权限。 若要创建 Git 存储库: 请通过 SSH 服务以 root 或 admin 身份登录 Synology 服务器。
将目录更改为 /volumeX(X 为卷编号)以创建文件夹。例如,“git_repos”。该文件夹将拥有与 Linux 相同的权限。
请在该文件夹中运行 git init 来创建空存储库。
创建存储库后,Git 客户端用户可输入以下命令来访问该存储库:
git clone ssh://[Git 用户]@[您的 Synology 服务器 IP 地址或主机名]/[Git 存储库路径]
这里鄙视一下写帮助的这个人,我严重怀疑群晖的工作人员是没有真的在他们机器上测试过GIT SERVER的。因为按照他帮助说的方法,你是不可能成功的。
遇到这个问题的时候我搜遍了网络,也没有第二个人有这个问题的描述,只是查找到不少从头安装GIT SERVER的文章,而且其中还充斥着很多无用的步骤。
3.正确的方法如下:
安装成功之后,在DSM中创建一个GIT用户,比如我创建的用户为jackwong,然后进入DSM左上的功能菜单,打开GIT SERVER窗口,将允许访问GIT库的用户打上勾。比如我就将jackwong这个用户打上了勾。
然后进入控制面板 > 终端机并启用 SSH 服务。
到这一步,DSM的设置任务就完成了。
接着通过SSH连接到你的这个DS213J上。登陆的时候当然采用root登陆,密码就是admin的密码。
登陆进去之后,就是Linux命令行操作了。
首先进入你的磁盘卷,一般名字是volumeX,X表示你创建的磁盘空间数量,一般这个机器就两个硬盘,一般就是volume1了
cd /volume1
接着创建一个git库目录
mkdir git_repos
然后再里面创建一个测试项目
cd git_repos
mkdir gittest
然后进入这个测试项目目录
cd gittest
进行GIT初始化
git init --bare
由于是root用户执行的操作,所以有一个最最重要的步骤,就是将这个宝库的整个目录的主人要修改为你的git用户
chown -R jackwong:users git_repos
如果你还想让其他用户也一起共享的话,
还需要将其他用户的权限设置为可写
chmod -R 775 git_repos
当然,这里的git_repos是整个库目录,我是为了省事情,如果不同项目需要区别对待,那就对里面的项目目录进行设置就可以了。
总的原则就是某个用户要想能推送文件到服务器,必须打开这个用户对整个项目目录,包括子目录的写权限,否则就会失败。
到这里,服务器就设置完毕了。
在客户端进入git 命令行,测试一下是否可以下载和上传。
git clone ssh://jackwong@192.168.0.1/volume1/git_repos/gittest
然后再本地添加一个文件并提交到本地版本库中
echo "t1.txt" >t1.txt
git add t1.txt
git commit -m "add t1.txt"
最后测试一下推送到GIT SERVER上
git push origin master
显示成功!
如果要添加其他用户,只需要在DSM中创建账号,并且在GIT SERVER界面中允许访问的勾打上。并保证这个用户在git_repos下的对应项目文件夹中具有写权限就可以了。
PS :GIT的使用和SVN这类中心式的架构有很大不同。要把本地项目创建到GIT SERVER上,需要费点周折。
简单的说可以按照如下步骤:
1.先在本地创建项目,有个项目目录
2.然后在本地的这个项目目录中执行git --bare init进行初始化。
3.然后将需要提交的文件提交到本地
4.然后将项目目录COPY到服务器上,只COPY .git 目录就行,其他工作目录不用COPY的。
5.在本地就可以推送到远程服务器上了。
还有一种方法:
如果本地初始化的时候使用的是git init,那么推送就会出现问题。
解决方法是将本地的目录全部COPY到服务器上。
然后再服务器对应目录下面执行:
git config --bool core.bare true
接着删除掉除.git目录之外的所有文件和目录即可。
这样本地就能顺利推送了。 当然直接使用 git clone --bare hello hello.git
这样直接导出裸库,然后将hello.git 这个目录直接上传到服务器上也可以。不过地址需要加上hello.git这个的目录。
Synology DS213J 群晖NAS git server架设方法!的更多相关文章
- 在群晖NAS上运行URLOS之后竟然能安装Discuz! Q!!
如果我们手头上有1台群晖NAS时,有没有考虑过把群晖NAS当成服务器来使用,这样会不会很有意思呢? 现在,我们终于可以尝试一番了,把群晖NAS变成一台实实在在的服务器,在上面跑各种运行环境!其实很简单 ...
- 群晖NAS再折腾
端口转发 两年前我买了一台双盘位的群晖NAS,配置两个4T的硬盘,这玩意儿一度改变了我使用电脑的模式,真是爽爆了!最最主要的功能就是我能用它规整我所有的资料,并且不管何时何地,只要有网就能访问.为了能 ...
- 黑群晖NAS安装方法(收集)/物理机/VMware虚拟机/KVM虚拟机(转)
群晖NAS系统的特点: 1.正版的群晖分为两部分,启动引导和系统文件,其中启动引导是一个闪盘,镶嵌在群晖的主板上,而系统文件是现成下载然后倒入的pat文件. 2.黑群晖破解的主要是启动引导,其实能兼容 ...
- VMware 15.5虚拟机安装群晖NAS
一.群晖nas简介 NAS(Network Attached Storage:网络附属存储),按字面意思理解其实就是网络存储器,可以理解为存储资料的网盘,云盘.NAS本身支持多种协议(如NFS.CI ...
- 群晖NAS网络存储服务器防盗防小偷
群晖NAS网络存储服务器防盗防小偷 根据群晖NAS的实际测量外形尺寸到淘宝网邮购金属 配电箱(弱电箱). 把配电箱(弱电箱)用粗螺丝固定到机柜或墙壁上. 把群晖NAS用密码纯铜挂锁锁在配电箱(弱电箱 ...
- 电脑桌面与群晖NAS双向实时同步-20210105
电脑桌面与群晖NAS双向实时同步 2021年1月15日星期五 一.购买群晖DS920+网络存储服务器.NEC超轻笔记本电脑(重量小于800克).小米10至尊版安卓智能手机和intel i9 1 ...
- 异地远程访问群晖NAS中的文件
异地远程访问群晖NAS中的文件 我以群晖DS720+网络存储服务器为例,介绍我是如何异地远程访问群晖NAS中的文件的. 此文章只介绍部署操作的大概步骤,具体的操作方法和技巧可以在西瓜视频.抖音 ...
- 使用群晖NAS:配置Git server
1.首先在群晖的DSM的控制面板中创建一个用户例如是Git_test(我给了管理员权限) 2.在套件中心安装 Git server 3.打开Git server 勾选用户 Git_test 4.在控制 ...
- 群晖NAS再再折腾
问题 最近电信把我的公网地址收回去了,之前做好的网络端口映射失效了,在公司已经不能愉快地访问家里的网络.原先网络结构示意图如下: (直接访问方案网络结构图) 只需要对电信光猫(也是个路由器)和家用 ...
随机推荐
- 四大CPU体系结构ARM、X86/Atom、MIPS、PowerPC
http://blog.csdn.net/wangjianno2/article/details/52140936 RISC(reduced instruction set computer,精简指令 ...
- Codeforces 758B Blown Garland
题目链接:http://codeforces.com/contest/758/problem/B 题意:一个原先为4色环的链子少了部分,要你找出死的最少的一种可能,各输出四种颜色的死了多少. 分析:就 ...
- Kruskal算法求最小生成树
Kruskal算法是根据权来筛选节点,也是采用贪心算法. /// Kruskal ///初始化每个节点为独立的点,他的祖先为自己本身 void made(int n) { ; i<=n; i++ ...
- 轻量级HTTP服务器Nginx(Nginx性能优化技巧)
轻量级HTTP服务器Nginx(Nginx性能优化技巧) 文章来源于南非蚂蚁 一.编译安装过程优化 1.减小Nginx编译后的文件大小在编译Nginx时,默认以debug模式进行,而在debu ...
- ffmpeg处理RTMP流媒体的命令大全
最近浏览国外网站时候发现,翻译不准确的敬请谅解. 1.将文件当做直播送至live ffmpeg -re -i localFile.mp4 -c copy -f flv rtmp://server/li ...
- win10 下的python虚拟环境安装使用(使用powershell)
安装virtualenv 若要使用python虚拟环境进行开发,首先需要安装virtualenv.命令:pip install virtualenv 我已经装过了
- python_2_变量的使用2
''' 多行注释(三个单引号,或者双引号) gf_of_oldboy="Chen rong hua"#变量的表示办法1,用下划线(老男孩的女朋友) GfOfOldboy=" ...
- 数据对齐 posix_memalign 函数详解
对齐 数 据的对齐(alignment)是指数据的地址和由硬件条件决定的内存块大小之间的关系.一个变量的地址是它大小的倍数的时候,这就叫做自然对齐 (naturally aligned).例如,对于一 ...
- Object类的常用方法
Object类是Java中所有类的始祖.如果没有明确的指定继承,则默认继承Object类.在Java中除了基本类型外都是Object类型的对象,包括数组. 1)equals方法 Object: pub ...
- 1、webpack安装
1.局部安装: npm i -D (npm install --save-dev的简写) 安装指定版本:npm i -D webpack @version 安装最新版:npm i -D webpack ...