当前位置:首页 » 云服务器 » git服务器固定ip

git服务器固定ip

发布时间: 2022-12-22 06:05:58

A. 使用Gitolite搭建Git服务器

Git服务的管理工具,主要有如下几种。

Gitolite 使用perl语言编写,维护和更新比较积极,下面测试使用Gitolite搭建Git服务器。

一般新建用户 ~/.ssh/ 目录是不存在的。

生成路径会在ssh-kengen执行后给出,也可修改。windows下生成路径默认位于 C:/user/用户名/.ssh 下。

此时, gitolite 会初始化两个仓库,同时创建 authorized_keys 文件

管理库中有两个目录, conf/ 和 keydir/ 。

仓库的创建通过编辑 gitolite-admin/conf/gitolite.conf 即可,然后将配置后的文件上传服务器。

若本地已有仓库repo2,将其添加到服务器

gitolite可以通过用户组的方式进行管理

如上提示,需要输入密码。
需要安装 openssh ,并将 gitolite 用户添加在 sshusers 组中,有的服务器可能是 ssh 组。

计算机领域的Cookbook指的是实用经典案例的意思,是对一些普遍性问题的解决方案的总结和整理。

B. 如何在mac系统下搭建git服务器

第一步,下载gitblit


http://gitblit.com/

这里当然是选择linux/osx的版本。下载下来是一个.tar.gz的压缩文件,我下载时最新版本是gitblit-1.7.1.tar.gz


C. 怎么在ubuntu创建git服务器

安装OpenSSH并配置SSH无密码登陆
通过命令 sudo apt-get install openssh-server,安装SSH服务。

通过命令 ps –e|grep ssh,查看ssh服务是否启动。

通过以上命令,我们为Ubantu系统安装SSH服务,并配置SSH无密码登陆,首先我们修改主机和ip配置文件:gedit /ect/hosts

2、创建用户git,用来管理运行git服务。

3、配置无密码SSH登陆
在gitClient_01上,我们使用命令:ssh-keygen –t rsa 生成密钥,如下图

完成之后,在.ssh目录下,我们可以看到id_rsa和id_rsa.pub文件,id_rsa.pub为公钥,我们通过命令scp /home/git/.ssh/id_rsa.pub gitServer:/home/git将gitClient_01上生成的公钥拷贝到gitServer上。
在gitServer上我们首先查看/home/git/.ssh目录下是否存在authorized_kesys文件,
如果没有,可以通过touch authorized_keys创建此文件。
Authorized_keys创建完成后,将gitClient_01上拷贝过来的公钥id_rsa.pub的内容追加到authroized_keys中,注意是追加到此文件中,可以使用命令cat /home/git/id_rsa.pub>>/home/git/.ssh/authorized_keys.
以上内容完成后,我们在gitClient_01中,可以使用命令ssh gitServer即可完成无密码登陆。

4、安装Git
通过命令 sudo apt-get install git-core,安装git

5、建立git仓库的存储目录。

6、初始化服务器端仓库
使用命令 git –bare init /home/git/myRep.git,初始化化仓库

7、在gitClient_01上,通过git clone命令进行克隆远程仓库,并在各自的电脑上运行开发。
Git clone git@gitServer:/home/git/myRep.git

D. windows 上怎么搭建git服务器

