安装Gitea服务器

本文介绍了如何在Linux服务器上快速安装预编译的Gitea,包括下载软件包、设置执行权限、创建系统服务文件,以及通过systemd启动和管理Gitea。同时,文章还提及了通过nginx进行端口转发以隐藏3000端口的配置方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

大概记录一下安装Gitea服务器过程:

安装预编译好的软件包(从源代码编译安装很慢):

在合适的目录下执行:下载,解压,增加执行权限,建立软连接。这个目录后面是Gitea工作目录,记得把该目录加到PATH变量上。

wget https://dl.gitea.com/gitea/1.19/gitea-1.19-linux-amd64.xz

xz -d gitea-1.19-linux-amd64.x

chmod +x gitea-1.19-linux-amd64

ln -s gitea-1.19-linux-amd64 gitea

检查一下安装的效果:

gitea --version
Gitea version 1.20.0+dev-32-g085a4debd built with GNU Make 4.1, go1.20.1 : bindata, sqlite, sqlite_unlock_notify

下载systemd服务启动文件:

wget https://raw.githubusercontent.com/go-gitea/gitea/main/contrib/systemd/gitea.service

修改gitea.service文件,修改主要修改下面的部分:

[Service]

User=alpha //修改成运行Gitea的用户,可以新建用户,也可以用已有的用户
Group=alpha //修改成运行Gitea的组,可以新建组,也可以用已有的组
# WorkingDirectory=/var/lib/gitea/
WorkingDirectory=/home/alpha/bin/gitea // Gitea的工作目录,上面的用户要有这个目录的读写权限,这个目录可以执行gitea web命令,从输出的日志可以看到

# ExecStart=/usr/local/bin/gitea web --config /etc/gitea/app.ini
ExecStart=/home/alpha/bin/gitea/gitea web // 启动Gitea的命令,默认端口号3000,可以执行gitea web命令,从输出的日志可以看到端口号

# Environment=USER=git HOME=/home/git GITEA_WORK_DIR=/var/lib/gitea
Environment=USER=alpha GITEA_WORK_DIR=/home/alpha/bin/gitea // 环境变量,用户要有目录权限

复制到systemd的服务目录,并启动:

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

sudo systemctl enable --now gitea.service

systemctl status gitea.service

启动之后就可以连接服务器访问了。

注意,如果在公有云上部署,需要配置安全策略,放通3000端口。

我的服务器上安装有nginx/openresty,想通过nginx转发3000端口,配置nginx.conf如下,可以免端口号3000连接,但显示的界面是纯文本的,没法用:

    upstream gitea {
        server          127.0.0.1:3000 max_fails=1 fail_timeout=2s;
        keepalive       16;
    }


   server {
        ...

        location /gitea {
                proxy_pass http://gitea/;
                proxy_redirect off;
                proxy_set_header Host $host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For  $proxy_add_x_forwarded_for;
                client_max_body_size 10m;
                client_body_buffer_size 128k;
                proxy_connect_timeout 90;
                proxy_send_timeout 90;
                proxy_read_timeout 90;
                # proxy_buffer_size 4k;
                # proxy_busy_buffers_size 64k;
                # proxy_temp_file_write_size 64k;
        }
}

参考:

玩转 Gitea | 在 Linux 上安装预编译的 Gitea 程序,配置 systemd 管理服务

Gitea——私有git服务器搭建详细教程_Baret-H的博客-优快云博客

Gitea在windows平台的安装和简单使用教程-优快云博客

### 使用Docker安装配置Gitea构建私有Git服务器 #### 验证 Docker 环境 为了确保环境准备就绪,在开始之前需确认 Docker 已经正确安装并能够正常工作。可以通过执行命令 `docker --version` 来检查 Docker 的版本信息[^1]。 #### 启动 Docker 服务 如果尚未启动 Docker 服务,则应通过如下指令开启它,并将其设定为随系统启动自动激活的服务: ```bash systemctl enable docker systemctl start docker ``` #### 获取 Gitea 官方镜像 接下来拉取官方维护的最新稳定版 Gitea Docker 镜像文件,这一步骤可通过简单的 pull 命令完成: ```bash docker pull gitea/gitea:latest ``` #### 创建持久化存储卷 考虑到数据的安全性和可移植性,建议创建专门的数据挂载点用于保存 Git 库及其他重要资料。这里假设目录名为 `/srv/docker/gitea/data`: ```bash mkdir -p /srv/docker/gitea/data ``` #### 运行 Gitea 实例 现在可以利用前面准备好的参数来部署 Gitea 容器了。下面这条命令会映射端口以及指定本地路径作为容器内的数据存放位置: ```yaml version: '3' services: gitea: image: gitea/gitea:latest container_name: gitea environment: - USER_UID=1000 - USER_GID=1000 volumes: - /srv/docker/gitea/data:/data - /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/localtime:ro ports: - "3000:3000" - "222:22" restart: unless-stopped ``` 上述 YAML 文件定义了一个完整的 Gitea 服务描述,其中包含了必要的环境变量、主机到容器间的文件夹绑定关系及对外开放的网络接口等设置项。将这段内容保存成名为 `docker-compose.yml` 的文件后,在同一目录下运行以下命令即可一键启动整个应用栈: ```bash docker-compose up -d ``` 此时访问浏览器中的 http://localhost:3000 即能看到 Gitea 初始化向导页面,按照提示逐步操作直至初始化过程结束便完成了全部安装流程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值