macOS 搭建 Gitea 私有 Git 服务器教程

macOS 搭建 Gitea 私有 Git 服务器教程

本文详细介绍如何在 macOS 系统上快速搭建 Gitea 私有 Git 服务器,适合个人开发者和小团队使用。

📝 前言

在日常开发中,我们经常需要一个私有的 Git 服务器来管理代码。相比于 GitLab 的复杂配置,Gitea 是一个轻量级的 Git 服务解决方案,特别适合在 macOS 上搭建本地或局域网的 Git 服务。

为什么选择 Gitea?

  • 🚀 轻量级:资源占用少,启动速度快
  • 🔧 易安装:一个二进制文件即可运行
  • 🌐 功能完整:支持 Issues、Pull Requests、Wiki 等
  • 💾 多数据库支持:SQLite、MySQL、PostgreSQL
  • 🔒 安全可控:私有部署,数据完全掌控

为什么选择 Mac 作为 Gitea 服务器?

相比于 Linux 服务器或 Windows,使用 Mac 搭建 Gitea 服务器有以下独特优势:

🖥️ 硬件优势
  • Apple Silicon 性能:M1/M2/M3 芯片提供卓越的性能功耗比
  • 静音运行:Mac 设备运行安静,适合家庭或办公室环境
  • 稳定可靠:macOS 系统稳定性高,长时间运行无故障
  • 低功耗:相比传统服务器,Mac 设备功耗更低,节能环保
💻 开发友好
  • 开发环境一体化:开发和服务器在同一台设备,调试更方便
  • 原生 Unix 环境:完美支持 Git 和各种开发工具
  • Homebrew 生态:丰富的包管理工具,安装软件更简单
  • 完美支持容器:Docker Desktop 在 Mac 上运行流畅

🛠️ 环境准备

系统要求

  • macOS 10.15 及以上版本
  • 至少 4GB 内存(推荐 8GB)
  • 10GB 以上可用磁盘空间

检查系统环境

bash 复制代码
# 查看 macOS 版本
sw_vers

# 查看 CPU 架构(重要:影响下载的安装包)
uname -m
# arm64 = Apple Silicon (M1/M2/M3)
# x86_64 = Intel 芯片

# 检查是否安装了 Xcode 命令行工具
xcode-select -p
# 如果没有安装,运行:xcode-select --install

# 检查端口 3000 是否可用
lsof -i :3000 || echo "端口 3000 可用"

📦 方法一:Homebrew 安装(推荐)

1. 安装 Homebrew

bash 复制代码
# 如果还没安装 Homebrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

2. 安装 Gitea

bash 复制代码
# 更新 Homebrew
brew update

# 安装 Gitea
brew install gitea

# 验证安装
gitea --version

3. 创建目录结构

bash 复制代码
# 在用户目录下创建 Gitea 工作目录
mkdir -p ~/Development/gitea/{custom/conf,data,log}

# 查看创建的目录结构
ls -la ~/Development/gitea/

4. 启动 Gitea 服务

bash 复制代码
# 进入工作目录
cd ~/Development/gitea

# 启动 Gitea
gitea web

成功启动后,你会看到类似这样的输出:

复制代码
2024/08/11 15:30:00 ...eb/routing/logger.go:102:func1() [I] Started GET / for 127.0.0.1:52000
2024/08/11 15:30:00 ...s/context/context.go:227:Render() [I] Completed GET / 200 OK in 2.3ms

🌐 Web 界面配置

1. 访问安装页面

打开浏览器,访问:http://localhost:3000

2. 数据库配置

推荐使用 SQLite(适合个人和小团队):

  • 数据库类型 :选择 SQLite3
  • 数据库文件路径data/gitea.db

💡 小贴士:SQLite 无需额外配置,数据存储在一个文件中,备份和迁移都很方便。

3. 基本设置

  • 站点名称:输入你想要的名称,如 "我的代码仓库"
  • 仓库根目录data/repositories
  • Git LFS 根目录data/lfs
  • 以此用户运行:你的 macOS 用户名
  • 服务器域名localhost
  • SSH 服务端口22
  • HTTP 端口3000
  • 应用程序 URLhttp://localhost:3000/
  • 日志路径log

