官方教程
使用二进制文件安装 | Gitea Documentation
数据库创建
数据库名称:ijneer-gitea-db
字符集类型:CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_bin';
二进制安装
- 下载安装包
wget -O gitea https://dl.gitea.com/gitea/1.26.2/gitea-1.26.2-linux-amd64
//本行必须执行(下方)
chmod +x gitea
- 检查服务器git环境
git --version (版本必须大于等于2.0)
- 创建用户git
# On Ubuntu/Debian:
adduser \
--system \
--shell /bin/bash \
--gecos 'Git Version Control' \
--group \
--disabled-password \
--home /home/git \
git
- 创建工作路径
mkdir -p /var/lib/gitea/{custom,data,log}
chown -R git:git /var/lib/gitea/
chmod -R 750 /var/lib/gitea/
mkdir /etc/gitea
chown root:git /etc/gitea
chmod 770 /etc/gitea
配置工作路径变量
export GITEA_WORK_DIR=/var/lib/gitea/
复制安装包(二进制文件)到全局目录
cp gitea /usr/local/bin/gitea
- 将服务添加到linux服务中
创建服务文件:
sudo vim /etc/systemd/system/gitea.service
插入内容(默认,可以根据实际调整):
[Unit]
Description=Gitea (Git with a cup of tea)
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=/home/git GITEA_WORK_DIR=/var/lib/gitea
[Install]
WantedBy=multi-user.target
将服务添加到自启动:
sudo systemctl enable gitea
启动服务或重启服务:
sudo systemctl start gitea
sudo systemctl restart gitea
- 访问
防火墙开放端口(默认3000):
sudo ufw allow 3000/tcp
访问后,根据提示填写数据库信息->初始化->创建管理员->完成并登陆。
域名代理解析
- 修改 Gitea 配置 /etc/gitea/app.ini
打开配置文件:`nano /etc/gitea/app.ini`
找到 `[server]` 区块,完整域名标准配置
[server]
# 基础域名,不带http/https、不带端口
DOMAIN = git.example.com
# SSH克隆时显示的域名,和DOMAIN保持一致即可
SSH_DOMAIN = git.example.com
# 对外完整访问地址,末尾必须加 /
ROOT_URL = https://git.example.com/
# 监听本机127.0.0.1,只允许Nginx反向代理访问,不暴露公网端口
HTTP_ADDR = 127.0.0.1
HTTP_PORT = 3000
# 开启反向代理支持,必须打开
ENABLE_REVERSE_PROXY = true
# 自动识别代理传递的域名与协议
PUBLIC_URL_DETECTION = auto
# 本地内部访问地址(worker、内部服务调用)
LOCAL_ROOT_URL = http://127.0.0.1:3000/
- Nginx 反向代理配置
新建站点文件 `nano /etc/nginx/sites-available/git`
server {
listen 80;
server_name git.example.com;
# HTTP强制跳转HTTPS
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name git.example.com;
# SSL证书(certbot自动生成)
ssl_certificate /etc/letsencrypt/live/git.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/git.example.com/privkey.pem;
# 代理核心:传递域名、真实IP、协议
location / {
proxy_pass http://127.0.0.1:3000;
proxy_http_version 1.1;
proxy_set_header Host $host;
# 传递访问域名(关键!Gitea靠这个解析域名)
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
# 传递http/https协议 # 支持大文件上传
client_max_body_size 200M;
}
}
- DNS 域名解析
登录域名服务商后台,添加 A 记录:
- 主机记录:`git`
- 记录类型:A 记录
- 记录值:你的服务器公网 IP
使用配置
- 关闭注册
修改:/etc/gitea/app.ini
[service]
DISABLE_REGISTRATION = true # 禁用用户注册
重启服务后生效。

4683

被折叠的 条评论
为什么被折叠?