安装msysgit
安装步骤此处略去。
安装CopSSH
安装步骤此处略去。
修改配置
修改CopSSH配置文件C:\Program Files\ICW\etc\sshd_config,确保如下行为非注释行,且设置为“no”:
生成用户帐号
1在服务器上生成Windows用户,取消用户下次登录时须更改密码,设置密码永不过期:
2将该用户隶属于GitUser组(如尚未生成改组,则先生成改组):
激活用户
1在Windows启动程序组中,运行如下程序(C:\Program Files\ICW\bin\ copsshcp.exe):
2进入COPSSH ControlPanel应用对话框,正常情况下服务应该为正在运行(图标为绿色,如为红色,则可尝试点选该按钮,启动该服务):
3选择Users页面:
4点选Add按钮,出现如下导航对话框:
5选择Forward按钮,出现如下页面,选择欲激活的用户对应的域名及用户名:
6选择Forward按钮,进入如下页面,选择Linuxshell and Sftp,所有选项选中:
7选择Forward按钮,进入确认页面,选择Apply:
8回到如下页面,选择Apply后,关闭。
公钥文件上传
1从用户处取得对应帐户的公钥文件authorized_keys,复制到C:\ProgramFiles\ICW\home\ricky\.ssh目录下(\ricky\是对应的用户名);
2Windows启动程序组中运行Start a UnixBASH Shell(或Windows运行中运行命令:"C:\Program Files\ICW\bin\bash.exe" --login -i):
3运行如下unix命令行,如运行未出错,则完毕。
生成Git库容器目录
1在服务器硬盘上生成一个目录,用来容纳Git库,比如生成E:\ GITTestRepo\目录;
2鼠标右键点击该目录,选择共享和安全…;
3在弹出的该目录属性对话框的安全页中加入用户对应的组GitUser;
4确认该用户组权限设置了允许修改、读取和运行、列入文件夹目录、读取、写入,选择确定后完毕。
确认防火墙开放了22端口
确认服务器的防火墙没有禁止22端口的TCP/IP通信。
修改用户登录运行脚本
1修改C:\ProgramFiles\ICW\home\ricky\.bashrc文件(\ricky\是对应的用户名),在文件最后加入如下行:

E. 如何将git服务器提供给其他人使用

1. 架设Git服务器
我们以Ubuntu为例。首先,在git服务器上创建一个名为 'git' 的用户,并为其创建一个.ssh 目录。并将其权限设置为仅git用户有读写权限
$ sudo adser git
$ su git
$ cd
$ mkdir .ssh
$ chmod 700 .ssh

接下来,把开发者的 SSH 公钥添加到这个用户的 authorized_keys 文件中。假设你通过电邮收到了几个公钥并存到了临时文件里。重复一下,公钥大致看起来是这个样子:
$ cat /tmp/id_rsa.john.pub
ssh-rsa /ww+ouN4gSLKssMxXnBOvf9LGt4L
ojG6rs6hPB09j9R/T17//5zytK6Ztg3RPKK+4k
Ez
/nLF6JLtPofwFBlgc+myiv
Pq
dAv8JggJICUvax2T9va5 gsg-keypair

只要把它们逐个追加到 authorized_keys 文件尾部即可,同时将authorized_keys设置为仅git用户有读写权限。
$ cat /tmp/id_rsa.john.pub >> ~/.ssh/authorized_keys
$ cat /tmp/id_rsa.josie.pub >> ~/.ssh/authorized_keys
$ cat /tmp/id_rsa.jessica.pub >> ~/.ssh/authorized_keys
$ chmod 600 ~/.ssh/authorized_keys

现在可以用 --bare 选项运行 git init 来建立一个裸仓库,这会初始化一个不包含工作目录的仓库。
$ cd /opt/git
$ mkdir project.git
$ cd project.git
$ git --bare init

这时,Join,Josie 或者 Jessica 就可以把它加为远程仓库,推送一个分支,从而把第一个版本的项目文件上传到仓库里了。值得注意的是,每次添加一个新项目都需要通过 shell 登入主机并创建一个裸仓库目录。我们不妨以 gitserver 作为 git 用户及项目仓库所在的主机名。如果在网络内部运行该主机,并在 DNS 中设定 gitserver 指向该主机,那么以下这些命令都是可用的:
# 在 John 的电脑上
$ cd myproject
$ git init
$ git add .
$ git commit -m 'initial commit'
$ git remote add origin git@gitserver:/opt/git/project.git
$ git push origin master

这样,其他人的克隆和推送也一样变得很简单:
$ git clone git@gitserver:/opt/git/project.git
$ vim README
$ git commit -am 'fix for the README file'
$ git push origin master

