Centos下安装Gitea
Gitea 是一个轻量级的 DevOps 平台软件。从开发计划到产品成型的整个软件生命周期,他都能够高效而轻松的帮助团队和开发者。包括 Git 托管、代码审查、团队协作、软件包注册和 CI/CD。它与 GitHub、Bitbucket 和 GitLab 等比较类似。 Gitea 最初是从 Gogs 分支而来,几乎所有代码都已更改。
安装前准备
!> 注意:从yum源安装的git版本为1.8.3,与最新的gitea要求的版本相比有点低,需要大家自行安装高版本git
安装git
- 确保你的包管理器(YUM)是最新的,运行以下命令:
bash
sudo yum update- 安装Git的必要依赖包:
bash
sudo yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel- 获取Git最新版本的源码,可以从GitHub或者其他地方获取其最新版本的链接,然后通过wget下载:
git源代码托管地址:https://github.com/git/git/tags
bash
wget https://github.com/git/git/archive/refs/tags/v2.45.1.tar.gz- 解压下载的源码包:
bash
tar -zxf v2.45.1.tar.gz- 进入到解压后的目录
bash
cd git-*- 配置并编译安装Git:
bash
make prefix=/usr/local all
sudo make prefix=/usr/local install- 验证Git版本:
bash
git --version创建用户组与用户
bash
groupadd git && useradd git -g git创建安装目录
bash
mkdir -p /usr/local/gitea防火墙端口开放
!> 提示:如果不直接使用3000端口,使用nginx反向代理的方式,这一步可以省略
bash
fiewall-cmd --zone=public --add-port=3000/tcp --permanent
firewall-cmd --reload安装gitea
下载安装文件
进入到安装目录下载可执行文件,使用二进制文件安装
bash
cd /usr/local/gitea
wget -O gitea https://dl.gitea.com/gitea/1.21.3/gitea-1.21.3-linux-amd64修改权限 - 设置成可运行文件/授权目录权限
bash
chmod +x gitea
chown git -R /usr/local/gitea切换到运行用户执行
bash
su - git -s /bin/bash && /usr/local/gitea/gitea webgitea系统服务管理
!> 把以下配置保存到文件 /etc/systemd/system/gitea.service,注意安装目录:/usr/local/gitea/ 如果有变更,请改为实际目录
ini
[Unit]
Description = Gitea (Git with a cup of tea)
After = syslog.target
After = network.target
[Service]
RestartSec = 2s
Type = simple
User = git
Group = git
ExecStart = /usr/local/gitea/gitea web --config /usr/local/gitea/custom/conf/app.ini
Restart = always
[Install]
WantedBy = multi-user.target给予执行权限
bash
chmod +x /etc/systemd/system/gitea.service管理命令
bash
# 开机自启
systemctl enable gitea
# 启动
systemctl start gitea
# 重启
systemctl restart gitea
# 停止
systemctl stop giteaNginx 反向代理规则
推荐使用这种方式自定义域名访问
nginx
location ^~ /
{
proxy_pass http://127.0.0.1:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_http_version 1.1;
add_header X-Cache $upstream_cache_status;
}