如何在 Debian 11 上使用 PostgreSQL 安装 Gitea
在此页
- 先决条件
- 第 1 步 – 更新操作系统
- 第 2 步 – 安装和配置 PostgreSQL
- 第 3 步 – 安装和配置 Git
- 第 4 步 – 为 Gitea 创建一个 git 用户
- 第 5 步 – 安装和配置 Gitea
- 第 6 步 – 访问 Gitea 网络界面
- 第 7 步 – 设置电子邮件通知
- 第 10 步 – 更新 Gitea
- 结论
Gitea 是一个免费、开源、自托管的 Git 服务器解决方案。 Gitea 是用 Go 编程语言编写的轻量级应用程序,可以作为二进制包提供,可以安装在大多数平台上,包括 Windows、Linux 和 macOS。它是 GitLab 的健壮、可扩展、快速、易于使用和替代品之一。
Gitea 提供许多功能,包括存储库文件编辑器、错误和时间跟踪、存储库分支、文件锁定、内置 wiki 、合并、多数据库支持、轻松升级过程、内置容器注册表等等。
在本教程中,我将向您展示如何在 Debian 11 上使用 PostgreSQL 从二进制文件安装 Gitea。
先决条件
- 运行 Debian 11 的服务器。
- 在服务器上配置了根密码。
第 1 步 – 更新操作系统
在开始安装 Gitea 之前,运行以下命令以使用最新版本更新您的系统。
sudo apt-get update -y
sudo apt-get upgrade -y
第 2 步 – 安装和配置 PostgreSQL
Gitea 支持所有主要数据库,如 MySQL、MariaDB、SQLite、MySQL 和 PostgreSQL,但在本指南中,PostgreSQL 用作 Gitea 数据库。
首先,使用以下命令创建 PostgreSQL 存储库:
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
接下来,您需要导入存储库签名密钥:
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
现在,使用以下命令安装 PostgreSQL:
sudo apt-get update
sudo apt-get -y install postgresql
接下来,启动 PostgreSQL 服务,在系统启动时启用它,并使用以下命令检查 PostgreSQL 服务状态:
sudo systemctl start postgresql
sudo systemctl enable postgresql
sudo systemctl status postgresql

接下来,您需要从 md5 加密方案切换到 SCRAM-SHA-256 方案以获得更好的安全性。如果你想远程连接到 PostgreSQL,那么你需要在 PostgreSQL 配置文件中允许你的 IP 地址。使用以下命令打开配置文件以进行更改:
sudo vim /etc/postgresql/14/main/postgresql.conf
如果您安装了另一个 PostgreSQL 版本,则根据它更改上述命令路径。
接下来,根据您的要求更改以下变量:
listen_addresses = 'localhost, 134.122.38.45'
password_encryption = scram-sha-256
保存并退出文件并重新启动 PostgreSQL 服务以应用更改。
sudo systemctl restart postgresql
接下来,使用以下命令登录到 PostgreSQL shell:
sudo -u postgres psql
然后通过执行以下命令为 Gitea 创建用户角色和数据库:
postgres=# CREATE ROLE gitea WITH LOGIN PASSWORD '';
postgres=# CREATE DATABASE giteadb;
postgres=# GRANT ALL PRIVILEGES ON DATABASE giteadb TO gitea;
postgres=# exit
在这里,您需要为 Gitea 设置用户名、数据库名称和密码。

此时,您的 PostgreSQL 设置已准备好用于 Gitea,验证 /etc/postgresql/14/main/pg_hba.conf 文件中的身份验证设置。
默认情况下,PostgreSQL 接受所有本地连接。
host all all 127.0.0.1/32 scram-sha-256
如果您想远程使用 giteadb,请在 /etc/postgresql/14/main/pg_hba.conf 中添加以下行和您的 IP 地址
host giteadb gitea 134.122.38.0/32 scram-sha-256

