gitea在Ubuntu安装实战记录

官方教程

使用二进制文件安装 | Gitea Documentation

数据库创建

数据库名称:ijneer-gitea-db
字符集类型:CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_bin';

二进制安装

  1. 下载安装包
wget -O gitea https://dl.gitea.com/gitea/1.26.2/gitea-1.26.2-linux-amd64
//本行必须执行(下方)
chmod +x gitea
  1. 检查服务器git环境
git --version (版本必须大于等于2.0)
  1. 创建用户git
# On Ubuntu/Debian:  
adduser \  
--system \  
--shell /bin/bash \  
--gecos 'Git Version Control' \  
--group \  
--disabled-password \  
--home /home/git \  
git
  1. 创建工作路径
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
  1. 将服务添加到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
  1. 访问
防火墙开放端口(默认3000):
sudo ufw allow 3000/tcp

访问后,根据提示填写数据库信息->初始化->创建管理员->完成并登陆。

域名代理解析

  1. 修改 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/
  1. 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; 
	} 
}
  1. DNS 域名解析
登录域名服务商后台,添加 A 记录:
	- 主机记录:`git`
	- 记录类型:A 记录
	- 记录值:你的服务器公网 IP

使用配置

  1. 关闭注册
修改:/etc/gitea/app.ini
[service]
DISABLE_REGISTRATION = true # 禁用用户注册


重启服务后生效。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值