**一、安装必要的软件**
首先确保您的Linux操作系统是最新的,并已安装`git-core`包(对于大多数主流发行版如Ubuntu/Debian使用apt-get或CentOS/RHEL等基于yum的系统)。
bash
# 对于 Debian / Ubuntu 系统:
sudo apt update && sudo apt install git
# 对于 CentOS / RHEL 系统:
sudo yum check-update; sudo yum install -y git
**二、创建用户并设置SSH访问权限**
为Git服务新建专用账户以增强安全性:
bash
sudo adduser --shell=/bin/bash --gecos 'Git Server' git # 创建名为"git”的新用户
passwd git # 设置该用户的密码 (可选)
su - git # 切换到刚创建好的git用户进行后续操作
cd ~ # 进入其主目录
ssh-keygen # 在此生成公钥私钥对用于无密登录(可以留空直接回车跳过秘钥口令设定)
cat ~/.ssh/id_rsa.pub >> .ssh/authorized_keys # 将公钥添加至授权keys文件中允许免密登陆本机
chmod 600 .ssh/* # 调整.ssh目录下所有文件的安全性
exit # 返回root或其他管理员账号
**三、初始化裸仓库及防火墙规则**
选择合适的路径作为你的代码库根目录,例如 `/srv/git`. 初始化一个新的裸repository :
bash
mkdir -p /srv/git/myrepo.git
chown -R git:git /srv/git/
sudo su git # 登录刚刚创建的git用户环境
cd /srv/git/myrepo.git #进入项目目录
git init --bare # 初始化为空的版本控制中心 (--bare 表示这是一个纯数据存储仓库)
exit # 回到普通用户或者 root 用户界面
# 配置防火墙开放 SSH 访问端口22(如果适用的话)
ufw allow ssh # 对于采用Uncomplicated Firewall(UFW) 的ubuntu/debian系列
firewall-cmd --permanent --add-service=sshd # 对于centos/redhat使用的 firewalld
systemctl reload firewall-cmd # 应用更改后重载防火墙规则
**四、远程克隆与推送测试**
现在其它机器上的开发者可以通过 `clone` 命令从这个 Git server 克隆仓库了:
bash
# 开发者本地计算机命令行执行如下指令获取远端 repository 并建立链接
git clone user@your-server-ip:/srv/git/myrepo.git
其中 "user" 是你之前创建的git用户名,"your-server-ip"是你的Linuux服务器IP地址.
通过以上步骤,在Linux环境中搭建了一个基础且安全的Git服务器。当然实际生产场景可能还需要进一步考虑诸如访问策略细化(Gitolite/GitLab),日志审计以及备份恢复等方面的优化措施。但无论如何这已经是一个良好的开端,足以支持团队间的源码协作管理需求。
标签: git服务器linux