CentOS7搭建Gitea过程

本文档详细介绍了在CentOS7系统中如何一步步搭建Gitea,包括安装MySQL5以上版本、git以及Gitea本身,最后通过访问特定地址完成注册用户、创建仓库库和添加协作者的操作。

Gitea搭建前的准备工作

想要搭建gitea,首先,你需要一个服务器,这里使用的是腾讯云CentOS7系统服务器,服务器创建过程不写,直接去腾讯云买就行。

第一步:安装MySQL5以上版本

进入官网查看最新版本
官网地址:http://dev.mysql.com/downloads/repo/yum/

下载最新版本

wget http://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm

安装Mysql

<think>我们正在使用CentOS 8系统,目标是通过Gitea搭建一个Git仓库,并实现代码的上传和同步操作。根据提供的引用信息,我们可以整合步骤,注意引用[1]是关于Git基本提交流程的,引用[2]是关于在CentOS下安装Gitea的具体步骤(但版本较旧),引用[3]提到了Gitlab和Gitea的对比。由于用户明确要求使用Gitea,我们将以Gitea为重点。 步骤概述: 1. 安装必要的依赖(如Git) 2. 创建git用户 3. 下载并安装Gitea(选择最新稳定版本) 4. 配置Gitea服务 5. 配置数据库(SQLite3, MySQL, PostgreSQL等,这里以SQLite3为例,简单) 6. 配置Nginx反向代理(可选,但推荐用于生产环境) 7. 启动Gitea服务 8. 通过Web界面完成安装 9. 创建仓库并配置SSH密钥 10. 上传代码并同步 注意:由于CentOS 8默认的包管理器为dnf,且已经停止维护,我们需要确保使用正确的源。 详细步骤: 1. 更新系统并安装依赖 ``` sudo dnf update -y sudo dnf install -y git ``` 2. 创建git用户(Gitea建议以独立用户运行) ``` sudo adduser --system --shell /bin/bash --comment 'Git Version Control' --user-group --create-home git sudo su - git ``` 3. 下载Gitea(请访问Gitea的GitHub发布页面获取最新版本链接,例如:https://github.com/go-gitea/gitea/releases) 这里我们选择当前最新稳定版本v1.17.2(请根据实际情况调整) ``` wget -O gitea https://dl.gitea.io/gitea/1.17.2/gitea-1.17.2-linux-amd64 chmod +x gitea ``` 4. 创建必要的目录结构并设置权限 ``` mkdir -p /home/git/gitea/custom /home/git/gitea/data /home/git/gitea/log chown -R git:git /home/git/gitea ``` 5. 退出git用户(按Ctrl+D),然后创建系统服务文件 ``` sudo vi /etc/systemd/system/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=/home/git/gitea ExecStart=/home/git/gitea/gitea web --config /home/git/gitea/custom/conf/app.ini Restart=always Environment=USER=git HOME=/home/git [Install] WantedBy=multi-user.target ``` 6. 启动Gitea服务并设置开机启动 ``` sudo systemctl enable --now gitea ``` 7. 配置防火墙(如果启用了firewalld) ``` sudo firewall-cmd --permanent --add-port=3000/tcp sudo firewall-cmd --reload ``` 8. 此时,可以通过浏览器访问 http://服务器IP:3000 进行安装配置。 在安装页面,我们需要配置: - 数据库设置:可以选择SQLite3(简单)、MySQL或PostgreSQL。这里使用SQLite3,数据文件会存放在`/home/git/gitea/data/gitea.db`。 - 应用常规设置:修改域名、SSH端口等(根据实际情况)。 - 可选:配置管理员账户。 9. 安装完成后,登录Gitea,创建新仓库。 10. 配置本地Git客户端(在开发机器上): - 生成SSH密钥(如果还没有): ``` ssh-keygen -t ed25519 -C "your_email@example.com" ``` - 将公钥(`~/.ssh/id_ed25519.pub`)添加到Gitea的用户设置中。 11. 上传代码到仓库(以用户git的操作为例,但通常在开发机器上操作): 假设我们有一个本地项目,要推送到Gitea仓库。 ``` git init git remote add origin git@<服务器IP或域名>:<用户名>/<仓库名>.git git add . git commit -m "Initial commit" git push -u origin master ``` 12. 同步仓库:当其他人推送了更改,可以通过`git pull`来同步。 注意:如果使用自定义SSH端口(非22),需要在SSH配置中指定。例如,如果Gitea的SSH端口是2222,则需要在`~/.ssh/config`中添加: ``` Host gitea-server Hostname <服务器IP或域名> Port 2222 User git ``` 然后远程URL改为:`git@gitea-server:<用户名>/<仓库名>.git` 以上就是在CentOS 8上安装配置Gitea并上传同步代码的完整步骤。 根据引用[1]中关于Git提交流程的说明,我们也可以看到基本步骤是类似的:初始化、添加远程、提交、推送。 引用[2]中的安装步骤较旧,我们使用了更新的版本,并且采用了systemd服务管理。 引用[3]中比较了Gitea和Gitlab,用户选择了Gitea,所以我们按照Gitea的安装进行。 如果遇到问题,可以检查Gitea的日志:`/home/git/gitea/log/gitea.log` 相关问题: 1. 如何将Gitea配置为使用MySQL数据库? 2. 如何通过Nginx配置HTTPS访问Gitea? 3. Gitea的备份和恢复步骤是什么? 4. 如何升级Gitea到新版本? 5. 如何在Gitea中设置Webhook实现CI/CD集成?</think>### CentOS 8 安装配置 Gitea 教程 #### 一、安装前准备 1. **更新系统** ```bash sudo dnf update -y ``` 2. **安装依赖** ```bash sudo dnf install -y git wget sqlite ``` #### 二、创建专用用户 ```bash sudo adduser --system --shell /bin/bash --comment 'Git Version Control' --user-group --create-home git sudo passwd git # 设置密码(用于SSH操作) ``` #### 三、安装 Gitea 1. **下载最新版**(以 v1.17.2 为例) ```bash sudo su - git wget -O gitea https://dl.gitea.io/gitea/1.17.2/gitea-1.17.2-linux-amd64 chmod +x gitea ``` 2. **创建目录结构** ```bash mkdir -p gitea/{custom,data,log} ``` #### 四、配置系统服务 1. **创建服务文件** `/etc/systemd/system/gitea.service` ```ini [Unit] Description=Gitea After=network.target [Service] User=git Group=git WorkingDirectory=/home/git ExecStart=/home/git/gitea web --config /home/git/gitea/custom/conf/app.ini Restart=always [Install] WantedBy=multi-user.target ``` 2. **启动服务** ```bash sudo systemctl daemon-reload sudo systemctl enable --now gitea ``` #### 五、防火墙配置 ```bash sudo firewall-cmd --permanent --add-port=3000/tcp sudo firewall-cmd --reload ``` #### 六、初始化配置 1. 访问 `http://服务器IP:3000` 进入安装向导 2. **关键配置项**: - 数据库类型:SQLite3(默认) - 应用URL:`http://服务器IP:3000/` - SSH服务端口:22(若冲突可改为2222) - 管理员账户:设置用户名/密码 #### 七、上传与同步代码 1. **创建本地仓库** ```bash mkdir myproject && cd myproject git init touch README.md ``` 2. **关联远程仓库**(在Gitea网页创建空仓库后) ```bash git remote add origin http://<服务器IP>:3000/<用户名>/<仓库名>.git ``` 3. **提交与推送** ```bash git add . git commit -m "初始提交" git push -u origin master # 首次推送需输入Gitea账号密码 ``` 4. **同步更新** ```bash git pull origin master # 获取远程更新 ``` #### 八、SSH密钥认证(推荐) 1. **生成密钥** ```bash ssh-keygen -t ed25519 -C "your_email@example.com" ``` 2. **添加公钥到Gitea** - 复制 `~/.ssh/id_ed25519.pub` 内容 - 在Gitea: **用户设置 > SSH密钥** 中添加 3. **修改远程URL** ```bash git remote set-url origin git@<服务器IP>:<用户名>/<仓库名>.git ``` > **注意**:若SSH端口非22,需在 `~/.ssh/config` 添加: > ```config > Host gitea > Hostname <服务器IP> > Port <自定义端口> > User git > ``` [^1]: 参考Git基础操作流程 [^2]: Gitea二进制安装方法 [^3]: 轻量级Git服务对比 --- ### 相关问题 1. **如何备份和恢复Gitea数据?** - 备份:`gitea dump` 命令生成zip包 - 恢复:解压备份文件到新实例的相同路径 2. **如何通过Nginx配置HTTPS访问Gitea?** - 需申请SSL证书,配置反向代理到`127.0.0.1:3000` 3. **Gitea如何集成CI/CD工具?** - 通过Webhook触发Jenkins/Drone等工具 4. **如何升级Gitea版本?** - 替换二进制文件 → 重启服务 → 运行`gitea doctor`检查 5. **仓库过大导致推送失败怎么解决?** - 调整Git配置:`git config --global http.postBuffer 524288000`
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值