Linux 下如何安装和配置 Gitea:自建 Git 服务的完整指南
在当今的开发环境中,Git 已经成为版本控制的首选工具。虽然 GitHub 和 GitLab 等平台提供了强大的托管服务,但对于一些团队或个人来说,自建 Git 服务可能更具吸引力。Gitea 是一个轻量级的自托管 Git 服务,它易于安装和配置,适合中小型团队使用。本文将详细介绍如何在 Linux 系统上安装和配置 Gitea,帮助你快速搭建自己的 Git 服务。
1. 为什么选择 Gitea?
Gitea 是一个开源的自托管 Git 服务,具有以下优点:
- 轻量级:Gitea 的资源占用较低,适合在小型服务器上运行。
- 易于安装:Gitea 的安装过程简单,配置也相对直观。
- 功能丰富:支持代码托管、Issue 跟踪、Pull Request、Wiki 等功能。
- 社区活跃:Gitea 有一个活跃的社区,问题能够快速得到解决。
2. 安装前的准备工作
在开始安装 Gitea 之前,确保你的 Linux 系统满足以下要求:
- 操作系统:Ubuntu 20.04 或 CentOS 8(其他 Linux 发行版也可参考本文步骤)。
- 内存:至少 1GB RAM。
- 磁盘空间:至少 10GB 可用空间。
- 数据库:MySQL、PostgreSQL 或 SQLite(推荐使用 MySQL 或 PostgreSQL)。
2.1 安装依赖
首先,更新系统并安装必要的依赖包:
sudo apt update
sudo apt install -y git curl wget
如果你使用的是 CentOS,可以使用以下命令:
sudo yum update
sudo yum install -y git curl wget
2.2 安装数据库
Gitea 支持多种数据库,这里以 MySQL 为例。安装 MySQL 并设置 root 密码:
sudo apt install -y mysql-server
sudo mysql_secure_installation
创建 Gitea 使用的数据库和用户:
sudo mysql -u root -p
CREATE DATABASE gitea;
CREATE USER 'gitea'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON gitea.* TO 'gitea'@'localhost';
FLUSH PRIVILEGES;
EXIT;
3. 安装 Gitea
3.1 下载 Gitea
访问 Gitea 的官方 GitHub 仓库,下载最新版本的二进制文件:
wget -O gitea https://dl.gitea.io/gitea/1.15.0/gitea-1.15.0-linux-amd64
3.2 设置权限并运行
将下载的二进制文件移动到 /usr/local/bin
目录,并设置可执行权限:
sudo mv gitea /usr/local/bin/
sudo chmod +x /usr/local/bin/gitea
创建一个专用的用户来运行 Gitea:
sudo adduser --system --shell /bin/bash --gecos 'Git Version Control' --group --disabled-password --home /home/gitea gitea
创建 Gitea 的工作目录:
sudo mkdir -p /var/lib/gitea/{custom,data,log}
sudo chown -R gitea:gitea /var/lib/gitea/
sudo chmod -R 750 /var/lib/gitea/
3.3 配置 Gitea
Gitea 的配置文件位于 /etc/gitea/app.ini
。你可以通过以下命令生成默认配置文件:
sudo mkdir -p /etc/gitea
sudo chown gitea:gitea /etc/gitea
sudo -u gitea gitea web -c /etc/gitea/app.ini
编辑配置文件,设置数据库连接和其他参数:
[database]
DB_TYPE = mysql
HOST = localhost
NAME = gitea
USER = gitea
PASSWD = your_password
3.4 配置系统服务
为了让 Gitea 在系统启动时自动运行,可以创建一个 systemd 服务文件:
sudo nano /etc/systemd/system/gitea.service
添加以下内容:
[Unit]
Description=Gitea (Git with a cup of tea)
After=syslog.target
After=network.target
[Service]
RestartSec=2s
Type=simple
User=gitea
Group=gitea
WorkingDirectory=/var/lib/gitea/
ExecStart=/usr/local/bin/gitea web -c /etc/gitea/app.ini
Restart=always
Environment=USER=gitea HOME=/home/gitea
[Install]
WantedBy=multi-user.target
保存并退出,然后启用并启动 Gitea 服务:
sudo systemctl enable gitea
sudo systemctl start gitea
4. 访问 Gitea
安装完成后,打开浏览器并访问 http://your_server_ip:3000
。你将看到 Gitea 的初始化页面,按照提示完成配置。
4.1 初始化配置
在初始化页面中,填写以下信息:
- 数据库设置:选择 MySQL,并填写之前创建的数据库信息。
- 应用 URL:填写你的服务器地址,例如
http://your_server_ip:3000
。 - 管理员账户:设置管理员账户的用户名和密码。
完成配置后,点击“安装 Gitea”按钮,等待安装完成。
4.2 登录并使用
安装完成后,使用设置的管理员账户登录 Gitea。你可以创建新的仓库、管理用户、设置权限等。
5. 配置反向代理(可选)
为了提高安全性和性能,建议使用 Nginx 或 Apache 作为反向代理。以下是 Nginx 的配置示例:
sudo nano /etc/nginx/sites-available/gitea
添加以下内容:
server {
listen 80;
server_name your_domain.com;
location / {
proxy_pass http://localhost:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
保存并退出,然后启用配置并重启 Nginx:
sudo ln -s /etc/nginx/sites-available/gitea /etc/nginx/sites-enabled/
sudo systemctl restart nginx
现在,你可以通过 http://your_domain.com
访问 Gitea。
6. 总结
通过本文的步骤,你已经成功在 Linux 系统上安装和配置了 Gitea。Gitea 作为一个轻量级的自托管 Git 服务,不仅易于安装,还提供了丰富的功能,非常适合中小型团队使用。如果你希望进一步优化 Gitea 的性能和安全性,可以参考官方文档进行更多高级配置。
无论你是个人开发者还是团队负责人,Gitea 都能为你提供一个高效、稳定的代码托管平台。现在,开始享受自建 Git 服务带来的便利吧!
评论(0)