用这个方法可以很快捷地为少数几个开发者架设一个可读写的 Git 服务。
作为一个额外的防范措施,你可以用 Git 自带的 git-shell 工具限制 git 用户的活动范围。只要把它设为 git 用户登入的 shell,那么该用户就无法使用普通的 bash 或者 csh 什么的 shell 程序。编辑/etc/passwd 文件:
$ sudo vim /etc/passwd

在文件末尾,你应该能找到类似这样的行:
git:x:1000:1000::/home/git:/bin/sh

把 bin/sh 改为 /usr/bin/git-shell (或者用 which git-shell 查看它的实际安装路径)。该行修改后的样子如下:
git:x:1000:1000::/home/git:/usr/bin/git-shell

现在 git 用户只能用 SSH 连接来推送和获取 Git 仓库,而不能直接使用主机 shell。尝试普通 SSH 登录的话,会看到下面这样的拒绝信息:
$ ssh git@gitserver
fatal: What do you think I am? A shell?
Connection to gitserver closed.

这里提供的方法,组内所有成员对project都有读写权限,也就是说每个分支都可以push代码,如果需要更加细致的权限控制,请使用Gitosis或者Gitolite。
2. 搭建Gitweb
安装gitweb之后就可以通过网站访问我们的项目了。就像http://git.kernel.org一样显示了
首先需要安装Gitweb,如果没有安装apache,那么直接安装Gitweb,也会将apache2安装的。
$ sudo apt-get install gitweb apache2

安装完成之后,我们只需要修改一下配置文件,将/etc/gitweb.conf文件中的$projectroot修改为放工程文件的目录。
$ vim /etc/gitweb.conf
# path to git projects (<project>.git)
$projectroot = "/opt/git";

至此gitweb就可以使用了,现在可以通过http://[git_server_IP]/gitweb访问了。
3. Push之后发送邮件通知
当组内成员push代码到服务器上之后,会自动发送邮件通知组内所有人员,该次push的具体内容是什么。具体配置方法:
一般在安装Git的时候发送邮件的脚本/usr/share/git-core/contrib/hooks/post-receive-email已经存在了,首先要修改所有者和执行权限,并且安装sendmail。
$ sudo chown git:git post-receive-email
$ sudo chmod 755 post-receive-email
$ sudo apt-get install sendmail

然后到切换到工程目录下的hooks中,添加 post-receive软链接指向 /usr/share/git-core/contrib/hooks/ post-receive-email。
$ cd /opt/git/project.git/hooks
$ ln -s /usr/share/git-core/contrib/hooks/post-receive-email post-receive

最后修改工程目录中的config文件即可。mailinglist是邮件列表, envelopesender是发件人的邮箱,
$ vim /opt/git/project.git/config
[core]
repositoryformatversion = 0
filemode = true
bare = true

[hooks]
mailinglist = "[email protected], [email protected]" # 收件人列表
envelopesender = [email protected] # 送件人地址
emailprefix = "[Project commit] " # 邮件标题前缀
showrev = "git show -C %s; echo" # 不只显示有变化的文件,同时也显示改变的内容

为了使邮件显示的更清楚,还要修改一下工程目录当中的description文件,在description文件中,默认第一行是项目名称,所以要在第一行填入该项目的名称,这个在邮件中会有显示。
$ vim /opt/git/project.git/description
Project_A

F. 怎么在windows下架设Git服务器

1、打开控制面板->管理工具->服务项目,禁用Windows防火墙服务。

2、打开控制面板->管理工具,双击“路由和远程访问”。然后右键点击服务器图标,再点击“配置并启用路由和远程访问”。

3、在“路由和远程服务器安装向导”中,选择“自定义配置”。

4、勾选“VPN访问”和“NAT和基本防火墙”。

5、点击“完成”。系统提示“要开始服务吗?”,选择“是”。

