在 Linux 上安装(Install on Linux)
按照以下步骤,在 Linux 主机上以原生服务的方式运行 Gitea Enterprise。
前置要求
-
支持的软件平台:带有
systemd的 64 位 Linux 发行版(例如 Ubuntu 22.04、Debian 12、RHEL 9、Rocky Linux 9)。 -
Root 权限或使用
sudo的能力。 -
根据预期用户规模选择推荐硬件配置:
团队规模(约) 内存 CPU 核心数 SSD 容量 ~10 用户 2-4 GB 2-4 核 50-100 GB ~100 用户 4-8 GB 4-8 核 200-500 GB ~1000 用户 16-32 GB 8-16 核 2-5 TB -
外部 MySQL/MariaDB 或 PostgreSQL 数据库。Gitea Enterprise 不支持 SQLite。
-
Git 命令行工具(将在下面的步骤中安装)。
-
(可选)用于解锁 Enterprise 功能的许可证。准备好应用许可证时,请参阅许可证激活。
1. 准备主机
-
安装依赖项(如果您计划使用 MySQL/PostgreSQL、图像处理或其他可选功能,请参考上游的依赖列表):
-
Debian/Ubuntu
sudo apt update
sudo apt install -y git ca-certificates -
RHEL/CentOS/Rocky
sudo dnf install -y git ca-certificates
# 如果您运行的是较旧版本,请将 dnf 替换为 yum
-
-
创建
git系统用户及相关目录:-
Debian/Ubuntu
sudo adduser \
--system \
--shell /bin/bash \
--gecos "Git Version Control" \
--group \
--disabled-password \
git
sudo mkdir -p /var/lib/gitea/{custom,data,log}
sudo chown -R git:git /var/lib/gitea
sudo chmod -R 750 /var/lib/gitea
sudo mkdir -p /etc/gitea
sudo chown root:git /etc/gitea
sudo chmod 770 /etc/gitea -
RHEL/CentOS/Rocky
sudo groupadd --system git
sudo useradd \
--system \
--shell /bin/bash \
--comment "Git Version Control" \
--gid git \
git
sudo mkdir -p /var/lib/gitea/{custom,data,log}
sudo chown -R git:git /var/lib/gitea
sudo chmod -R 750 /var/lib/gitea
sudo mkdir -p /etc/gitea
sudo chown root:git /etc/gitea
sudo chmod 770 /etc/gitea如果
git用户组已经存在,可以忽略groupadd给出的警告。
git用户保留其默认主目录;/var/lib/gitea仅用于存放应用数据。这一布局与推荐的 Gitea Enterprise 目录结构一致,因此现有的自动化脚本仍可兼容使用。 -
2. 配置数据库(可选)
外部数据库可以提升可扩展性和可用性。Gitea Enterprise 默认支持 MySQL/MariaDB 和 PostgreSQL。请在首次启动前运行以下命令,以便应用程序能够立即连接。
MySQL / MariaDB
-
安装客户端软件包:
sudo apt install -y mysql-client # Debian/Ubuntu
sudo dnf install -y mysql # RHEL/CentOS/Rocky -
创建数据库和用户(请根据您的策略调整凭据):
mysql -u root -p <<'SQL'
CREATE DATABASE gitea CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'gitea'@'%' IDENTIFIED BY 'change-me-now';
GRANT ALL PRIVILEGES ON gitea.* TO 'gitea'@'%';
FLUSH PRIVILEGES;
SQL -
在
/etc/gitea/app.ini中将 Gitea 指向 MySQL:[database]
DB_TYPE = mysql
HOST = db.internal:3306
NAME = gitea
USER = gitea
PASSWD = change-me-now
SSL_MODE = disable
PostgreSQL
-
安装客户端软件包:
sudo apt install -y postgresql-client # Debian/Ubuntu
sudo dnf install -y postgresql # RHEL/CentOS/Rocky -
创建数据库和用户:
sudo -u postgres psql <<'SQL'
CREATE DATABASE gitea WITH ENCODING 'UTF8' LOCALE 'C' TEMPLATE template0;
CREATE USER gitea WITH PASSWORD 'change-me-now';
GRANT ALL PRIVILEGES ON DATABASE gitea TO gitea;
SQL -
为 PostgreSQL 配置
/etc/gitea/app.ini:[database]
DB_TYPE = postgres
HOST = db.internal:5432
NAME = gitea
USER = gitea
PASSWD = change-me-now
SSL_MODE = disable
更新连接信息后重启 Gitea。
3. 安装 Gitea Enterprise 二进制文件
-
选择您要运行的 Enterprise 版本(例如
24.6.0)。 -
下载并安装二进制文件:
VERSION=24.6.0
curl -L -o gitea \
"https://gitea.com/commitgo/gitea-ee/releases/download/v${VERSION}/gitea-ee-${VERSION}-linux-amd64"
sudo mv gitea /usr/local/bin/gitea
sudo chown root:root /usr/local/bin/gitea
sudo chmod 755 /usr/local/bin/gitea将
VERSION替换为您选择的 Enterprise 版本。在 ARM 服务器上,请使用*-linux-arm64产物。 -
(可选)如果您想跳过安装向导,可以将现有的
app.ini复制到/etc/gitea/app.ini。
4. 配置 systemd
根据参考 unit 文件创建 /etc/systemd/system/gitea.service:
[Unit]
Description=Gitea (Enterprise)
After=network.target
[Service]
RestartSec=2s
Type=simple
User=git
Group=git
WorkingDirectory=/var/lib/gitea
ExecStart=/usr/local/bin/gitea web --config /etc/gitea/app.ini
Restart=always
Environment=USER=git HOME=/var/lib/gitea GITEA_WORK_DIR=/var/lib/gitea
[Install]
WantedBy=multi-user.target
重新加载服务管理器并启动 Gitea:
sudo systemctl daemon-reload
sudo systemctl enable --now gitea
浏览器访问 http(s)://<host>:3000/ 完成初始安装向导,然后按照许可证激活启用 Enterprise 功能。
5. 安装后配置
Gitea Enterprise 运行后,请查看您可能希望启用的配置选项(SMTP、对象存储、身份验证等)。上游的 Configuration Cheat Sheet 列出了每个 app.ini 设置项及简要说明。更新 /etc/gitea/app.ini 后,重启服务以应用更改。
6. 升级与维护
- 停止服务,下载更新的 Enterprise 二进制文件,替换
/usr/local/bin/gitea,然后启动服务。 - 关于 备份、预发布测试和数据库迁移,请遵循上游的维护指南。
- 对于多节点部署,请在添加更多应用节点之前,根据您的冗余目标配置外部化的 Redis、对象存储和负载均衡。
Gitea Enterprise 在各版本间保持配置和数据布局稳定,因此现有的自动化脚本可以继续正常工作。