当前位置: 首页 > news >正文

Ubuntu 部署 Gitea 代码仓库

准备工作: Ubuntu 默认是没有root权限的,先提前获取root权限

sudo -i

进入指定目录

cd /usr/local/bin/

下载Gitea的二进制文件

wget -O gitea https://dl.gitea.com/gitea/1.25.5/gitea-1.25.5-linux-amd64

添加操作权限

sudo chmod +x gitea

检查是否安装 Git。要求 Git 版本 >= 2.0。

git --version

创建一个系统用户 gitea, 用于运行 Gitea 服务

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

创建 systemd 服务文件

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

写入gitea.service配置内容

[Unit]
Description=Gitea (Git with a cup of tea)
After=syslog.target
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=/var/lib/gitea GITEA_WORK_DIR=/var/lib/gitea[Install]
WantedBy=multi-user.target

服务设置与启动

# 重新加载 systemd
sudo systemctl daemon-reload # 设置开机启动
sudo systemctl enable gitea # 启动 Gitea
sudo systemctl start gitea# 启动服务
sudo systemctl start gitea.service# 停止服务
sudo systemctl stop gitea.service# 查看状态
sudo systemctl status gitea.service# 日志检查
sudo journalctl -u gitea.service

使用Mysql作为储存仓库,创建数据库与gitea账户

CREATE DATABASE giteadb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'gitea'@'localhost' IDENTIFIED BY 'gitea@123';
GRANT ALL PRIVILEGES ON giteadb.* TO 'gitea'@'localhost';
FLUSH PRIVILEGES;

访问 http://<服务器IP>:3000/ ,如:http://192.168.88.21:3000/ 进行配置
image

注册管理员gitea的账号
image

创建成功后即可使用。

http://www.jsqmd.com/news/538180/

相关文章:

  • 聊聊靠谱的防爆液压升降货梯厂家,上海至美升降设备口碑咋样? - myqiye
  • 基于深度学习的桥梁健康状态监测与预警系统设计与实现
  • 大屏地图显示太丑?手把手教你用GeoJSON编辑器优化ECharts海南地图(含南海诸岛)
  • LFM2.5-1.2B-Thinking-GGUF保姆级教程:低配CPU/GPU设备本地部署指南
  • Qwen3-VL-8B多轮对话效果展示:基于历史图像的上下文深度推理
  • 毕业设计数据分析效率提升实战:从数据清洗到可视化流水线优化
  • 字节跳动DeerFlow 2.0震撼开源:46k+ Star的超级智能体框架,让AI真正“动手做事“
  • 经典游戏无法运行?DDrawCompat让老游戏在新系统重生
  • Janus-Pro-7B企业级应用:与Dify平台集成构建智能工作流
  • 2026年比较好的长沙APP软件开发/长沙商城软件开发/长沙定制软件开发/长沙外包软件开发综合实力推荐平台 - 行业平台推荐
  • 人工客服与智能客服统计学:从数据建模到实战避坑指南
  • 聊2026年杭州附近处理劳务纠纷经验丰富且胜诉率高的知名律师事务所 - 工业推荐榜
  • 电商ERP系统物料编码实战:从规则制定到Excel自动生成(附模板)
  • 黑马点评毕业设计效率提升实战:从单体到高并发架构的演进路径
  • RWKV7-1.5B-g1a效果实测:在金融术语、IT文档、政务公文三类文本中的生成鲁棒性
  • 如何用Koodo Reader语音朗读功能实现高效碎片化阅读?
  • 计算机本科生毕业设计选题效率提升指南:从选题迷茫到高效落地的工程化路径
  • 专科ENSP毕设实战:基于eNSP的校园网高可用架构设计与配置避坑指南
  • Hunyuan vs Google Translate:开源模型能否超越?评测
  • 打离婚关系律师事务所,哪家口碑好能保障权益 - myqiye
  • 2026年3月河北防火板/电缆防火涂料/防火泥/防火堵料厂家哪家好 - 2026年企业推荐榜
  • 华为光猫配置解密实战指南:从加密原理到跨型号适配的技术突破
  • OpenClaw数据安全方案:百川2-13B本地化处理敏感客户信息
  • Windows 10/11 上 Docker 部署 Milvus 与 Attu 图形化界面全攻略
  • ChatTTS下载zip文件实战指南:从原理到避坑
  • 文旅适老化成刚需!巨有科技适老数智方案,破解老年游客出行难题
  • 51单片机学习日志-3
  • 高效部署GTA V菜单:YimMenu完整配置与实战指南
  • 大数据核心知识全解(零基础到Hadoop专家路线)【20260324】001篇
  • Excel如何锁定部分单元格不让编辑?保护重要数据,一招搞定