Gitea 安装和配置教程
Gitea 是一个轻量级的 Git 服务器,支持版本控制、团队协作等功能。在这篇教程中,我们将通过详细的步骤指导你如何在 Linux 服务器上安装和配置 Gitea,解决常见问题并给出解决方案。
1️⃣ 安装 Gitea
🛠️ 安装前准备
-
更新系统 :
首先,确保系统是最新的,运行以下命令更新系统:
sudo dnf update -y -
安装依赖包 :
安装必要的依赖包,如 Git 和 curl。
sudo dnf install -y git curl
📥 下载 Gitea 安装包
-
你可以从 Gitea 官方网站 下载适合你操作系统的 Gitea 安装包。
wget -O gitea https://dl.gitea.io/gitea/1.20.6/gitea-1.20.6-linux-amd64 -
赋予执行权限:
chmod +x gitea
🛠️ 创建 Gitea 用户和目录
Gitea 通常作为 git 用户运行,因此我们需要为其创建一个系统用户,并配置相关目录。
创建 git 用户
sudo adduser --system --shell /bin/bash --gecos 'Git Version Control' --group --disabled-password --home /home/git git
创建 Gitea 所需目录
sudo mkdir -p /var/lib/gitea/{custom,data,log}
修改目录权限
sudo chown -R git:git /var/lib/gitea/
📝 配置 Gitea 服务
-
在
/etc/systemd/system/目录下创建 Gitea 服务文件,让 Gitea 在系统启动时自动启动:sudo vi /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 /var/lib/gitea/custom/app.ini [Install] WantedBy=multi-user.target -
重新加载系统服务配置:
sudo systemctl daemon-reload
🚀 启动 Gitea
-
启动并设置 Gitea 服务开机自启:
sudo systemctl enable gitea sudo systemctl start gitea -
查看 Gitea 服务状态:
sudo systemctl status gitea
2️⃣ 配置 Gitea
-
通过浏览器访问 Gitea 的 Web UI:
http://<your_server_ip>:3000
初次访问时,你会看到 Gitea 的安装页面,按照以下步骤进行配置:
- 数据库类型 :选择 MySQL 或 SQLite。
- 数据库连接 :如果使用 MySQL,输入以下信息:
- 数据库名称:
gitea - 用户名:
root - 密码:你设置的密码
- 数据库名称:
- 应用程序设置:配置 Gitea 管理员账户等信息。
-
完成后,点击 "安装 Gitea",Gitea 会自动创建数据库并完成初始化。
3️⃣ 常见问题与解决方案
🔥 问题1:Gitea 服务无法启动
错误信息:
Failed to start Gitea: No such file or directory
🧰 解决方案:
-
确保
/etc/systemd/system/gitea.service文件中的路径正确,特别是ExecStart中的路径应该指向正确的 Gitea 可执行文件(例如/home/git/gitea)。 -
重新加载系统服务并重启 Gitea:
sudo systemctl daemon-reload
sudo systemctl restart gitea
🔥 问题2:Gitea 页面无法访问(端口 3000 不可用)
错误信息:
Connection refused
🧰 解决方案:
-
检查防火墙配置:确保防火墙没有阻止端口 3000。
sudo firewall-cmd --permanent --add-port=3000/tcp
sudo firewall-cmd --reload
-
检查 Gitea 配置:确保 Gitea 配置文件中的端口设置正确。
sudo vi /var/lib/gitea/custom/conf/app.ini
找到并确认以下配置项:
server
HTTP_PORT = 3000
ROOT_URL = http://<your_server_ip>:3000
🔥 问题3:Gitea 无法连接数据库
错误信息:
Error: database connection failed
🧰 解决方案:
-
检查数据库配置 :确保
app.ini文件中的数据库连接配置正确。sudo vi /var/lib/gitea/custom/conf/app.ini
对于 MySQL,配置应如下:
database
DB_TYPE = mysql
HOST = 127.0.0.1:3306
NAME = gitea
USER = root
PASSWD = your_password
-
检查 MySQL 状态:确保 MySQL 服务已启动,并且数据库连接正常。
sudo systemctl status mysqld
-
查看数据库日志:如果问题依旧,查看 Gitea 或 MySQL 的日志以获取更多信息。
sudo tail -f /var/lib/gitea/log/gitea.log
🔥 问题4:权限问题导致 Gitea 无法正常工作
错误信息:
Permission denied
🧰 解决方案:
-
检查目录权限:确保 Gitea 的数据和日志目录具有正确的权限:
sudo chown -R git:git /var/lib/gitea/
sudo chmod -R 750 /var/lib/gitea/
-
确保服务用户正确 :确保 Gitea 是以
git用户身份运行的。sudo systemctl status gitea
4️⃣ 总结
通过以上步骤,你已经成功安装和配置了 Gitea 作为 Git 服务器。常见问题的解决方法包括:
- 服务无法启动:检查路径和权限设置,重新加载服务。
- 页面无法访问:确保防火墙配置正确,并检查端口和配置文件。
- 数据库连接失败:检查数据库配置和数据库服务状态。
- 权限问题:确保 Gitea 目录的权限正确,并且 Gitea 服务以正确的用户身份运行。