Fedora 上如何安装 gitea
Gitea 是由 Gi t支持的另一种开源,自托管版本控制系统。
Gitea用Golang编写,是可在任何平台上托管的轻量级解决方案。
换句话说就是你希望自己部署一个 Git 远程库,但是你又不想用 GitHub,GitLab 又太重,同时还收费。
配置环境
在安装 Gitea 之前,需要对你的服务器环境进行一些配置。
Git
确保你已经在服务器上安装了 Git。
使用命令: git --version
来查看安装 Git 的版本。
如果没有安装的话,可以使用:sudo dnf install git
来进行安装。
获得 Gitea 安装包
你可以到官方的下载页面中获得最新的安装包。
在当前,最新的版本为 1.16.6
运行下面的命令来获得最新的安装包:
wget -O gitea http://dl.gitea.io/gitea/1.16.6/gitea-1.16.6-linux-amd64
chmod +x gitea
创建 gitea 运行的用户
直接运行下面的命令来创建这个服务运行需要的用户。
adduser \
--system \
--shell /bin/bash \
--comment 'Git Version Control' \
--user-group\
--create-home \
--home /home/git \
git
准备 gitea 运行的目录
直接运行下面的命令来准备 gitea 运行需要的目录。
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
针对用户 git
,目录 /etc/gitea
被临时设置为可写权限了。
在完成安装后,你可以使用下面的命令:
chmod 750 /etc/gitea
chmod 640 /etc/gitea/app.ini
来修改权限为不可写的权限。
配置环境变量
设置 gitea 的环境运行变量:GITEA_WORK_DIR
使用的命令是: export GITEA_WORK_DIR=/var/lib/gitea/
拷贝程序文件
将运行需要的文件,拷贝到我们准备好的目录中。
使用的命令为:
cp gitea /usr/local/bin/gitea
运行 Gitea
在完成上面的操作后,你有 2 种方法来运行 gitea。
这 2 种方法分别为以服务方式和命令行方式。
如果你是以命令行方式运行的话,那么在你关闭控制台以后,gitea 将会停止运行,因此我们推荐使用以服务的方式来运行。
以服务方式
以服务方式的运行,请按照下面的步骤进行:
设置启动配置文件
将 gitea/gitea.service at main · go-gitea/gitea · GitHub 文件中的内容拷贝到 /etc/systemd/system/gitea.service
文件中。
随操作启动
运行下面的命令,我们可以配置服务随操作系统启动而启动。
sudo systemctl enable gitea
sudo systemctl start gitea
校验安装
Gitea 默认的启动端口是 3000。
如果你的服务器没有安装防火墙,没有配置反向代理的话,你可以通过浏览器访问服务器的 IP 地址,并且端口号是 3000。
如果你能够看到下面的界面的话,说明 Gitea 的启动已经完成了。
你需要为你的服务配置数据库服务器,并且在这个界面中完成配置就可以开始使用了。
如果你的数据库配置没有问题,并且上面的参数都填写正确的话。
就可以继续进行安装了,安装通常不需要多长时间,1 到 2 分钟就可以了。
安装成功后,你就能看到上面的界面了。
当然你还可以为你的服务器配置反向代理,开放 80 或者 443 端口以增强安全性。
- 到底应不应该使用 lombok
- Java 8 开始新增的 Optional 类 - Optional 对象中的返回
- Fedora 上如何安装 gitea
- Ubuntu 安装 NTP 服务
- 群晖(Synology)NAS 安装 Mariadb 数据库启动错误
- 美东某 IoT 公司技术流程第一轮沟通就挂了
- Node 的 cross-env 模块
- Npm 安装提示 EUNSUPPORTEDPROTOCOL 错误
- 使用 Jackson – 将字符串转换为 JsonNode 对象
- 在 Discourse 中如何使用输入对话框
- IntelliJ IDEA 中如何将 POM 中的版本号快速提出为属性
- RedHat 8 时间同步和时区修改
- JDK 8 及其后续 JDK 中 Period 和 Duration
- POM 文件中 licenses 许可证的定义
- IntelliJ IDEA 如何显示提交输入的信息历史
- 前端工程师的 caniuse
- JavaScript 数组进行拼接的函数
- JavaScript 数组元素的一些操作
- 如何理解 Java 多线程
- JavaScript 中 Array map() 方法