第 3 步 – 安装和配置 Git
接下来,使用以下命令安装 git:
sudo apt install git
通过检查 Git 版本来验证 git 安装:
git --version
输出:-
git version 2.30.2
接下来,您需要为 Git 设置您的姓名和电子邮件地址。
git config --global user.name "Your Name"
git config --global user.email "”
您可以使用以下命令检查您的 Git 配置。
git config --list
输出:-
user.name=Your Name
第 4 步 – 为 Gitea 创建一个 git 用户
现在,您需要创建一个 Gitea 用户。您可以使用以下命令执行此操作:
sudo adduser \
--system \
--shell /bin/bash \
--gecos 'Git Version Control' \
--group \
--disabled-password \
--home /home/git \
git
这将创建一个新用户 git。
第 5 步 – 安装和配置 Gitea
转到 Gitea 下载页面并下载最新版本的 Gitea 二进制文件。在撰写本教程时,Giteas 最新版本为 1.15.7。您可以在以下命令中更改 VERSION 变量以安装任何其他版本。
cd /tmp
GITEAVERSION=1.15.7
wget -O gitea https://dl.gitea.io/gitea/${GITEAVERSION}/gitea-${GITEAVERSION}-linux-amd64
接下来,使用以下命令将 Gitea 二进制文件移动到系统路径:
sudo mv /tmp/gitea /usr/local/bin
接下来,通过在终端中运行以下命令来设置 Gitea 二进制文件的可执行权限:
chmod +x /usr/local/bin/gitea
接下来,您需要为 Gitea 创建一个目录结构,为此运行以下命令:
sudo mkdir -p /etc/gitea
sudo mkdir -p /var/lib/gitea/{custom,data,indexers,public,log}
接下来,使用以下命令授予 Gitea 所需的权限以使其正常工作:
sudo chown -R git:git /var/lib/gitea/
sudo chown root:git /etc/gitea
sudo chmod -R 750 /var/lib/gitea/
sudo chmod 770 /etc/gitea
接下来,使用以下命令为 Gitea 创建一个 systemd 服务文件:
vim /etc/systemd/system/gitea.service
将以下代码粘贴到其中。
[Unit]
Description=Gitea
After=syslog.target
After=network.target
After=postgresql.service
[Service]
RestartSec=2s
Type=simple
User=git
Group=git
WorkingDirectory=/var/lib/gitea/
ExecStart=/usr/local/bin/gitea web -c /etc/gitea/app.ini
Restart=always
Environment=USER=git HOME=/home/git GITEA_WORK_DIR=/var/lib/gitea
[Install]
WantedBy=multi-user.target
保存并退出文件。然后使用以下命令重新加载 systemd 守护进程并启动 Gitea 服务:
sudo systemctl daemon-reload
sudo systemctl start gitea
接下来,您需要在系统重启时启用 Gitea 服务:
sudo systemctl enable gitea
接下来,使用以下命令验证 Gitea 的状态:
sudo systemctl status gitea
您应该看到以下输出:

可以看到,Gitea 默认启动并运行在 3000 端口。您可以使用以下命令验证 Gitea 端口:
netstat -tulpan | grep 3000
您应该看到如下输出:
tcp6 0 0 :::3000 :::* LISTEN 43778/gitea
第 6 步 – 访问 Gitea Web 界面
Gitea 现已启动并默认侦听端口 3000。打开浏览器并输入 https://YOURIPADDRESS:3000。
接下来,填写所需的参数如下:
数据库设置
数据库类型:PostgreSQL
主机:127.0.0.1:5432
用户名:gitea
密码:输入您在创建 Postgres 角色时选择的密码。
数据库名称:giteadb< br> SSL:禁用

常规设置
站点标题:您选择的标题。
存储库根路径:/var/lib/gitea/data/repositories
Git LFS 根路径:/var/lib/gitea/ data/lfs
以用户名运行:git
SSH 服务器域:your_domain/IP
SSH 服务器端口:22
Gitea HTTP 侦听帖子:3000
Gitea 基本 URL:http://YOURIPADDRESS :3000
日志路径:/var/lib/gitea/log

在此阶段,您可以配置您的电子邮件和服务器以及第三方设置,也可以稍后进行。但是,您应该配置管理员
登录 Gitea 的用户名。因此,转到可选设置并输入管理员帐户设置详细信息并为 Gitea 创建管理员用户。

接下来,单击安装 Gitea 按钮。安装成功完成后,您将被重定向到如下页面所示的 Gitea 仪表板:

现在,您可以探索 Gitea,并从您的管理员帐户的“站点管理”选项中设置其他第三方服务,例如将 Windows 活动目录与 Gitea 集成。

第 7 步 – 设置电子邮件通知
您可以使用 Sendmail 或通过第三方电子邮件服务(例如 Amazon SES、Sendgrid)在 Gitea 中启用电子邮件通知。
要启用电子邮件通知,请使用以下命令打开 Gitea 配置文件:
vim /etc/gitea/app.in
接下来,编辑文件中的以下部分,并根据您的电子邮件设置添加以下代码。
[mailer]
ENABLED = true
FROM =
PASSWD = password
保存并退出文件并重启 Gitea 服务以应用更改:
sudo systemctl restart gitea
第 10 步 – 更新 Gitea
升级 Gitea 是一个毫不费力的过程,您只需要下载并替换 Gitea 二进制文件即可。
首先,停止 Gitea 服务:
sudo systemctl stop gitea
接下来,使用以下命令下载并安装 Gitea 二进制文件:
cd /tmp
GITEAVERSION=LATESTVERSION
wget -O gitea https://dl.gitea.io/gitea/${GITEAVERSION}/gitea-${GITEAVERSION}-linux-amd64
sudo mv gitea /usr/local/bin
sudo chmod +x /usr/local/bin/gitea
接下来,使用以下命令启动 Gitea 服务:
sudo systemctl start gitea
现在,您的 Gitea 是最新的,无需任何停机时间。
结论
恭喜!您已经在 Debian 11 上成功安装了 Gitea git 服务。您现在可以轻松地更新 Gitea 并通过网络浏览器管理您的 git 存储库。此外,如果您有任何问题,欢迎问我。