4. 管理员账户设置

  • 管理员用户名admin
  • 密码:设置一个强密码
  • 邮箱地址admin@localhost

5. 完成安装

点击 "立即安装" 按钮,等待安装完成。

🔧 方法二:直接下载二进制文件

如果你不想使用 Homebrew,可以直接下载 Gitea 的二进制文件。

1. 下载对应版本

bash 复制代码
# Intel 芯片 Mac
curl -L https://dl.gitea.io/gitea/1.21.11/gitea-1.21.11-darwin-10.12-amd64 -o gitea

# Apple Silicon (M1/M2/M3) Mac
curl -L https://dl.gitea.io/gitea/1.21.11/gitea-1.21.11-darwin-10.12-arm64 -o gitea

# 给文件执行权限
chmod +x gitea

# 移动到系统路径
sudo mv gitea /usr/local/bin/gitea

2. 创建配置文件

bash 复制代码
# 创建工作目录
mkdir -p ~/gitea-server/{custom/conf,data,log}
cd ~/gitea-server

# 创建基本配置文件
cat > custom/conf/app.ini << 'EOF'
[database]
DB_TYPE = sqlite3
PATH = data/gitea.db

[repository]
ROOT = data/repositories

[server]
HTTP_PORT = 3000
DOMAIN = localhost
ROOT_URL = http://localhost:3000/

[log]
MODE = file
LEVEL = Info
ROOT_PATH = log
EOF

3. 启动服务

bash 复制代码
# 启动 Gitea
gitea web

💾 使用外置硬盘存储(可选)

如果你有外置硬盘,可以将 Gitea 数据存储在外置硬盘上:

1. 查看挂载的外置硬盘

bash 复制代码
# 查看已挂载的外置硬盘
ls -la /Volumes/

2. 创建目录结构

bash 复制代码
# 假设你的外置硬盘名为 "Project"
mkdir -p /Volumes/Project/gitea/{repositories,lfs,logs,database}

3. 在 Web 配置中使用外置硬盘路径

  • 仓库根目录/Volumes/Project/gitea/repositories
  • Git LFS 根目录/Volumes/Project/gitea/lfs
  • 数据库文件路径/Volumes/Project/gitea/database/gitea.db
  • 日志路径/Volumes/Project/gitea/logs

🚀 设置开机自启动

创建启动服务

bash 复制代码
# 创建 Launch Agent 文件
cat > ~/Library/LaunchAgents/com.gitea.server.plist << EOF
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>com.gitea.server</string>
    <key>ProgramArguments</key>
    <array>
        <string>/usr/local/bin/gitea</string>
        <string>web</string>
    </array>
    <key>WorkingDirectory</key>
    <string>$HOME/Development/gitea</string>
    <key>RunAtLoad</key>
    <true/>
    <key>KeepAlive</key>
    <true/>
</dict>
</plist>
EOF

# 加载服务
launchctl load ~/Library/LaunchAgents/com.gitea.server.plist

🌐 局域网访问配置

如果你想让局域网内的其他设备访问你的 Git 服务器:

1. 查找 Mac 的 IP 地址

bash 复制代码
# 查看本机 IP 地址
ifconfig | grep "inet " | grep -v 127.0.0.1

2. 修改配置

编辑 ~/Development/gitea/custom/conf/app.ini 文件:

ini 复制代码
[server]
DOMAIN = 192.168.1.100  # 替换为你的实际 IP
ROOT_URL = http://192.168.1.100:3000/

3. 重启 Gitea 服务

bash 复制代码
# 停止服务
launchctl unload ~/Library/LaunchAgents/com.gitea.server.plist

# 重新启动
launchctl load ~/Library/LaunchAgents/com.gitea.server.plist

现在局域网内的设备可以通过 http://你的IP:3000 访问 Git 服务器了。

📱 基本使用

1. 登录和创建仓库

  1. 打开浏览器访问 http://localhost:3000
  2. 使用管理员账户登录
  3. 点击右上角的 "+" 号创建新仓库

2. 克隆仓库

bash 复制代码
# 克隆仓库到本地
git clone http://localhost:3000/用户名/仓库名.git

