🗣 Wd提问: git 服务器部署
🤖 Ai回答: 在 Linux 上部署 Git 服务器通常有三种主流方案,以下是详细步骤:
方案一:SSH 协议(最简方案)
适用场景:小型团队/个人项目,无需复杂权限控制
bash
1、安装 Git
sudo apt update && sudo apt install git -y
2、创建 git 系统用户
sudo adduser system shell /bin/bash group git
3、在服务器初始化仓库
sudo mkdir /repos && sudo chown git:git /repos
sudo -u git mkdir /repos/project.git
cd /repos/project.git
sudo -u git git init bare
4、客户端克隆仓库
git clone git@yourserver.com:/repos/project.git
方案二:Git HTTP 协议(支持读写)
适用场景:需通过 HTTP 访问,支持匿名读取 + 认证写入
bash
1、安装依赖
sudo apt install apache2 git apache2-utils
2、配置 Apache
cat <<EOF | sudo tee /etc/apache2/conf-available/git.conf
<VirtualHost *:80
DocumentRoot /repos
<Directory /repos
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory
开启 WebDAV 写支持
<Location /
DAV on
AuthType Basic
AuthName Git Access
AuthUserFile /etc/apache2/git-auth
Require valid-user
</Location
</VirtualHost
EOF
3、创建密码文件(添加用户)
sudo htpasswd -c /etc/apache2/git-auth yourusername
4、启用配置
sudo a2enmod dav dav_fs
sudo a2enconf git
sudo systemctl restart apache2
5、初始化仓库(需在 /repos 目录)
cd /repos
sudo git init bare project.git
sudo chown -R www-data:www-data project.git
客户端操作:
git clone http://yourserver.com/project.git
推送时需输入用户名密码
方案三:Gitea(自托管 GitHub 替代)
适用场景:企业级需求,带 Web 界面/Issue/PR 等功能
bash
1、安装依赖
sudo apt install sqlite3
2、创建用户
sudo adduser system group disabled-password shell /bin/bash git
3、下载 Gitea
wget -O /tmp/gitea https://dl.gitea.com/gitea/1.21.0/gitea-1.21.0-linux-amd64
sudo mv /tmp/gitea /usr/local/bin/
sudo chmod +x /usr/local/bin/gitea
4、创建服务
sudo mkdir -p /var/lib/gitea/{custom,data,log}
sudo chown -R git:git /var/lib/gitea
5、创建 systemd 服务
cat <<EOF | sudo tee /etc/systemd/system/gitea.service
[Unit]
Description=Gitea
After=network.target
[Service]
User=git
Group=git
WorkingDirectory=/var/lib/gitea
ExecStart=/usr/local/bin/gitea web config /etc/gitea/app.ini
Restart=always
[Install]
WantedBy=multi-user.target
EOF
6、启动服务
sudo systemctl daemon-reload
sudo systemctl enable now gitea
7、通过浏览器完成初始化配置
访问 http://your-server-ip:3000
按向导设置数据库(选SQLite)、管理员账号等
🔐 安全加固建议
1、SSH 安全:
bash
禁用密码登录(仅允许密钥)
sudo sed -i 's/PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config
sudo systemctl restart sshd
2、防火墙规则:
bash
sudo ufw allow 22
sudo ufw allow 80
sudo ufw allow 3000 Gitea 默认端口
sudo ufw enable
3、HTTPS 加密(以 Apache 为例):
bash
sudo apt install certbot python3-certbot-apache
sudo certbot apache -d git.yourdomain.com
⚠️ 常见问题排查
1、权限错误:
bash
检查目录所有权
sudo chown -R git:git /repos
2、Gitea 端口占用:
修改 `/etc/gitea/app.ini` 中的 `HTTP_PORT`
3、Git 推送被拒绝:
bash
检查仓库是否初始化正确
git config global receive.denyCurrentBranch ignore
方案对比
| 方案 | 复杂度 | 功能 | 适用场景 |
| SSH 协议 | ⭐ | 基础读写 | 小型团队/快速部署 |
| HTTP 协议 | ⭐⭐ | 支持HTTP认证 | 需网页访问的场景 |
| Gitea | ⭐⭐⭐ | 完整GitHub功能| 企业级/需协作工具链 |
根据团队规模和需求选择方案,SSH 方案适合快速启动,Gitea 提供完整 DevOps 功能链。
📣 商家广告:





0
IP地址: 226.57.116.156
搜索次数: 0
提问时间: 2025-11-04 12:50:31
🛒 域名购买:
lytxw.com
nk.com.hk
pai.kim
53.biz
pai.cx
93.gold
wangai.net
souru.com.cn
lq.gs
671.net.cn
❓️ 热门提问:
电脑主机特别热
关键词提取 广告投放关键词
网页开发Netlify
网页服务器搭建
idc机房 标准
卡挂之家
linode云服务器
福建服务器托管
icp idc
机房静电架空地板
豌豆Ai站群搜索引擎系统
🌐 域名评估:
62.gs
xiht.cn
uav.nx.cn
kyry.cn
rr.qh.cn
avantcarpet.com
krjv.cn
ff.zj.cn
musk.bj.cn
mdem.cn
⛏ 最新挖掘:
凯里酸汤鱼
贵阳烤脑花
都匀毛尖茶
花溪牛肉粉
贵阳烤生蚝
贵阳烤豆腐
贵阳纸包鱼
贵阳特色菜
🖌 热门作画:
🤝 关于我们:
豌豆Ai
域名
建站
站群
留痕
推广
评估
源码
开发Ai
工具
日记
价格
加盟
广告
流量
留言
联系
🗨 加入群聊:
🔗 友情链接:
台灣搜尋引擎
网站搜尋器
ai提问
🧰 站长工具:
Ai工具 whois查询 搜索
📢 温馨提示:本站所有问答由Ai自动创作,内容仅供参考,若有误差请用“联系”里面信息通知我们人工修改或删除。
👉 技术支持:本站由豌豆Ai提供技术支持,使用的最新版:《豌豆Ai站群搜索引擎系统 V.25.10.25》搭建本站。