Gitea服务配置 for Debian/Ubuntu

Linux · 16 天前
Gitea服务配置 for Debian/Ubuntu

完整可直接使用的 Gitea systemd 服务配置**,适用于 Debian/Ubuntu 系列

此配置包含:

  • systemd 单元文件
  • Gitea 目录/权限
  • 反向代理(如你用 Nginx,可选)
  • 自启动
  • 日志行为

你只需要复制粘贴即可部署。


✅ 一、创建 Gitea 运行目录(必做)

sudo adduser \
  --system \
  --shell /bin/bash \
  --gecos 'Git Version Control' \
  --group \
  --disabled-password \
  --home /home/gitea \
  gitea

创建目录:

sudo mkdir -p /var/lib/gitea/{custom,data,log}
sudo mkdir -p /etc/gitea

权限:

sudo chown -R gitea:gitea /var/lib/gitea/
sudo chmod -R 750 /var/lib/gitea/
sudo chown root:gitea /etc/gitea
sudo chmod 770 /etc/gitea

✅ 二、下载 Gitea 主程序

wget -O /usr/local/bin/gitea https://dl.gitea.com/gitea/1.22.3/gitea-1.22.3-linux-amd64
chmod +x /usr/local/bin/gitea

✅ 三、创建 systemd 服务文件(关键步骤)

创建文件:

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

写入以下内容:

[Unit]
Description=Gitea (Git with a cup of tea)
After=network.target
After=mysqld.service
After=postgresql.service
After=redis-server.service

[Service]
RestartSec=2s
Type=simple
User=gitea
Group=gitea
WorkingDirectory=/var/lib/gitea/
ExecStart=/usr/local/bin/gitea web --config /etc/gitea/app.ini
Restart=always
Environment=GITEA_WORK_DIR=/var/lib/gitea/

# 限制资源(可选)
LimitNOFILE=1048576

[Install]
WantedBy=multi-user.target

保存退出。


✅ 四、创建 Gitea 配置文件(首次为空)

sudo touch /etc/gitea/app.ini
sudo chmod 660 /etc/gitea/app.ini
sudo chown gitea:gitea /etc/gitea/app.ini

启动后 Gitea 会自动填充配置。


✅ 五、启动 Gitea

sudo systemctl daemon-reload
sudo systemctl enable --now gitea

查看状态:

systemctl status gitea

无报错则成功。


✔ 六、浏览器访问 Gitea

http://你的服务器IP:3000

--马龙
需要安装mysql 这次安装mariadb

apt update
apt install -y mariadb-server
systemctl enable --now mariadb

安装完成进入数据库配置

mariadb

ALTER USER 'root'@'localhost' IDENTIFIED BY '54ml45re';
FLUSH PRIVILEGES;

创建项目数据库 --gitea
CREATE DATABASE gitea DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'gitea'@'localhost' IDENTIFIED BY '54ml45re';
GRANT ALL PRIVILEGES ON gitea.* TO 'gitea'@'localhost';
FLUSH PRIVILEGES;

--dms
CREATE DATABASE dms DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'dms'@'localhost' IDENTIFIED BY '54ml45re';
GRANT ALL PRIVILEGES ON dms.* TO 'dms'@'localhost';
FLUSH PRIVILEGES;

出现安装页面
输入数据库配置信息

一直卡在正在安装的页面

查看错误的日志
journalctl -u gitea -n 30 --no-pager

修改gitea 用户 home

getent passwd gitea

usermod -d /var/lib/gitea gitea
mkdir -p /var/lib/gitea/.ssh
chown -R gitea:gitea /var/lib/gitea
chmod 700 /var/lib/gitea/.ssh

systemctl restart gitea

进入gitea 第一次登录是创建一个管理员账号。

debian mysql git gitea mariadb