前言
在之前的文章 《本地部署简单的 Git-LFS 服务》介绍了如何在本地部署 LFS 服务,该方法只适合个人开发。现在需要与他人协同进行开发,在本地部署的 LFS 服务已经无法满足当前的需求。
因此选择购买阿里云云服务器部署 Gitea 服务,并且不额外部署数据库服务,在没有域名的情况下启用 https。
NOTE服务器镜像:Debian 11.3
Gitea 版本:1.23.8
系统与环境准备
更新系统软件包
sudo apt update && sudo apt upgrade -y检查是否安装 Git。要求 Git 版本 >= 2.0。没有安装 Git 的话通过 apt 进行安装。
git --versionsudo apt install git -y创建用户
sudo adduser \ --system \ --shell /bin/bash \ --gecos 'Git Version Control' \ --group \ --disabled-password \ --home /home/git \ git安装 Gitea
下载二进制文件
在这里查看 Gitea 的所有版本。
wget -O gitea https://dl.gitea.com/gitea/1.23.8/gitea-1.23.8-linux-amd64sudo chown root:root giteasudo chmod -x giteasudo mv gitea /usr/local/bin/gitea创建工作文件夹
mkdir -p /var/lib/gitea/{custom,data,log}chown -R git:git /var/lib/gitea/chmod -R 750 /var/lib/gitea/mkdir /etc/giteachown root:git /etc/giteachmod 770 /etc/gitea以 service 方式运行
创建 systemd 服务文件:
sudo nano /etc/systemd/system/gitea.service在文件中填写以下内容:
[Unit]Description=Gitea (Git with a cup of tea)After=syslog.targetAfter=network.target
[Service]RestartSec=2sType=simpleUser=gitGroup=gitWorkingDirectory=/var/lib/gitea/ExecStart=/usr/local/bin/gitea web --config /etc/gitea/app.iniRestart=alwaysEnvironment=USER=git HOME=/home/git GITEA_WORK_DIR=/var/lib/gitea
[Install]WantedBy=multi-user.target服务文件编辑完成后,重新加载服务单元文件、设置 Gitea 服务开机自启、启动 Gitea 服务:
sudo systemctl daemon-reloadsudo systemctl enable giteasudo systemctl start gitea进行 Web 安装
这时我们还无法访问 Gitea 页面,需要在阿里云服务器的防火墙设置里添加规则,开放 Gitea 默认的 3000 端口。

设置完成后就可以通过 http://your-server-ip:3000 访问 Gitea 的 Web 安装界面。
因为是个人使用,数据库选择 Gitea 内置的 SQLite3。

一般设置根据个人需求进行填写。

TIP启用检查更新并不会自动进行版本更新,只是在访问网页时会提示用户有更新的版本。
因为我们只是自己使用,为确保隐私,我们在“可选设置>服务器和第三方服务设置”中勾选禁止用户自主注册、启用页面访问限制。之后使用管理员账户在“管理后台>身份及认证>账户管理”中创建普通账户使用。
其它设置
配置文件权限设为只读
在之前的步骤中为了使 Web 安装程序可以创建并写入配置文件,我们为 /etc/gitea 路径授予了组外用户 git 写入权限。在安装完成后需要将权限设为只读。
sudo chmod 750 /etc/giteasudo chmod 640 /etc/gitea/app.ini开启 https 并设置自签名证书
生成自签名证书:
sudo openssl req -x509 -nodes -days 365 \ -newkey rsa:2048 \ -keyout /etc/gitea/gitea.key \ -out /etc/gitea/gitea.crt \ -subj "/CN=your-server-ip"修改证书文件的所有权与权限:
sudo chown git:git /etc/gitea/{gitea.key,gitea.crt}sudo chmod 440 /etc/gitea/{gitea.key,gitea.crt}编辑配置文件 /etc/gitea/app.ini:
[server]PROTOCOL = httpsCERT_FILE = /etc/gitea/gitea.crtKEY_FILE = /etc/gitea/gitea.key修改完成后重启 Gitea 服务:
sudo systemctl restart gitea重启服务后就可以通过 https://your-server-ip:3000 访问,浏览器会警告“此连接不安全”,可以手动信任这个证书。
修改 RSA 公钥的最小位数
自 2020 年后 OpenSSH 8.0 及以上版本成为主流,RSA 密钥的公钥默认长度为 3072 位,出于安全性考虑 2048 位 RSA 已逐步不被推荐。如果出于某些原因不得不接着使用 2048 位 RSA,则需要在配置文件中添加如下配置:
[ssh.minimum_key_sizes]RSA = 2047