6、接下来开始配置路由和远程访问,我们先点击本地服务旁边的+按钮,把左侧菜单展开,再点击IP路由选择旁边的+按钮。

7、下面配置静态IP地址。右键点击本地服务,点击属性,再点击IP选项卡。

8、点选“静态地址池”,点击“添加”。输入一个起始IP地址和结束IP地址范围,推荐输入192.168.1.100到192.168.1.254这个范围,因为192.168段属于本地保留IP段。最后点击“确定”。

9、右键点击“静态路由”,再点击“新建静态路由”。

10、目标和网络掩码都输入0,网关请和TCP/IP属性中的默认网关保持一致。

11、删除“DHCP中继代理程序”中的“内部”项目。

12、然后右键点击“DHCP中继代理程序”,再点击“新增接口”。

13、选择“本地连接”,再点击“确定”,然后在弹出的对话框中点击“确定”。

14、右键点击“NAT/基本防火墙”,再点击“新增接口”,然后选择“本地连接”,点击“确定”。

15、在弹出的对话框中先点选“公共接口连接到Internet”,再勾选“在此接口上启用NAT”,最后点击“确定”。

G. linux搭建git远程仓库

1. linux和windows端分别安装git,其中linux中可以用yum安装

[root@node0~]#yum install git

git的默认安装路径在/usr/libexec/git-core

[root@node0 git-core]#cd /usr/libexec/git-core

[root@node0 git-core]#git --version

git version 1.7.1

2.设置linux端git的用户名和密码

[root@node0 git-core]# groupadd git

[root@node0 git-core]# useradd wang -g git

[root@node0 git-core]# passwd wang

New password:

3.在服务器端创建远程仓库

[root@node0 ~]# mkdir -p /mnt/gitrep/wjf

[root@node0 ~]# cd /mnt/gitrep/wjf/

[root@node0 wjf]# git init

Initialized empty Git repository in /mnt/gitrep/wjf/.git/

把仓库所属用户改为wang(git的用户名)

[root@node0 wjf]# chown -R wang:git .git/

注:chown将指定文件的拥有者改为指定的用户或组 -R处理指定目录以及其子目录下的所有文件

4.在windows客户端克隆仓库 

$ git clone [email protected]:/mnt/gitrep/wjf/.git

Cloning into 'wjf'...

The authenticity of host '192.168.111.60 (192.168.111.60)' can't be established.

RSA key fingerprint is SHA256:MgWCWF************************1m2tI.

Are you sure you want to continue connecting (yes/no/[fingerprint])? yes

Warning: Permanently added '192.168.111.60' (RSA) to the list of known hosts.

[email protected]'s password:

第一次连接远程仓库,出现黑体部分,这是因为Git使用SSH连接,而SSH连接在第一次验证GitHub服务器的Key时,需要你确认GitHub的Key的指纹信息是否真的来自GitHub的服务器,键入yes,然后输入远程仓库的密码就可以了。

5.实际中也通常通过设置公钥的方式来连接远程仓库,这样就不用每次连接都需要密码了。

设置公钥:

1.在windows客户端的gitbash中生成用户私钥和公钥

$ ssh-keygen -t rsa -C "[email protected]"

在c盘用户路径下的/.ssh文件夹下会生成私钥id_rsa和公钥id_rsa.pub

2.linux端

首先 Git服务器打开RSA认证,即,修改/etc/ssh/sshd_config,将其中的以下三项打开

RSAAuthentication yes 

 PubkeyAuthentication yes 

 AuthorizedKeysFile .ssh/authorized_keys

然后,将客户端生成的公钥给到服务器端

即,将公钥给到 home/wang(git的用户名)/.ssh/authorized_keys

[root@node0 ~]# cd /home/wang

[root@node0 wang]# mkdir .ssh

[root@node0 wang]# chmod 777 .ssh

[root@node0 wang]# touch .ssh/authorized_keys

在windows客户端的gitbash中 执行:

