如何在 Debian 12 上安装 Gitea

2023年 10月 19日 95.3k 0

Gitea是一种开源的Git服务,为管理存储库和协作软件开发提供了强大而通用的解决方案。其轻巧的设计与用户友好的 Web 界面相结合,使其成为寻求完全控制其代码的个人和小型团队的绝佳选择。

Gitea_Logo

在 Debian 12 书虫上安装 Gitea

第 1 步。在我们安装任何软件之前,通过在终端中运行以下命令来确保您的系统是最新的非常重要:apt

sudo apt update
sudo apt upgrade

此命令更新软件包列表并将已安装的软件包升级到最新版本。

第 2 步。安装必要的依赖项。

要为 Gitea 奠定基础,您需要一些基本软件包。其中包括Git,MariaDB和Go。

  • 吉特

通过执行以下命令安装 Git:

sudo apt install git
  • 玛丽亚数据库

MariaDB充当Gitea的数据库后端。安装它并采取额外的步骤来保护数据库:

sudo apt install mariadb-server
sudo mysql_secure_installation

构建 Gitea 需要 Go 编程语言。像这样安装它:

sudo apt install golang-go

第 3 步。为 Gitea 创建专用系统用户。

出于安全原因,明智的做法是为Gitea创建一个专用的系统用户。这会将其操作与系统的其余部分隔离开来:

sudo adduser --system --group --disabled-password --shell /bin/bash git

第 4 步。为 Gitea 设置 MySQL 数据库。

现在,让我们准备 MariaDB 来托管 Gitea 的数据库。首先,以根用户身份登录:

sudo mysql -u root -p

通过执行以下 SQL 命令为 Gitea 创建数据库和用户。替换为您选择的强密码:'your_strong_password'

CREATE DATABASE gitea;
CREATE USER 'gitea'@'localhost' IDENTIFIED BY 'your_strong_password';
GRANT ALL PRIVILEGES ON gitea.* TO 'gitea'@'localhost';
FLUSH PRIVILEGES;
EXIT;

第5步。在 Debian 12 上安装 Gitea。

首先,使用以下命令克隆 Gitea 存储库:

git clone https://github.com/go-gitea/gitea

构建吉特:

cd gitea
make build

这将从源代码编译 Gitea。生成的二进制文件将位于目录中。gitea

第 6 步。将 Gitea 作为服务运行

要将 Gitea 作为服务运行,您可以使用 .通过运行以下命令为 Gitea 创建一个服务单元文件:systemdsystemd

sudo nano /etc/systemd/system/gitea.service

将以下内容粘贴到文件中,并相应地修改路径:

[Unit]
Description=Gitea (Git with a cup of tea)

[Service]
ExecStart=/path/to/your/gitea executable web
Restart=always
User=git
Group=git
WorkingDirectory=/path/to/your/gitea directory

[Install]
WantedBy=multi-user.target

创建服务单元后,启用并启动 Gitea 服务:systemd

sudo systemctl enable gitea
sudo systemctl start gitea

步骤 7.使用 nginx 将 Gitea 配置为反向代理。

如果您没有安装 Nginx,则可以使用以下方法:

sudo apt install nginx

接下来,您将创建一个 Nginx 配置文件来充当 Gitea 的反向代理。在 为 Gitea 创建一个新的 Nginx 站点配置文件。/etc/nginx/sites-available/gitea

sudo nano /etc/nginx/sites-available/gitea

在此文件中,您将为 Gitea 定义服务器块。请务必替换为您的实际域或 IP 地址。此外,如果您将 Gitea 配置为在不同的端口上运行,请调整指令。your_domain.comproxy_pass

server {
    listen 80;
    server_name your_domain.com;

    location / {
        proxy_pass http://127.0.0.1:3000; # Assuming Gitea runs on port 3000
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

创建 Nginx 配置后,创建一个符号链接以启用站点:

sudo ln -s /etc/nginx/sites-available/gitea /etc/nginx/sites-enabled/

测试 Nginx 配置是否存在语法错误:

nginx -t

如果未报告任何错误,请重新加载 Nginx 以应用新配置:

sudo systemctl reload nginx

第8步。配置防火墙。

允许端口 80 上的传入流量,这是 Nginx 用于 HTTP 流量的默认端口:

sudo ufw allow 80/tcp

如果您将SSL / TLS与Nginx一起使用,请允许端口443上的传入流量,这是Nginx用于HTTPS流量的默认端口:

sudo ufw allow 443/tcp

启用防火墙:

sudo ufw enable

第9步。访问 Gitea 网页界面。

打开您的 Web 浏览器并导航到(替换为您的实际域或 IP 地址)以访问您的 Gitea 实例。您应该会看到Gitea网络界面。http://your_domain.comyour_domain.com

gitea-install

第10步。使用Let’s Encrypt SSL保护Gitea(可选)

为了增强安全性,您可以使用 Let’s Encrypt SSL 保护您的 Gitea 实例。此步骤是可选的,但强烈建议用于加密传输中的数据。以下是简要概述:

sudo apt install certbot python3-certbot-nginx

请求让我们加密证书:

sudo certbot --nginx

感谢您使用本教程在 Debian 12 书虫上安装最新版本的 Gitea。如需其他帮助或有用信息,我们建议您查看 Gitea 官方网站。

相关文章

服务器端口转发,带你了解服务器端口转发
服务器开放端口,服务器开放端口的步骤
产品推荐:7月受欢迎AI容器镜像来了,有Qwen系列大模型镜像
如何使用 WinGet 下载 Microsoft Store 应用
百度搜索:蓝易云 – 熟悉ubuntu apt-get命令详解
百度搜索:蓝易云 – 域名解析成功但ping不通解决方案

发布评论