RockyLinux 8 安装 Gitea 代码托管服务

Gitea 是一个用 Go 语言编写的免费开源 Git 存储库托管平台。 它允许我们使用具有其他功能的版本控制软件,包括问题跟踪、拉取请求、用户管理、通知等。 它与 GitHub、Bitbucket 和 Gitlab 非常相似,可以在 Linux、macOS、Windows 和 ARM 上运行。 如果我们正在寻找一个开源、轻量级、自托管的代码托管平台,那么 Gitea 是我们的最佳选择。

在这篇文章中,我们将向我们展示 Rocky Linux 8 上安装 Gitea。

先决条件

  • 在 云平台上运行 Rocky Linux 8 的服务器
  • 在我们的服务器上配置的 root 密码

第 1 步 – 创建 云服务器

首先,登录到我们的 云服务器。 创建一个新服务器,选择 Rocky Linux 8 作为至少 2GB RAM 的操作系统。 通过 SSH 连接到我们的云服务器并使用页面顶部突出显示的凭据登录。

登录到服务器后,运行以下命令以使用最新的可用软件包更新基本系统。

dnf update -y

第 2 步 – 安装和配置 MariaDB 数据库

Gitea 使用 MariaDB、MySQL 或 PostgreSQL 作为数据库后端,因此必须在我们的服务器上安装其中一种数据库软件解决方案。

首先,使用以下命令安装所有必需的依赖项:

dnf install git unzip gnupg2 nano wget -y

安装完所有依赖项后,运行以下命令安装 MariaDB:

dnf install mariadb-server -y

接下来,使用以下命令启动并启用 MariaDB 服务:

systemctl start mariadb
systemctl enable mariadb

接下来,我们需要为 Gitea 创建一个数据库和用户。

首先,使用以下命令登录 MariaDB shell:

mysql

登录后,使用以下命令创建数据库和用户:

CREATE DATABASE gitea CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_unicode_ci';
GRANT ALL ON gitea.* TO 'gitea'@'localhost' IDENTIFIED BY 'password';

接下来,使用以下命令刷新权限并退出 MariaDB shell:

FLUSH PRIVILEGES;
EXIT;

接下来,编辑 MariaDB 配置文件:

nano /etc/my.cnf.d/mariadb-server.cnf

在该行下方添加以下行 [mysqld]:

innodb_file_format = Barracuda
innodb_large_prefix = 1
innodb_default_row_format = dynamic

保存并关闭文件,然后重新启动 MariaDB 服务以应用更改:

systemctl restart mariadb

第 3 步 – 安装和配置 Gitea

首先,使用以下命令创建一个专用用户来运行 Gitea:

useradd --system --shell /bin/bash --comment 'Git Version Control' --create-home --home /home/git  git

接下来,使用以下命令下载最新版本的 Gitea 二进制文件:

wget https://dl.gitea.io/gitea/1.15.4/gitea-1.15.4-linux-amd64

接下来,将下载的二进制文件移动到系统路径并设置适当的权限:

mv gitea-1.15.4-linux-amd64 /usr/bin/gitea
chmod 755 /usr/bin/gitea

接下来,使用以下命令验证 Gitea 版本:

gitea --version

我们应该得到以下输出:

Gitea version 1.15.4 built with GNU Make 4.1, go1.16.9 : bindata, sqlite, sqlite_unlock_notify

接下来,我们需要为 Gitea 创建一个目录结构。

我们可以使用以下命令创建它:

mkdir -p /var/lib/gitea/{custom,data,indexers,public,log} 
chown git: /var/lib/gitea/{data,indexers,log}
chmod 750 /var/lib/gitea/{data,indexers,log}
mkdir /etc/gitea
chown root:git /etc/gitea
chmod 770 /etc/gitea

第 4 步 – 为 Gitea 创建一个 Systemd 服务文件

接下来,我们需要创建一个 systemd 服务文件来管理 Gitea 服务:

nano /etc/systemd/system/gitea.service

添加以下行:

[Unit]
 Description=Gitea
 After=syslog.target
 After=network.target
 After=mysql.service

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

 [Install]
 WantedBy=multi-user.target

保存并关闭文件,然后使用以下命令重新加载 systemd 守护进程:

systemctl daemon-reload

接下来,启动 Gitea 服务并使其在系统重新启动时启动:

systemctl start gitea
systemctl enable gitea

我们现在可以使用以下命令检查 Gitea 的状态:

systemctl status gitea

我们应该看到以下输出:

● gitea.service - Gitea
   Loaded: loaded (/etc/systemd/system/gitea.service; disabled; vendor preset: disabled)
   Active: active (running) since Tue 2021-10-12 14:20:12 UTC; 13s ago
 Main PID: 8998 (gitea)
    Tasks: 8 (limit: 23695)
   Memory: 123.3M
   CGroup: /system.slice/gitea.service
           └─8998 /usr/bin/gitea web -c /etc/gitea/app.ini

Oct 12 14:20:12 RockyLinux8 gitea[8998]: 2021/10/12 14:20:12 cmd/web.go:102:runWeb() [I] Starting Gitea on PID: 8998
Oct 12 14:20:12 RockyLinux8 gitea[8998]: 2021/10/12 14:20:12 ...s/setting/setting.go:569:NewContext() [W] Custom config '/etc/gitea/app.ini' n>
Oct 12 14:20:12 RockyLinux8 gitea[8998]: 2021/10/12 14:20:12 ...s/install/setting.go:21:PreloadSettings() [I] AppPath: /usr/bin/gitea
Oct 12 14:20:12 RockyLinux8 gitea[8998]: 2021/10/12 14:20:12 ...s/install/setting.go:22:PreloadSettings() [I] AppWorkPath: /var/lib/gitea
Oct 12 14:20:12 RockyLinux8 gitea[8998]: 2021/10/12 14:20:12 ...s/install/setting.go:23:PreloadSettings() [I] Custom path: /var/lib/gitea/cust>
Oct 12 14:20:12 RockyLinux8 gitea[8998]: 2021/10/12 14:20:12 ...s/install/setting.go:24:PreloadSettings() [I] Log path: /var/lib/gitea/log
Oct 12 14:20:12 RockyLinux8 gitea[8998]: 2021/10/12 14:20:12 ...s/install/setting.go:25:PreloadSettings() [I] Preparing to run install page
Oct 12 14:20:12 RockyLinux8 gitea[8998]: 2021/10/12 14:20:12 ...s/install/setting.go:28:PreloadSettings() [I] SQLite3 Supported
Oct 12 14:20:13 RockyLinux8 gitea[8998]: 2021/10/12 14:20:13 cmd/web.go:196:listen() [I] Listen: http://0.0.0.0:3000
Oct 12 14:20:13 RockyLinux8 gitea[8998]: 2021/10/12 14:20:13 ...s/graceful/server.go:62:NewServer() [I] Starting new Web server: tcp:0.0.0.0:3>

默认情况下,Gitea 侦听端口 3000。我们可以使用以下命令对其进行验证:

ss -antpl | grep 3000

我们应该得到以下输出:

LISTEN 0      128                *:3000            *:*    users:(("gitea",pid=8998,fd=6))

第 5 步 – 访问 Gitea Web 界面

现在,打开我们的 Web 浏览器并输入 URL http://wer-server-ip:3000 以访问 Gitea Web 界面。 我们将看到以下屏幕:
Gitea 数据库设置

Gitea 常规设置

Gitea 端口设置

Gitea 管理员设置

提供我们的 Gitea 存储库名称、以用户名身份运行、侦听端口、基本 URL、管理员用户名和密码,然后单击 Install Gitea 按钮。 安装完成后,我们将被重定向到 Gitea 仪表板:
Gitea 仪表板设置

在本指南中,我们学习了 RockyLinux 8 上安装 Gitea 代码托管平台。我们现在可以开始在我们的开发环境中实施 Gitea 来管理和跟踪我们的代码。 在 的专用服务器上试一试!

© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享
评论 抢沙发

请登录后发表评论