$ ssh [email protected] 'cat >> .ssh/authorized_keys' < ~/.ssh/id_rsa.pub

然后在linux端:

[root@node0 wang]# chmod 600 .ssh/authorized_keys

[root@node0 wang]# chmod 700 .ssh

[root@node0 wang]# chown wang:git .ssh

[root@node0 wang]# chown wang:git .ssh/authorized_keys 

至此,以后再连接远程仓库就不需要密码了。

若仍需要密码,可以查看ssh连接日志/var/log/secure:

常见连接失败原因:Authentication refused: bad ownership or modes for directory /home/wang/.ssh 

这时需要检查该目录的所属用户和读写权限等级是否符合要求。公钥以及.ssh文件的权限应该属于git的用户和用户组,读写权限等级.ssh 700,authorized_keys 600.

H. 如何使用centos 搭建git

在很多Linux系统库中都有Git,可以直接用命令行安装。
例如Fedora中可以直接用yum install git等,参考如下:
Debian/Ubuntu
$ apt-get install git
Fedora
$ yum install git
Gentoo
$ emerge --ask --verbose dev-vcs/git
Arch Linux
$ pacman -S git
openSUSE
$ zypper install git
FreeBSD
$ cd /usr/ports/devel/git$ make install
Solaris 11 Express
$ pkg install developer/versioning/git
OpenBSD
$ pkg_add git
新版的CentOS后续好像也支持了这个功能,但是这种方法虽然简单,但是一般仓库里的版本更新不及时,比如 CentOS 仓库中的 git 最新版是1.7.1,但是 git 官方已经到2.x 的版本了。对于想要获取最新git的系统,只能下rpm包或者用源码
步骤如下:
1、下载编译工具
yum groupinstall “Development Tools”
2、下载依赖包
yum install zlib-devel perl-ExtUtils-MakeMaker asciidoc xmlto openssl-devel
3、下载 git 最新版本的源代码
wget http://www.codemonkey.org.uk/projects/git-snapshots/git/git-latest.tar.gz
或者
wget http://www.codemonkey.org.uk/projects/git-snapshots/git/git-latest.tar.xz
4、解压源文件
tar -zxvf git-latest.tar.gz
或者
xz -d git-latest.tar.xz
tar -xvf git-latest.tar
5、编译安装
autoconf
./configure
make -jn && make -jn install
其中make -j n中的n为指定线程数,对于多核处理器这样可以加快编译安装的速度
6、添加link
ln -s /usr/local/bin/git /usr/bin/
这一步对于原本系统中有旧版git的系统很重要,会报告Link已存在,此时要删除原来的Link即/usr/bin/git,再执行第六步。
7、检查版本号
git --version
对于系统中存在老版的git的系统,安装了新git后用git --version查看仍然显示为老版就是因为i忽略了第六步,这是很重要的!

I. 怎么从外网访问内网git服务器

外网访问内网的服务一般有 以下几种方式:

  1. 将 内网服务器置于DMZ区,这样内网和外网都能访问

  2. 在DMZ区放置一公共服务器,通过反向代理的方式访问

  3. 使用VPN接入内网直接访问

热点内容
安卓系统怎么通话 发布:2025-03-16 00:25:13 浏览:320
数据库上t 发布:2025-03-16 00:23:31 浏览:410
编译程序实现的途径 发布:2025-03-16 00:17:07 浏览:560
app编程入门 发布:2025-03-16 00:04:20 浏览:195
插接式数据库 发布:2025-03-15 23:52:59 浏览:68
安卓从哪里设置后摄像头镜像 发布:2025-03-15 23:51:27 浏览:975
服务器电脑超频教程 发布:2025-03-15 23:50:48 浏览:979
苹果手机如何找回appid密码 发布:2025-03-15 23:48:36 浏览:408
汽车顶部黑色是什么配置 发布:2025-03-15 23:40:15 浏览:563
校考上传照片 发布:2025-03-15 23:30:02 浏览:852