# 或者使用 IP 地址(局域网访问)
git clone http://192.168.1.100:3000/用户名/仓库名.git

3. 基本操作

bash 复制代码
# 进入仓库目录
cd 仓库名

# 添加文件
echo "# 我的项目" > README.md
git add .
git commit -m "初始提交"

# 推送到服务器
git push origin main

🛠️ 常用管理命令

bash 复制代码
# 手动启动 Gitea
cd ~/Development/gitea && gitea web

# 停止 Gitea 服务
launchctl unload ~/Library/LaunchAgents/com.gitea.server.plist

# 查看 Gitea 日志
tail -f ~/Development/gitea/log/gitea.log

# 检查 Gitea 是否运行
curl http://localhost:3000

# 创建管理员用户(命令行方式)
gitea admin user create --admin --username admin --password AdminPass123 --email admin@localhost

❓ 常见问题解决

端口 3000 被占用

bash 复制代码
# 查看占用端口的进程
lsof -i :3000

# 使用其他端口启动
gitea web --port 3001

权限问题

bash 复制代码
# 修复目录权限
sudo chown -R $(whoami) ~/Development/gitea

macOS 安全限制

如果 macOS 阻止运行 Gitea:

bash 复制代码
# 移除隔离属性
sudo xattr -r -d com.apple.quarantine /usr/local/bin/gitea

或者在 "系统偏好设置 → 安全性与隐私" 中点击 "仍要打开"。

数据库锁定

bash 复制代码
# 停止所有 Gitea 进程
pkill gitea
# 然后重新启动

📊 性能优化建议

1. 硬件建议

  • 内存:8GB 以上(支持更多并发用户)
  • 存储:使用 SSD 硬盘提高性能
  • 网络:千兆网络(局域网访问)

2. 配置优化

ini 复制代码
# 在 app.ini 中添加性能优化配置
[server]
LFS_START_SERVER = true
OFFLINE_MODE = true

[database]
MAX_IDLE_CONNS = 30
MAX_OPEN_CONNS = 300

[indexer]
ISSUE_INDEXER_TYPE = bleve
REPO_INDEXER_ENABLED = true

🔐 安全建议

  1. 定期备份 :定期备份 data 目录
  2. 强密码:使用复杂的管理员密码
  3. 网络安全:如果对外开放,配置防火墙规则
  4. 更新及时:定期更新 Gitea 到最新版本

📝 总结

通过本教程,你已经学会了:

  • ✅ 在 macOS 上安装和配置 Gitea
  • ✅ 设置数据库和基本配置
  • ✅ 配置局域网访问
  • ✅ 设置开机自启动
  • ✅ 解决常见问题

Gitea 是一个优秀的轻量级 Git 服务解决方案,特别适合个人开发者和小团队使用。相比于复杂的 GitLab,Gitea 的配置更加简单,资源占用更少,是搭建私有 Git 服务器的理想选择。

现在你可以开始使用自己的私有 Git 服务器了!如果遇到问题,可以查看 Gitea 官方文档 获取更多帮助。

相关推荐
明镜6551 小时前
Git基本使用(Windows版)
git
leonkay1 小时前
Git Flow 分支管理完全指南
git
青草地溪水旁1 小时前
git merge和git rebase的区别
git·rebase·merge
尖椒土豆sss2 小时前
SourceTree 客户端一些使用场景
前端·git
楼田莉子3 小时前
(3万字详解)Linux系统学习:深入了解Linux系统开发工具
linux·服务器·笔记·git·学习·vim
一枚前端小能手19 小时前
🆘 Git翻车现场救援指南:5个救命技巧让你起死回生
前端·git
小妖66620 小时前
Alibaba Cloud Linux 3 安装 git
linux·运维·git
ai_xiaogui1 天前
AIStarter:全网唯一跨平台桌面AI管理工具,支持Windows、Mac和Linux一键部署
linux·人工智能·macos·跨平台ai项目一键部署工具·comfyui模型库·高效管理2.19tb模型库·一键配置comfyui模型库
我也爱吃馄饨1 天前
git merge的原理和过程,merge conflict产生的原因、处理的逻辑
git